1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-25 12:26:40 +02:00

Compare commits

..

21 Commits

Author SHA1 Message Date
Sébastien Helleu aa2067b240 irc: fix typo on field name in /help irc.look.list_buffer_sort 2026-03-16 13:21:55 +01:00
Sébastien Helleu cf5c24c2f7 core: fix crash with /eval when the current buffer is closed in a command 2026-03-14 00:12:53 +01:00
Sébastien Helleu 9b389b5736 core: update copyright dates 2026-03-08 10:44:23 +01:00
Sébastien Helleu 8c422a199e core: update copyright date 2026-03-07 00:02:09 +01:00
Sébastien Helleu 4dd36270a8 core: disable "fuzzing" phase in schemathesis config 2026-03-06 23:39:17 +01:00
Sébastien Helleu a639271e93 Version 4.8.3-dev 2026-03-06 23:24:12 +01:00
Sébastien Helleu b452be6417 Version 4.8.2 2026-03-06 23:15:44 +01:00
Sébastien Helleu 0fbb99763d core: remove trailing backslash in German translation of /help buflist.look.add_newline 2026-02-16 20:15:23 +01:00
Sébastien Helleu 65ef552251 core: replace real tab by \t in German translation of /help filter
This was causing a display issue because the tab char is used to separate
prefix from message.
2026-02-16 20:13:59 +01:00
Sébastien Helleu 05f9129e65 relay/api: fix memory leak in receive of message from remote WeeChat 2026-02-16 20:11:51 +01:00
Sébastien Helleu 113f72f70e relay/api: fix memory leaks in resources "ping" and "sync" 2026-02-16 20:11:36 +01:00
Sébastien Helleu 0987e12e83 irc: ignore self join if the channel is already joined (issue #2291)
There is an issue with some IRC servers that may send a JOIN with self nick
once already on the channel, this results in a clear of the nicklist on the
second JOIN received.

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

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

  /set irc.msgbuffer.whois current
2025-12-01 07:49:36 +01:00
Sébastien Helleu 7f3ad1c054 ci: add build with type "Release" and gcc hardened options in matrix 2025-11-30 14:19:25 +01:00
Sébastien Helleu 5d4546eb85 core: update ChangeLog (issue #2289) 2025-11-30 13:35:19 +01:00
Sébastien Helleu 00b7a656a7 Version 4.8.1-dev 2025-11-30 13:35:19 +01:00
Sébastien Helleu 3520c9af0f core: fix order of sections in ChangeLog 2025-11-30 11:34:44 +01:00
Sébastien Helleu a76bfb1f26 core: fix compiler warning on possible buffer overflow in function util_parse_time (issue #2289) 2025-11-30 11:32:27 +01:00
445 changed files with 14380 additions and 17235 deletions
+192 -258
View File
@@ -11,14 +11,6 @@ on:
- cron: '22 9 * * 2' - cron: '22 9 * * 2'
env: env:
CHECK_DEPS_UBUNTU: >-
curl
gettext
hunspell
hunspell-en-us
hunspell-fr
pipx
shellcheck
WEECHAT_DEPS_UBUNTU: >- WEECHAT_DEPS_UBUNTU: >-
asciidoctor asciidoctor
build-essential build-essential
@@ -26,6 +18,7 @@ env:
curl curl
devscripts devscripts
equivs equivs
flake8
gem2deb gem2deb
guile-3.0-dev guile-3.0-dev
lcov lcov
@@ -36,7 +29,7 @@ env:
libcurl4-gnutls-dev libcurl4-gnutls-dev
libgcrypt20-dev libgcrypt20-dev
libgnutls28-dev libgnutls28-dev
liblua5.4-dev liblua5.3-dev
libncurses-dev libncurses-dev
libperl-dev libperl-dev
libphp-embed libphp-embed
@@ -47,11 +40,14 @@ env:
php-dev php-dev
pipx pipx
pkgconf pkgconf
pylint
python3-bandit
python3-dev python3-dev
ruby-pygments.rb ruby-pygments.rb
shellcheck
tcl8.6-dev tcl8.6-dev
zlib1g-dev zlib1g-dev
WEECHAT_DEPS_REDHAT: >- WEECHAT_DEPS_ROCKYLINUX: >-
asciidoctor asciidoctor
aspell-devel aspell-devel
cjson-devel cjson-devel
@@ -102,58 +98,15 @@ env:
sudo sudo
tcl86 tcl86
zstd zstd
WEECHAT_DEPS_MACOS: >-
asciidoctor
aspell
cjson
guile
lua
pkg-config
ruby
jobs: jobs:
checks: tests_ubuntu:
strategy: strategy:
matrix: matrix:
os: os:
- ubuntu-26.04 - ubuntu-24.04
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: |
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
- name: Check gettext files (msgcheck)
run: msgcheck po/*.po
- name: Check gettext files (poexam)
run: poexam check --file-stats --rule-stats
- name: Check shell and Python scripts
run: ./tools/check_scripts.sh
- name: Check Python stub file
run: ./tools/generate_python_stub.py | diff src/plugins/python/weechat.pyi -
- name: Check Curl symbols
run: curl --silent --show-error --fail --retry 10 https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions | ./tools/check_curl_symbols.py
install:
strategy:
matrix:
os:
- ubuntu-26.04
config: config:
- name: "gcc" - name: "gcc"
cc: "gcc" cc: "gcc"
@@ -192,21 +145,32 @@ jobs:
cxx: "clang++" cxx: "clang++"
buildargs: "-DENABLE_CODE_COVERAGE=ON -DENABLE_FUZZ=ON" buildargs: "-DENABLE_CODE_COVERAGE=ON -DENABLE_FUZZ=ON"
name: "install (${{ matrix.os }}, ${{ matrix.config.name }})" name: "${{ matrix.os }} (${{ matrix.config.name }})"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
env:
PHP_INI_SCAN_DIR: /tmp/php-noscan # embed PHP loads no add-on extensions (see #2009)
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v4
- name: Install dependencies - name: Install dependencies
run: | run: |
sudo apt-get update -qq sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPS_UBUNTU }} sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPS_UBUNTU }}
mkdir -p /tmp/php-noscan # uninstall php imagick as is causes a crash when loading php plugin (see #2009)
pipx install schemathesis sudo apt-get --yes purge php8.3-imagick
pipx install msgcheck schemathesis
- name: Check gettext files
run: msgcheck po/*.po
- name: Check shell and Python scripts
run: ./tools/check_scripts.sh
- name: Check Python stub file
run: ./tools/generate_python_stub.py | diff src/plugins/python/weechat.pyi -
- name: Check Curl symbols
run: curl --silent --show-error --fail --retry 10 https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions | ./tools/check_curl_symbols.py
- name: Build and run tests - name: Build and run tests
env: env:
@@ -254,210 +218,19 @@ jobs:
lcov --list coverage.info lcov --list coverage.info
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error' bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error'
install_fedora:
strategy:
matrix:
os:
- ubuntu-26.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:
matrix:
os:
- ubuntu-26.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 (rockylinux:9, ${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
container:
image: rockylinux:9
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: |
dnf install -y epel-release dnf-plugins-core
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 }}
- 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_freebsd:
strategy:
matrix:
os:
- ubuntu-26.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 (freebsd, ${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- name: Install dependencies, build and run tests, run WeeChat
uses: vmactions/freebsd-vm@v1
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
TERM: xterm-256color
with:
envs: "CC CXX TERM"
usesh: true
prepare: pkg install -y ${{ env.WEECHAT_DEPS_FREEBSD }}
run: |
./tools/build_test.sh ${{ matrix.config.buildargs }}
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_macos:
strategy:
matrix:
os:
- macos-14
config:
- name: "gcc"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_DOC_INCOMPLETE=ON -DENABLE_PHP=OFF -DENABLE_TESTS=OFF"
- name: "clang"
cc: "clang"
cxx: "clang++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_DOC_INCOMPLETE=ON -DENABLE_PHP=OFF -DENABLE_TESTS=OFF"
name: "install (${{ matrix.os }}, ${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
steps:
- name: Setup Homebrew
id: setup-homebrew
uses: Homebrew/actions/setup-homebrew@main
- name: Install dependencies
run: |
brew update
brew install ${{ env.WEECHAT_DEPS_MACOS }}
- uses: actions/checkout@v6
- name: Build
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
RUN_TESTS: "0"
JOBS: "2"
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"
build_debian: build_debian:
strategy: strategy:
matrix: matrix:
os: os:
- ubuntu-26.04 - ubuntu-24.04
name: "${{ matrix.os }} (build Debian)"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v4
- name: Install dependencies - name: Install dependencies
run: | run: |
@@ -483,13 +256,14 @@ jobs:
weechat --build-info weechat --build-info
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit" weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
codeql_analysis: codeql-analysis:
strategy: strategy:
matrix: matrix:
os: os:
- ubuntu-26.04 - ubuntu-24.04
name: "${{ matrix.os }} (CodeQL)"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
permissions: permissions:
@@ -500,12 +274,15 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v6 uses: actions/checkout@v4
- name: Install dependencies - name: Install dependencies
run: | run: |
sudo apt-get update -qq sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPS_UBUNTU }} sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPS_UBUNTU }}
# uninstall php imagick as is causes a crash when loading php plugin (see #2009)
sudo apt-get --yes purge php8.3-imagick
pipx install msgcheck
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v3 uses: github/codeql-action/init@v3
@@ -519,3 +296,160 @@ jobs:
uses: github/codeql-action/analyze@v3 uses: github/codeql-action/analyze@v3
with: with:
category: "/language:cpp" category: "/language:cpp"
tests_rockylinux:
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: "rockylinux-9 (${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
container:
image: rockylinux:9
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
dnf install -y epel-release
dnf config-manager --set-enabled crb
dnf install -y ${{ env.WEECHAT_DEPS_ROCKYLINUX }}
- 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"
tests_freebsd:
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: "freebsd-14 (${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies, build and run tests, run WeeChat
uses: vmactions/freebsd-vm@v1
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
TERM: xterm-256color
with:
envs: "CC CXX TERM"
usesh: true
prepare: pkg install -y ${{ env.WEECHAT_DEPS_FREEBSD }}
run: |
./tools/build_test.sh ${{ matrix.config.buildargs }}
weechat --help
weechat-curses --help
weechat --version
weechat --build-info
weechat --colors
weechat --license
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
tests_macos:
strategy:
matrix:
os:
- macos-14
config:
- name: "gcc"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_DOC_INCOMPLETE=ON -DENABLE_PHP=OFF -DENABLE_TESTS=OFF"
- name: "clang"
cc: "clang"
cxx: "clang++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_DOC_INCOMPLETE=ON -DENABLE_PHP=OFF -DENABLE_TESTS=OFF"
name: "${{ matrix.os }} (${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
steps:
- name: Setup Homebrew
id: setup-homebrew
uses: Homebrew/actions/setup-homebrew@master
- name: Install dependencies
run: |
brew update
# temporary fix, see: https://github.com/actions/setup-python/issues/577
rm -f \
/usr/local/bin/2to3 \
/usr/local/bin/idle3 \
/usr/local/bin/pydoc3 \
/usr/local/bin/python3 \
/usr/local/bin/python3-config \
/usr/local/bin/2to3-3.11 \
/usr/local/bin/idle3.11 \
/usr/local/bin/pydoc3.11 \
/usr/local/bin/python3.11 \
/usr/local/bin/python3.11-config \
;
brew install asciidoctor aspell cjson guile lua pkg-config ruby
- uses: actions/checkout@v4
- name: Build
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
RUN_TESTS: "0"
JOBS: "2"
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"
+1 -1
View File
@@ -16,7 +16,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v4
- name: REUSE Compliance Check - name: REUSE Compliance Check
uses: fsfe/reuse-action@v4 uses: fsfe/reuse-action@v4
-281
View File
@@ -1,281 +0,0 @@
Atheme
Autojoin
Charset
Diffie-Hellman
Esc
FlashCode
GnuTLS
Hashtable
Helleu
IPs
Sébastien
WeeChat
Xfer
abc
ack
acks
addcompletion
addinput
addoff
addraw
addreplace
addreplacecompletion
addword
algo
allchan
allpv
alnum
andrew
ansi
api
args
argsN
aspell
autoconnect
autojoin
autoload
autoloaded
autoreconnect
autorejoin
bg
bindctxt
bitlbee
bkl
blocksize
bool
buflist
cJSON
calc
ccc
charset
charsets
chghost
chmod
cleartext
clientinfo
cmd
codepoint
concat
cond
config
crypted
ctcp
ctrl
ctrl-
ctrl-c
ctrl-h
ctrl-n
ctrl-x
ctrl-y
cutscr
cxx
darkgray
deinit
deldict
deloutq
delvar
dhkey
dirs
dlclose
eg
enum
enums
env
esc
eval
fd
ffff
fg
fifo
flashcode
flashtux
freebsd
fset
fsync
gcrypt
getrlimit
getrusage
gnutls
grayscale
gui
gzip
halfop
halfops
hashtable
hdata
hh
horiz
hostname
hostnames
hotlist
hsignal
http
https
hup
ident
ie
il
inclose
infolist
infolists
infos
installremove
irc
ison
javascript
json
kf
kickban
killall
lengthscr
libera
libgcrypt
libs
lightblue
lightcyan
lightgreen
lightmagenta
lightred
linux
listdefault
listdict
listdiff
listfull
listitems
listrelay
listvar
lua
mallinfo
malloc
mirc
modelist
msg
msgN
msgbuffer
multiline
ncurses
newbuffer
nf
nickbot
nicklist
nickserv
nl
noautoload
nobg
nocl
noflush
nohelp
nojoin
noln
nonblock
nooption
norc
nostdin
nosw
noswitch
notls
num
oc
oerr
oftc
ok
ol
osinfo
outqueue
ovh
paramN
params
perl
permessage-deflate
pgdn
pgup
pid
prev
privmsg
ptr
pv
py
quickstart
rc
realname
recv
reinitializing
reop
resetall
resetctxt
revindex
revscr
rgb
rlimit
rusage
rw-rw-r--
sasl
setauto
setdict
setname
setnew
setrlimit
setvar
signon
skipempty
sockaddr
splith
splitv
stderr
stdin
stdout
strcasecmp
strftime
strftimeval
strlen
sublist
subplugin
sw
sys
tThe
tcl
tg
tls
tlscertkey
toggleautoload
togglecmd
toto
totp
truncature
un
unalias
unban
unbindctxt
undef
unescaped
unhide
unhold
unicode
unix
unmark
unmerge
unzoom
uptime
url
urlserver
usec
userhost-in-names
usr
util
valgrind
versiongit
waitpid
wcswidth
wctype
wcwidth
websocket
websockets
weechat
whois
www
xdigit
xfer
xyz
yy
zlib
zstd
-612
View File
@@ -1,612 +0,0 @@
Atheme
Autojoin
Curl
Curses
Debug
Dec
Diffie-Hellman
Filter
FlashCode
GnuTLS
Guile
Helleu
IPs
Lag
Ping
Protocol
Relay
Remote
Reop
Tab
Trigger
Triggers
Typing
URLs
Wallops
WeeChat
Xfer
account
account-
account-notify
account-tag
ack
acks
add
addcompletion
addinput
addoff
addraw
addreplace
addreplacecompletion
addresse
addword
align
all
allchan
allow
allowed
allpv
alnum
alt
alt-c
alt-k
alt-s
alt-v
alt-z
andrew
ansi
apply
area
args
argsN
aspell
attributes
auth
autoconnect
autojoin
autoload
autorejoin
away
away-notify
backspace
bare
bash
beep
before
beginning
beyond
bg
bin
bind
bindctxt
bitlbee
bkl
blue
bold
bool
boolean
both
bottom
bracketed
brown
buflist
cJSON
calc
callbacks
cap-notify
capabilities
capability
ccc
cert
certs
changed
channel
charset
charsets
check
chghost
chmod
cipher
clear
clientinfo
clipboard
cmd
color
colors
command
commands
complete
completion
concat
cond
confirm
connect
connected
connecting
control
copy
core
count
crypt
ctcp
ctrl
ctrl-
ctrl-c
ctrl-h
ctrl-n
ctrl-x
ctrl-y
curl
current
cursor
cut
cutscr
cxx
d'ignore
d'infolist
daemon
darkgray
days
debug
decode
decrypt
default
define
deinit
del
deldict
delete
deloutq
delvar
desc
describe
dhkey
dict
diff
dim
dir
dirs
disable
discard
disconnect
disconnected
display
displayed
dlclose
doc-gen
down
download
draft
dummy
dump
eat
echo-message
edge
emphasized
empty
enable
enabled
end
enum
error
esc
eval
example
exclude
exec
extended-join
external
exts
fail
failed
fast
fd
ffff
fifo
filter
fingerprint
first
flashcode
flashtux
foo
formatted
free
freebsd
fset
fsync
gcrypt
get
getrlimit
getrusage
ghost
giga-octets
git
glitch
gnutls
grab
group
gzip
halfop
halfops
handshake
hash
hashtable
hdata
he
headless
help
here
hexa
hh
hidden
hide
highest
highlight
highlights
history
hold
hook
hooks
horiz
host
hotlist
hsignal
hup
ident
identify
ids
ignored
inclose
include
indent
infolist
infolistes
infolists
init
install
installremove
int
integer
interval
invite-notify
irc
ison
iterations
javascript
join
json
jump
keep
key
keys
kf
kickban
kill
killall
l'autojoin
l'id
lag
last
layout
leave
left
legacy
length
lengthscr
level
lib
libera
libgcrypt
libs
lightblue
lightcyan
lightgreen
lightmagenta
lightred
limit
line
lines
linux
list
listdefault
listdict
listdiff
listen
listfull
listitems
listrelay
listvar
load
logger
loggers
lower
lowest
ls
lua
mallinfo
malloc
marked
mask
memory
merge
merged
meta
meta-
method
mirc
missing
modified
mouse
move
msg
msgN
msgbuffer
multi-prefix
multiline
my
n-
name
names
ncurses
near
network
newbuffer
newline
next
nf
nick
nickbot
nicklist
nicks
nickserv
no-connect
noautoload
nobg
nocl
noflush
nohelp
nojoin
noln
nonblock
nooption
norc
nosh
nostdin
nosw
noswitch
notify
notls
null
num
number
numeric
object
oerr
of
offline
oftc
ok
ol
ops
osinfo
ovh
paramN
params
parted
pass
passphrase
password
password-store
paste
path
paused
pct
pending
perl
permessage-deflate
pgdn
pgup
pid
ping
pong
pos
prefix
prev
previous
print
priority
private
privmsg
property
ptr
py
quit
quoted
rafraichie
rafraichir
rafraichissement
random
raw
rc
realname
reconnect
recreate
recv
red
redirected
redo
refresh
regex
register
relay
reload
remote
remove
rename
renumber
reorder
rep
repeat
reply
req
reset
resetall
resetctxt
resize
restart
restore
return
rev
revindex
revscr
rgb
right
rlimit
root
ruby
run
run-command
runtime
rusage
rw-rw-r--
réinit
safe
sasl
save
scheme
screen
scroll
search
secure
selected
send
server
server-time
setauto
setdict
setname
setnew
setrlimit
setvar
sh
share
shift
shift-
shift-Tab
size
skipempty
sockaddr
sorted
space
speaking
spell
split
splith
splitv
ss
start
status
stderr
stdin
stdout
str
strcasecmp
strftime
strftimeval
strip
strlen
sucks
suffix
suggest
sum
sw
switch
sys
tLe
tab
target
tcl
term
text
tg
time
timeout
timer
tiny
title
tls
tlscertkey
to
toggle
toggleautoload
togglecmd
topic
totp
trigger
triggers
trim
typing
téra-octets
unalias
unavailable
unban
unbind
unbindctxt
undef
undo
unhide
unicode
unix
unload
unmerge
unread
unset
up
update
upper
url
urlserver
usec
userhost-in-names
username
users
usr
util
valer
valgrind
verbose
verify
versiongit
visited
voice
wait
waiting
waitpid
wallops
wcswidth
wctype
wcwidth
websocket
websockets
weechat
where
white
whitespace
whois
width
window
windows
without
word
words
xdigit
xfer
xxx
xyz
yellow
yes
yy
zero
zlib
zstd
Échap
-24
View File
@@ -1,24 +0,0 @@
# SPDX-FileCopyrightText: 2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
[check]
select = [
"checks",
]
ignore = [
"acronyms",
"brackets",
"double-quotes",
"double-words",
"functions",
"html-tags",
"paths",
"unchanged",
"urls",
]
path_words = "."
langs = [
"en_US",
"fr",
]
+1 -75
View File
@@ -6,85 +6,11 @@ SPDX-License-Identifier: GPL-3.0-or-later
# WeeChat ChangeLog # WeeChat ChangeLog
## Version 4.10.0 (under dev) ## Version 4.8.3 (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)
- api: change type of parameter "pos_option_name" to "const char **" in function config_search_with_string
- 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"
### 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))
- relay/api: fix memory leak in resources "handshake", "input" and "completion"
- 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))
- xfer: fix out-of-bounds write in xfer file transfer resume ([#2326](https://github.com/weechat/weechat/issues/2326))
## Version 4.9.2 (2026-06-07)
### Fixed
- api: fix infinite loop in function string_replace when the search string is empty
- 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 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 out-of-bounds read in dump of data ([#2324](https://github.com/weechat/weechat/issues/2324))
- 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.1 (2026-05-31)
### 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))
- irc: fix tag in message with list of names when joining a channel
- 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: 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))
- 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))
## Version 4.9.0 (2026-03-29)
### Changed
- core: add option `-e` to evaluate all commands before executing them in command `/eval`
- xfer: evaluate option xfer.network.own_ip
### Added
- typing: add option typing.look.item_text ([#2305](https://github.com/weechat/weechat/issues/2305))
### Fixed ### Fixed
- core: fix crash with `/eval` when the current buffer is closed in a command - core: fix crash with `/eval` when the current buffer is closed in a command
- core: fix buffer size in function util_parse_time, causing buffer overflow error in unit tests
- irc: fix display of CTCP query sent multiple times to the same user when capability echo-message is enabled ([#2309](https://github.com/weechat/weechat/issues/2309))
- irc: fix unit of server option `anti_flood` from seconds to milliseconds in output of `/server listfull`
- irc: fix creation of irc.msgbuffer option without a server name
- irc: ignore self join if the channel is already joined ([#2291](https://github.com/weechat/weechat/issues/2291))
- relay/api: fix memory leaks in resources "ping" and "sync"
- relay/api: fix memory leak in receive of message from remote WeeChat
## Version 4.8.2 (2026-03-06) ## Version 4.8.2 (2026-03-06)
+37 -35
View File
@@ -28,7 +28,6 @@ project(weechat C)
# CMake options # CMake options
set(CMAKE_VERBOSE_MAKEFILE OFF) set(CMAKE_VERBOSE_MAKEFILE OFF)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}") set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}")
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_SKIP_RPATH ON) set(CMAKE_SKIP_RPATH ON)
# compiler options # compiler options
@@ -53,8 +52,16 @@ else()
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
endif() endif()
# license
set(LICENSE "GPL3")
# add definitions for version and license # add definitions for version and license
add_definitions(-DWEECHAT_VERSION="${VERSION}" -DWEECHAT_LICENSE="GPL3") if(COMMAND cmake_policy)
cmake_policy(SET CMP0005 NEW)
add_definitions(-DWEECHAT_VERSION="${VERSION}" -DWEECHAT_LICENSE="${LICENSE}")
else()
add_definitions(-DWEECHAT_VERSION='"${VERSION}"' -DWEECHAT_LICENSE='"${LICENSE}"')
endif()
# package string # package string
set(PKG_STRING "${PROJECT_NAME} ${VERSION}") set(PKG_STRING "${PROJECT_NAME} ${VERSION}")
@@ -185,6 +192,15 @@ set(WEECHAT_HOME "${WEECHAT_HOME}" CACHE
FORCE) FORCE)
mark_as_advanced(CLEAR WEECHAT_HOME) mark_as_advanced(CLEAR WEECHAT_HOME)
if(COMMAND cmake_policy)
if(POLICY CMP0003)
cmake_policy(SET CMP0003 NEW)
endif()
if(POLICY CMP0017)
cmake_policy(SET CMP0017 NEW)
endif()
endif()
add_definitions(-DHAVE_CONFIG_H) add_definitions(-DHAVE_CONFIG_H)
include(FindPkgConfig) include(FindPkgConfig)
@@ -242,29 +258,22 @@ list(APPEND EXTRA_LIBS ${GNUTLS_LDFLAGS})
# Check for zlib # Check for zlib
find_package(ZLIB REQUIRED) find_package(ZLIB REQUIRED)
list(APPEND EXTRA_LIBS ${ZLIB_LIBRARY})
# Check for zstd # Check for zstd
if(ENABLE_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) add_definitions(-DHAVE_ZSTD)
endif() endif()
# Check for cJSON # Check for cJSON
if(ENABLE_CJSON) if(ENABLE_CJSON)
pkg_check_modules(LIBCJSON REQUIRED libcjson) pkg_check_modules(LIBCJSON REQUIRED libcjson)
include_directories(${LIBCJSON_INCLUDE_DIRS})
add_definitions(-DHAVE_CJSON) add_definitions(-DHAVE_CJSON)
endif() endif()
# Check for iconv # Check for iconv
find_package(Iconv) find_package(Iconv)
if(ICONV_FOUND) if(ICONV_FOUND)
if(ICONV_LIBRARY)
list(APPEND EXTRA_LIBS ${ICONV_LIBRARY})
endif()
add_definitions(-DHAVE_ICONV) add_definitions(-DHAVE_ICONV)
endif() endif()
@@ -274,15 +283,18 @@ pkg_check_modules(LIBCURL REQUIRED libcurl>=7.68.0)
include_directories(${LIBCURL_INCLUDE_DIRS}) include_directories(${LIBCURL_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBCURL_LDFLAGS}) list(APPEND EXTRA_LIBS ${LIBCURL_LDFLAGS})
list(APPEND EXTRA_LIBS ${CMAKE_DL_LIBS}) find_library(DL_LIBRARY
NAMES dl
PATHS /lib /usr/lib /usr/libexec /usr/local/lib /usr/local/libexec
)
if(DL_LIBRARY)
list(APPEND EXTRA_LIBS ${DL_LIBRARY})
endif()
add_subdirectory(icons) add_subdirectory(icons)
if(ENABLE_NLS) if(ENABLE_NLS)
find_package(Gettext REQUIRED) find_package(Gettext REQUIRED)
if(LIBINTL_LIBRARY)
list(APPEND EXTRA_LIBS ${LIBINTL_LIBRARY})
endif()
find_package(Intl REQUIRED) find_package(Intl REQUIRED)
include_directories(${Intl_INCLUDE_DIRS}) include_directories(${Intl_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}") list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
@@ -291,30 +303,20 @@ else()
add_custom_target(translations COMMAND true) add_custom_target(translations COMMAND true)
endif() endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
find_library(EXECINFO_LIB_PATH execinfo /usr/local/lib)
check_function_exists(backtrace HAVE_BACKTRACE)
list(APPEND EXTRA_LIBS "execinfo")
else()
check_symbol_exists(backtrace "execinfo.h" HAVE_BACKTRACE)
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "Haiku")
list(APPEND EXTRA_LIBS "network")
else()
list(APPEND EXTRA_LIBS "pthread")
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS")
list(APPEND EXTRA_LIBS "socket" "nsl")
endif()
list(APPEND EXTRA_LIBS "m")
add_subdirectory(src) add_subdirectory(src)
add_subdirectory(doc) add_subdirectory(doc)
enable_testing() if(ENABLE_TESTS)
find_package(CppUTest)
if(CPPUTEST_FOUND)
enable_testing()
else()
message(SEND_ERROR "CppUTest not found")
endif()
else()
enable_testing()
add_test(NAME notests COMMAND true)
endif()
add_subdirectory(tests) add_subdirectory(tests)
configure_file(config.h.cmake config.h @ONLY) configure_file(config.h.cmake config.h @ONLY)
+2 -1
View File
@@ -19,7 +19,8 @@ First, some basic things:
### Security reports ### 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 ### Required info
+6 -4
View File
@@ -11,8 +11,10 @@ SPDX-License-Identifier: GPL-3.0-or-later
</p> </p>
[![Mastodon](https://img.shields.io/badge/mastodon-follow-blue.svg)](https://hostux.social/@weechat) [![Mastodon](https://img.shields.io/badge/mastodon-follow-blue.svg)](https://hostux.social/@weechat)
[![Diaspora*](https://img.shields.io/badge/diaspora*-follow-blue.svg)](https://diasp.eu/u/weechat)
[![X](https://img.shields.io/badge/x-follow-blue.svg)](https://x.com/WeeChatClient) [![X](https://img.shields.io/badge/x-follow-blue.svg)](https://x.com/WeeChatClient)
[![Devel blog](https://img.shields.io/badge/devel%20blog-follow-blue.svg)](https://blog.weechat.org/) [![Devel blog](https://img.shields.io/badge/devel%20blog-follow-blue.svg)](https://blog.weechat.org/)
[![Slant](https://img.shields.io/badge/slant-recommend-28acad.svg)](https://www.slant.co/topics/1323/~best-irc-clients-for-linux)
[![Donate](https://img.shields.io/badge/help-donate%20%E2%9D%A4-ff69b4.svg)](https://weechat.org/donate/) [![Donate](https://img.shields.io/badge/help-donate%20%E2%9D%A4-ff69b4.svg)](https://weechat.org/donate/)
[![CI](https://github.com/weechat/weechat/workflows/CI/badge.svg)](https://github.com/weechat/weechat/actions) [![CI](https://github.com/weechat/weechat/workflows/CI/badge.svg)](https://github.com/weechat/weechat/actions)
@@ -27,11 +29,11 @@ Homepage: [https://weechat.org/](https://weechat.org/)
## Features ## 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. - **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-platform**: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
- **Multi-protocol**: WeeChat is designed to support multiple protocols via plugins, like IRC. - **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). - **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. - **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. - **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. - **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). - **Free software**: WeeChat is released under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html).
@@ -49,7 +51,7 @@ For detailed instructions, please check the [WeeChat user's guide](https://weech
## Semantic versioning ## 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 ## Copyright
-8
View File
@@ -19,11 +19,3 @@ path = [
precedence = "override" precedence = "override"
SPDX-FileCopyrightText = "2003-2026 Sébastien Helleu <flashcode@flashtux.org>" SPDX-FileCopyrightText = "2003-2026 Sébastien Helleu <flashcode@flashtux.org>"
SPDX-License-Identifier = "GPL-3.0-or-later" SPDX-License-Identifier = "GPL-3.0-or-later"
[[annotations]]
path = [
".poexam/*.dic",
]
precedence = "override"
SPDX-FileCopyrightText = "2026 Sébastien Helleu <flashcode@flashtux.org>"
SPDX-License-Identifier = "GPL-3.0-or-later"
-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). 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 ## Version 4.8.0
### IRC temporary servers ### IRC temporary servers
+3 -2
View File
@@ -1,5 +1,6 @@
Source: weechat-devel Source: weechat-devel
Section: net Section: net
Priority: optional
Maintainer: Sébastien Helleu <flashcode@flashtux.org> Maintainer: Sébastien Helleu <flashcode@flashtux.org>
Build-Depends: Build-Depends:
asciidoctor (>= 1.5.4), asciidoctor (>= 1.5.4),
@@ -12,7 +13,7 @@ Build-Depends:
libperl-dev, libperl-dev,
python3-dev, python3-dev,
libaspell-dev, libaspell-dev,
liblua5.4-dev, liblua5.3-dev,
tcl8.6-dev, tcl8.6-dev,
guile-3.0-dev, guile-3.0-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev, php-dev, libphp-embed, libargon2-dev, libsodium-dev,
@@ -23,7 +24,7 @@ Build-Depends:
libzstd-dev, libzstd-dev,
zlib1g-dev, zlib1g-dev,
libcjson-dev libcjson-dev
Standards-Version: 4.7.3 Standards-Version: 4.7.2
Homepage: https://weechat.org/ Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat Vcs-Browser: https://salsa.debian.org/kolter/weechat
-15
View File
@@ -1,12 +1,3 @@
weechat (4.8.1-1) unstable; urgency=medium
* New upstream release
* Bump Standards-Version to 4.7.3
* Update debian/copyright file (new year)
* Remove redundant priority optional field from debian/control
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 23 Jan 2026 22:02:31 +0000
weechat (4.7.2-1) unstable; urgency=medium weechat (4.7.2-1) unstable; urgency=medium
* New upstream release (Closes: #1119787) * New upstream release (Closes: #1119787)
@@ -49,12 +40,6 @@ weechat (4.4.2-1) unstable; urgency=medium
* New upstream release * New upstream release
- fix crash where exiting (Closes: #1076532) - fix crash where exiting (Closes: #1076532)
- fix a minor security issue (Closes: #1081942) - fix a minor security issue (Closes: #1081942)
* Fix possible privacy breach with html documentation which includes
stylesheets and fonts (font-awesome) hosted on remote CDN (Cloudflare)
by replacing them during build process by the ones provided in
fonts-font-awesome package (also added as dependency on weechat-doc).
* Refresh weechat-doc with minor changes and add some documentation in
Serbian and Czech.
* Bump Standards-Version to 4.7.0 * Bump Standards-Version to 4.7.0
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 22 Sep 2024 13:08:28 +0000 -- Emmanuel Bouthenot <kolter@debian.org> Sun, 22 Sep 2024 13:08:28 +0000
+3 -2
View File
@@ -1,5 +1,6 @@
Source: weechat Source: weechat
Section: net Section: net
Priority: optional
Maintainer: Emmanuel Bouthenot <kolter@debian.org> Maintainer: Emmanuel Bouthenot <kolter@debian.org>
Build-Depends: Build-Depends:
asciidoctor (>= 1.5.4), asciidoctor (>= 1.5.4),
@@ -12,7 +13,7 @@ Build-Depends:
libperl-dev, libperl-dev,
python3-dev, python3-dev,
libaspell-dev, libaspell-dev,
liblua5.4-dev, liblua5.3-dev,
tcl8.6-dev, tcl8.6-dev,
guile-3.0-dev, guile-3.0-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev, php-dev, libphp-embed, libargon2-dev, libsodium-dev,
@@ -23,7 +24,7 @@ Build-Depends:
libzstd-dev, libzstd-dev,
zlib1g-dev, zlib1g-dev,
libcjson-dev libcjson-dev
Standards-Version: 4.7.3 Standards-Version: 4.7.2
Homepage: https://weechat.org/ Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat Vcs-Browser: https://salsa.debian.org/kolter/weechat
+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(SCRIPTING_LANG de en fr it ja pl sr)
set(FAQ_LANG de en es 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(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(RELAY_WEECHAT_LANG en fr ja sr)
set(DEV_LANG en fr ja sr) set(DEV_LANG en fr ja sr)
find_package(Asciidoctor) find_package(Asciidoctor)
if(ASCIIDOCTOR_FOUND) 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 # common asciidoctor arguments
set(ASCIIDOCTOR_ARGS set(ASCIIDOCTOR_ARGS
-v -v
@@ -71,8 +46,8 @@ if(ENABLE_MAN OR ENABLE_DOC)
-a revnumber="${VERSION}" -a revnumber="${VERSION}"
-a sectanchors -a sectanchors
-a source-highlighter=pygments -a source-highlighter=pygments
-a pygments-style=${PYGMENTS_LIGHT_STYLE} -a pygments-style=native
-a docinfodir="${CMAKE_CURRENT_BINARY_DIR}" -a docinfodir="${CMAKE_CURRENT_SOURCE_DIR}"
-a autogendir="${CMAKE_CURRENT_BINARY_DIR}/autogen" -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" 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" COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_USER_ARGS} -o "weechat_user.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_user.${lang}.adoc"
DEPENDS 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}/weechat_user.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/cmdline_options.${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" 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" 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 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}/weechat_plugin_api.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
doc-autogen doc-autogen
@@ -275,7 +250,7 @@ if(ENABLE_MAN OR ENABLE_DOC)
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.${lang}.html" 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" COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_SCRIPTING_ARGS} -o "weechat_scripting.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_scripting.${lang}.adoc"
DEPENDS 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}/weechat_scripting.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
doc-autogen doc-autogen
@@ -293,7 +268,7 @@ if(ENABLE_MAN OR ENABLE_DOC)
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.${lang}.html" 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" COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_FAQ_ARGS} -o "weechat_faq.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_faq.${lang}.adoc"
DEPENDS 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}/weechat_faq.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" 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" 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" COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_QUICKSTART_ARGS} -o "weechat_quickstart.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_quickstart.${lang}.adoc"
DEPENDS 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}/weechat_quickstart.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" 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" 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" 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 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}/weechat_relay_api.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/relay.${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" 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" 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 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}/weechat_relay_weechat.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/relay.${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" 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" COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_DEV_ARGS} -o "weechat_dev.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_dev.${lang}.adoc"
DEPENDS 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}/weechat_dev.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+1 -1
View File
@@ -458,7 +458,7 @@ für weitere Informationen die das Farbmanagement betreffen.
[[search_text]] [[search_text]]
=== Wie kann ich in einem Buffer nach einem Text suchen (vergleichbar /lastlog in irssi)? === Wie kann ich in einem Buffer nach einem Text suchen (vergleichbar /lastlog in irssi)?
Die Standardtastenbelegung lautet kbd:[Ctrl+s] Die Standardtastenbelegung lautet kbd:[Ctrl+r]
(der dazugehörige Befehl: `+/input search_text_here+`). (der dazugehörige Befehl: `+/input search_text_here+`).
Um zu Highlight-Nachrichten zu springen: Um zu Highlight-Nachrichten zu springen:
kbd:[Alt+p] für vorherige, kbd:[Alt+n] für die nächste Nachricht. kbd:[Alt+p] für vorherige, kbd:[Alt+n] für die nächste Nachricht.
+1 -1
View File
@@ -212,7 +212,7 @@ WeeChat optional sind:
| asciidoctor | ≥ 1.5.4 | asciidoctor | ≥ 1.5.4
| zum Erstellen der man page und der Dokumentation. | zum Erstellen der man page und der Dokumentation.
| python3-pygments, ruby-pygments.rb | | ruby-pygments.rb |
| Build Dokumentation. | Build Dokumentation.
| libcpputest-dev | ≥ 3.4 | libcpputest-dev | ≥ 3.4
+26 -13
View File
@@ -26,6 +26,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
--header-details-color: #aaa; --header-details-color: #aaa;
--border: 1px solid #444; --border: 1px solid #444;
--code-bg-color: #252525; --code-bg-color: #252525;
--pre-color: #ddd;
--pre-bg-color: #202020;
--pre-code-bg-color: #202020;
--keyseq-color: #777; --keyseq-color: #777;
--kbd-bg-color: #252525; --kbd-bg-color: #252525;
--kbd-border: 1px solid #333; --kbd-border: 1px solid #333;
@@ -36,11 +39,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
--icon-caution-color: #bf3400; --icon-caution-color: #bf3400;
--icon-important-color: #f44336; --icon-important-color: #f44336;
--mark-bg-color: #007; --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) { @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; --border: 1px solid #dddddf;
--code-bg-color: #f7f7f8; --code-bg-color: #f7f7f8;
--keyseq-color: #333c; --keyseq-color: #333c;
--pre-color: #353535;
--pre-bg-color: #f7f7f8;
--pre-code-bg-color: #202020;
--kbd-bg-color: #f7f7f7; --kbd-bg-color: #f7f7f7;
--kbd-border: 1px solid #ccc; --kbd-border: 1px solid #ccc;
--kbd-box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 0 0 .1em #fff; --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-caution-color: #ff0000;
--icon-important-color: #bf0000; --icon-important-color: #bf0000;
--mark-bg-color: #9df; --mark-bg-color: #9df;
--pre-bevel-light: #e5e5e7;
--pre-bevel-dark: #b4b4b8;
--pre-bevel-bg: #f6f6f7;
} }
} }
@@ -146,10 +145,6 @@ code, .prettyprint {
pre { pre {
color: var(--pre-color) !important; 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 { pre > code {
@@ -167,8 +162,8 @@ kbd {
color: var(--body-color); color: var(--body-color);
} }
.literalblock pre, .listingblock > .content > pre:not(.highlight), .listingblock > .content > pre[class="highlight"], .listingblock > .content > pre[class^="highlight "], pre.pygments { .literalblock pre, .listingblock > .content > pre:not(.highlight), .listingblock > .content > pre[class="highlight"], .listingblock > .content > pre[class^="highlight "] {
background-color: var(--pre-bg-color, var(--pre-bevel-bg)); background-color: var(--pre-bg-color);
color: var(--body-color); color: var(--body-color);
} }
@@ -205,6 +200,24 @@ mark {
color: var(--body-color); 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 */ /* asciidoctor styles tuning */
#header, #content, #footnotes, #footer { #header, #content, #footnotes, #footer {
+4 -5
View File
@@ -128,7 +128,6 @@ WeeChat "core" is located in following directories:
|=== |===
| Path/file | Description | Path/file | Description
| core/ | Core functions: entry point, internal structures. | core/ | Core functions: entry point, internal structures.
|    core-args.c | Command-line arguments.
|    core-arraylist.c | Array lists. |    core-arraylist.c | Array lists.
|    core-backtrace.c | Display a backtrace after a crash. |    core-backtrace.c | Display a backtrace after a crash.
|    core-calc.c | Calculate result of expressions. |    core-calc.c | Calculate result of expressions.
@@ -656,9 +655,9 @@ Example:
[source,c] [source,c]
---- ----
/* /*
* Check if a string with boolean value is valid. * Checks if a string with boolean value is valid.
* *
* Return: * Returns:
* 1: boolean value is valid * 1: boolean value is valid
* 0: boolean value is NOT valid * 0: boolean value is NOT valid
*/ */
@@ -933,9 +932,9 @@ Example: creation of a new window (from _src/gui/gui-window.c_):
[source,c] [source,c]
---- ----
/* /*
* Create a new window. * Creates a new window.
* *
* Return pointer to new window, NULL if error. * Returns pointer to new window, NULL if error.
*/ */
struct t_gui_window * struct t_gui_window *
+1 -1
View File
@@ -441,7 +441,7 @@ for more information about colors management.
[[search_text]] [[search_text]]
=== How can I search text in buffer (like /lastlog in irssi)? === How can I search text in buffer (like /lastlog in irssi)?
The default key is kbd:[Ctrl+s] (command is: `+/input search_text_here+`). The default key is kbd:[Ctrl+r] (command is: `+/input search_text_here+`).
And jump to highlights: kbd:[Alt+p] / kbd:[Alt+n]. And jump to highlights: kbd:[Alt+p] / kbd:[Alt+n].
See link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^] See link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^]
+5 -5
View File
@@ -4348,7 +4348,7 @@ Prototype:
[source,c] [source,c]
---- ----
int weechat_mkdir_home (const char *directory, int mode); int weechat_mkdir_home (char *directory, int mode);
---- ----
Arguments: Arguments:
@@ -4395,7 +4395,7 @@ Prototype:
[source,c] [source,c]
---- ----
int weechat_mkdir (const char *directory, int mode); int weechat_mkdir (char *directory, int mode);
---- ----
Arguments: Arguments:
@@ -4436,7 +4436,7 @@ Prototype:
[source,c] [source,c]
---- ----
int weechat_mkdir_parents (const char *directory, int mode); int weechat_mkdir_parents (char *directory, int mode);
---- ----
Arguments: Arguments:
@@ -7709,7 +7709,7 @@ void weechat_config_search_with_string (const char *option_name,
struct t_config_file **config_file, struct t_config_file **config_file,
struct t_config_section **section, struct t_config_section **section,
struct t_config_option **option, struct t_config_option **option,
const char **pos_option_name); char **pos_option_name);
---- ----
Arguments: Arguments:
@@ -7731,7 +7731,7 @@ C example:
struct t_config_file *ptr_config_file; struct t_config_file *ptr_config_file;
struct t_config_section *ptr_section; struct t_config_section *ptr_section;
struct t_config_option *ptr_option; struct t_config_option *ptr_option;
const char *option_name; char *option_name;
weechat_config_search_with_string ("file.section.option", weechat_config_search_with_string ("file.section.option",
&ptr_config_file, &ptr_config_file,
+5 -57
View File
@@ -541,8 +541,7 @@ HTTP/1.1 200 OK
"plugin": "core", "plugin": "core",
"name": "weechat" "name": "weechat"
}, },
"keys": [], "keys": []
"last_read_line_id": -1
}, },
{ {
"id": 1709932823423765, "id": 1709932823423765,
@@ -572,8 +571,7 @@ HTTP/1.1 200 OK
"tls_version": "TLS1.3", "tls_version": "TLS1.3",
"host": "~alice@example.com" "host": "~alice@example.com"
}, },
"keys": [], "keys": []
"last_read_line_id": -1
}, },
{ {
"id": 1709932823649069, "id": 1709932823649069,
@@ -601,8 +599,7 @@ HTTP/1.1 200 OK
"nick": "alice", "nick": "alice",
"host": "~alice@example.com" "host": "~alice@example.com"
}, },
"keys": [], "keys": []
"last_read_line_id": -1
} }
] ]
---- ----
@@ -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", "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": [] "tags": []
} }
], ]
"last_read_line_id": -1
} }
---- ----
@@ -706,7 +702,6 @@ HTTP/1.1 200 OK
"host": "~alice@example.com" "host": "~alice@example.com"
}, },
"keys": [], "keys": [],
"last_read_line_id": -1,
"nicklist_root": { "nicklist_root": {
"id": 0, "id": 0,
"parent_group_id": -1, "parent_group_id": -1,
@@ -905,8 +900,7 @@ HTTP/1.1 200 OK
"key": "up", "key": "up",
"command": "/fset -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]] [[resource_input]]
=== Input === Input
@@ -1555,7 +1504,6 @@ Body types that can be returned:
* `nick_group` (object) * `nick_group` (object)
* `nick` (object) * `nick` (object)
* `hotlist` (object) * `hotlist` (object)
* `scripts` (array)
* `ping` (object) * `ping` (object)
[TIP] [TIP]
+1 -1
View File
@@ -210,7 +210,7 @@ WeeChat:
| asciidoctor | ≥ 1.5.4 | asciidoctor | ≥ 1.5.4
| Build man page and documentation. | Build man page and documentation.
| python3-pygments, ruby-pygments.rb | | ruby-pygments.rb |
| Build documentation. | Build documentation.
| libcpputest-dev | ≥ 3.4 | libcpputest-dev | ≥ 3.4
+1 -1
View File
@@ -454,7 +454,7 @@ información sobre la gestión de los colores.
[[search_text]] [[search_text]]
=== ¿Cómo busco texto en un buffer (como /lastlog en irssi)? === ¿Cómo busco texto en un buffer (como /lastlog en irssi)?
La tecla predeterminada es kbd:[Ctrl+s] (el comando es: `+/input texto_a_buscar_aquí+`). La tecla predeterminada es kbd:[Ctrl+r] (el comando es: `+/input texto_a_buscar_aquí+`).
Y para saltar a los textos resaltados: kbd:[Alt+p] / kbd:[Alt+n]. Y para saltar a los textos resaltados: kbd:[Alt+p] / kbd:[Alt+n].
Vea la link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado ^↗^^] Vea la link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado ^↗^^]
+1 -1
View File
@@ -9,7 +9,7 @@ https://weechat.org/doc/[guide utilisateur de WeeChat].
Avec l'extension irc, vous pouvez vous connecter à un serveur avec une URL, comme ceci : Avec l'extension irc, vous pouvez vous connecter à un serveur avec une URL, comme ceci :
irc[6][s]://[[pseudo][:mot_de_passe]@]serveur[:port][/#canal1[,#canal2...]] irc[6][s]://[[pseudo][:motdepasse]@]serveur[:port][/#canal1[,#canal2...]]
Pour rejoindre le canal IRC de support WeeChat avec le pseudo "monpseudo" : Pour rejoindre le canal IRC de support WeeChat avec le pseudo "monpseudo" :
+4 -5
View File
@@ -129,7 +129,6 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|=== |===
| Chemin/fichier | Description | Chemin/fichier | Description
| core/ | Fonctions du cœur : point d'entrée, structures internes. | core/ | Fonctions du cœur : point d'entrée, structures internes.
|    core-args.c | Paramètres de ligne de commande.
|    core-arraylist.c | Listes avec tableau (« arraylists »). |    core-arraylist.c | Listes avec tableau (« arraylists »).
|    core-backtrace.c | Afficher une trace après un plantage. |    core-backtrace.c | Afficher une trace après un plantage.
|    core-calc.c | Calcul du résultat d'expressions. |    core-calc.c | Calcul du résultat d'expressions.
@@ -660,9 +659,9 @@ Exemple :
[source,c] [source,c]
---- ----
/* /*
* Check if a string with boolean value is valid. * Checks if a string with boolean value is valid.
* *
* Return: * Returns:
* 1: boolean value is valid * 1: boolean value is valid
* 0: boolean value is NOT valid * 0: boolean value is NOT valid
*/ */
@@ -943,9 +942,9 @@ Exemple : création d'une nouvelle fenêtre (de _src/gui/gui-window.c_) :
[source,c] [source,c]
---- ----
/* /*
* Create a new window. * Creates a new window.
* *
* Return pointer to new window, NULL if error. * Returns pointer to new window, NULL if error.
*/ */
struct t_gui_window * struct t_gui_window *
+1 -1
View File
@@ -457,7 +457,7 @@ pour plus d'information sur la gestion des couleurs.
[[search_text]] [[search_text]]
=== Comment puis-je chercher du texte dans le tampon (comme /lastlog dans irssi) ? === Comment puis-je chercher du texte dans le tampon (comme /lastlog dans irssi) ?
La touche par défaut est kbd:[Ctrl+s] (la commande est : `+/input search_text_here+`). La touche par défaut est kbd:[Ctrl+r] (la commande est : `+/input search_text_here+`).
Et sauter aux highlights : kbd:[Alt+p] / kbd:[Alt+n]. Et sauter aux highlights : kbd:[Alt+p] / kbd:[Alt+n].
Voir le link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut ^↗^^] Voir le link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut ^↗^^]
+5 -5
View File
@@ -4424,7 +4424,7 @@ Prototype :
[source,c] [source,c]
---- ----
int weechat_mkdir_home (const char *directory, int mode); int weechat_mkdir_home (char *directory, int mode);
---- ----
Paramètres : Paramètres :
@@ -4471,7 +4471,7 @@ Prototype :
[source,c] [source,c]
---- ----
int weechat_mkdir (const char *directory, int mode); int weechat_mkdir (char *directory, int mode);
---- ----
Paramètres : Paramètres :
@@ -4512,7 +4512,7 @@ Prototype :
[source,c] [source,c]
---- ----
int weechat_mkdir_parents (const char *directory, int mode); int weechat_mkdir_parents (char *directory, int mode);
---- ----
Paramètres : Paramètres :
@@ -7838,7 +7838,7 @@ void weechat_config_search_with_string (const char *option_name,
struct t_config_file **config_file, struct t_config_file **config_file,
struct t_config_section **section, struct t_config_section **section,
struct t_config_option **option, struct t_config_option **option,
const char **pos_option_name); char **pos_option_name);
---- ----
Paramètres : Paramètres :
@@ -7861,7 +7861,7 @@ Exemple en C :
struct t_config_file *ptr_config_file; struct t_config_file *ptr_config_file;
struct t_config_section *ptr_section; struct t_config_section *ptr_section;
struct t_config_option *ptr_option; struct t_config_option *ptr_option;
const char *option_name; char *option_name;
weechat_config_search_with_string ("fichier.section.option", weechat_config_search_with_string ("fichier.section.option",
&ptr_config_file, &ptr_config_file,
+5 -57
View File
@@ -551,8 +551,7 @@ HTTP/1.1 200 OK
"plugin": "core", "plugin": "core",
"name": "weechat" "name": "weechat"
}, },
"keys": [], "keys": []
"last_read_line_id": -1
}, },
{ {
"id": 1709932823423765, "id": 1709932823423765,
@@ -581,8 +580,7 @@ HTTP/1.1 200 OK
"tls_version": "TLS1.3", "tls_version": "TLS1.3",
"host": "~alice@example.com" "host": "~alice@example.com"
}, },
"keys": [], "keys": []
"last_read_line_id": -1
}, },
{ {
"id": 1709932823649069, "id": 1709932823649069,
@@ -609,8 +607,7 @@ HTTP/1.1 200 OK
"nick": "alice", "nick": "alice",
"host": "~alice@example.com" "host": "~alice@example.com"
}, },
"keys": [], "keys": []
"last_read_line_id": -1
} }
] ]
---- ----
@@ -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", "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": [] "tags": []
} }
], ]
"last_read_line_id": -1
} }
---- ----
@@ -713,7 +709,6 @@ HTTP/1.1 200 OK
"host": "~alice@example.com" "host": "~alice@example.com"
}, },
"keys": [], "keys": [],
"last_read_line_id": -1,
"nicklist_root": { "nicklist_root": {
"id": 0, "id": 0,
"parent_group_id": -1, "parent_group_id": -1,
@@ -911,8 +906,7 @@ HTTP/1.1 200 OK
"key": "up", "key": "up",
"command": "/fset -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]] [[resource_input]]
=== Entrée === Entrée
@@ -1575,7 +1524,6 @@ Les types de corps qui peuvent être retournés :
* `nick_group` (objet) * `nick_group` (objet)
* `nick` (objet) * `nick` (objet)
* `hotlist` (objet) * `hotlist` (objet)
* `scripts` (tableau)
* `ping` (objet) * `ping` (objet)
[TIP] [TIP]
+9 -9
View File
@@ -208,7 +208,7 @@ Le tableau suivant liste les paquets optionnels pour compiler WeeChat :
| asciidoctor | ≥ 1.5.4 | asciidoctor | ≥ 1.5.4
| Construction de la page man et de la documentation. | Construction de la page man et de la documentation.
| python3-pygments, ruby-pygments.rb | | ruby-pygments.rb |
| Construction de la documentation. | Construction de la documentation.
| libcpputest-dev | ≥ 3.4 | libcpputest-dev | ≥ 3.4
@@ -3351,7 +3351,7 @@ Pour ajouter une donnée sécurisée, utilisez la commande `/secure set`, par
exemple un mot de passe pour le serveur IRC _libera_ : exemple un mot de passe pour le serveur IRC _libera_ :
---- ----
/secure set libera mot_de_passe /secure set libera motdepasse
---- ----
Pour plus de confort, les données sécurisées peuvent être affichées dans un Pour plus de confort, les données sécurisées peuvent être affichées dans un
@@ -4712,7 +4712,7 @@ Il est fortement recommandé de définir un mot de passe pour le relai, avec ces
commandes : commandes :
---- ----
/secure set relay mot_de_passe /secure set relay motdepasse
/set relay.network.password "${sec.data.relay}" /set relay.network.password "${sec.data.relay}"
---- ----
@@ -4793,7 +4793,7 @@ le nom interne du serveur dans la commande IRC "PASS", avec le format
(voir l'exemple ci-dessous) : (voir l'exemple ci-dessous) :
---- ----
PASS serveur:mot_de_passe PASS serveur:motdepasse
---- ----
Exemple : proxy IRC avec TLS pour tout serveur (le client choisira) : Exemple : proxy IRC avec TLS pour tout serveur (le client choisira) :
@@ -4809,7 +4809,7 @@ Exemple : proxy IRC sans TLS seulement pour le serveur "libera" :
---- ----
Maintenant vous pouvez vous connecter sur le port 8000 avec n'importe quel Maintenant vous pouvez vous connecter sur le port 8000 avec n'importe quel
client IRC en utilisant le mot de passe "mot_de_passe" (ou "libera:mot_de_passe" client IRC en utilisant le mot de passe "motdepasse" (ou "libera:motdepasse"
si aucun serveur n'a été spécifié dans le relai). si aucun serveur n'a été spécifié dans le relai).
Par exemple si vous utilisez WeeChat comme client IRC du relai, avec un serveur Par exemple si vous utilisez WeeChat comme client IRC du relai, avec un serveur
@@ -4822,7 +4822,7 @@ avec ces commandes :
---- ----
[[relay_api_protocol]] [[relay_api_protocol]]
=== Protocole API === API protocol
L'extension Relay peut envoyer les données à un autre WeeChat ou une interface L'extension Relay peut envoyer les données à un autre WeeChat ou une interface
distante avec un protocol HTTP de type API REST. distante avec un protocol HTTP de type API REST.
@@ -4840,12 +4840,12 @@ Par exemple :
---- ----
Maintenant vous pouvez vous connecter sur le port 9000 avec une interface Maintenant vous pouvez vous connecter sur le port 9000 avec une interface
distante en utilisant le mot de passe "mot_de_passe". distante en utilisant le mot de passe "motdepasse".
Pour vous connecter à un relai _api_ avec WeeChat : Pour vous connecter à un relai _api_ avec WeeChat :
---- ----
/remote add weechat http://localhost:9000 -password=mot_de_passe /remote add weechat http://localhost:9000 -password=motdepasse
/remote connect weechat /remote connect weechat
---- ----
@@ -4882,7 +4882,7 @@ Par exemple :
---- ----
Maintenant vous pouvez vous connecter sur le port 9500 avec une interface Maintenant vous pouvez vous connecter sur le port 9500 avec une interface
distante en utilisant le mot de passe "mot_de_passe". distante en utilisant le mot de passe "motdepasse".
[[relay_websocket]] [[relay_websocket]]
=== WebSocket === WebSocket
+1 -1
View File
@@ -490,7 +490,7 @@ for more information about colors management.
[[search_text]] [[search_text]]
=== Come posso cercare testo nel buffer (come /lastlog con irssi)? === Come posso cercare testo nel buffer (come /lastlog con irssi)?
Il tasto predefinito è kbd:[Ctrl+s] (il comando è: `+/input search_text_here+`). Il tasto predefinito è kbd:[Ctrl+r] (il comando è: `+/input search_text_here+`).
E per passare alle notifiche: kbd:[Alt+p] / kbd:[Alt+n]. E per passare alle notifiche: kbd:[Alt+p] / kbd:[Alt+n].
// TRANSLATION MISSING // TRANSLATION MISSING
+5 -5
View File
@@ -4549,7 +4549,7 @@ Prototipo:
[source,c] [source,c]
---- ----
int weechat_mkdir_home (const char *directory, int mode); int weechat_mkdir_home (char *directory, int mode);
---- ----
Argomenti: Argomenti:
@@ -4597,7 +4597,7 @@ Prototipo:
[source,c] [source,c]
---- ----
int weechat_mkdir (const char *directory, int mode); int weechat_mkdir (char *directory, int mode);
---- ----
Argomenti: Argomenti:
@@ -4638,7 +4638,7 @@ Prototipo:
[source,c] [source,c]
---- ----
int weechat_mkdir_parents (const char *directory, int mode); int weechat_mkdir_parents (char *directory, int mode);
---- ----
Argomenti: Argomenti:
@@ -8011,7 +8011,7 @@ void weechat_config_search_with_string (const char *option_name,
struct t_config_file **config_file, struct t_config_file **config_file,
struct t_config_section **section, struct t_config_section **section,
struct t_config_option **option, struct t_config_option **option,
const char **pos_option_name); char **pos_option_name);
---- ----
Argomenti: Argomenti:
@@ -8034,7 +8034,7 @@ Esempio in C:
struct t_config_file *ptr_config_file; struct t_config_file *ptr_config_file;
struct t_config_section *ptr_section; struct t_config_section *ptr_section;
struct t_config_option *ptr_option; struct t_config_option *ptr_option;
const char *option_name; char *option_name;
weechat_config_search_with_string ("file.section.option", weechat_config_search_with_string ("file.section.option",
&ptr_config_file, &ptr_config_file,
+1 -1
View File
@@ -245,7 +245,7 @@ WeeChat:
| Build man page and documentation. | Build man page and documentation.
// TRANSLATION MISSING // TRANSLATION MISSING
| python3-pygments, ruby-pygments.rb | | ruby-pygments.rb |
| Build documentation. | Build documentation.
// TRANSLATION MISSING // TRANSLATION MISSING
+4 -6
View File
@@ -140,8 +140,6 @@ WeeChat "core" は以下のディレクトリに配置されています:
|=== |===
| パス/ファイル名 | 説明 | パス/ファイル名 | 説明
| core/ | コア関数: エントリポイント、内部構造体 | core/ | コア関数: エントリポイント、内部構造体
// TRANSLATION MISSING
|    core-args.c | Command-line arguments.
|    core-arraylist.c | 配列リスト |    core-arraylist.c | 配列リスト
|    core-backtrace.c | クラッシュした際にバックトレースを表示 |    core-backtrace.c | クラッシュした際にバックトレースを表示
// TRANSLATION MISSING // TRANSLATION MISSING
@@ -810,9 +808,9 @@ C 言語のコードを書く際には以下の基本的なルールを *必ず*
[source,c] [source,c]
---- ----
/* /*
* Check if a string with boolean value is valid. * Checks if a string with boolean value is valid.
* *
* Return: * Returns:
* 1: boolean value is valid * 1: boolean value is valid
* 0: boolean value is NOT valid * 0: boolean value is NOT valid
*/ */
@@ -1085,9 +1083,9 @@ struct t_gui_window *gui_current_window = NULL; /* current window */
[source,c] [source,c]
---- ----
/* /*
* Create a new window. * Creates a new window.
* *
* Return pointer to new window, NULL if error. * Returns pointer to new window, NULL if error.
*/ */
struct t_gui_window * struct t_gui_window *
+1 -1
View File
@@ -451,7 +451,7 @@ with command `/color`).
[[search_text]] [[search_text]]
=== どうすればバッファ内の文字列を検索できますか (irssi の /lastlog の様に)。 === どうすればバッファ内の文字列を検索できますか (irssi の /lastlog の様に)。
デフォルトのキーは kbd:[Ctrl+s] です (コマンドは: `+/input search_text_here+`)。 デフォルトのキーは kbd:[Ctrl+r] です (コマンドは: `+/input search_text_here+`)。
ハイライト部分へのジャンプは: kbd:[Alt+p] / kbd:[Alt+n] ハイライト部分へのジャンプは: kbd:[Alt+p] / kbd:[Alt+n]
この機能に関するより詳しい情報はlink:weechat_user.ja.html#key_bindings[ユーザーズガイド / デフォルトのキー割り当て ^↗^^]を参照してください この機能に関するより詳しい情報はlink:weechat_user.ja.html#key_bindings[ユーザーズガイド / デフォルトのキー割り当て ^↗^^]を参照してください
+5 -5
View File
@@ -4477,7 +4477,7 @@ WeeChat ホームディレクトリの下にディレクトリを作成。
[source,c] [source,c]
---- ----
int weechat_mkdir_home (const char *directory, int mode); int weechat_mkdir_home (char *directory, int mode);
---- ----
引数: 引数:
@@ -4525,7 +4525,7 @@ weechat.mkdir_home("${weechat_cache_dir}/temp", 0755)
[source,c] [source,c]
---- ----
int weechat_mkdir (const char *directory, int mode); int weechat_mkdir (char *directory, int mode);
---- ----
引数: 引数:
@@ -4566,7 +4566,7 @@ weechat.mkdir("/tmp/mydir", 0755)
[source,c] [source,c]
---- ----
int weechat_mkdir_parents (const char *directory, int mode); int weechat_mkdir_parents (char *directory, int mode);
---- ----
引数: 引数:
@@ -7816,7 +7816,7 @@ void weechat_config_search_with_string (const char *option_name,
struct t_config_file **config_file, struct t_config_file **config_file,
struct t_config_section **section, struct t_config_section **section,
struct t_config_option **option, struct t_config_option **option,
const char **pos_option_name); char **pos_option_name);
---- ----
引数: 引数:
@@ -7838,7 +7838,7 @@ C 言語での使用例:
struct t_config_file *ptr_config_file; struct t_config_file *ptr_config_file;
struct t_config_section *ptr_section; struct t_config_section *ptr_section;
struct t_config_option *ptr_option; struct t_config_option *ptr_option;
const char *option_name; char *option_name;
weechat_config_search_with_string ("file.section.option", weechat_config_search_with_string ("file.section.option",
&ptr_config_file, &ptr_config_file,
+1 -1
View File
@@ -229,7 +229,7 @@ WeeChat:
| man ページと文書のビルド | man ページと文書のビルド
// TRANSLATION MISSING // TRANSLATION MISSING
| python3-pygments, ruby-pygments.rb | | ruby-pygments.rb |
| Build documentation. | Build documentation.
| libcpputest-dev | 3.4 以上 | libcpputest-dev | 3.4 以上
+2 -1
View File
@@ -7,7 +7,8 @@
Kompletna dokumentacja na temat opcji wtyczek dostępna jest Kompletna dokumentacja na temat opcji wtyczek dostępna jest
w https://weechat.org/doc/[WeeChat user's guide]. w https://weechat.org/doc/[WeeChat user's guide].
Używając wtyczki irc możesz połączyć się z serwerem używając URLa w poniższm formacie: // TRANSLATION MISSING
With irc plugin, you can connect to a server with an URL like:
irc[6][s]://[[nick][:hasło]@]serwer[:port][/#kanał1[,#kanał2...]] irc[6][s]://[[nick][:hasło]@]serwer[:port][/#kanał1[,#kanał2...]]
+1 -1
View File
@@ -436,7 +436,7 @@ link:weechat_user.pl.html#colors[Poradniku użytkownika / Kolory ^↗^^].
[[search_text]] [[search_text]]
=== Jak mogę wyszukać tekst w buforze (jak za pomocą /lastlog w irssi)? === Jak mogę wyszukać tekst w buforze (jak za pomocą /lastlog w irssi)?
Domyślny skrót klawiszowy to kbd:[Ctrl+s] (komenda: `+/input search_text_here+`). Domyślny skrót klawiszowy to kbd:[Ctrl+r] (komenda: `+/input search_text_here+`).
Poruszanie się między podświetleniami: kbd:[Alt+p] / kbd:[Alt+n]. Poruszanie się między podświetleniami: kbd:[Alt+p] / kbd:[Alt+n].
+1 -1
View File
@@ -210,7 +210,7 @@ WeeChat:
| asciidoctor | ≥ 1.5.4 | asciidoctor | ≥ 1.5.4
| Tworzenie strony man i dokumentacji. | Tworzenie strony man i dokumentacji.
| python3-pygments, ruby-pygments.rb | | ruby-pygments.rb |
| Dokumentacja budowania. | Dokumentacja budowania.
| libcpputest-dev | ≥ 3.4 | libcpputest-dev | ≥ 3.4
+2 -1
View File
@@ -6,7 +6,8 @@
// tag::plugin_options[] // tag::plugin_options[]
За комплетну документацију у вези опција додатака, молимо вас да погледате документацију за додатке у https://weechat.org/doc/[WeeChat корисничком упутству]. За комплетну документацију у вези опција додатака, молимо вас да погледате документацију за додатке у https://weechat.org/doc/[WeeChat корисничком упутству].
Помоћу irc додатка, са сервером се повезујете URL адресом као што је: // TRANSLATION MISSING
With irc plugin, you can connect to a server with an URL like:
irc[6][s]://[[надимак][:лозинка]@]сервер[:порт][/#канал1[,#канал2...]] irc[6][s]://[[надимак][:лозинка]@]сервер[:порт][/#канал1[,#канал2...]]
+4 -5
View File
@@ -128,7 +128,6 @@ WeeChat „језгро” се налази у следећим директо
|=== |===
| Путања/фајл | Опис | Путања/фајл | Опис
| core/ | Функције језгра: тачка улаза, интерне структуре. | core/ | Функције језгра: тачка улаза, интерне структуре.
|    core-args.c | Аргументи командне-линије.
|    core-arraylist.c | Листе низова. |    core-arraylist.c | Листе низова.
|    core-backtrace.c | Испис трага након краха. |    core-backtrace.c | Испис трага након краха.
|    core-calc.c | Израчунавање резултата израза. |    core-calc.c | Израчунавање резултата израза.
@@ -652,9 +651,9 @@ WeeChat „језгро” се налази у следећим директо
[source,c] [source,c]
---- ----
/* /*
* Check if a string with boolean value is valid. * Checks if a string with boolean value is valid.
* *
* Return: * Returns:
* 1: boolean value is valid * 1: boolean value is valid
* 0: boolean value is NOT valid * 0: boolean value is NOT valid
*/ */
@@ -915,9 +914,9 @@ struct t_gui_window *gui_current_window = NULL; /* current window */
[source,c] [source,c]
---- ----
/* /*
* Create a new window. * Creates a new window.
* *
* Return pointer to new window, NULL if error. * Returns pointer to new window, NULL if error.
*/ */
struct t_gui_window * struct t_gui_window *
+1 -1
View File
@@ -380,7 +380,7 @@ term screen-256color
[[search_text]] [[search_text]]
=== Како могу да претражујем текст у баферу (као /lastlog у програму irssi)? === Како могу да претражујем текст у баферу (као /lastlog у програму irssi)?
Подразумевани тастер је kbd:[Ctrl+s] (команда је: `+/input овде_текст_претраге+`). И скок на истицања: kbd:[Alt+p] / kbd:[Alt+n]. Подразумевани тастер је kbd:[Ctrl+r] (команда је: `+/input овде_текст_претраге+`). И скок на истицања: kbd:[Alt+p] / kbd:[Alt+n].
За више о овој могућности, погледајте link:weechat_user.sr.html#key_bindings[Корисничко упутство / Тастерске пречице ^↗^^]. За више о овој могућности, погледајте link:weechat_user.sr.html#key_bindings[Корисничко упутство / Тастерске пречице ^↗^^].
+5 -5
View File
@@ -4209,7 +4209,7 @@ _Ажурирано у верзији 3.2._
[source,c] [source,c]
---- ----
int weechat_mkdir_home (const char *directory, int mode); int weechat_mkdir_home (char *directory, int mode);
---- ----
Аргументи: Аргументи:
@@ -4255,7 +4255,7 @@ weechat.mkdir_home("${weechat_cache_dir}/temp", 0755)
[source,c] [source,c]
---- ----
int weechat_mkdir (const char *directory, int mode); int weechat_mkdir (char *directory, int mode);
---- ----
Аргументи: Аргументи:
@@ -4296,7 +4296,7 @@ weechat.mkdir("/tmp/mydir", 0755)
[source,c] [source,c]
---- ----
int weechat_mkdir_parents (const char *directory, int mode); int weechat_mkdir_parents (char *directory, int mode);
---- ----
Аргументи: Аргументи:
@@ -7492,7 +7492,7 @@ void weechat_config_search_with_string (const char *option_name,
struct t_config_file **config_file, struct t_config_file **config_file,
struct t_config_section **section, struct t_config_section **section,
struct t_config_option **option, struct t_config_option **option,
const char **pos_option_name); char **pos_option_name);
---- ----
Аргументи: Аргументи:
@@ -7510,7 +7510,7 @@ C пример:
struct t_config_file *ptr_config_file; struct t_config_file *ptr_config_file;
struct t_config_section *ptr_section; struct t_config_section *ptr_section;
struct t_config_option *ptr_option; struct t_config_option *ptr_option;
const char *option_name; char *option_name;
weechat_config_search_with_string ("file.section.option", weechat_config_search_with_string ("file.section.option",
&ptr_config_file, &ptr_config_file,
+5 -59
View File
@@ -543,8 +543,7 @@ HTTP/1.1 200 OK
"plugin": "core", "plugin": "core",
"name": "weechat" "name": "weechat"
}, },
"keys": [], "keys": []
"last_read_line_id": -1
}, },
{ {
"id": 1709932823423765, "id": 1709932823423765,
@@ -574,8 +573,7 @@ HTTP/1.1 200 OK
"tls_version": "TLS1.3", "tls_version": "TLS1.3",
"host": "~alice@example.com" "host": "~alice@example.com"
}, },
"keys": [], "keys": []
"last_read_line_id": -1
}, },
{ {
"id": 1709932823649069, "id": 1709932823649069,
@@ -603,8 +601,7 @@ HTTP/1.1 200 OK
"nick": "alice", "nick": "alice",
"host": "~alice@example.com" "host": "~alice@example.com"
}, },
"keys": [], "keys": []
"last_read_line_id": -1
} }
] ]
---- ----
@@ -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", "message": "Учитани додаци: alias, buflist, charset, exec, fifo, fset, guile, irc, javascript, logger, lua, perl, php, python, relay, ruby, script, spell, tcl, trigger, typing, xfer",
"tags": [] "tags": []
} }
], ]
"last_read_line_id": -1
} }
---- ----
@@ -708,7 +704,6 @@ HTTP/1.1 200 OK
"host": "~alice@example.com" "host": "~alice@example.com"
}, },
"keys": [], "keys": [],
"last_read_line_id": -1,
"nicklist_root": { "nicklist_root": {
"id": 0, "id": 0,
"parent_group_id": -1, "parent_group_id": -1,
@@ -907,8 +902,7 @@ HTTP/1.1 200 OK
"key": "up", "key": "up",
"command": "/fset -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]] [[resource_input]]
=== Input === Input
@@ -1557,7 +1504,6 @@ GUID `258EAFA5-E914-47DA-95CA-C5AB0DC85B11` (SHA-1 се кодира у base64).
* `nick_group` (објекат) * `nick_group` (објекат)
* `nick` (објекат) * `nick` (објекат)
* `hotlist` (објекат) * `hotlist` (објекат)
* `scripts` (низ)
* `ping` (објекат) * `ping` (објекат)
[TIP] [TIP]
+1 -1
View File
@@ -203,7 +203,7 @@ WeeChat мора да се изгради са CMake.
| asciidoctor | ≥ 1.5.4 | asciidoctor | ≥ 1.5.4
| Изградња man странице и документације. | Изградња man странице и документације.
| python3-pygments, ruby-pygments.rb | | ruby-pygments.rb |
| Документација изградње. | Документација изградње.
| libcpputest-dev | ≥ 3.4 | libcpputest-dev | ≥ 3.4
+160 -263
View File
@@ -23,10 +23,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: WeeChat\n" "Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n" "POT-Creation-Date: 2026-03-16 13:17+0100\n"
"PO-Revision-Date: 2026-05-30 14:01+0200\n" "PO-Revision-Date: 2025-10-27 08:26+0100\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\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" "Language: cs\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -34,159 +34,6 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Poedit 2.0.1\n" "X-Generator: Poedit 2.0.1\n"
#. TRANSLATORS: command line option "-a", "--no-connect"
#, fuzzy
#| msgid "%s%s: unable to connect to sender"
msgid "disable auto-connect to servers at startup"
msgstr "%s%s: nemohu se připojit k odesílateli"
#. TRANSLATORS: command line option "-c", "--colors"
msgid "display default colors in terminal and exit"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "-d, --dir <path>"
msgstr ""
#. TRANSLATORS: command line option "-d", "--dir <path>"
msgid ""
"force a single WeeChat home directory or 5 different directories separated "
"by colons (in this order: config, data, state, cache, runtime) (environment "
"variable WEECHAT_HOME is read if this option is not given)"
msgstr ""
#. TRANSLATORS: command line option "-t", "--temp-dir"
msgid ""
"create a temporary WeeChat home directory and delete it on exit "
"(incompatible with option \"-d\")"
msgstr ""
#. TRANSLATORS: command line option "-h", "--help"
#, fuzzy
#| msgid "use same nick color for channel and private"
msgid "display this help and exit"
msgstr "použít stejnou barvu přezdívky pro kanál a soukromý rozhovor"
#. TRANSLATORS: command line option "-i", "--build-info"
msgid "display build information and exit"
msgstr ""
#. TRANSLATORS: command line option "-l", "--license"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "display WeeChat license and exit"
msgstr "zobrazí WeeChat logo při spuštění"
#. TRANSLATORS: command line option "-p", "--no-plugin"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "don't load any plugin at startup"
msgstr "zobrazí WeeChat logo při spuštění"
#. TRANSLATORS: only "<plugins>" may be translated
msgid "-P, --plugins <plugins>"
msgstr ""
#. TRANSLATORS: command line option "-P", "--plugins <plugins>"
msgid "load only these plugins at startup (see /help weechat.plugin.autoload)"
msgstr ""
#. TRANSLATORS: only "<cmd>" may be translated (please keep it short)
msgid "-r, --run-command <cmd>"
msgstr ""
#. TRANSLATORS: command line option "-r", "--run-command <cmd>"
#, fuzzy
msgid ""
"run command(s) after startup; many commands can be separated by semicolons "
"and are evaluated, this option can be given multiple times"
msgstr "příkaz spuštěný při startu WeeChat, po načtení pluginů"
#. TRANSLATORS: command line option "-s", "--no-script"
msgid "don't load any script at startup"
msgstr ""
#. TRANSLATORS: command line option "--upgrade"
#, fuzzy
msgid "upgrade WeeChat using session files (see /help upgrade in WeeChat)"
msgstr "%sChyba: nemohu uložit sezení do souboru"
#. TRANSLATORS: command line option "-v", "--version"
#, fuzzy
#| msgid "display WeeChat version at startup"
msgid "display WeeChat version and exit"
msgstr "zobrazí verzi WeeChat při spuštění"
#. TRANSLATORS: command line option: "plugin" and "option" may be translated
#, fuzzy
#| msgid "plugin pointer (optional)"
msgid "plugin:option"
msgstr "ukazatel pluginu (volitelný)"
#. TRANSLATORS: command line option "plugin:option"
msgid "option for plugin (see man weechat)"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "--doc-gen <path>"
msgstr ""
#. TRANSLATORS: command line option "--doc-gen <path>"
msgid "generate files to build documentation and exit"
msgstr ""
#. TRANSLATORS: command line option "--daemon"
msgid ""
"run WeeChat as a daemon (fork, new process group, file descriptors closed); "
"by default in headless mode WeeChat is blocking and does not run in "
"background"
msgstr ""
#. TRANSLATORS: command line option "--stdout"
msgid ""
"display log messages on standard output instead of writing them in log file "
"(option ignored if option \"--daemon\" is given)"
msgstr ""
#. TRANSLATORS: command line option "--no-dlclose"
msgid "do not call function dlclose after plugins are unloaded"
msgstr ""
#. TRANSLATORS: command line option "--no-gnutls"
msgid "disable init/deinit of gnutls"
msgstr ""
#. TRANSLATORS: command line option "--no-gcrypt"
msgid "disable init/deinit of gcrypt"
msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
msgstr ""
"WeeChat %s Copyright %s, zkompilováno %s %s\n"
"Vyvinutý %s <%s> - %s"
msgid "Usage:"
msgstr ""
#, fuzzy
#| msgid "Usage: %s [option...] [plugin:option...]\n"
msgid "[option...] [plugin:option...]"
msgstr "Použití: %s [volba...] [plugin:volba...]\n"
msgid "Extra options in headless mode:"
msgstr ""
msgid "Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):"
msgstr ""
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "Chyba: chybí argument pro volbu \"%s\"\n"
msgid "List of bars:" msgid "List of bars:"
msgstr "Seznam polí:" msgstr "Seznam polí:"
@@ -295,7 +142,7 @@ msgid "%sUnable to scroll bar \"%s\""
msgstr "%sChyba: nemohu posunout pole \"%s\"" msgstr "%sChyba: nemohu posunout pole \"%s\""
#, fuzzy, c-format #, fuzzy, c-format
msgid "%sBuffer number %d is out of range (it must be between 1 and %d)" msgid "%sBuffer number \"%d\" is out of range (it must be between 1 and %d)"
msgstr "%sChyba: bufer číslo %d je mimo rozsah (musí být mezi 1 a %d)" msgstr "%sChyba: bufer číslo %d je mimo rozsah (musí být mezi 1 a %d)"
msgid "Buffers list:" msgid "Buffers list:"
@@ -660,9 +507,9 @@ msgstr ""
"opatření)" "opatření)"
#, c-format #, c-format
msgid "%d new key added (context: \"%s\")" msgid "%d new key added"
msgid_plural "%d new keys added (context: \"%s\")" msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "přidána %d nová klávesa (kontext: \"%s\")" msgstr[0] "přidána %d nová klávesa"
msgstr[1] "přidány %d nové klávesy (kontext: \"%s\")" msgstr[1] "přidány %d nové klávesy (kontext: \"%s\")"
msgstr[2] "přidáno %d nových kláves (kontext: \"%s\")" msgstr[2] "přidáno %d nových kláves (kontext: \"%s\")"
@@ -708,7 +555,7 @@ msgstr "%sChyba: rozložení \"%s\" pro příkaz \"%s\" už existuje"
#, c-format #, c-format
msgid "Layout \"%s\" has been renamed to \"%s\"" msgid "Layout \"%s\" has been renamed to \"%s\""
msgstr "Rozložení \"%s\" přejmenováno na %s" msgstr "Rozložení \"%s\" přejmenováno na %s"
msgid "Mouse enabled" msgid "Mouse enabled"
msgstr "Myš povolena" msgstr "Myš povolena"
@@ -1178,16 +1025,6 @@ msgstr ""
"zpráva: zpráva pro nepřítomnost (pokud není zadána je status nepřítomnosti " "zpráva: zpráva pro nepřítomnost (pokud není zadána je status nepřítomnosti "
"odebrán)" "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" msgid "manage bars"
msgstr "řídit pole" msgstr "řídit pole"
@@ -1286,7 +1123,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.bar." "option: option to change (for options list, look at /set weechat.bar."
"<bar_name>.*)" "<barname>.*)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -1771,7 +1608,7 @@ msgstr "vyhodnotit výraz"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-n|-s] [-e] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> " "[-n|-s] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> "
"<expression2>" "<expression2>"
msgstr "[-n|-s] <výraz> || [-n] -c <výraz1> <operátor> <výraz2>" msgstr "[-n|-s] <výraz> || [-n] -c <výraz1> <operátor> <výraz2>"
@@ -1783,9 +1620,6 @@ msgid ""
"separated by semicolons)" "separated by semicolons)"
msgstr "" msgstr ""
msgid "raw[-e]: evaluate all commands before executing them"
msgstr ""
msgid "" msgid ""
"raw[-d]: display debug output after evaluation (with two -d: more verbose " "raw[-d]: display debug output after evaluation (with two -d: more verbose "
"debug)" "debug)"
@@ -2324,7 +2158,7 @@ msgstr "zobrazí nápovědu k příkazům a volbám"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
#| msgid "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>" #| msgid "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>"
msgid "-list|-listfull [<plugin>...] || <command> || <option>" msgid "-list|-listfull [<plugin>...]] || <command> || <option>"
msgstr "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>" msgstr "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>"
msgid "" msgid ""
@@ -2387,9 +2221,9 @@ msgid "raw[clear]: clear hotlist"
msgstr "" msgstr ""
msgid "" msgid ""
"level: \"lowest\" to clear only lowest level in hotlist, \"highest\" to " "level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear "
"clear only highest level in hotlist, or level mask: integer which is a " "only highest level in hotlist, or level mask: integer which is a combination "
"combination of 1=join/part, 2=message, 4=private, 8=highlight" "of 1=join/part, 2=message, 4=private, 8=highlight"
msgstr "" msgstr ""
msgid "raw[remove]: remove current buffer from hotlist" msgid "raw[remove]: remove current buffer from hotlist"
@@ -3276,7 +3110,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.proxy." "option: option to change (for options list, look at /set weechat.proxy."
"<proxy_name>.*)" "<proxyname>.*)"
msgstr "" msgstr ""
msgid " add a http proxy, running on local host, port 8888:" msgid " add a http proxy, running on local host, port 8888:"
@@ -3553,20 +3387,20 @@ msgstr ""
msgid " encrypt libera SASL password:" msgid " encrypt libera SASL password:"
msgstr "" msgstr ""
msgid " /secure set libera my_password" msgid " /secure set libera mypassword"
msgstr "" msgstr ""
msgid " encrypt oftc password for nickserv:" msgid " encrypt oftc password for nickserv:"
msgstr "" msgstr ""
msgid " /secure set oftc my_password" msgid " /secure set oftc mypassword"
msgstr "" msgstr ""
msgid " alias to ghost the nick \"andrew\":" msgid " alias to ghost the nick \"mynick\":"
msgstr "" msgstr ""
msgid "" msgid ""
" /alias add ghost /eval /msg -server libera nickserv ghost andrew $" " /alias add ghost /eval /msg -server libera nickserv ghost mynick $"
"{sec.data.libera}" "{sec.data.libera}"
msgstr "" msgstr ""
@@ -3825,7 +3659,7 @@ msgstr ""
msgid "With option \"-quit\", the process is:" msgid "With option \"-quit\", the process is:"
msgstr "" msgstr ""
msgid " 1. close *ALL* connections (irc, xfer, relay, etc.)" msgid " 1. close *ALL* connections (irc, xfer, relay, ...)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -4360,7 +4194,7 @@ msgid ""
"Warning: you should now issue /save to write option " "Warning: you should now issue /save to write option "
"weechat.look.save_config_on_exit in configuration file" "weechat.look.save_config_on_exit in configuration file"
msgstr "" msgstr ""
"Upozornění: měl by jste nyní provést /save pro zapsání volby " "Upozornění: měl by jste nyní provést /save pro zapsání volby "
"weechat.look.save_config_on_exit do konfiguračního souboru" "weechat.look.save_config_on_exit do konfiguračního souboru"
msgid "" msgid ""
@@ -6158,7 +5992,7 @@ msgstr "%sNekorektní číslo barvy \"%s\" (musí být mezi %d a %d)"
#, c-format #, c-format
msgid "Limit for resource \"%s\" has been set to %s" msgid "Limit for resource \"%s\" has been set to %s"
msgstr "Limit pro zdroj \"%s\" byl nastaven na %s" msgstr "Limit pro zdroj \"%s\" byl nastaven na %s"
#, fuzzy, c-format #, fuzzy, c-format
msgid "%sUnable to set resource limit \"%s\" to %s: error %d %s" msgid "%sUnable to set resource limit \"%s\" to %s: error %d %s"
@@ -6225,8 +6059,8 @@ msgstr "zápis - proměnná"
msgid "read - object type" msgid "read - object type"
msgstr "čtení - typ objektu" msgstr "čtení - typ objektu"
msgid "read - bad object type (\"object start\" expected)" msgid "read - bad object type ('object start' expected)"
msgstr "čtení - chybný typ objektu (očekáván \"object start\")" msgstr "čtení - chybný typ objektu (očekáván 'object start')"
msgid "read - object id" msgid "read - object id"
msgstr "čtení - id objektu" msgstr "čtení - id objektu"
@@ -6346,6 +6180,102 @@ msgstr ""
msgid "End of URL transfer '%s', transfer stopped" msgid "End of URL transfer '%s', transfer stopped"
msgstr "Konec příkazu '%s', vypršel časový limit (%.1fs)" msgstr "Konec příkazu '%s', vypršel časový limit (%.1fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Copyright %s, zkompilováno %s %s\n"
"Vyvinutý Sébastienem Helleu <flashcode@flashtux.org> - %s"
#, c-format
msgid "Usage: %s [option...] [plugin:option...]\n"
msgstr "Použití: %s [volba...] [plugin:volba...]\n"
#, fuzzy
msgid ""
" -a, --no-connect disable auto-connect to servers at startup\n"
" -c, --colors display default colors in terminal and exit\n"
" -d, --dir <path> force a single WeeChat home directory\n"
" or 5 different directories separated by colons "
"(in this order: config, data, state, cache, runtime)\n"
" (environment variable WEECHAT_HOME is read if "
"this option is not given)\n"
" -t, --temp-dir create a temporary WeeChat home directory and "
"delete it on exit\n"
" (incompatible with option \"-d\")\n"
" -h, --help display this help and exit\n"
" -i, --build-info display build information and exit\n"
" -l, --license display WeeChat license and exit\n"
" -p, --no-plugin don't load any plugin at startup\n"
" -P, --plugins <plugins> load only these plugins at startup\n"
" (see /help weechat.plugin.autoload)\n"
" -r, --run-command <cmd> run command(s) after startup;\n"
" many commands can be separated by semicolons and "
"are evaluated,\n"
" this option can be given multiple times\n"
" -s, --no-script don't load any script at startup\n"
" --upgrade upgrade WeeChat using session files (see /help "
"upgrade in WeeChat)\n"
" -v, --version display WeeChat version and exit\n"
" plugin:option option for plugin (see man weechat)\n"
msgstr ""
" -a, --no-connect\t\t\tvypne automatické připojení k serverům při startu\n"
" -c, --colors\t\t\t\tzobrazí výchozí barvy v terminálu\n"
" -d, --dir <cesta>\t \t\tnastaví domovský adresář WeeChat (výchozí: "
"~/.weechat)\n"
"\t\t\t\t\t\t\t(pokud není použita, weechat zkusí načíst promněnou prostředí "
"WEECHAT_HOME)\n"
" -h, --help\t\t\t\t\ttato nápověda\n"
" -l, --license\t\t\t\t\tlicence WeeChatu\n"
" -p, --no-plugin\t\t\t\tnenačítej při startu pluginy\n"
" -r, --run-command <cmd>\tspusť příkaz po startu\n"
"\t\t\t\t\t\t\t(více příkazů jde oddělit středníkem)\n"
" -s, --no-script\t\t\t\tnenačítej skripty při startu\n"
" --upgrade\t\t\t\tupgraduj WeeChat za pomocí uloženní stavu (viz /help "
"upgrade v WeeChatu)\n"
" -v, --version\t\t\t\tzobraz verzi WeeChatu\n"
" plugin:option\t\t\t\tvolba pro plugin (viz: man weechat)\n"
msgid "Extra options in headless mode:\n"
msgstr ""
msgid ""
" --doc-gen <path> generate files to build documentation and exit\n"
msgstr ""
msgid ""
" --daemon run WeeChat as a daemon (fork, new process group, "
"file descriptors closed);\n"
msgstr ""
msgid ""
" (by default in headless mode WeeChat is blocking "
"and does not run in background)\n"
msgstr ""
msgid ""
" --stdout display log messages on standard output instead "
"of writing them in log file\n"
msgstr ""
msgid ""
" (option ignored if option \"--daemon\" is given)\n"
msgstr ""
msgid ""
"Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):\n"
" --no-dlclose do not call function dlclose after plugins are "
"unloaded\n"
" --no-gnutls disable init/deinit of gnutls\n"
" --no-gcrypt disable init/deinit of gcrypt\n"
msgstr ""
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "Chyba: chybí argument pro volbu \"%s\"\n"
#, fuzzy #, fuzzy
msgid "WeeChat is running in headless mode (ctrl-c to quit)." msgid "WeeChat is running in headless mode (ctrl-c to quit)."
msgstr "1 pokud se WeeChat aktualizuje (příkaz `/upgrade`)" msgstr "1 pokud se WeeChat aktualizuje (příkaz `/upgrade`)"
@@ -7086,7 +7016,7 @@ msgstr ""
msgid "" msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at " " - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option " "0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions)" "buflist.look.display_conditions"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -8634,7 +8564,7 @@ msgid "%s%s: not connected to server \"%s\"!"
msgstr "%s%s: nepřipojen k serveru \"%s\"!" msgstr "%s%s: nepřipojen k serveru \"%s\"!"
#, c-format #, c-format
msgid "%s: auto-reconnection is canceled" msgid "%s: auto-reconnection is cancelled"
msgstr "%s: automatické znovupřipojené je zrušeno" msgstr "%s: automatické znovupřipojené je zrušeno"
#, c-format #, c-format
@@ -8803,15 +8733,6 @@ msgstr[0] "sekunda"
msgstr[1] "sekundy" msgstr[1] "sekundy"
msgstr[2] "sekund" msgstr[2] "sekund"
#, fuzzy
#| msgid "second"
#| msgid_plural "seconds"
msgid "millisecond"
msgid_plural "milliseconds"
msgstr[0] "sekunda"
msgstr[1] "sekundy"
msgstr[2] "sekund"
msgid "minute" msgid "minute"
msgid_plural "minutes" msgid_plural "minutes"
msgstr[0] "minuta" msgstr[0] "minuta"
@@ -8977,7 +8898,7 @@ msgstr "vykonat příkaz na všech kanálech všech připojených serverů"
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-" "[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-"
"current] [-parted|-all] [-include=<channel>[,<channel>...]] <command>" "current] [-parted|-all] -include=<channel>[,<channel>...] <command>"
msgstr "[-current] [-exclude=<kanál>[,<kanál>...]] <příkaz> [<argumenty>]" msgstr "[-current] [-exclude=<kanál>[,<kanál>...]] <příkaz> [<argumenty>]"
#, fuzzy #, fuzzy
@@ -9079,8 +9000,8 @@ msgstr "vykonat příkaz na všech kanálech všech připojených serverů"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] [-" "[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] "
"include=<nick>[,<nick>...]] <command>" "-include=<nick>[,<nick>...] <command>"
msgstr "[-current] [-exclude=<kanál>[,<kanál>...]] <příkaz> [<argumenty>]" msgstr "[-current] [-exclude=<kanál>[,<kanál>...]] <příkaz> [<argumenty>]"
#, fuzzy #, fuzzy
@@ -9133,8 +9054,8 @@ msgstr "vykonat příkaz na všech připojených serverech"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-exclude=<server>[,<server>...]] <command> || [-include=<server>[," "[-exclude=<server>[,<server>...]] <command> || -include=<server>[,"
"<server>...]] <command>" "<server>...] <command>"
msgstr "[-exclude=<server>[,<server>...]] <příkaz> [<argumenty>]" msgstr "[-exclude=<server>[,<server>...]] <příkaz> [<argumenty>]"
msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)" msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)"
@@ -9298,7 +9219,7 @@ msgid ""
msgstr "" msgstr ""
msgid "" msgid ""
"raw[ack]: acknowledge capabilities which require client-side acknowledgment" "raw[ack]: acknowledge capabilities which require client-side acknowledgement"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -11320,9 +11241,8 @@ msgstr ""
msgid "" msgid ""
"comma-separated list of fields to sort channels (see /help list for a list " "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 \"~\" " "of fields); char \"-\" can be used before field to reverse order, char \"~\" "
"can be used to do a case-insensitive comparison; example: \"-users,~name2\" " "can be used to do a case-insensitive comparison; example: \"-users,~name\" "
"for biggest channels first then case-insensitive sort on channel name " "for biggest channels first then case-insensitive sort on name"
"without prefix"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -11816,8 +11736,8 @@ msgstr "jméno serveru"
msgid "get nick from IRC host" msgid "get nick from IRC host"
msgstr "získat přezdívku od IRC hosta" msgstr "získat přezdívku od IRC hosta"
msgid "IRC host (like `:nick!name@server`)" msgid "IRC host (like `:nick!name@server.com`)"
msgstr "IRC host (jako `:nick!name@server`)" msgstr "IRC host (jako `:nick!name@server.com`)"
msgid "" msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by " "get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12047,8 +11967,8 @@ msgstr "%s%s: tenhle buffer není kanál!"
#, c-format #, c-format
msgid "" msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel " "%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer" "channel, ($)=refresh, (q)=close buffer"
msgstr "" msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list" msgid "Empty list of channels, try \"$\" to refresh list"
@@ -12791,7 +12711,7 @@ msgstr ""
#, c-format #, c-format
msgid "%s%s: timeout" msgid "%s%s: timeout"
msgstr "%s%s: časový limit" msgstr "%s%s: časový limit"
#, c-format #, c-format
msgid "%s%s: unable to create socket" msgid "%s%s: unable to create socket"
@@ -13245,7 +13165,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a " "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 = " "suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation " "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 " "performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option " "should first set the compression type via option "
"logger.file.rotation_compression_type" "logger.file.rotation_compression_type"
@@ -14631,9 +14551,10 @@ msgstr "%s%s: server \"%s\" pro příkaz \"%s\" nenalezen"
msgid "%s%s: no connection to remote relay \"%s\"" msgid "%s%s: no connection to remote relay \"%s\""
msgstr "%s%s: nepřipojen k serveru \"%s\"!" msgstr "%s%s: nepřipojen k serveru \"%s\"!"
#, c-format #, fuzzy, c-format
msgid "remote[%s]: auto-reconnection is canceled" #| msgid "%s: auto-reconnection is cancelled"
msgstr "" msgid "remote[%s]: auto-reconnection is cancelled"
msgstr "%s: automatické znovupřipojené je zrušeno"
#, fuzzy, c-format #, fuzzy, c-format
#| msgid "%s%s: server \"%s\" already exists for \"%s\" command" #| msgid "%s%s: server \"%s\" already exists for \"%s\" command"
@@ -15096,11 +15017,11 @@ msgstr ""
#, fuzzy #, fuzzy
msgid "" msgid ""
"comma separated list of hash algorithms used for password authentication in " "comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password " "weechat protocol, among these values: \"plain\" (password in plain text, not "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", " "hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" " "\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" " "to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")" "(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr "" msgstr ""
"čárkou rozdělený seznam pluginů pro automatické načtení při spuštění \"*\" " "čá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í " "znamená všechny nalezené pluginy, jméno začínající \"!\" je negativní "
@@ -15108,10 +15029,10 @@ msgstr ""
"pro vybrání několika pluginů (příklady: \"*\" nebo \"*,!lua,!tcl\")" "pro vybrání několika pluginů (příklady: \"*\" nebo \"*,!lua,!tcl\")"
msgid "" msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" " "number of iterations asked to the client in weechat protocol when a hashed "
"protocols when a hashed password with algorithm PBKDF2 is used for " "password with algorithm PBKDF2 is used for authentication; more iterations "
"authentication; more iterations is better in term of security but is slower " "is better in term of security but is slower to compute; this number should "
"to compute; this number should not be too high if your CPU is slow" "not be too high if your CPU is slow"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -15142,11 +15063,6 @@ msgid ""
"1 are recommended values)" "1 are recommended values)"
msgstr "" 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 "" msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-" "POSIX extended regular expression with origins allowed in websockets (case-"
"insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: " "insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: "
@@ -15256,7 +15172,7 @@ msgstr "Klienti pro přenos:"
#, fuzzy #, fuzzy
msgid "" msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; " "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)" "auth_failed, disconnected)"
msgstr "" msgstr ""
"jména stavů (volitelné): connecting, waiting_auth, connected, auth_failed, " "jména stavů (volitelné): connecting, waiting_auth, connected, auth_failed, "
@@ -15395,10 +15311,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" 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" 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 #, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s" msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: nemohu \"naslouchat\" na portu %d (%s): chyba %d %s" msgstr "%s%s: nemohu \"naslouchat\" na portu %d (%s): chyba %d %s"
@@ -15443,8 +15355,8 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port" msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: nedostatek paměti pro poslouchání na portu" msgstr "%s%s: nedostatek paměti pro poslouchání na portu"
msgid "Relay WeeChat data to remote applications" msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr "Předání dat WeeChatu do vzdálené aplikace" msgstr "Předání dat WeeChatu do vzdálené aplikace (irc/weechat protokoly)"
msgid "connecting" msgid "connecting"
msgstr "připojuji" msgstr "připojuji"
@@ -15589,7 +15501,7 @@ msgid "%s: script \"%s\" is not held anymore"
msgstr "%s: server %s%s%s již není dočasným" msgstr "%s: server %s%s%s již není dočasným"
msgid "Error: file not found" msgid "Error: file not found"
msgstr "Chyba: soubor nenalezen" msgstr "Chyba: soubor nenalezen"
msgid "Source code:" msgid "Source code:"
msgstr "Zdrojový kód:" msgstr "Zdrojový kód:"
@@ -15679,16 +15591,11 @@ msgstr "(nic)"
msgid "Alt+key/input: v=back to list d=jump to diff" 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" msgstr "Alt+klávesa/vstup: v=zpět na seznam d=skoč na rozdíl"
#, fuzzy, c-format #, 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"
msgid "" 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: " "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" "left=select, right=install/remove"
msgstr "" msgstr ""
"%d/%d scripty (filtr: %s) | Seřaď: %s | Alt+klavesa/vstup: i=instalace, " "%d/%d scripty (filtr: %s) | Seřaď: %s | Alt+klavesa/vstup: i=instalace, "
@@ -16068,10 +15975,6 @@ msgstr "načteny %s skripty:"
msgid "script name with extension" msgid "script name with extension"
msgstr "seznam skriptů" 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 #, fuzzy
msgid "script name with extension (wildcard \"*\" is allowed) (optional)" msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr "jméno serveru (zástupný znak \"*\" je povolen) (volitelné)" msgstr "jméno serveru (zástupný znak \"*\" je povolen) (volitelné)"
@@ -16192,7 +16095,7 @@ msgid "Spell checking is enabled"
msgstr "Kontrola pravopisu je zapnuta" msgstr "Kontrola pravopisu je zapnuta"
msgid "Spell checking is disabled" msgid "Spell checking is disabled"
msgstr "Kontrola pravopisu je vypnuta" msgstr "Kontrola pravopisu je vypnuta"
#, c-format #, c-format
msgid "Default dictionary: %s" msgid "Default dictionary: %s"
@@ -17009,7 +16912,7 @@ msgid "%s%s: invalid regular expression in trigger: \"%s\""
msgstr "%s%s: \"%s\" není validní regulární výraz (%s)" msgstr "%s%s: \"%s\" není validní regulární výraz (%s)"
#. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible #. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible
msgid "Typing: " msgid "Typing:"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -17043,11 +16946,6 @@ msgid ""
"truncate content)" "truncate content)"
msgstr "" msgstr ""
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 ""
msgid "Typing status of users" msgid "Typing status of users"
msgstr "" msgstr ""
@@ -17199,9 +17097,8 @@ msgstr "nečekat na ACK při odesílání souboru"
#| "IP or DNS address used for sending files/chats (if empty, local interface " #| "IP or DNS address used for sending files/chats (if empty, local interface "
#| "IP is used)" #| "IP is used)"
msgid "" msgid ""
"IP or DNS address used for sending and passively receiving files/chats; if " "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 " "empty, local interface IP is used)"
"eval)"
msgstr "" msgstr ""
"IP nebo DNS adresa použitá pro posílání souborů/rozhovorů (pokud je prázdné " "IP nebo DNS adresa použitá pro posílání souborů/rozhovorů (pokud je prázdné "
"použije se lokální IP)" "použije se lokální IP)"
@@ -17350,7 +17247,7 @@ msgstr "%s%s: nemohu odeslat ACK k odesílateli"
#, c-format #, c-format
msgid "%s%s: wrong CRC32 for file %s" msgid "%s%s: wrong CRC32 for file %s"
msgstr "%s%s: špatný kontrolní součet CRC32 souboru %s" msgstr "%s%s: špatný kontrolní součet CRC32 souboru %s"
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s%s: CRC32 error while resuming" msgid "%s%s: CRC32 error while resuming"
+271 -359
View File
File diff suppressed because it is too large Load Diff
+208 -282
View File
@@ -24,191 +24,16 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: WeeChat\n" "Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n" "POT-Creation-Date: 2026-03-16 13:17+0100\n"
"PO-Revision-Date: 2026-05-30 14:01+0200\n" "PO-Revision-Date: 2025-10-27 08:26+0100\n"
"Last-Translator: Santiago Forero <santiago@forero.xyz>\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" "Language: es\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. TRANSLATORS: command line option "-a", "--no-connect"
#, fuzzy
#| msgid "%s%s: unable to connect to sender"
msgid "disable auto-connect to servers at startup"
msgstr "%s%s: no es posible conectarse al transmisor"
#. TRANSLATORS: command line option "-c", "--colors"
msgid "display default colors in terminal and exit"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "-d, --dir <path>"
msgstr ""
#. TRANSLATORS: command line option "-d", "--dir <path>"
msgid ""
"force a single WeeChat home directory or 5 different directories separated "
"by colons (in this order: config, data, state, cache, runtime) (environment "
"variable WEECHAT_HOME is read if this option is not given)"
msgstr ""
#. TRANSLATORS: command line option "-t", "--temp-dir"
msgid ""
"create a temporary WeeChat home directory and delete it on exit "
"(incompatible with option \"-d\")"
msgstr ""
#. TRANSLATORS: command line option "-h", "--help"
#, fuzzy
#| msgid "use same nick color for channel and private"
msgid "display this help and exit"
msgstr "usar el mismo color de apodo en el canal y conversaciones privadas"
#. TRANSLATORS: command line option "-i", "--build-info"
msgid "display build information and exit"
msgstr ""
#. TRANSLATORS: command line option "-l", "--license"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "display WeeChat license and exit"
msgstr "mostrar el logo de WeeChat en el arranque"
#. TRANSLATORS: command line option "-p", "--no-plugin"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "don't load any plugin at startup"
msgstr "mostrar el logo de WeeChat en el arranque"
#. TRANSLATORS: only "<plugins>" may be translated
msgid "-P, --plugins <plugins>"
msgstr ""
#. TRANSLATORS: command line option "-P", "--plugins <plugins>"
msgid "load only these plugins at startup (see /help weechat.plugin.autoload)"
msgstr ""
#. TRANSLATORS: only "<cmd>" may be translated (please keep it short)
msgid "-r, --run-command <cmd>"
msgstr ""
#. TRANSLATORS: command line option "-r", "--run-command <cmd>"
#, fuzzy
#| msgid ""
#| "command executed when WeeChat starts, after loading plugins; multiple "
#| "commands can be separated by semicolons (note: commands are evaluated, "
#| "see /help eval)"
msgid ""
"run command(s) after startup; many commands can be separated by semicolons "
"and are evaluated, this option can be given multiple times"
msgstr ""
"comando ejecutado cuando WeeChat inicia, después de cargar los plugins, "
"multiples comandos pueden ser separados por puntos y comas (nota: los "
"comandos se evaluan, ver /help eval)"
#. TRANSLATORS: command line option "-s", "--no-script"
msgid "don't load any script at startup"
msgstr ""
#. TRANSLATORS: command line option "--upgrade"
#, fuzzy
#| msgid "%sUnable to save session in file"
msgid "upgrade WeeChat using session files (see /help upgrade in WeeChat)"
msgstr "%sError: no se pudo guardar la sesión"
#. TRANSLATORS: command line option "-v", "--version"
#, fuzzy
#| msgid "display WeeChat version at startup"
msgid "display WeeChat version and exit"
msgstr "mostrar la versión de WeeChat en el arranque"
#. TRANSLATORS: command line option: "plugin" and "option" may be translated
#, fuzzy
#| msgid "plugin pointer (optional)"
msgid "plugin:option"
msgstr "puntero del plugin (opcional)"
#. TRANSLATORS: command line option "plugin:option"
msgid "option for plugin (see man weechat)"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "--doc-gen <path>"
msgstr ""
#. TRANSLATORS: command line option "--doc-gen <path>"
msgid "generate files to build documentation and exit"
msgstr ""
#. TRANSLATORS: command line option "--daemon"
#, fuzzy
#| msgid ""
#| " (by default in headless mode WeeChat is "
#| "blocking and does not run in background)\n"
msgid ""
"run WeeChat as a daemon (fork, new process group, file descriptors closed); "
"by default in headless mode WeeChat is blocking and does not run in "
"background"
msgstr ""
" (por defecto en el modo de segundo plano WeeChat "
"está bloqueado y no se ejecuta)\n"
#. TRANSLATORS: command line option "--stdout"
#, fuzzy
#| msgid ""
#| " --stdout display log messages on standard output "
#| "instead of writing them in log file\n"
msgid ""
"display log messages on standard output instead of writing them in log file "
"(option ignored if option \"--daemon\" is given)"
msgstr ""
" --stdout imprime los registros (logs) en salida estandar "
"en lugar de escribirlos en un archivo\n"
#. TRANSLATORS: command line option "--no-dlclose"
msgid "do not call function dlclose after plugins are unloaded"
msgstr ""
#. TRANSLATORS: command line option "--no-gnutls"
msgid "disable init/deinit of gnutls"
msgstr ""
#. TRANSLATORS: command line option "--no-gcrypt"
msgid "disable init/deinit of gcrypt"
msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
msgstr ""
"WeeChat %s Copyright %s, compilado en %s %s\n"
"Desarrollado por %s <%s> - %s"
msgid "Usage:"
msgstr ""
#, fuzzy
#| msgid "Usage: %s [option...] [plugin:option...]\n"
msgid "[option...] [plugin:option...]"
msgstr "Uso: %s [opción...] [plugin:opción...]\n"
#, fuzzy
#| msgid "Extra options in headless mode:\n"
msgid "Extra options in headless mode:"
msgstr "Opciones extra en el modo de segundo plano:\n"
msgid "Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):"
msgstr ""
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "Error: falta un argumento para la opción \"%s\"\n"
msgid "List of bars:" msgid "List of bars:"
msgstr "Lista de barras:" msgstr "Lista de barras:"
@@ -318,15 +143,15 @@ msgid "%sUnable to scroll bar \"%s\""
msgstr "%sError: no se puede desplazar la barra \"%s\"" msgstr "%sError: no se puede desplazar la barra \"%s\""
#, c-format #, c-format
msgid "%sBuffer number %d is out of range (it must be between 1 and %d)" msgid "%sBuffer number \"%d\" is out of range (it must be between 1 and %d)"
msgstr "%sNúmero de buffer %d inválido (debe ser entre 1 y %d)" msgstr "%sNúmero de buffer \"%d\" inválido (debe ser entre 1 y %d)"
msgid "Buffers list:" msgid "Buffers list:"
msgstr "Lista de buffers:" msgstr "Lista de buffers:"
#, c-format #, c-format
msgid " %s[%s%d%s]%s %s%s.%s%s%s (notify: %s%s%s)%s%s" msgid " %s[%s%d%s]%s %s%s.%s%s%s (notify: %s%s%s)%s%s"
msgstr " %s[%s%d%s]%s %s%s.%s%s%s (aviso: %s%s%s)%s%s)" msgstr " %s[%s%d%s]%s %s%s.%s%s%s (aviso: %s%s%s)%s%s)"
#, c-format #, c-format
msgid "%sBuffer name \"%s\" is reserved for WeeChat" msgid "%sBuffer name \"%s\" is reserved for WeeChat"
@@ -354,7 +179,7 @@ msgstr "%sError: el buffer principal de WeeChat no puede ser cerrado"
#, c-format #, c-format
msgid "Notify for \"%s%s%s\": \"%s%s%s\"" msgid "Notify for \"%s%s%s\": \"%s%s%s\""
msgstr "Notificar \"%s%s%s\": \"%s%s%s\"" msgstr "Notificar \"%s%s%s\": \"%s%s%s\""
#, c-format #, c-format
msgid "%sUnable to set notify level \"%s\"" msgid "%sUnable to set notify level \"%s\""
@@ -686,9 +511,9 @@ msgstr ""
"atajos" "atajos"
#, c-format #, c-format
msgid "%d new key added (context: \"%s\")" msgid "%d new key added"
msgid_plural "%d new keys added (context: \"%s\")" msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "%d nuevo atajo agregado (contexto: \"%s\")" msgstr[0] "%d nuevo atajo agregado"
msgstr[1] "%d nuevos atajos agregados (contexto: \"%s\")" msgstr[1] "%d nuevos atajos agregados (contexto: \"%s\")"
msgid "Stored layouts:" msgid "Stored layouts:"
@@ -1222,16 +1047,6 @@ msgstr ""
"mensaje: mensaje de ausencia (si no se especifica ningún mensaje, se remueve " "mensaje: mensaje de ausencia (si no se especifica ningún mensaje, se remueve "
"el estado ausente)" "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" msgid "manage bars"
msgstr "gestionar las barras" msgstr "gestionar las barras"
@@ -1336,7 +1151,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.bar." "option: option to change (for options list, look at /set weechat.bar."
"<bar_name>.*)" "<barname>.*)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -1833,12 +1648,8 @@ msgid "evaluate expression"
msgstr "evaluar expresión" msgstr "evaluar expresión"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. 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 "" msgid ""
"[-n|-s] [-e] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> " "[-n|-s] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> "
"<expression2>" "<expression2>"
msgstr "" msgstr ""
"[-n|-s] [-d] <expresión> || [-n] [-d [-d]] -c <expresión1> <operador> " "[-n|-s] [-d] <expresión> || [-n] [-d [-d]] -c <expresión1> <operador> "
@@ -1852,9 +1663,6 @@ msgid ""
"separated by semicolons)" "separated by semicolons)"
msgstr "" msgstr ""
msgid "raw[-e]: evaluate all commands before executing them"
msgstr ""
msgid "" msgid ""
"raw[-d]: display debug output after evaluation (with two -d: more verbose " "raw[-d]: display debug output after evaluation (with two -d: more verbose "
"debug)" "debug)"
@@ -2402,7 +2210,7 @@ msgstr "mostrar ayuda sobre los comandos y opciones"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
#| msgid "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>" #| msgid "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>"
msgid "-list|-listfull [<plugin>...] || <command> || <option>" msgid "-list|-listfull [<plugin>...]] || <command> || <option>"
msgstr "-list|-listfull [<plugin> [<plugin>...]] || <comando> || <opción>" msgstr "-list|-listfull [<plugin> [<plugin>...]] || <comando> || <opción>"
msgid "" msgid ""
@@ -2465,9 +2273,9 @@ msgid "raw[clear]: clear hotlist"
msgstr "" msgstr ""
msgid "" msgid ""
"level: \"lowest\" to clear only lowest level in hotlist, \"highest\" to " "level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear "
"clear only highest level in hotlist, or level mask: integer which is a " "only highest level in hotlist, or level mask: integer which is a combination "
"combination of 1=join/part, 2=message, 4=private, 8=highlight" "of 1=join/part, 2=message, 4=private, 8=highlight"
msgstr "" msgstr ""
msgid "raw[remove]: remove current buffer from hotlist" msgid "raw[remove]: remove current buffer from hotlist"
@@ -3365,7 +3173,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.proxy." "option: option to change (for options list, look at /set weechat.proxy."
"<proxy_name>.*)" "<proxyname>.*)"
msgstr "" msgstr ""
msgid " add a http proxy, running on local host, port 8888:" msgid " add a http proxy, running on local host, port 8888:"
@@ -3639,20 +3447,20 @@ msgstr ""
msgid " encrypt libera SASL password:" msgid " encrypt libera SASL password:"
msgstr "" msgstr ""
msgid " /secure set libera my_password" msgid " /secure set libera mypassword"
msgstr "" msgstr ""
msgid " encrypt oftc password for nickserv:" msgid " encrypt oftc password for nickserv:"
msgstr "" msgstr ""
msgid " /secure set oftc my_password" msgid " /secure set oftc mypassword"
msgstr "" msgstr ""
msgid " alias to ghost the nick \"andrew\":" msgid " alias to ghost the nick \"mynick\":"
msgstr "" msgstr ""
msgid "" msgid ""
" /alias add ghost /eval /msg -server libera nickserv ghost andrew $" " /alias add ghost /eval /msg -server libera nickserv ghost mynick $"
"{sec.data.libera}" "{sec.data.libera}"
msgstr "" msgstr ""
@@ -3919,7 +3727,7 @@ msgstr ""
msgid "With option \"-quit\", the process is:" msgid "With option \"-quit\", the process is:"
msgstr "" msgstr ""
msgid " 1. close *ALL* connections (irc, xfer, relay, etc.)" msgid " 1. close *ALL* connections (irc, xfer, relay, ...)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -6382,8 +6190,8 @@ msgstr "escritura - variable"
msgid "read - object type" msgid "read - object type"
msgstr "lectura - tipo objeto" msgstr "lectura - tipo objeto"
msgid "read - bad object type (\"object start\" expected)" msgid "read - bad object type ('object start' expected)"
msgstr "lectura - tipo de objeto incorrecto (se esperaba \"object start\")" msgstr "lectura - tipo de objeto incorrecto (se esperaba 'object start')"
msgid "read - object id" msgid "read - object id"
msgstr "lectura - id objeto" msgstr "lectura - id objeto"
@@ -6504,6 +6312,152 @@ msgstr ""
msgid "End of URL transfer '%s', transfer stopped" msgid "End of URL transfer '%s', transfer stopped"
msgstr "Fin del comando '%s', tiempo de espera alcanzado (%.1fs)" msgstr "Fin del comando '%s', tiempo de espera alcanzado (%.1fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Copyright %s, compilado en %s %s\n"
"Desarrollado por Sébastien Helleu <flashcode@flashtux.org> - %s"
#, c-format
msgid "Usage: %s [option...] [plugin:option...]\n"
msgstr "Uso: %s [opción...] [plugin:opción...]\n"
#
#, fuzzy
#| msgid ""
#| " -a, --no-connect disable auto-connect to servers at startup\n"
#| " -c, --colors display default colors in terminal\n"
#| " -d, --dir <path> force a single WeeChat home directory\n"
#| " or 4 different directories separated by colons "
#| "(in this order: config, data, cache, runtime)\n"
#| " (environment variable WEECHAT_HOME is read if "
#| "this option is not given)\n"
#| " -t, --temp-dir create a temporary WeeChat homedirectory and "
#| "delete it on exit\n"
#| " (incompatible with option \"-d\")\n"
#| " -h, --help display this help\n"
#| " -l, --license display WeeChat license\n"
#| " -p, --no-plugin don't load any plugin at startup\n"
#| " -P, --plugins <plugins> load only these plugins at startup\n"
#| " (see /help weechat.plugin.autoload)\n"
#| " -r, --run-command <cmd> run command(s) after startup;\n"
#| " many commands can be separated by semicolons "
#| "and are evaluated,\n"
#| " this option can be given multiple times\n"
#| " -s, --no-script don't load any script at startup\n"
#| " --upgrade upgrade WeeChat using session files (see /help "
#| "upgrade in WeeChat)\n"
#| " -v, --version display WeeChat version\n"
#| " plugin:option option for plugin (see man weechat)\n"
msgid ""
" -a, --no-connect disable auto-connect to servers at startup\n"
" -c, --colors display default colors in terminal and exit\n"
" -d, --dir <path> force a single WeeChat home directory\n"
" or 5 different directories separated by colons "
"(in this order: config, data, state, cache, runtime)\n"
" (environment variable WEECHAT_HOME is read if "
"this option is not given)\n"
" -t, --temp-dir create a temporary WeeChat home directory and "
"delete it on exit\n"
" (incompatible with option \"-d\")\n"
" -h, --help display this help and exit\n"
" -i, --build-info display build information and exit\n"
" -l, --license display WeeChat license and exit\n"
" -p, --no-plugin don't load any plugin at startup\n"
" -P, --plugins <plugins> load only these plugins at startup\n"
" (see /help weechat.plugin.autoload)\n"
" -r, --run-command <cmd> run command(s) after startup;\n"
" many commands can be separated by semicolons and "
"are evaluated,\n"
" this option can be given multiple times\n"
" -s, --no-script don't load any script at startup\n"
" --upgrade upgrade WeeChat using session files (see /help "
"upgrade in WeeChat)\n"
" -v, --version display WeeChat version and exit\n"
" plugin:option option for plugin (see man weechat)\n"
msgstr ""
" -a, --no-connect desactivar la autoconexión de los servidores al "
"inicio\n"
" -c, --colors mostrar los colores predeterminados en la "
"terminal\n"
" -d, --dir <path> establecer el directorio raíz de WeeChat\n"
" o 4 directorios diferentes separados por dos "
"puntos (en este orden: configuración, datos, cache, ejecución)\n"
" (la variable WEECHAT_HOME es usada si esta opción "
"no es dada)\n"
" -t, --temp-dir crear un directorio raíz temporal para weechat y "
"borrarlo al salir\n"
" (incompatible con la opción \"-d\")\n"
" -h, --help mostrar esta ayuda\n"
" -l, --license mostrar la licencia de Weechat\n"
" -p, --no-plugin no cargar ningún plugin al inicio\n"
" -P, --plugins <plugins> cargar solo estos plugins al inicio\n"
" (ver /help weechat.plugin.autoload)\n"
" -r, --run-command <cmd> ejecutar un comando luego del inicio;\n"
" varios cmoandos pueden ser separados por dos "
"puntos y son evaluados\n"
" esta opción se puede usar varias veces\n"
" -s, --no-script no cargar ningún script al inicio\n"
" --upgrade actualizar WeeChat usando archivos de sesión "
"(ver /help upgrade in WeeChat)\n"
" -v, --version mostrar la versión de WeeChat\n"
" plugin:option opción para plugin (ver man weechat)\n"
msgid "Extra options in headless mode:\n"
msgstr "Opciones extra en el modo de segundo plano:\n"
msgid ""
" --doc-gen <path> generate files to build documentation and exit\n"
msgstr ""
msgid ""
" --daemon run WeeChat as a daemon (fork, new process group, "
"file descriptors closed);\n"
msgstr ""
" --daemon ejecuta WeeChat como un daemon (fork, nuevo grupo "
"de procesos, file descriptores cerrados);\n"
msgid ""
" (by default in headless mode WeeChat is blocking "
"and does not run in background)\n"
msgstr ""
" (por defecto en el modo de segundo plano WeeChat "
"está bloqueado y no se ejecuta)\n"
msgid ""
" --stdout display log messages on standard output instead "
"of writing them in log file\n"
msgstr ""
" --stdout imprime los registros (logs) en salida estandar "
"en lugar de escribirlos en un archivo\n"
msgid ""
" (option ignored if option \"--daemon\" is given)\n"
msgstr ""
" (opción ignorada si la opción \"--daemon\" es "
"indicada)\n"
msgid ""
"Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):\n"
" --no-dlclose do not call function dlclose after plugins are "
"unloaded\n"
" --no-gnutls disable init/deinit of gnutls\n"
" --no-gcrypt disable init/deinit of gcrypt\n"
msgstr ""
"Opciones de depuración (para herramientas como valgrind, NO USAR EN "
"PRODUCCIÓN):\n"
" --no-dlclose no llamar a la función dlclose luego de que los "
"plugins estén descargados\n"
" --no-gnutls desactivar init/deinit de gnutls\n"
" --no-gcrypt desactivar init/deinit de gcrypt\n"
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "Error: falta un argumento para la opción \"%s\"\n"
#, fuzzy #, fuzzy
#| msgid "WeeChat is running in headless mode (Ctrl-C to quit)." #| msgid "WeeChat is running in headless mode (Ctrl-C to quit)."
msgid "WeeChat is running in headless mode (ctrl-c to quit)." msgid "WeeChat is running in headless mode (ctrl-c to quit)."
@@ -6552,7 +6506,7 @@ msgstr ""
#, c-format #, c-format
msgid "%sYou should add this line in the file %s: %s" msgid "%sYou should add this line in the file %s: %s"
msgstr "%sDeberías añadir esta línea al archivo %s: %s" msgstr "%sDeberías añadir esta línea al archivo %s: %s"
#, c-format #, c-format
msgid "" msgid ""
@@ -6827,7 +6781,7 @@ msgstr ""
#, c-format #, c-format
msgid "New key binding (context \"%s\"): %s%s => %s%s" msgid "New key binding (context \"%s\"): %s%s => %s%s"
msgstr "Nuevo atajo (contexto \"%s\"): %s%s => %s%s" msgstr "Nuevo atajo (contexto \"%s\"): %s%s => %s%s"
#, fuzzy, c-format #, fuzzy, c-format
#| msgid "%sUnable to bind key \"%s\"" #| msgid "%sUnable to bind key \"%s\""
@@ -7243,7 +7197,7 @@ msgstr ""
msgid "" msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at " " - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option " "0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions)" "buflist.look.display_conditions"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -8807,7 +8761,7 @@ msgid "%s%s: not connected to server \"%s\"!"
msgstr "%s%s: ¡no conectado al servidor \"%s\"!" msgstr "%s%s: ¡no conectado al servidor \"%s\"!"
#, c-format #, c-format
msgid "%s: auto-reconnection is canceled" msgid "%s: auto-reconnection is cancelled"
msgstr "%s: autoreconexión cancelada" msgstr "%s: autoreconexión cancelada"
#, c-format #, c-format
@@ -8975,14 +8929,6 @@ msgid_plural "seconds"
msgstr[0] "segundo" msgstr[0] "segundo"
msgstr[1] "segundos" msgstr[1] "segundos"
#, fuzzy
#| msgid "second"
#| msgid_plural "seconds"
msgid "millisecond"
msgid_plural "milliseconds"
msgstr[0] "segundo"
msgstr[1] "segundos"
msgid "minute" msgid "minute"
msgid_plural "minutes" msgid_plural "minutes"
msgstr[0] "minuto" msgstr[0] "minuto"
@@ -9146,7 +9092,7 @@ msgstr ""
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-" "[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-"
"current] [-parted|-all] [-include=<channel>[,<channel>...]] <command>" "current] [-parted|-all] -include=<channel>[,<channel>...] <command>"
msgstr "[-current] [-exclude=<canal>[,<canal>...]] <comando> [<argumentos>]" msgstr "[-current] [-exclude=<canal>[,<canal>...]] <comando> [<argumentos>]"
#, fuzzy #, fuzzy
@@ -9251,8 +9197,8 @@ msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] [-" "[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] "
"include=<nick>[,<nick>...]] <command>" "-include=<nick>[,<nick>...] <command>"
msgstr "[-current] [-exclude=<canal>[,<canal>...]] <comando> [<argumentos>]" msgstr "[-current] [-exclude=<canal>[,<canal>...]] <comando> [<argumentos>]"
#, fuzzy #, fuzzy
@@ -9307,8 +9253,8 @@ msgstr "ejecuta un comando en todos los servidores conectados"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-exclude=<server>[,<server>...]] <command> || [-include=<server>[," "[-exclude=<server>[,<server>...]] <command> || -include=<server>[,"
"<server>...]] <command>" "<server>...] <command>"
msgstr "[-exclude=<servidor>[,<servidor>...]] <comando> [<argumentos>]" msgstr "[-exclude=<servidor>[,<servidor>...]] <comando> [<argumentos>]"
msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)" msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)"
@@ -9473,7 +9419,7 @@ msgid ""
msgstr "" msgstr ""
msgid "" msgid ""
"raw[ack]: acknowledge capabilities which require client-side acknowledgment" "raw[ack]: acknowledge capabilities which require client-side acknowledgement"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -11564,9 +11510,8 @@ msgstr ""
msgid "" msgid ""
"comma-separated list of fields to sort channels (see /help list for a list " "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 \"~\" " "of fields); char \"-\" can be used before field to reverse order, char \"~\" "
"can be used to do a case-insensitive comparison; example: \"-users,~name2\" " "can be used to do a case-insensitive comparison; example: \"-users,~name\" "
"for biggest channels first then case-insensitive sort on channel name " "for biggest channels first then case-insensitive sort on name"
"without prefix"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -11610,7 +11555,7 @@ msgid ""
"channel/pv of server)" "channel/pv of server)"
msgstr "" msgstr ""
"fuerza la posición de nuevos privados en la lista de buffers (none = " "fuerza la posición de nuevos privados en la lista de buffers (none = "
"posición predeterminada (último buffer), next = buffer actual + 1, " "posición predeterminada (último buffer), next = buffer actual + 1, "
"near_server = después del último canal/privado del server)" "near_server = después del último canal/privado del server)"
msgid "" msgid ""
@@ -12091,8 +12036,8 @@ msgstr "nombre del servidor"
msgid "get nick from IRC host" msgid "get nick from IRC host"
msgstr "devuelve apodo de un host IRC" msgstr "devuelve apodo de un host IRC"
msgid "IRC host (like `:nick!name@server`)" msgid "IRC host (like `:nick!name@server.com`)"
msgstr "IRC host (como `:apodo!nombre@servidor`)" msgstr "IRC host (como `:apodo!nombre@servidor.com`)"
msgid "" msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by " "get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12334,8 +12279,8 @@ msgstr "%s%s: ¡este buffer no es un canal!"
#, c-format #, c-format
msgid "" msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel " "%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer" "channel, ($)=refresh, (q)=close buffer"
msgstr "" msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list" msgid "Empty list of channels, try \"$\" to refresh list"
@@ -12854,7 +12799,7 @@ msgstr "%s%s: no conectado al servidor \"%s\" para la redirección"
#, c-format #, c-format
msgid "%s%s: missing argument \"%s\" for redirect" msgid "%s%s: missing argument \"%s\" for redirect"
msgstr "%s%s: falta el argumento \"%s\" para la redirección" msgstr "%s%s: falta el argumento \"%s\" para la redirección"
#, c-format #, c-format
msgid "%s%s: redirect pattern \"%s\" not found" msgid "%s%s: redirect pattern \"%s\" not found"
@@ -13536,7 +13481,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a " "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 = " "suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation " "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 " "performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option " "should first set the compression type via option "
"logger.file.rotation_compression_type" "logger.file.rotation_compression_type"
@@ -14941,9 +14886,10 @@ msgstr "%s%s: no se encontró el servidor \"%s\" para el comando \"%s\""
msgid "%s%s: no connection to remote relay \"%s\"" msgid "%s%s: no connection to remote relay \"%s\""
msgstr "%s%s: ¡no conectado al servidor \"%s\"!" msgstr "%s%s: ¡no conectado al servidor \"%s\"!"
#, c-format #, fuzzy, c-format
msgid "remote[%s]: auto-reconnection is canceled" #| msgid "%s: auto-reconnection is cancelled"
msgstr "" msgid "remote[%s]: auto-reconnection is cancelled"
msgstr "%s: autoreconexión cancelada"
#, fuzzy, c-format #, fuzzy, c-format
#| msgid "%s%s: server \"%s\" already exists for \"%s\" command" #| msgid "%s%s: server \"%s\" already exists for \"%s\" command"
@@ -15400,11 +15346,11 @@ msgstr ""
#, fuzzy #, fuzzy
msgid "" msgid ""
"comma separated list of hash algorithms used for password authentication in " "comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password " "weechat protocol, among these values: \"plain\" (password in plain text, not "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", " "hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" " "\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" " "to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")" "(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr "" msgstr ""
"lista de plugins separados por comas para cargar automáticamente al iniciar, " "lista de plugins separados por comas para cargar automáticamente al iniciar, "
"\"*\" significa todos los plugins encontrados, un nombre empezando con \"!\" " "\"*\" significa todos los plugins encontrados, un nombre empezando con \"!\" "
@@ -15412,10 +15358,10 @@ msgstr ""
"\"*\" para indicar varios plugins (ejemplo: \"*\" o \"*,!lua,!tcl\")" "\"*\" para indicar varios plugins (ejemplo: \"*\" o \"*,!lua,!tcl\")"
msgid "" msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" " "number of iterations asked to the client in weechat protocol when a hashed "
"protocols when a hashed password with algorithm PBKDF2 is used for " "password with algorithm PBKDF2 is used for authentication; more iterations "
"authentication; more iterations is better in term of security but is slower " "is better in term of security but is slower to compute; this number should "
"to compute; this number should not be too high if your CPU is slow" "not be too high if your CPU is slow"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -15448,11 +15394,6 @@ msgid ""
"1 are recommended values)" "1 are recommended values)"
msgstr "" 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. # why is case insensitive important? ips use numbers and urls are case insensible.
#, fuzzy #, fuzzy
msgid "" msgid ""
@@ -15567,7 +15508,7 @@ msgstr "Lista de clientes a retransmitir"
#. TRANSLATORS: please do not translate the status names, they must be used in English #. TRANSLATORS: please do not translate the status names, they must be used in English
msgid "" msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; " "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)" "auth_failed, disconnected)"
msgstr "" msgstr ""
@@ -15690,10 +15631,6 @@ msgstr "%s%s: error con \"bind\" en el puerto %d (%s)"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %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)" 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 #, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s" 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)" msgstr "%s%s: no se puede aceptar el cliente en el puerto %d (%s)"
@@ -15730,7 +15667,7 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port" msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: no hay memoria suficiente para escuchar en un nuevo puerto" 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 "" msgstr ""
msgid "connecting" msgid "connecting"
@@ -15979,9 +15916,9 @@ msgstr ""
#, c-format #, c-format
msgid "" 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: " "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" "left=select, right=install/remove"
msgstr "" msgstr ""
@@ -16346,11 +16283,6 @@ msgstr "scripts en %s cargados:"
msgid "script name with extension" msgid "script name with extension"
msgstr "lista de scripts" 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 #, fuzzy
msgid "script name with extension (wildcard \"*\" is allowed) (optional)" msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr "" msgstr ""
@@ -17301,7 +17233,7 @@ msgid "%s%s: invalid regular expression in trigger: \"%s\""
msgstr "%s%s: error al compilar la expresión regular \"%s\"" msgstr "%s%s: error al compilar la expresión regular \"%s\""
#. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible #. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible
msgid "Typing: " msgid "Typing:"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -17335,11 +17267,6 @@ msgid ""
"truncate content)" "truncate content)"
msgstr "" msgstr ""
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 ""
msgid "Typing status of users" msgid "Typing status of users"
msgstr "" msgstr ""
@@ -17492,9 +17419,8 @@ msgstr "no esperar por el ACK al enviar un archivo"
#| "IP or DNS address used for sending files/chats (if empty, local interface " #| "IP or DNS address used for sending files/chats (if empty, local interface "
#| "IP is used)" #| "IP is used)"
msgid "" msgid ""
"IP or DNS address used for sending and passively receiving files/chats; if " "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 " "empty, local interface IP is used)"
"eval)"
msgstr "" msgstr ""
"dirección IP o DNS usado para enviar archivos/charlas (si está vacío, se " "dirección IP o DNS usado para enviar archivos/charlas (si está vacío, se "
"utiliza la IP de interfaz local)" "utiliza la IP de interfaz local)"
+281 -378
View File
File diff suppressed because it is too large Load Diff
+145 -240
View File
@@ -22,164 +22,16 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: WeeChat\n" "Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n" "POT-Creation-Date: 2026-03-16 13:17+0100\n"
"PO-Revision-Date: 2026-03-08 08:59+0100\n" "PO-Revision-Date: 2025-10-27 08:27+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\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" "Language: hu\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
#. TRANSLATORS: command line option "-a", "--no-connect"
#, fuzzy
msgid "disable auto-connect to servers at startup"
msgstr "%s DCC: nem sikerült kapcsolódni a küldőhöz\n"
#. TRANSLATORS: command line option "-c", "--colors"
msgid "display default colors in terminal and exit"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "-d, --dir <path>"
msgstr ""
#. TRANSLATORS: command line option "-d", "--dir <path>"
msgid ""
"force a single WeeChat home directory or 5 different directories separated "
"by colons (in this order: config, data, state, cache, runtime) (environment "
"variable WEECHAT_HOME is read if this option is not given)"
msgstr ""
#. TRANSLATORS: command line option "-t", "--temp-dir"
msgid ""
"create a temporary WeeChat home directory and delete it on exit "
"(incompatible with option \"-d\")"
msgstr ""
#. TRANSLATORS: command line option "-h", "--help"
#, fuzzy
msgid "display this help and exit"
msgstr "másik fél nevének színe privát beszélgetésben"
#. TRANSLATORS: command line option "-i", "--build-info"
msgid "display build information and exit"
msgstr ""
#. TRANSLATORS: command line option "-l", "--license"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "display WeeChat license and exit"
msgstr "WeeChat logo mutatása induláskor"
#. TRANSLATORS: command line option "-p", "--no-plugin"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "don't load any plugin at startup"
msgstr "WeeChat logo mutatása induláskor"
#. TRANSLATORS: only "<plugins>" may be translated
msgid "-P, --plugins <plugins>"
msgstr ""
#. TRANSLATORS: command line option "-P", "--plugins <plugins>"
msgid "load only these plugins at startup (see /help weechat.plugin.autoload)"
msgstr ""
#. TRANSLATORS: only "<cmd>" may be translated (please keep it short)
msgid "-r, --run-command <cmd>"
msgstr ""
#. TRANSLATORS: command line option "-r", "--run-command <cmd>"
#, fuzzy
msgid ""
"run command(s) after startup; many commands can be separated by semicolons "
"and are evaluated, this option can be given multiple times"
msgstr "felhasználónév az IRC szerveren"
#. TRANSLATORS: command line option "-s", "--no-script"
msgid "don't load any script at startup"
msgstr ""
#. TRANSLATORS: command line option "--upgrade"
#, fuzzy
msgid "upgrade WeeChat using session files (see /help upgrade in WeeChat)"
msgstr "%s nem sikerült a folyamatot menteni\n"
#. TRANSLATORS: command line option "-v", "--version"
#, fuzzy
#| msgid "display WeeChat version at startup"
msgid "display WeeChat version and exit"
msgstr "WeeChat verziójának mutatása induláskor"
#. TRANSLATORS: command line option: "plugin" and "option" may be translated
#, fuzzy
msgid "plugin:option"
msgstr " (nem található bővítőmodul)\n"
#. TRANSLATORS: command line option "plugin:option"
msgid "option for plugin (see man weechat)"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "--doc-gen <path>"
msgstr ""
#. TRANSLATORS: command line option "--doc-gen <path>"
msgid "generate files to build documentation and exit"
msgstr ""
#. TRANSLATORS: command line option "--daemon"
msgid ""
"run WeeChat as a daemon (fork, new process group, file descriptors closed); "
"by default in headless mode WeeChat is blocking and does not run in "
"background"
msgstr ""
#. TRANSLATORS: command line option "--stdout"
msgid ""
"display log messages on standard output instead of writing them in log file "
"(option ignored if option \"--daemon\" is given)"
msgstr ""
#. TRANSLATORS: command line option "--no-dlclose"
msgid "do not call function dlclose after plugins are unloaded"
msgstr ""
#. TRANSLATORS: command line option "--no-gnutls"
msgid "disable init/deinit of gnutls"
msgstr ""
#. TRANSLATORS: command line option "--no-gcrypt"
msgid "disable init/deinit of gcrypt"
msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, fuzzy, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
msgstr ""
"%s Copyright (C) 2003-2010, fordítva: %s %s\n"
"Fejlesztő: Sébastien Helleu <flashcode@flashtux.org> - %s"
msgid "Usage:"
msgstr ""
msgid "[option...] [plugin:option...]"
msgstr ""
msgid "Extra options in headless mode:"
msgstr ""
msgid "Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):"
msgstr ""
#, fuzzy, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n"
#, fuzzy #, fuzzy
msgid "List of bars:" msgid "List of bars:"
msgstr "Aliaszok listája:\n" msgstr "Aliaszok listája:\n"
@@ -290,7 +142,7 @@ msgid "%sUnable to scroll bar \"%s\""
msgstr "%s nem sikerült a modul opciókat elmenteni\n" msgstr "%s nem sikerült a modul opciókat elmenteni\n"
#, c-format #, c-format
msgid "%sBuffer number %d is out of range (it must be between 1 and %d)" msgid "%sBuffer number \"%d\" is out of range (it must be between 1 and %d)"
msgstr "" msgstr ""
msgid "Buffers list:" msgid "Buffers list:"
@@ -641,11 +493,11 @@ msgstr ""
"%s \"-yes\" paraméter megadása kötelező a billentyűparancsok " "%s \"-yes\" paraméter megadása kötelező a billentyűparancsok "
"visszaállításához (biztonsági okokból)\n" "visszaállításához (biztonsági okokból)\n"
#, c-format #, fuzzy, c-format
msgid "%d new key added (context: \"%s\")" msgid "%d new key added"
msgid_plural "%d new keys added (context: \"%s\")" msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "" msgstr[0] "Nincs mellőzés megadva.\n"
msgstr[1] "" msgstr[1] "Nincs mellőzés megadva.\n"
#, fuzzy #, fuzzy
msgid "Stored layouts:" msgid "Stored layouts:"
@@ -1158,16 +1010,6 @@ msgstr ""
" üzenet: távolléti üzenet (ha nincs üzenet megadva, a távolléti státusz " " üzenet: távolléti üzenet (ha nincs üzenet megadva, a távolléti státusz "
"eltávolítása)" "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 #, fuzzy
msgid "manage bars" msgid "manage bars"
msgstr "pufferek kezelése" msgstr "pufferek kezelése"
@@ -1259,7 +1101,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.bar." "option: option to change (for options list, look at /set weechat.bar."
"<bar_name>.*)" "<barname>.*)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -1712,7 +1554,7 @@ msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "" msgid ""
"[-n|-s] [-e] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> " "[-n|-s] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> "
"<expression2>" "<expression2>"
msgstr "" msgstr ""
@@ -1724,9 +1566,6 @@ msgid ""
"separated by semicolons)" "separated by semicolons)"
msgstr "" msgstr ""
msgid "raw[-e]: evaluate all commands before executing them"
msgstr ""
msgid "" msgid ""
"raw[-d]: display debug output after evaluation (with two -d: more verbose " "raw[-d]: display debug output after evaluation (with two -d: more verbose "
"debug)" "debug)"
@@ -2246,7 +2085,7 @@ msgid "display help about commands and options"
msgstr "segítség megjelenítése a parancsokhoz" msgstr "segítség megjelenítése a parancsokhoz"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "-list|-listfull [<plugin>...] || <command> || <option>" msgid "-list|-listfull [<plugin>...]] || <command> || <option>"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -2306,9 +2145,9 @@ msgid "raw[clear]: clear hotlist"
msgstr "" msgstr ""
msgid "" msgid ""
"level: \"lowest\" to clear only lowest level in hotlist, \"highest\" to " "level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear "
"clear only highest level in hotlist, or level mask: integer which is a " "only highest level in hotlist, or level mask: integer which is a combination "
"combination of 1=join/part, 2=message, 4=private, 8=highlight" "of 1=join/part, 2=message, 4=private, 8=highlight"
msgstr "" msgstr ""
msgid "raw[remove]: remove current buffer from hotlist" msgid "raw[remove]: remove current buffer from hotlist"
@@ -3173,7 +3012,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.proxy." "option: option to change (for options list, look at /set weechat.proxy."
"<proxy_name>.*)" "<proxyname>.*)"
msgstr "" msgstr ""
msgid " add a http proxy, running on local host, port 8888:" msgid " add a http proxy, running on local host, port 8888:"
@@ -3410,20 +3249,20 @@ msgstr ""
msgid " encrypt libera SASL password:" msgid " encrypt libera SASL password:"
msgstr "" msgstr ""
msgid " /secure set libera my_password" msgid " /secure set libera mypassword"
msgstr "" msgstr ""
msgid " encrypt oftc password for nickserv:" msgid " encrypt oftc password for nickserv:"
msgstr "" msgstr ""
msgid " /secure set oftc my_password" msgid " /secure set oftc mypassword"
msgstr "" msgstr ""
msgid " alias to ghost the nick \"andrew\":" msgid " alias to ghost the nick \"mynick\":"
msgstr "" msgstr ""
msgid "" msgid ""
" /alias add ghost /eval /msg -server libera nickserv ghost andrew $" " /alias add ghost /eval /msg -server libera nickserv ghost mynick $"
"{sec.data.libera}" "{sec.data.libera}"
msgstr "" msgstr ""
@@ -3663,7 +3502,7 @@ msgstr ""
msgid "With option \"-quit\", the process is:" msgid "With option \"-quit\", the process is:"
msgstr "" msgstr ""
msgid " 1. close *ALL* connections (irc, xfer, relay, etc.)" msgid " 1. close *ALL* connections (irc, xfer, relay, ...)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -5907,7 +5746,7 @@ msgstr " . típus szöveg (értékek: "
msgid "read - object type" msgid "read - object type"
msgstr "" msgstr ""
msgid "read - bad object type (\"object start\" expected)" msgid "read - bad object type ('object start' expected)"
msgstr "" msgstr ""
msgid "read - object id" msgid "read - object id"
@@ -6022,6 +5861,98 @@ msgstr ""
msgid "End of URL transfer '%s', transfer stopped" msgid "End of URL transfer '%s', transfer stopped"
msgstr "" msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, fuzzy, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"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"
#, c-format
msgid "Usage: %s [option...] [plugin:option...]\n"
msgstr ""
#, fuzzy
msgid ""
" -a, --no-connect disable auto-connect to servers at startup\n"
" -c, --colors display default colors in terminal and exit\n"
" -d, --dir <path> force a single WeeChat home directory\n"
" or 5 different directories separated by colons "
"(in this order: config, data, state, cache, runtime)\n"
" (environment variable WEECHAT_HOME is read if "
"this option is not given)\n"
" -t, --temp-dir create a temporary WeeChat home directory and "
"delete it on exit\n"
" (incompatible with option \"-d\")\n"
" -h, --help display this help and exit\n"
" -i, --build-info display build information and exit\n"
" -l, --license display WeeChat license and exit\n"
" -p, --no-plugin don't load any plugin at startup\n"
" -P, --plugins <plugins> load only these plugins at startup\n"
" (see /help weechat.plugin.autoload)\n"
" -r, --run-command <cmd> run command(s) after startup;\n"
" many commands can be separated by semicolons and "
"are evaluated,\n"
" this option can be given multiple times\n"
" -s, --no-script don't load any script at startup\n"
" --upgrade upgrade WeeChat using session files (see /help "
"upgrade in WeeChat)\n"
" -v, --version display WeeChat version and exit\n"
" plugin:option option for plugin (see man weechat)\n"
msgstr ""
" -a, --no-connect automatikus csatlakozás a szerverekhez tiltása\n"
" -c, --config beállítófájl opcióinak mutatása\n"
" -d, --dir <path> a WeeChat saját könyvtára (alapértelmezett: "
"~/.weechat)\n"
" -f, --key-functions WeeChat billentyűparancsok mutatása\n"
" -h, --help ez a segítség\n"
" -i, --irc-commands IRC parancsok mutatása\n"
" -k, --keys alapértelmezett WeeChat billentyűk\n"
" -l, --license WeeChat licenc\n"
" -p, --no-plugin nem tölt be modulokat induláskor\n"
" -v, --version WeeChat verziójának mutatása\n"
" -w, --weechat-commands WeeChat parancsok mutatása\n"
msgid "Extra options in headless mode:\n"
msgstr ""
msgid ""
" --doc-gen <path> generate files to build documentation and exit\n"
msgstr ""
msgid ""
" --daemon run WeeChat as a daemon (fork, new process group, "
"file descriptors closed);\n"
msgstr ""
msgid ""
" (by default in headless mode WeeChat is blocking "
"and does not run in background)\n"
msgstr ""
msgid ""
" --stdout display log messages on standard output instead "
"of writing them in log file\n"
msgstr ""
msgid ""
" (option ignored if option \"--daemon\" is given)\n"
msgstr ""
msgid ""
"Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):\n"
" --no-dlclose do not call function dlclose after plugins are "
"unloaded\n"
" --no-gnutls disable init/deinit of gnutls\n"
" --no-gcrypt disable init/deinit of gcrypt\n"
msgstr ""
#, fuzzy, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n"
msgid "WeeChat is running in headless mode (ctrl-c to quit)." msgid "WeeChat is running in headless mode (ctrl-c to quit)."
msgstr "" msgstr ""
@@ -6725,7 +6656,7 @@ msgstr ""
msgid "" msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at " " - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option " "0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions)" "buflist.look.display_conditions"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -8252,7 +8183,7 @@ msgid "%s%s: not connected to server \"%s\"!"
msgstr "%s nincs csatlakozva a \"%s\" szerverhez!\n" msgstr "%s nincs csatlakozva a \"%s\" szerverhez!\n"
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: auto-reconnection is canceled" msgid "%s: auto-reconnection is cancelled"
msgstr "automata újracsatlakozás megszakítva\n" msgstr "automata újracsatlakozás megszakítva\n"
#, fuzzy, c-format #, fuzzy, c-format
@@ -8413,12 +8344,6 @@ msgid_plural "seconds"
msgstr[0] "másodperc" msgstr[0] "másodperc"
msgstr[1] "másodperc" msgstr[1] "másodperc"
#, fuzzy
msgid "millisecond"
msgid_plural "milliseconds"
msgstr[0] "másodperc"
msgstr[1] "másodperc"
#, fuzzy #, fuzzy
msgid "minute" msgid "minute"
msgid_plural "minutes" msgid_plural "minutes"
@@ -8574,7 +8499,7 @@ msgstr "CTCP üzenet küldése az összes csatlakoztatott szerver összes szobá
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-" "[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-"
"current] [-parted|-all] [-include=<channel>[,<channel>...]] <command>" "current] [-parted|-all] -include=<channel>[,<channel>...] <command>"
msgstr "[alias_név [parancs [paraméterek]]]" msgstr "[alias_név [parancs [paraméterek]]]"
#, fuzzy #, fuzzy
@@ -8664,8 +8589,8 @@ msgstr "CTCP üzenet küldése az összes csatlakoztatott szerver összes szobá
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] [-" "[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] "
"include=<nick>[,<nick>...]] <command>" "-include=<nick>[,<nick>...] <command>"
msgstr "[alias_név [parancs [paraméterek]]]" msgstr "[alias_név [parancs [paraméterek]]]"
#, fuzzy #, fuzzy
@@ -8714,11 +8639,10 @@ msgid "execute a command on all connected servers"
msgstr "üzenet küldése az összes csatlakoztatott szerver összes szobájába" msgstr "üzenet küldése az összes csatlakoztatott szerver összes szobájába"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy
msgid "" msgid ""
"[-exclude=<server>[,<server>...]] <command> || [-include=<server>[," "[-exclude=<server>[,<server>...]] <command> || -include=<server>[,"
"<server>...]] <command>" "<server>...] <command>"
msgstr "[alias_név [parancs [paraméterek]]]" msgstr ""
msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)" msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)"
msgstr "" msgstr ""
@@ -8867,7 +8791,7 @@ msgid ""
msgstr "" msgstr ""
msgid "" msgid ""
"raw[ack]: acknowledge capabilities which require client-side acknowledgment" "raw[ack]: acknowledge capabilities which require client-side acknowledgement"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -10839,9 +10763,8 @@ msgstr ""
msgid "" msgid ""
"comma-separated list of fields to sort channels (see /help list for a list " "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 \"~\" " "of fields); char \"-\" can be used before field to reverse order, char \"~\" "
"can be used to do a case-insensitive comparison; example: \"-users,~name2\" " "can be used to do a case-insensitive comparison; example: \"-users,~name\" "
"for biggest channels first then case-insensitive sort on channel name " "for biggest channels first then case-insensitive sort on name"
"without prefix"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -11291,7 +11214,7 @@ msgstr "cél: szerver neve"
msgid "get nick from IRC host" msgid "get nick from IRC host"
msgstr "név vagy gép letiltása" msgstr "név vagy gép letiltása"
msgid "IRC host (like `:nick!name@server`)" msgid "IRC host (like `:nick!name@server.com`)"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -11525,8 +11448,8 @@ msgstr "Ez az ablak nem egy szoba!\n"
#, c-format #, c-format
msgid "" msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel " "%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer" "channel, ($)=refresh, (q)=close buffer"
msgstr "" msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list" msgid "Empty list of channels, try \"$\" to refresh list"
@@ -12644,7 +12567,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a " "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 = " "suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation " "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 " "performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option " "should first set the compression type via option "
"logger.file.rotation_compression_type" "logger.file.rotation_compression_type"
@@ -13975,7 +13898,7 @@ msgid "%s%s: no connection to remote relay \"%s\""
msgstr "%s nincs csatlakozva a \"%s\" szerverhez!\n" msgstr "%s nincs csatlakozva a \"%s\" szerverhez!\n"
#, fuzzy, c-format #, fuzzy, c-format
msgid "remote[%s]: auto-reconnection is canceled" msgid "remote[%s]: auto-reconnection is cancelled"
msgstr "automata újracsatlakozás megszakítva\n" msgstr "automata újracsatlakozás megszakítva\n"
#, fuzzy, c-format #, fuzzy, c-format
@@ -14401,21 +14324,21 @@ msgstr ""
#, fuzzy #, fuzzy
msgid "" msgid ""
"comma separated list of hash algorithms used for password authentication in " "comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password " "weechat protocol, among these values: \"plain\" (password in plain text, not "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", " "hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" " "\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" " "to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")" "(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr "" msgstr ""
"automatikusan betöltendő modulok vesszővel elválasztott listája, \"*\" " "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 " "esetén az összes fellelt modul (az elnevezés lehet részleges, például a "
"\"perl\" elegendő \"libperl.so\" helyett)" "\"perl\" elegendő \"libperl.so\" helyett)"
msgid "" msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" " "number of iterations asked to the client in weechat protocol when a hashed "
"protocols when a hashed password with algorithm PBKDF2 is used for " "password with algorithm PBKDF2 is used for authentication; more iterations "
"authentication; more iterations is better in term of security but is slower " "is better in term of security but is slower to compute; this number should "
"to compute; this number should not be too high if your CPU is slow" "not be too high if your CPU is slow"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -14448,11 +14371,6 @@ msgid ""
"1 are recommended values)" "1 are recommended values)"
msgstr "" 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 "" msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-" "POSIX extended regular expression with origins allowed in websockets (case-"
"insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: " "insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: "
@@ -14554,7 +14472,7 @@ msgstr "Nincs szerver.\n"
#. TRANSLATORS: please do not translate the status names, they must be used in English #. TRANSLATORS: please do not translate the status names, they must be used in English
msgid "" msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; " "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)" "auth_failed, disconnected)"
msgstr "" msgstr ""
@@ -14675,10 +14593,6 @@ msgstr "%s nem sikerült a csatornát létrehozni\n"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s" msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s nem sikerült a csatornát létrehozni\n" 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 #, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s" msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s nem sikerült a csatornát létrehozni\n" msgstr "%s nem sikerült a csatornát létrehozni\n"
@@ -14715,7 +14629,7 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port" msgid "%s%s: not enough memory for listening on new port"
msgstr "%s nincs elegendő memória új DCC számára\n" 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 "" msgstr ""
#, fuzzy #, fuzzy
@@ -14958,9 +14872,9 @@ msgstr ""
#, c-format #, c-format
msgid "" 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: " "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" "left=select, right=install/remove"
msgstr "" msgstr ""
@@ -15314,9 +15228,6 @@ msgstr "FIFO cső bezárva\n"
msgid "script name with extension" msgid "script name with extension"
msgstr "Aliaszok listája:\n" 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)" msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr "" msgstr ""
@@ -16222,7 +16133,7 @@ msgid "%s%s: invalid regular expression in trigger: \"%s\""
msgstr "%s nincs elég memória az információs pult üzenethez\n" msgstr "%s nincs elég memória az információs pult üzenethez\n"
#. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible #. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible
msgid "Typing: " msgid "Typing:"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -16256,11 +16167,6 @@ msgid ""
"truncate content)" "truncate content)"
msgstr "" msgstr ""
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 ""
msgid "Typing status of users" msgid "Typing status of users"
msgstr "" msgstr ""
@@ -16407,9 +16313,8 @@ msgstr "nem vár ACK válaszra fájl küldésekor"
#, fuzzy #, fuzzy
msgid "" msgid ""
"IP or DNS address used for sending and passively receiving files/chats; if " "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 " "empty, local interface IP is used)"
"eval)"
msgstr "kimenő dcc forgalom IP/DNS-címe (ha üres, a helyi interfész IP-címe)" msgstr "kimenő dcc forgalom IP/DNS-címe (ha üres, a helyi interfész IP-címe)"
#, fuzzy #, fuzzy
+161 -260
View File
@@ -22,171 +22,16 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: WeeChat\n" "Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n" "POT-Creation-Date: 2026-03-16 13:17+0100\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n" "PO-Revision-Date: 2025-10-27 08:27+0100\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\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" "Language: it\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. TRANSLATORS: command line option "-a", "--no-connect"
#, fuzzy
#| msgid "%s%s: unable to connect to sender"
msgid "disable auto-connect to servers at startup"
msgstr "%s%s: impossibile connettersi al mittente"
#. TRANSLATORS: command line option "-c", "--colors"
msgid "display default colors in terminal and exit"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "-d, --dir <path>"
msgstr ""
#. TRANSLATORS: command line option "-d", "--dir <path>"
msgid ""
"force a single WeeChat home directory or 5 different directories separated "
"by colons (in this order: config, data, state, cache, runtime) (environment "
"variable WEECHAT_HOME is read if this option is not given)"
msgstr ""
#. TRANSLATORS: command line option "-t", "--temp-dir"
msgid ""
"create a temporary WeeChat home directory and delete it on exit "
"(incompatible with option \"-d\")"
msgstr ""
#. TRANSLATORS: command line option "-h", "--help"
#, fuzzy
#| msgid "use same nick color for channel and private"
msgid "display this help and exit"
msgstr "usa lo stesso colore del nick per canale e privato"
#. TRANSLATORS: command line option "-i", "--build-info"
msgid "display build information and exit"
msgstr ""
#. TRANSLATORS: command line option "-l", "--license"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "display WeeChat license and exit"
msgstr "mostra il logo di WeeChat all'avvio"
#. TRANSLATORS: command line option "-p", "--no-plugin"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "don't load any plugin at startup"
msgstr "mostra il logo di WeeChat all'avvio"
#. TRANSLATORS: only "<plugins>" may be translated
msgid "-P, --plugins <plugins>"
msgstr ""
#. TRANSLATORS: command line option "-P", "--plugins <plugins>"
msgid "load only these plugins at startup (see /help weechat.plugin.autoload)"
msgstr ""
#. TRANSLATORS: only "<cmd>" may be translated (please keep it short)
msgid "-r, --run-command <cmd>"
msgstr ""
#. TRANSLATORS: command line option "-r", "--run-command <cmd>"
#, fuzzy
msgid ""
"run command(s) after startup; many commands can be separated by semicolons "
"and are evaluated, this option can be given multiple times"
msgstr ""
"comando eseguito all'avvio di WeeChat, dopo il caricamento dei plugin (nota: "
"il contenuto viene valutato, consultare /help eval)"
#. TRANSLATORS: command line option "-s", "--no-script"
msgid "don't load any script at startup"
msgstr ""
#. TRANSLATORS: command line option "--upgrade"
#, fuzzy
msgid "upgrade WeeChat using session files (see /help upgrade in WeeChat)"
msgstr "%sErrore: impossibile salvare la sessione su file"
#. TRANSLATORS: command line option "-v", "--version"
#, fuzzy
#| msgid "display WeeChat version at startup"
msgid "display WeeChat version and exit"
msgstr "mostra la versione di WeeChat all'avvio"
#. TRANSLATORS: command line option: "plugin" and "option" may be translated
#, fuzzy
#| msgid "plugin pointer (optional)"
msgid "plugin:option"
msgstr "puntatore al plugin (opzionale)"
#. TRANSLATORS: command line option "plugin:option"
msgid "option for plugin (see man weechat)"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "--doc-gen <path>"
msgstr ""
#. TRANSLATORS: command line option "--doc-gen <path>"
msgid "generate files to build documentation and exit"
msgstr ""
#. TRANSLATORS: command line option "--daemon"
msgid ""
"run WeeChat as a daemon (fork, new process group, file descriptors closed); "
"by default in headless mode WeeChat is blocking and does not run in "
"background"
msgstr ""
#. TRANSLATORS: command line option "--stdout"
msgid ""
"display log messages on standard output instead of writing them in log file "
"(option ignored if option \"--daemon\" is given)"
msgstr ""
#. TRANSLATORS: command line option "--no-dlclose"
msgid "do not call function dlclose after plugins are unloaded"
msgstr ""
#. TRANSLATORS: command line option "--no-gnutls"
msgid "disable init/deinit of gnutls"
msgstr ""
#. TRANSLATORS: command line option "--no-gcrypt"
msgid "disable init/deinit of gcrypt"
msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
msgstr ""
"WeeChat %s Copyright %s, compilato il %s %s\n"
"Sviluppato da %s <%s> - %s"
msgid "Usage:"
msgstr ""
#, fuzzy
#| msgid "Usage: %s [option...] [plugin:option...]\n"
msgid "[option...] [plugin:option...]"
msgstr "Uso: %s [opzione...] [plugin:opzione...]\n"
msgid "Extra options in headless mode:"
msgstr ""
msgid "Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):"
msgstr ""
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "Errore: argomento mancante per l'opzione \"%s\"\n"
msgid "List of bars:" msgid "List of bars:"
msgstr "Elenco delle barre:" msgstr "Elenco delle barre:"
@@ -293,9 +138,9 @@ msgstr "%sErrore: finestra non trovata per il comando \"%s\""
msgid "%sUnable to scroll bar \"%s\"" msgid "%sUnable to scroll bar \"%s\""
msgstr "%sErrore: impossibile scorrere la barra \"%s\"" msgstr "%sErrore: impossibile scorrere la barra \"%s\""
#, c-format #, fuzzy, c-format
msgid "%sBuffer number %d is out of range (it must be between 1 and %d)" msgid "%sBuffer number \"%d\" is out of range (it must be between 1 and %d)"
msgstr "" msgstr "%sNumero colore \"%s\" non valido (deve essere compresto tra %d e %d)"
msgid "Buffers list:" msgid "Buffers list:"
msgstr "Elenco buffer:" msgstr "Elenco buffer:"
@@ -651,7 +496,7 @@ msgstr ""
"sicurezza)" "sicurezza)"
#, c-format #, c-format
msgid "%d new key added (context: \"%s\")" msgid "%d new key added"
msgid_plural "%d new keys added (context: \"%s\")" msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "%d nuovo tasto aggiunto (contesto: \"%s\")" msgstr[0] "%d nuovo tasto aggiunto (contesto: \"%s\")"
msgstr[1] "%d nuovi tasti aggiunti (contesto: \"%s\")" msgstr[1] "%d nuovi tasti aggiunti (contesto: \"%s\")"
@@ -1174,16 +1019,6 @@ msgstr ""
"messaggio: messaggio di assenza (se non specificato, lo stato di assenza " "messaggio: messaggio di assenza (se non specificato, lo stato di assenza "
"viene rimosso)" "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" msgid "manage bars"
msgstr "gestione delle barre" msgstr "gestione delle barre"
@@ -1284,7 +1119,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.bar." "option: option to change (for options list, look at /set weechat.bar."
"<bar_name>.*)" "<barname>.*)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -1772,7 +1607,7 @@ msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-n|-s] [-e] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> " "[-n|-s] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> "
"<expression2>" "<expression2>"
msgstr "" msgstr ""
"[-n] <espressione> || [-n] -c <espressione1> <operatore> <espressione2>" "[-n] <espressione> || [-n] -c <espressione1> <operatore> <espressione2>"
@@ -1785,9 +1620,6 @@ msgid ""
"separated by semicolons)" "separated by semicolons)"
msgstr "" msgstr ""
msgid "raw[-e]: evaluate all commands before executing them"
msgstr ""
msgid "" msgid ""
"raw[-d]: display debug output after evaluation (with two -d: more verbose " "raw[-d]: display debug output after evaluation (with two -d: more verbose "
"debug)" "debug)"
@@ -2333,7 +2165,7 @@ msgstr "visualizza l'aiuto su comandi e opzioni"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
#| msgid "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>" #| msgid "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>"
msgid "-list|-listfull [<plugin>...] || <command> || <option>" msgid "-list|-listfull [<plugin>...]] || <command> || <option>"
msgstr "-list|-listfull [<plugin> [<plugin>...]] || <comando> || <opzione>" msgstr "-list|-listfull [<plugin> [<plugin>...]] || <comando> || <opzione>"
msgid "" msgid ""
@@ -2396,9 +2228,9 @@ msgid "raw[clear]: clear hotlist"
msgstr "" msgstr ""
msgid "" msgid ""
"level: \"lowest\" to clear only lowest level in hotlist, \"highest\" to " "level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear "
"clear only highest level in hotlist, or level mask: integer which is a " "only highest level in hotlist, or level mask: integer which is a combination "
"combination of 1=join/part, 2=message, 4=private, 8=highlight" "of 1=join/part, 2=message, 4=private, 8=highlight"
msgstr "" msgstr ""
msgid "raw[remove]: remove current buffer from hotlist" msgid "raw[remove]: remove current buffer from hotlist"
@@ -3294,7 +3126,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.proxy." "option: option to change (for options list, look at /set weechat.proxy."
"<proxy_name>.*)" "<proxyname>.*)"
msgstr "" msgstr ""
msgid " add a http proxy, running on local host, port 8888:" msgid " add a http proxy, running on local host, port 8888:"
@@ -3572,20 +3404,20 @@ msgstr ""
msgid " encrypt libera SASL password:" msgid " encrypt libera SASL password:"
msgstr "" msgstr ""
msgid " /secure set libera my_password" msgid " /secure set libera mypassword"
msgstr "" msgstr ""
msgid " encrypt oftc password for nickserv:" msgid " encrypt oftc password for nickserv:"
msgstr "" msgstr ""
msgid " /secure set oftc my_password" msgid " /secure set oftc mypassword"
msgstr "" msgstr ""
msgid " alias to ghost the nick \"andrew\":" msgid " alias to ghost the nick \"mynick\":"
msgstr "" msgstr ""
msgid "" msgid ""
" /alias add ghost /eval /msg -server libera nickserv ghost andrew $" " /alias add ghost /eval /msg -server libera nickserv ghost mynick $"
"{sec.data.libera}" "{sec.data.libera}"
msgstr "" msgstr ""
@@ -3848,7 +3680,7 @@ msgstr ""
msgid "With option \"-quit\", the process is:" msgid "With option \"-quit\", the process is:"
msgstr "" msgstr ""
msgid " 1. close *ALL* connections (irc, xfer, relay, etc.)" msgid " 1. close *ALL* connections (irc, xfer, relay, ...)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -4976,7 +4808,7 @@ msgid ""
"string used to show that some lines are filtered in current buffer (bar item " "string used to show that some lines are filtered in current buffer (bar item "
"\"buffer_filter\")" "\"buffer_filter\")"
msgstr "" msgstr ""
"stringa usata per mostrare che alcune righe sono state filtrate nel buffer " "stringa usata per mostrare che alcune righe sono state filtrate nel buffer "
"corrente (elemento barra \"buffer_filter\")" "corrente (elemento barra \"buffer_filter\")"
#, fuzzy #, fuzzy
@@ -6350,7 +6182,7 @@ msgstr "%s sorgente: %s, riga: %d"
#, c-format #, c-format
msgid "%s *** Please report above info to developers ***" msgid "%s *** Please report above info to developers ***"
msgstr "" msgstr ""
"%s *** Per favore inviare le precedenti informazioni agli sviluppatori ***" "%s *** Per favore inviare le precedenti informazioni agli sviluppatori ***"
msgid "write - object type" msgid "write - object type"
msgstr "scrittura - tipo oggetto" msgstr "scrittura - tipo oggetto"
@@ -6370,8 +6202,8 @@ msgstr "scrittura - variabile"
msgid "read - object type" msgid "read - object type"
msgstr "lettura - tipo oggetto" msgstr "lettura - tipo oggetto"
msgid "read - bad object type (\"object start\" expected)" msgid "read - bad object type ('object start' expected)"
msgstr "lettura - tipo oggetto errato (\"object start\" previsto)" msgstr "lettura - tipo oggetto errato ('object start' previsto)"
msgid "read - object id" msgid "read - object id"
msgstr "lettura - id oggetto" msgstr "lettura - id oggetto"
@@ -6491,6 +6323,100 @@ msgstr ""
msgid "End of URL transfer '%s', transfer stopped" msgid "End of URL transfer '%s', transfer stopped"
msgstr "Fine comando '%s', timeout raggiunto (%.1fs)" msgstr "Fine comando '%s', timeout raggiunto (%.1fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Copyright %s, compilato il %s %s\n"
"Sviluppato da Sébastien Helleu <flashcode@flashtux.org> - %s"
#, c-format
msgid "Usage: %s [option...] [plugin:option...]\n"
msgstr "Uso: %s [opzione...] [plugin:opzione...]\n"
#, fuzzy
msgid ""
" -a, --no-connect disable auto-connect to servers at startup\n"
" -c, --colors display default colors in terminal and exit\n"
" -d, --dir <path> force a single WeeChat home directory\n"
" or 5 different directories separated by colons "
"(in this order: config, data, state, cache, runtime)\n"
" (environment variable WEECHAT_HOME is read if "
"this option is not given)\n"
" -t, --temp-dir create a temporary WeeChat home directory and "
"delete it on exit\n"
" (incompatible with option \"-d\")\n"
" -h, --help display this help and exit\n"
" -i, --build-info display build information and exit\n"
" -l, --license display WeeChat license and exit\n"
" -p, --no-plugin don't load any plugin at startup\n"
" -P, --plugins <plugins> load only these plugins at startup\n"
" (see /help weechat.plugin.autoload)\n"
" -r, --run-command <cmd> run command(s) after startup;\n"
" many commands can be separated by semicolons and "
"are evaluated,\n"
" this option can be given multiple times\n"
" -s, --no-script don't load any script at startup\n"
" --upgrade upgrade WeeChat using session files (see /help "
"upgrade in WeeChat)\n"
" -v, --version display WeeChat version and exit\n"
" plugin:option option for plugin (see man weechat)\n"
msgstr ""
" -a, --no-connect\t disabilita la connessione automatica all'avvio\n"
" -c, --colors mostra i colori predefiniti nel terminale\n"
" -d, --dir <path> imposta la directory principale di WeeChat "
"(predefinita: ~/.weechat)\n"
" -h, --help mostra questo aiuto\n"
" -l, --license mostra la licenza di WeeChat\n"
" -p, --no-plugin non carica i plugin all'avvio\n"
" -s, --no-script non carica gli script all'avvio\n"
" -r, --run-command esegue uno o più comandi all'avvio\n"
"(più comandi vanno separati da punto e virgola)\n"
" --upgrade aggiorna WeeChat usando i file di sessione "
"(consultare /help upgrade in WeeChat)\n"
" -v. --version mostra la versione di WeeChat\n"
" plugin:opzione opzione per il plugin (consultare man weechat)\n"
msgid "Extra options in headless mode:\n"
msgstr ""
msgid ""
" --doc-gen <path> generate files to build documentation and exit\n"
msgstr ""
msgid ""
" --daemon run WeeChat as a daemon (fork, new process group, "
"file descriptors closed);\n"
msgstr ""
msgid ""
" (by default in headless mode WeeChat is blocking "
"and does not run in background)\n"
msgstr ""
msgid ""
" --stdout display log messages on standard output instead "
"of writing them in log file\n"
msgstr ""
msgid ""
" (option ignored if option \"--daemon\" is given)\n"
msgstr ""
msgid ""
"Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):\n"
" --no-dlclose do not call function dlclose after plugins are "
"unloaded\n"
" --no-gnutls disable init/deinit of gnutls\n"
" --no-gcrypt disable init/deinit of gcrypt\n"
msgstr ""
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "Errore: argomento mancante per l'opzione \"%s\"\n"
#, fuzzy #, fuzzy
msgid "WeeChat is running in headless mode (ctrl-c to quit)." msgid "WeeChat is running in headless mode (ctrl-c to quit)."
msgstr "1 se si sta aggiornando WeeChat (comando `/upgrade`)" msgstr "1 se si sta aggiornando WeeChat (comando `/upgrade`)"
@@ -7216,7 +7142,7 @@ msgstr ""
msgid "" msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at " " - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option " "0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions)" "buflist.look.display_conditions"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -8817,7 +8743,7 @@ msgid "%s%s: not connected to server \"%s\"!"
msgstr "%s%s: non connesso al server \"%s\"!" msgstr "%s%s: non connesso al server \"%s\"!"
#, c-format #, c-format
msgid "%s: auto-reconnection is canceled" msgid "%s: auto-reconnection is cancelled"
msgstr "%s: la riconnessione automatica è annullata" msgstr "%s: la riconnessione automatica è annullata"
#, c-format #, c-format
@@ -8987,14 +8913,6 @@ msgid_plural "seconds"
msgstr[0] "secondo" msgstr[0] "secondo"
msgstr[1] "secondi" msgstr[1] "secondi"
#, fuzzy
#| msgid "second"
#| msgid_plural "seconds"
msgid "millisecond"
msgid_plural "milliseconds"
msgstr[0] "secondo"
msgstr[1] "secondi"
msgid "minute" msgid "minute"
msgid_plural "minutes" msgid_plural "minutes"
msgstr[0] "minuto" msgstr[0] "minuto"
@@ -9157,7 +9075,7 @@ msgstr "esegue un comando su tutti i canali di tutti i server connessi"
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-" "[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-"
"current] [-parted|-all] [-include=<channel>[,<channel>...]] <command>" "current] [-parted|-all] -include=<channel>[,<channel>...] <command>"
msgstr "[-current] [-exclude=<canale>[,<canale>...]] <comando> [<argomenti>]" msgstr "[-current] [-exclude=<canale>[,<canale>...]] <comando> [<argomenti>]"
#, fuzzy #, fuzzy
@@ -9259,8 +9177,8 @@ msgstr "esegue un comando su tutti i canali di tutti i server connessi"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] [-" "[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] "
"include=<nick>[,<nick>...]] <command>" "-include=<nick>[,<nick>...] <command>"
msgstr "[-current] [-exclude=<canale>[,<canale>...]] <comando> [<argomenti>]" msgstr "[-current] [-exclude=<canale>[,<canale>...]] <comando> [<argomenti>]"
#, fuzzy #, fuzzy
@@ -9315,8 +9233,8 @@ msgstr "esegue un comando su tutti i server connessi"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-exclude=<server>[,<server>...]] <command> || [-include=<server>[," "[-exclude=<server>[,<server>...]] <command> || -include=<server>[,"
"<server>...]] <command>" "<server>...] <command>"
msgstr "[-exclude=<server>[,<server>...]] <comando> [<argomenti>]" msgstr "[-exclude=<server>[,<server>...]] <comando> [<argomenti>]"
msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)" msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)"
@@ -9481,7 +9399,7 @@ msgid ""
msgstr "" msgstr ""
msgid "" msgid ""
"raw[ack]: acknowledge capabilities which require client-side acknowledgment" "raw[ack]: acknowledge capabilities which require client-side acknowledgement"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -11590,9 +11508,8 @@ msgstr ""
msgid "" msgid ""
"comma-separated list of fields to sort channels (see /help list for a list " "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 \"~\" " "of fields); char \"-\" can be used before field to reverse order, char \"~\" "
"can be used to do a case-insensitive comparison; example: \"-users,~name2\" " "can be used to do a case-insensitive comparison; example: \"-users,~name\" "
"for biggest channels first then case-insensitive sort on channel name " "for biggest channels first then case-insensitive sort on name"
"without prefix"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -12130,8 +12047,8 @@ msgstr "nome server"
msgid "get nick from IRC host" msgid "get nick from IRC host"
msgstr "ottiene nick dall'host IRC" msgstr "ottiene nick dall'host IRC"
msgid "IRC host (like `:nick!name@server`)" msgid "IRC host (like `:nick!name@server.com`)"
msgstr "host IRC (come `:nick!nome@server`)" msgstr "host IRC (come `:nick!nome@server.com`)"
msgid "" msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by " "get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12371,8 +12288,8 @@ msgstr "%s%s: questo buffer non è un canale!"
#, c-format #, c-format
msgid "" msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel " "%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer" "channel, ($)=refresh, (q)=close buffer"
msgstr "" msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list" msgid "Empty list of channels, try \"$\" to refresh list"
@@ -12678,7 +12595,7 @@ msgstr "%sL'argomento per %s%s%s è \"%s%s\""
#. TRANSLATORS: "%s" after "on" is a date #. TRANSLATORS: "%s" after "on" is a date
#, c-format #, c-format
msgid "%sTopic set by %s%s%s%s%s%s%s%s%s on %s" msgid "%sTopic set by %s%s%s%s%s%s%s%s%s on %s"
msgstr "%sArgomento impostato da %s%s%s%s%s%s%s%s%s il %s" msgstr "%sArgomento impostato da %s%s%s%s%s%s%s%s%s il %s"
#. TRANSLATORS: "%s" after "on" is a date #. TRANSLATORS: "%s" after "on" is a date
#, c-format #, c-format
@@ -12890,7 +12807,7 @@ msgstr "%s%s: nessuna connessione al server \"%s\" per la redirezione"
#, c-format #, c-format
msgid "%s%s: missing argument \"%s\" for redirect" msgid "%s%s: missing argument \"%s\" for redirect"
msgstr "%s%s: argomento \"%s\" mancante per la redirezione" msgstr "%s%s: argomento \"%s\" mancante per la redirezione"
#, c-format #, c-format
msgid "%s%s: redirect pattern \"%s\" not found" msgid "%s%s: redirect pattern \"%s\" not found"
@@ -13562,7 +13479,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a " "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 = " "suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation " "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 " "performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option " "should first set the compression type via option "
"logger.file.rotation_compression_type" "logger.file.rotation_compression_type"
@@ -14973,9 +14890,10 @@ msgstr "%s%s: server \"%s\" non trovato per il comando \"%s\""
msgid "%s%s: no connection to remote relay \"%s\"" msgid "%s%s: no connection to remote relay \"%s\""
msgstr "%s%s: non connesso al server \"%s\"!" msgstr "%s%s: non connesso al server \"%s\"!"
#, c-format #, fuzzy, c-format
msgid "remote[%s]: auto-reconnection is canceled" #| msgid "%s: auto-reconnection is cancelled"
msgstr "" msgid "remote[%s]: auto-reconnection is cancelled"
msgstr "%s: la riconnessione automatica è annullata"
#, fuzzy, c-format #, fuzzy, c-format
#| msgid "%s%s: server \"%s\" already exists for \"%s\" command" #| msgid "%s%s: server \"%s\" already exists for \"%s\" command"
@@ -15453,11 +15371,11 @@ msgstr ""
#, fuzzy #, fuzzy
msgid "" msgid ""
"comma separated list of hash algorithms used for password authentication in " "comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password " "weechat protocol, among these values: \"plain\" (password in plain text, not "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", " "hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" " "\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" " "to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")" "(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr "" msgstr ""
"elenco separato da virgole di plugin da caricare automaticamente all'avvio, " "elenco separato da virgole di plugin da caricare automaticamente all'avvio, "
"\"*\" equivale a tutti i plugin trovati. un nome che comincia con \"!\" è un " "\"*\" equivale a tutti i plugin trovati. un nome che comincia con \"!\" è un "
@@ -15466,10 +15384,10 @@ msgstr ""
"oppure \"*,!lua,!tcl\")" "oppure \"*,!lua,!tcl\")"
msgid "" msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" " "number of iterations asked to the client in weechat protocol when a hashed "
"protocols when a hashed password with algorithm PBKDF2 is used for " "password with algorithm PBKDF2 is used for authentication; more iterations "
"authentication; more iterations is better in term of security but is slower " "is better in term of security but is slower to compute; this number should "
"to compute; this number should not be too high if your CPU is slow" "not be too high if your CPU is slow"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -15502,11 +15420,6 @@ msgid ""
"1 are recommended values)" "1 are recommended values)"
msgstr "" 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 #, fuzzy
msgid "" msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-" "POSIX extended regular expression with origins allowed in websockets (case-"
@@ -15629,7 +15542,7 @@ msgstr "Elenco dei client per il relay"
#. TRANSLATORS: please do not translate the status names, they must be used in English #. TRANSLATORS: please do not translate the status names, they must be used in English
msgid "" msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; " "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)" "auth_failed, disconnected)"
msgstr "" msgstr ""
@@ -15770,10 +15683,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" msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: \"bind\" impossibile sulla porta %d (%s): errore %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 #, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s" msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: \"listen\" impossibile sulla porta %d (%s): errore %d %s" msgstr "%s%s: \"listen\" impossibile sulla porta %d (%s): errore %d %s"
@@ -15810,8 +15719,10 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port" msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: memoria non sufficiente per l'ascolto su una nuova porta" msgstr "%s%s: memoria non sufficiente per l'ascolto su una nuova porta"
msgid "Relay WeeChat data to remote applications" msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr "Esegui il relay dei dati di WeeChat ad un'applicazione remota" msgstr ""
"Esegui il relay dei dati di WeeChat ad un'applicazione remota (protocolli "
"irc/weechat)"
msgid "connecting" msgid "connecting"
msgstr "connessione" msgstr "connessione"
@@ -16060,9 +15971,9 @@ msgstr ""
#, c-format #, c-format
msgid "" 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: " "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" "left=select, right=install/remove"
msgstr "" msgstr ""
@@ -16432,11 +16343,6 @@ msgstr "script %s caricati:"
msgid "script name with extension" msgid "script name with extension"
msgstr "elenco degli script" 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 #, fuzzy
msgid "script name with extension (wildcard \"*\" is allowed) (optional)" msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr "" msgstr ""
@@ -17390,7 +17296,7 @@ msgid "%s%s: invalid regular expression in trigger: \"%s\""
msgstr "%s%s: errore nella compilazione dell'espressione regolare \"%s\"" msgstr "%s%s: errore nella compilazione dell'espressione regolare \"%s\""
#. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible #. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible
msgid "Typing: " msgid "Typing:"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -17424,11 +17330,6 @@ msgid ""
"truncate content)" "truncate content)"
msgstr "" msgstr ""
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 ""
msgid "Typing status of users" msgid "Typing status of users"
msgstr "" msgstr ""
@@ -17578,9 +17479,8 @@ msgstr "non attendere ACK all'invio del file"
#| "IP or DNS address used for sending files/chats (if empty, local interface " #| "IP or DNS address used for sending files/chats (if empty, local interface "
#| "IP is used)" #| "IP is used)"
msgid "" msgid ""
"IP or DNS address used for sending and passively receiving files/chats; if " "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 " "empty, local interface IP is used)"
"eval)"
msgstr "" msgstr ""
"Indirizzo IP o DNS per l'invio di file/chat (se vuoto, verrà usata " "Indirizzo IP o DNS per l'invio di file/chat (se vuoto, verrà usata "
"l'interfaccia IP locale)" "l'interfaccia IP locale)"
@@ -17873,7 +17773,7 @@ msgstr "%s%s: tipo xfer \"%s\" sconosciuto"
#, c-format #, c-format
msgid "%s%s: unknown xfer protocol \"%s\"" msgid "%s%s: unknown xfer protocol \"%s\""
msgstr "%s%s: protocollo xfer \"%s\" sconosciuto" msgstr "%s%s: protocollo xfer \"%s\" sconosciuto"
#, c-format #, c-format
msgid "%s%s: cannot access file \"%s\"" msgid "%s%s: cannot access file \"%s\""
@@ -17908,5 +17808,6 @@ msgid ""
"%s%s: unable to accept resume file \"%s\" (port: %d, start position: %llu): " "%s%s: unable to accept resume file \"%s\" (port: %d, start position: %llu): "
"xfer not found or not ready for transfer" "xfer not found or not ready for transfer"
msgstr "" msgstr ""
"%s%s: impossibile accettare di riprendere il file \"%s\" (porta: %d, " "%s%s: impossibile accettare di riprendere il file \"%s\" (porta: %d, "
"posizione di avvio: %llu): xfer non trovato o non pronto per il trasferimento" "posizione di avvio: %llu): xfer non trovato o non pronto per il "
"trasferimento"
+178 -266
View File
@@ -22,174 +22,17 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: WeeChat\n" "Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n" "POT-Creation-Date: 2026-03-16 13:17+0100\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n" "PO-Revision-Date: 2026-03-16 13:19+0100\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\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" "Language: ja\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
#. TRANSLATORS: command line option "-a", "--no-connect"
#, fuzzy
#| msgid "%s%s: unable to connect to sender"
msgid "disable auto-connect to servers at startup"
msgstr "%s%s: 送信者に接続できません"
#. TRANSLATORS: command line option "-c", "--colors"
msgid "display default colors in terminal and exit"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "-d, --dir <path>"
msgstr ""
#. TRANSLATORS: command line option "-d", "--dir <path>"
msgid ""
"force a single WeeChat home directory or 5 different directories separated "
"by colons (in this order: config, data, state, cache, runtime) (environment "
"variable WEECHAT_HOME is read if this option is not given)"
msgstr ""
#. TRANSLATORS: command line option "-t", "--temp-dir"
msgid ""
"create a temporary WeeChat home directory and delete it on exit "
"(incompatible with option \"-d\")"
msgstr ""
#. TRANSLATORS: command line option "-h", "--help"
#, fuzzy
#| msgid "use same nick color for channel and private"
msgid "display this help and exit"
msgstr "チャンネルとプライベートバッファで同じニックネーム色を利用"
#. TRANSLATORS: command line option "-i", "--build-info"
msgid "display build information and exit"
msgstr ""
#. TRANSLATORS: command line option "-l", "--license"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "display WeeChat license and exit"
msgstr "WeeChat ロゴを開始時に表示"
#. TRANSLATORS: command line option "-p", "--no-plugin"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "don't load any plugin at startup"
msgstr "WeeChat ロゴを開始時に表示"
#. TRANSLATORS: only "<plugins>" may be translated
msgid "-P, --plugins <plugins>"
msgstr ""
#. TRANSLATORS: command line option "-P", "--plugins <plugins>"
msgid "load only these plugins at startup (see /help weechat.plugin.autoload)"
msgstr ""
#. TRANSLATORS: only "<cmd>" may be translated (please keep it short)
msgid "-r, --run-command <cmd>"
msgstr ""
#. TRANSLATORS: command line option "-r", "--run-command <cmd>"
#, fuzzy
msgid ""
"run command(s) after startup; many commands can be separated by semicolons "
"and are evaluated, this option can be given multiple times"
msgstr ""
"WeeChat が実行され、プラグインのロード後に実行されるコマンド (注意: 値は評価"
"されます、/help eval を参照してください)"
#. TRANSLATORS: command line option "-s", "--no-script"
msgid "don't load any script at startup"
msgstr ""
#. TRANSLATORS: command line option "--upgrade"
#, fuzzy
msgid "upgrade WeeChat using session files (see /help upgrade in WeeChat)"
msgstr "%sエラー: ファイルにセッションを保存できません"
#. TRANSLATORS: command line option "-v", "--version"
#, fuzzy
#| msgid "display WeeChat version at startup"
msgid "display WeeChat version and exit"
msgstr "WeeChat バージョンを開始時に表示"
#. TRANSLATORS: command line option: "plugin" and "option" may be translated
#, fuzzy
#| msgid "plugin pointer (optional)"
msgid "plugin:option"
msgstr "プラグインポインタ (任意)"
#. TRANSLATORS: command line option "plugin:option"
msgid "option for plugin (see man weechat)"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "--doc-gen <path>"
msgstr ""
#. TRANSLATORS: command line option "--doc-gen <path>"
msgid "generate files to build documentation and exit"
msgstr ""
#. TRANSLATORS: command line option "--daemon"
msgid ""
"run WeeChat as a daemon (fork, new process group, file descriptors closed); "
"by default in headless mode WeeChat is blocking and does not run in "
"background"
msgstr ""
"WeeChat をデーモンとして実行 (フォーク、新しいプロセスグループ、ファイルディ"
"スクリプタを閉じる); ヘッドレスモードのデフォルトでは WeeChat はプロセスをブ"
"ロックし、バックグラウンド動作しません"
#. TRANSLATORS: command line option "--stdout"
msgid ""
"display log messages on standard output instead of writing them in log file "
"(option ignored if option \"--daemon\" is given)"
msgstr ""
#. TRANSLATORS: command line option "--no-dlclose"
msgid "do not call function dlclose after plugins are unloaded"
msgstr "プラグインがアンロードされた後に、dlclose 関数を呼び出さない"
#. TRANSLATORS: command line option "--no-gnutls"
msgid "disable init/deinit of gnutls"
msgstr "gnutls の init/deinit を無効化"
#. TRANSLATORS: command line option "--no-gcrypt"
msgid "disable init/deinit of gcrypt"
msgstr "gcrypt の init/deinit を無効化"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
msgstr ""
"WeeChat %s 著作権 %s、%s %s にコンパイル\n"
"開発者 %s <%s> - %s"
msgid "Usage:"
msgstr "使い方:"
msgid "[option...] [plugin:option...]"
msgstr "[オプション...] [プラグイン:オプション...]"
msgid "Extra options in headless mode:"
msgstr "ヘッドレスモード用の追加オプション:"
msgid "Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):"
msgstr ""
"デバッグオプション (valgrind などのツールと組み合わせて使用してください、通常"
"利用中には使用しないでください):"
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "エラー: \"%s\" オプションの引数がありません\n"
msgid "List of bars:" msgid "List of bars:"
msgstr "バーのリスト:" msgstr "バーのリスト:"
@@ -297,7 +140,7 @@ msgid "%sUnable to scroll bar \"%s\""
msgstr "%sエラー: バー \"%s\" をスクロールできません" msgstr "%sエラー: バー \"%s\" をスクロールできません"
#, fuzzy, c-format #, fuzzy, c-format
msgid "%sBuffer number %d is out of range (it must be between 1 and %d)" msgid "%sBuffer number \"%d\" is out of range (it must be between 1 and %d)"
msgstr "" msgstr ""
"%sエラー: %d は範囲外のバッファ番号です (1 から %d の間で指定してください)" "%sエラー: %d は範囲外のバッファ番号です (1 から %d の間で指定してください)"
@@ -664,9 +507,9 @@ msgstr ""
"由で)" "由で)"
#, c-format #, c-format
msgid "%d new key added (context: \"%s\")" msgid "%d new key added"
msgid_plural "%d new keys added (context: \"%s\")" msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "" msgstr[0] "%d 個の新しいキーを追加しました (コンテキスト: \"%s\")"
msgid "Stored layouts:" msgid "Stored layouts:"
msgstr "保存されたレイアウト:" msgstr "保存されたレイアウト:"
@@ -1183,16 +1026,6 @@ msgstr ""
" -all: 全ての接続済みサーバに対して離席状態を切り替え\n" " -all: 全ての接続済みサーバに対して離席状態を切り替え\n"
"message: 離席メッセージ (メッセージが無い場合は、離席状態を解除)" "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" msgid "manage bars"
msgstr "バーの管理" msgstr "バーの管理"
@@ -1296,7 +1129,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.bar." "option: option to change (for options list, look at /set weechat.bar."
"<bar_name>.*)" "<barname>.*)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -1812,7 +1645,7 @@ msgstr "式を評価"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-n|-s] [-e] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> " "[-n|-s] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> "
"<expression2>" "<expression2>"
msgstr "[-n|-s] <expression> || [-n] -c <expression1> <operator> <expression2>" msgstr "[-n|-s] <expression> || [-n] -c <expression1> <operator> <expression2>"
@@ -1830,9 +1663,6 @@ msgstr ""
"正規表現置換が行われた後に条件が満足された場合に実行するコマンド (多くのコマ" "正規表現置換が行われた後に条件が満足された場合に実行するコマンド (多くのコマ"
"ンドを実行するにはセミコロンで区切ってください)" "ンドを実行するにはセミコロンで区切ってください)"
msgid "raw[-e]: evaluate all commands before executing them"
msgstr ""
msgid "" msgid ""
"raw[-d]: display debug output after evaluation (with two -d: more verbose " "raw[-d]: display debug output after evaluation (with two -d: more verbose "
"debug)" "debug)"
@@ -2374,7 +2204,7 @@ msgstr "コマンドとオプションに関するヘルプを表示"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
#| msgid "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>" #| msgid "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>"
msgid "-list|-listfull [<plugin>...] || <command> || <option>" msgid "-list|-listfull [<plugin>...]] || <command> || <option>"
msgstr "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>" msgstr "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>"
msgid "" msgid ""
@@ -2437,9 +2267,9 @@ msgid "raw[clear]: clear hotlist"
msgstr "" msgstr ""
msgid "" msgid ""
"level: \"lowest\" to clear only lowest level in hotlist, \"highest\" to " "level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear "
"clear only highest level in hotlist, or level mask: integer which is a " "only highest level in hotlist, or level mask: integer which is a combination "
"combination of 1=join/part, 2=message, 4=private, 8=highlight" "of 1=join/part, 2=message, 4=private, 8=highlight"
msgstr "" msgstr ""
msgid "raw[remove]: remove current buffer from hotlist" msgid "raw[remove]: remove current buffer from hotlist"
@@ -3348,7 +3178,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.proxy." "option: option to change (for options list, look at /set weechat.proxy."
"<proxy_name>.*)" "<proxyname>.*)"
msgstr "" msgstr ""
msgid " add a http proxy, running on local host, port 8888:" msgid " add a http proxy, running on local host, port 8888:"
@@ -3651,20 +3481,20 @@ msgstr ""
msgid " encrypt libera SASL password:" msgid " encrypt libera SASL password:"
msgstr "" msgstr ""
msgid " /secure set libera my_password" msgid " /secure set libera mypassword"
msgstr "" msgstr ""
msgid " encrypt oftc password for nickserv:" msgid " encrypt oftc password for nickserv:"
msgstr "" msgstr ""
msgid " /secure set oftc my_password" msgid " /secure set oftc mypassword"
msgstr "" msgstr ""
msgid " alias to ghost the nick \"andrew\":" msgid " alias to ghost the nick \"mynick\":"
msgstr "" msgstr ""
msgid "" msgid ""
" /alias add ghost /eval /msg -server libera nickserv ghost andrew $" " /alias add ghost /eval /msg -server libera nickserv ghost mynick $"
"{sec.data.libera}" "{sec.data.libera}"
msgstr "" msgstr ""
@@ -3934,7 +3764,7 @@ msgstr ""
msgid "With option \"-quit\", the process is:" msgid "With option \"-quit\", the process is:"
msgstr "" msgstr ""
msgid " 1. close *ALL* connections (irc, xfer, relay, etc.)" msgid " 1. close *ALL* connections (irc, xfer, relay, ...)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -6545,8 +6375,8 @@ msgstr "書き込み - 変数"
msgid "read - object type" msgid "read - object type"
msgstr "読み込み - オブジェクト型" msgstr "読み込み - オブジェクト型"
msgid "read - bad object type (\"object start\" expected)" msgid "read - bad object type ('object start' expected)"
msgstr "書き込み - 不正なオブジェクト型 (\"object start\" が必要)" msgstr "書き込み - 不正なオブジェクト型 ('object start' が必要)"
msgid "read - object id" msgid "read - object id"
msgstr "読み込み - オブジェクト id" msgstr "読み込み - オブジェクト id"
@@ -6670,6 +6500,121 @@ msgstr ""
msgid "End of URL transfer '%s', transfer stopped" msgid "End of URL transfer '%s', transfer stopped"
msgstr "コマンド '%s' の終了、タイムアウトになりました (%.1fs)" msgstr "コマンド '%s' の終了、タイムアウトになりました (%.1fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s 著作権 %s、%s %s にコンパイル\n"
"開発者 Sébastien Helleu <flashcode@flashtux.org> - %s"
#, c-format
msgid "Usage: %s [option...] [plugin:option...]\n"
msgstr "使い方: %s [オプション...] [プラグイン:オプション...]\n"
#, fuzzy
msgid ""
" -a, --no-connect disable auto-connect to servers at startup\n"
" -c, --colors display default colors in terminal and exit\n"
" -d, --dir <path> force a single WeeChat home directory\n"
" or 5 different directories separated by colons "
"(in this order: config, data, state, cache, runtime)\n"
" (environment variable WEECHAT_HOME is read if "
"this option is not given)\n"
" -t, --temp-dir create a temporary WeeChat home directory and "
"delete it on exit\n"
" (incompatible with option \"-d\")\n"
" -h, --help display this help and exit\n"
" -i, --build-info display build information and exit\n"
" -l, --license display WeeChat license and exit\n"
" -p, --no-plugin don't load any plugin at startup\n"
" -P, --plugins <plugins> load only these plugins at startup\n"
" (see /help weechat.plugin.autoload)\n"
" -r, --run-command <cmd> run command(s) after startup;\n"
" many commands can be separated by semicolons and "
"are evaluated,\n"
" this option can be given multiple times\n"
" -s, --no-script don't load any script at startup\n"
" --upgrade upgrade WeeChat using session files (see /help "
"upgrade in WeeChat)\n"
" -v, --version display WeeChat version and exit\n"
" plugin:option option for plugin (see man weechat)\n"
msgstr ""
" -a, --no-connect 起動時にサーバに自動接続しない\n"
" -c, --colors 端末にデフォルトの色を表示\n"
" -d, --dir <path> WeeChat ホームディレクトリを設定 (デフォルト: "
"~/.weechat)\n"
" (このオプションが設定されていない場合、"
"WEECHAT_HOME 環境変数を読みます)\n"
" -t, --temp-dir 一時的に WeeChat ホームディレクトリを作成し、終了"
"時にこれを削除\n"
" (オプション \"-d\" と同時利用不可)\n"
" -h, --help このヘルプを表示\n"
" -l, --license WeeChat ライセンスを表示\n"
" -p, --no-plugin 起動時にプラグインをロードしない\n"
" -P, --plugins <plugins> 指定したプラグインのみを起動時にロードする\n"
" (/help weechat.plugin.autoload を参照してくださ"
"い)\n"
" -r, --run-command <cmd> 起動後にコマンドを実行;\n"
" 複数のコマンドを実行するには各コマンドをセミコロン"
"で区切って下さい\n"
" このオプションは複数回使用できます\n"
" -s, --no-script 起動時にスクリプトをロードしない\n"
" --upgrade セッションファイルを使って WeeChat をアップグレー"
"ド (WeeChat で /help upgrade を確認してください)\n"
" -v, --version WeeChat のバージョンを表示\n"
" plugin:option プラグイン用オプション (man weechat を参照してくだ"
"さい)\n"
msgid "Extra options in headless mode:\n"
msgstr "ヘッドレスモード用の追加オプション:\n"
msgid ""
" --doc-gen <path> generate files to build documentation and exit\n"
msgstr ""
msgid ""
" --daemon run WeeChat as a daemon (fork, new process group, "
"file descriptors closed);\n"
msgstr ""
" --daemon WeeChat をデーモンとして実行 (フォーク、新しいプロ"
"セスグループ、ファイルディスクリプタを閉じる);\n"
msgid ""
" (by default in headless mode WeeChat is blocking "
"and does not run in background)\n"
msgstr ""
" (ヘッドレスモードのデフォルトでは WeeChat はプロセ"
"スをブロックし、バックグラウンド動作しません)\n"
msgid ""
" --stdout display log messages on standard output instead "
"of writing them in log file\n"
msgstr ""
msgid ""
" (option ignored if option \"--daemon\" is given)\n"
msgstr ""
msgid ""
"Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):\n"
" --no-dlclose do not call function dlclose after plugins are "
"unloaded\n"
" --no-gnutls disable init/deinit of gnutls\n"
" --no-gcrypt disable init/deinit of gcrypt\n"
msgstr ""
"デバッグオプション (valgrind などのツールと組み合わせて使用してください、通常"
"利用中には使用しないでください):\n"
" --no-dlclose プラグインがアンロードされた後に、dlclose 関数を呼"
"び出さない\n"
" --no-gnutls gnutls の init/deinit を無効化\n"
" --no-gcrypt gcrypt の init/deinit を無効化\n"
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "エラー: \"%s\" オプションの引数がありません\n"
#, fuzzy #, fuzzy
#| msgid "WeeChat is running in headless mode (Ctrl-C to quit)." #| msgid "WeeChat is running in headless mode (Ctrl-C to quit)."
msgid "WeeChat is running in headless mode (ctrl-c to quit)." msgid "WeeChat is running in headless mode (ctrl-c to quit)."
@@ -7420,7 +7365,7 @@ msgstr ""
msgid "" msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at " " - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option " "0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions)" "buflist.look.display_conditions"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -7699,7 +7644,7 @@ msgid ""
msgstr "" msgstr ""
"%s%s: 警告: buffers.pl スクリプトが読み込まれました。buffers.pl スクリプトは " "%s%s: 警告: buffers.pl スクリプトが読み込まれました。buffers.pl スクリプトは "
"buflist プラグインと類似するバーリストが含まれるバーを提供しています; 必要な" "buflist プラグインと類似するバーリストが含まれるバーを提供しています; 必要な"
"らば、buffers.pl スクリプトを削除 (/script remove buffers.pl) するか、" "らば、buffers.pl スクリプトを削除 (/script remove buffers.pl) するか、"
"buflist プラグインを無効化/アンロードしてください; 詳しい情報は WeeChat リ" "buflist プラグインを無効化/アンロードしてください; 詳しい情報は WeeChat リ"
"リースノートを参照してください" "リースノートを参照してください"
@@ -9115,7 +9060,7 @@ msgid "%s%s: not connected to server \"%s\"!"
msgstr "%s%s: サーバ \"%s\" に接続されていません!" msgstr "%s%s: サーバ \"%s\" に接続されていません!"
#, c-format #, c-format
msgid "%s: auto-reconnection is canceled" msgid "%s: auto-reconnection is cancelled"
msgstr "%s: 自動再接続がキャンセルされました" msgstr "%s: 自動再接続がキャンセルされました"
#, c-format #, c-format
@@ -9283,13 +9228,6 @@ msgid "second"
msgid_plural "seconds" msgid_plural "seconds"
msgstr[0] "秒" msgstr[0] "秒"
#, fuzzy
#| msgid "second"
#| msgid_plural "seconds"
msgid "millisecond"
msgid_plural "milliseconds"
msgstr[0] "秒"
msgid "minute" msgid "minute"
msgid_plural "minutes" msgid_plural "minutes"
msgstr[0] "分" msgstr[0] "分"
@@ -9451,7 +9389,7 @@ msgstr "全てのサーバ、全てのチャンネルに対してコマンドを
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-" "[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-"
"current] [-parted|-all] [-include=<channel>[,<channel>...]] <command>" "current] [-parted|-all] -include=<channel>[,<channel>...] <command>"
msgstr "" msgstr ""
"[-current] [-exclude=<channel>[,<channel>...]] <command> [<arguments>] || [-" "[-current] [-exclude=<channel>[,<channel>...]] <command> [<arguments>] || [-"
"current] -include=<channel>[,<channel>...] <command> [<arguments>]" "current] -include=<channel>[,<channel>...] <command> [<arguments>]"
@@ -9554,8 +9492,8 @@ msgstr "全ての接続済みサーバの全てのプライベートバッファ
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] [-" "[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] "
"include=<nick>[,<nick>...]] <command>" "-include=<nick>[,<nick>...] <command>"
msgstr "" msgstr ""
"[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>] || [-" "[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>] || [-"
"current] -include=<nick>[,<nick>...] <command> [<arguments>]" "current] -include=<nick>[,<nick>...] <command> [<arguments>]"
@@ -9612,8 +9550,8 @@ msgstr "全ての接続済みサーバでコマンドを実行"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-exclude=<server>[,<server>...]] <command> || [-include=<server>[," "[-exclude=<server>[,<server>...]] <command> || -include=<server>[,"
"<server>...]] <command>" "<server>...] <command>"
msgstr "" msgstr ""
"[-exclude=<server>[,<server>...]] <command> [<arguments>] || " "[-exclude=<server>[,<server>...]] <command> [<arguments>] || "
"-include=<server>[,<server>...] <command> [<arguments>]" "-include=<server>[,<server>...] <command> [<arguments>]"
@@ -9794,7 +9732,7 @@ msgid ""
msgstr "" msgstr ""
msgid "" msgid ""
"raw[ack]: acknowledge capabilities which require client-side acknowledgment" "raw[ack]: acknowledge capabilities which require client-side acknowledgement"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -12016,9 +11954,8 @@ msgstr "fset バッファの左右スクロール量 (横幅の割合)"
msgid "" msgid ""
"comma-separated list of fields to sort channels (see /help list for a list " "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 \"~\" " "of fields); char \"-\" can be used before field to reverse order, char \"~\" "
"can be used to do a case-insensitive comparison; example: \"-users,~name2\" " "can be used to do a case-insensitive comparison; example: \"-users,~name\" "
"for biggest channels first then case-insensitive sort on channel name " "for biggest channels first then case-insensitive sort on name"
"without prefix"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -12584,8 +12521,8 @@ msgstr "サーバ名"
msgid "get nick from IRC host" msgid "get nick from IRC host"
msgstr "IRC ホストからニックネームを取得" msgstr "IRC ホストからニックネームを取得"
msgid "IRC host (like `:nick!name@server`)" msgid "IRC host (like `:nick!name@server.com`)"
msgstr "IRC ホスト (例: `:nick!name@server`)" msgstr "IRC ホスト (例: `:nick!name@server.com`)"
msgid "" msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by " "get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12816,12 +12753,12 @@ msgstr "%s%s: サーバに接続していません"
#, c-format #, c-format
msgid "%s%s: this buffer is not a channel!" msgid "%s%s: this buffer is not a channel!"
msgstr "%s%s: このバッファはチャンネルではありません!" msgstr "%s%s: このバッファはチャンネルではありません"
#, c-format #, c-format
msgid "" msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel " "%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer" "channel, ($)=refresh, (q)=close buffer"
msgstr "" msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list" msgid "Empty list of channels, try \"$\" to refresh list"
@@ -12989,7 +12926,6 @@ msgstr "%s%s%s%s%s に kill されました"
msgid "%sMode %s%s %s[%s%s%s%s%s]%s by %s%s" msgid "%sMode %s%s %s[%s%s%s%s%s]%s by %s%s"
msgstr "%1$s%11$s%12$s がモードを変更 %2$s%3$s %4$s[%5$s%6$s%7$s%8$s%9$s]%10$s" msgstr "%1$s%11$s%12$s がモードを変更 %2$s%3$s %4$s[%5$s%6$s%7$s%8$s%9$s]%10$s"
# noqa
#, c-format #, c-format
msgid "%sUser mode %s[%s%s%s]%s by %s%s" msgid "%sUser mode %s[%s%s%s]%s by %s%s"
msgstr "%1$s%7$s%8$s%6$s がユーザモードを変更 %2$s[%3$s%4$s%5$s]%6$s" msgstr "%1$s%7$s%8$s%6$s がユーザモードを変更 %2$s[%3$s%4$s%5$s]%6$s"
@@ -14037,7 +13973,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a " "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 = " "suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation " "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 " "performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option " "should first set the compression type via option "
"logger.file.rotation_compression_type" "logger.file.rotation_compression_type"
@@ -15454,9 +15390,10 @@ msgstr "%1$s%2$s: \"%4$s\" コマンドのサーバ \"%3$s\" は見つかりま
msgid "%s%s: no connection to remote relay \"%s\"" msgid "%s%s: no connection to remote relay \"%s\""
msgstr "%s%s: サーバ \"%s\" に接続されていません!" msgstr "%s%s: サーバ \"%s\" に接続されていません!"
#, c-format #, fuzzy, c-format
msgid "remote[%s]: auto-reconnection is canceled" #| msgid "%s: auto-reconnection is cancelled"
msgstr "" msgid "remote[%s]: auto-reconnection is cancelled"
msgstr "%s: 自動再接続がキャンセルされました"
#, fuzzy, c-format #, fuzzy, c-format
#| msgid "%s%s: server \"%s\" already exists for \"%s\" command" #| msgid "%s%s: server \"%s\" already exists for \"%s\" command"
@@ -15960,21 +15897,21 @@ msgstr ""
#, fuzzy #, fuzzy
msgid "" msgid ""
"comma separated list of hash algorithms used for password authentication in " "comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password " "weechat protocol, among these values: \"plain\" (password in plain text, not "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", " "hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" " "\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" " "to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")" "(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr "" msgstr ""
"スタートアップ時にロードするプラグインのコンマ区切りリスト、\"*\" は見つかっ" "スタートアップ時にロードするプラグインのコンマ区切りリスト、\"*\" は見つかっ"
"た全てのプラグイン、\"!\" から始まる名前はロードしないプラグイン、名前にワイ" "た全てのプラグイン、\"!\" から始まる名前はロードしないプラグイン、名前にワイ"
"ルドカード \"*\" を使うことができます (例: \"*\" または \"*,!lua,!tcl\")" "ルドカード \"*\" を使うことができます (例: \"*\" または \"*,!lua,!tcl\")"
msgid "" msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" " "number of iterations asked to the client in weechat protocol when a hashed "
"protocols when a hashed password with algorithm PBKDF2 is used for " "password with algorithm PBKDF2 is used for authentication; more iterations "
"authentication; more iterations is better in term of security but is slower " "is better in term of security but is slower to compute; this number should "
"to compute; this number should not be too high if your CPU is slow" "not be too high if your CPU is slow"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -16022,11 +15959,6 @@ msgstr ""
"のパスワードを考慮、...; この値を大きくするとセキュリティレベルが低下します " "のパスワードを考慮、...; この値を大きくするとセキュリティレベルが低下します "
"(0 または 1 を推奨します)" "(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 #, fuzzy
#| msgid "" #| msgid ""
#| "POSIX extended regular expression with origins allowed in websockets " #| "POSIX extended regular expression with origins allowed in websockets "
@@ -16163,12 +16095,12 @@ msgstr "中継するクライアントのリスト"
#. TRANSLATORS: please do not translate the status names, they must be used in English #. TRANSLATORS: please do not translate the status names, they must be used in English
msgid "" msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; " "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)" "auth_failed, disconnected)"
msgstr "" msgstr ""
"protocol,status (どちらも任意、引数の \"*\" はすべてを意味します; プロトコ" "protocol,status (どちらも任意、引数の \"*\" はすべてを意味します; プロトコ"
"ル: api、irc、weechat。状態: connecting、waiting_auth、connected、" "ル: irc、weechat。状態: connecting、waiting_auth、connected、auth_failed、"
"auth_failed、disconnected)" "disconnected)"
msgid "list of relay clients" msgid "list of relay clients"
msgstr "リレークライアントのリスト" msgstr "リレークライアントのリスト"
@@ -16310,11 +16242,6 @@ msgstr "%s%s: パス %s (%s) に \"bind\" できません: エラー %d %s"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s" msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: ポート %d (%s) に \"bind\" できません: エラー %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 #, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s" msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: パス %s (%s) ではリッスンできません: エラー %d %s" msgstr "%s%s: パス %s (%s) ではリッスンできません: エラー %d %s"
@@ -16351,8 +16278,9 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port" msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: 新しいポートをリッスンするためのメモリ不足" msgstr "%s%s: 新しいポートをリッスンするためのメモリ不足"
msgid "Relay WeeChat data to remote applications" msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr "WeeChat データをリモートアプリケーションにリレー" msgstr ""
"WeeChat データをリモートアプリケーションにリレー (irc/weechat プロトコル)"
msgid "connecting" msgid "connecting"
msgstr "接続中" msgstr "接続中"
@@ -16596,16 +16524,11 @@ msgstr "(なし)"
msgid "Alt+key/input: v=back to list d=jump to diff" msgid "Alt+key/input: v=back to list d=jump to diff"
msgstr "Alt+key/input: v=リストに戻る d=比較する" msgstr "Alt+key/input: v=リストに戻る d=比較する"
#, fuzzy, c-format #, 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"
msgid "" 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: " "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" "left=select, right=install/remove"
msgstr "" msgstr ""
"%d/%d 個のスクリプト (フィルタ: %s) | ソート: %s | Alt+key/input: i=インス" "%d/%d 個のスクリプト (フィルタ: %s) | ソート: %s | Alt+key/input: i=インス"
@@ -16996,11 +16919,6 @@ msgstr "ロードされた %s スクリプト:"
msgid "script name with extension" msgid "script name with extension"
msgstr "スクリプトの拡張子のリスト" 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)" msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr "" msgstr ""
"拡張子を含めたスクリプト名 (ワイルドカード \"*\" を使うことができます) (任意)" "拡張子を含めたスクリプト名 (ワイルドカード \"*\" を使うことができます) (任意)"
@@ -17983,7 +17901,7 @@ msgid "%s%s: invalid regular expression in trigger: \"%s\""
msgstr "%s%s: トリガの正規表現が間違っています: \"%s\"" msgstr "%s%s: トリガの正規表現が間違っています: \"%s\""
#. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible #. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible
msgid "Typing: " msgid "Typing:"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -18017,11 +17935,6 @@ msgid ""
"truncate content)" "truncate content)"
msgstr "" msgstr ""
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 ""
msgid "Typing status of users" msgid "Typing status of users"
msgstr "" msgstr ""
@@ -18171,9 +18084,8 @@ msgstr "ファイル送信時に肯定応答を待たない"
#| "IP or DNS address used for sending files/chats (if empty, local interface " #| "IP or DNS address used for sending files/chats (if empty, local interface "
#| "IP is used)" #| "IP is used)"
msgid "" msgid ""
"IP or DNS address used for sending and passively receiving files/chats; if " "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 " "empty, local interface IP is used)"
"eval)"
msgstr "" msgstr ""
"ファイル/チャットの送信に使う IP か DNS アドレス (空の場合、ローカルインター" "ファイル/チャットの送信に使う IP か DNS アドレス (空の場合、ローカルインター"
"フェース IP を使う)" "フェース IP を使う)"
+880 -609
View File
File diff suppressed because it is too large Load Diff
+159 -258
View File
@@ -22,10 +22,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: WeeChat\n" "Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n" "POT-Creation-Date: 2026-03-16 13:17+0100\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n" "PO-Revision-Date: 2025-10-27 08:27+0100\n"
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\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" "Language: pt\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -33,159 +33,6 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Virtaal 0.7.1\n" "X-Generator: Virtaal 0.7.1\n"
#. TRANSLATORS: command line option "-a", "--no-connect"
#, fuzzy
#| msgid "%s%s: unable to connect to sender"
msgid "disable auto-connect to servers at startup"
msgstr "%s%s: não foi possível conectar para enviar"
#. TRANSLATORS: command line option "-c", "--colors"
msgid "display default colors in terminal and exit"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "-d, --dir <path>"
msgstr ""
#. TRANSLATORS: command line option "-d", "--dir <path>"
msgid ""
"force a single WeeChat home directory or 5 different directories separated "
"by colons (in this order: config, data, state, cache, runtime) (environment "
"variable WEECHAT_HOME is read if this option is not given)"
msgstr ""
#. TRANSLATORS: command line option "-t", "--temp-dir"
msgid ""
"create a temporary WeeChat home directory and delete it on exit "
"(incompatible with option \"-d\")"
msgstr ""
#. TRANSLATORS: command line option "-h", "--help"
#, fuzzy
#| msgid "use same nick color for channel and private"
msgid "display this help and exit"
msgstr "usar a mesma cor para o nick no canal e em privado"
#. TRANSLATORS: command line option "-i", "--build-info"
msgid "display build information and exit"
msgstr ""
#. TRANSLATORS: command line option "-l", "--license"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "display WeeChat license and exit"
msgstr "mostrar o logo do WeeChat ao iniciar"
#. TRANSLATORS: command line option "-p", "--no-plugin"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "don't load any plugin at startup"
msgstr "mostrar o logo do WeeChat ao iniciar"
#. TRANSLATORS: only "<plugins>" may be translated
msgid "-P, --plugins <plugins>"
msgstr ""
#. TRANSLATORS: command line option "-P", "--plugins <plugins>"
msgid "load only these plugins at startup (see /help weechat.plugin.autoload)"
msgstr ""
#. TRANSLATORS: only "<cmd>" may be translated (please keep it short)
msgid "-r, --run-command <cmd>"
msgstr ""
#. TRANSLATORS: command line option "-r", "--run-command <cmd>"
#, fuzzy
msgid ""
"run command(s) after startup; many commands can be separated by semicolons "
"and are evaluated, this option can be given multiple times"
msgstr ""
"comando executado ao iniciar o WeeChat, depois de recarregar os plugins "
"(nota: o conteúdo é avaliado, ver /help eval)"
#. TRANSLATORS: command line option "-s", "--no-script"
msgid "don't load any script at startup"
msgstr ""
#. TRANSLATORS: command line option "--upgrade"
#, fuzzy
msgid "upgrade WeeChat using session files (see /help upgrade in WeeChat)"
msgstr "%sErro: não foi possível guardar a sessão no ficheiro"
#. TRANSLATORS: command line option "-v", "--version"
#, fuzzy
#| msgid "display WeeChat version at startup"
msgid "display WeeChat version and exit"
msgstr "mostrar a versão do WeeChat ao iniciar"
#. TRANSLATORS: command line option: "plugin" and "option" may be translated
#, fuzzy
#| msgid "plugin pointer (optional)"
msgid "plugin:option"
msgstr "ponteiro para plugin (opcional)"
#. TRANSLATORS: command line option "plugin:option"
msgid "option for plugin (see man weechat)"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "--doc-gen <path>"
msgstr ""
#. TRANSLATORS: command line option "--doc-gen <path>"
msgid "generate files to build documentation and exit"
msgstr ""
#. TRANSLATORS: command line option "--daemon"
msgid ""
"run WeeChat as a daemon (fork, new process group, file descriptors closed); "
"by default in headless mode WeeChat is blocking and does not run in "
"background"
msgstr ""
#. TRANSLATORS: command line option "--stdout"
msgid ""
"display log messages on standard output instead of writing them in log file "
"(option ignored if option \"--daemon\" is given)"
msgstr ""
#. TRANSLATORS: command line option "--no-dlclose"
msgid "do not call function dlclose after plugins are unloaded"
msgstr ""
#. TRANSLATORS: command line option "--no-gnutls"
msgid "disable init/deinit of gnutls"
msgstr ""
#. TRANSLATORS: command line option "--no-gcrypt"
msgid "disable init/deinit of gcrypt"
msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
msgstr ""
"WeeChat %s Copyright %s, compilado a %s %s\n"
"Desenvolvido por %s <%s> - %s"
msgid "Usage:"
msgstr "Utilização:"
msgid "[option...] [plugin:option...]"
msgstr "[opção...] [plugin:opção...]"
msgid "Extra options in headless mode:"
msgstr ""
msgid "Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):"
msgstr ""
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "Erro: falta o argumento da opção \"%s\"\n"
msgid "List of bars:" msgid "List of bars:"
msgstr "Lista de barras:" msgstr "Lista de barras:"
@@ -294,7 +141,7 @@ msgid "%sUnable to scroll bar \"%s\""
msgstr "%sErro: não foi possível deslocar a barra \"%s\"" msgstr "%sErro: não foi possível deslocar a barra \"%s\""
#, fuzzy, c-format #, fuzzy, c-format
msgid "%sBuffer number %d is out of range (it must be between 1 and %d)" msgid "%sBuffer number \"%d\" is out of range (it must be between 1 and %d)"
msgstr "" msgstr ""
"%sErro: o buffer número %d está fora do intervalo (deve estar entre 1 e %d)" "%sErro: o buffer número %d está fora do intervalo (deve estar entre 1 e %d)"
@@ -662,9 +509,9 @@ msgstr ""
"de segurança)" "de segurança)"
#, c-format #, c-format
msgid "%d new key added (context: \"%s\")" msgid "%d new key added"
msgid_plural "%d new keys added (context: \"%s\")" msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "%d nova tecla adicionada (contexto: \"%s\")" msgstr[0] "%d nova tecla adicionada"
msgstr[1] "%d novas teclas adicionadas (contexto: \"%s\")" msgstr[1] "%d novas teclas adicionadas (contexto: \"%s\")"
msgid "Stored layouts:" msgid "Stored layouts:"
@@ -1190,16 +1037,6 @@ msgstr ""
"mensagem: mensagem de ausência (se não for indicada uma mensagem, o estado " "mensagem: mensagem de ausência (se não for indicada uma mensagem, o estado "
"ausente é removido)" "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" msgid "manage bars"
msgstr "gerir barras" msgstr "gerir barras"
@@ -1303,7 +1140,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.bar." "option: option to change (for options list, look at /set weechat.bar."
"<bar_name>.*)" "<barname>.*)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -1821,7 +1658,7 @@ msgstr "avaliar uma expressão"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-n|-s] [-e] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> " "[-n|-s] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> "
"<expression2>" "<expression2>"
msgstr "[-n|-s] <expressão> || [-n] -c <expressão1> <operador> <expressão2>" msgstr "[-n|-s] <expressão> || [-n] -c <expressão1> <operador> <expressão2>"
@@ -1839,9 +1676,6 @@ msgstr ""
"comandos a executar se as condições estiverem bem, depois de substituir as " "comandos a executar se as condições estiverem bem, depois de substituir as "
"expressões regulares (pode separar vários comandos por ponto e vírgula)" "expressões regulares (pode separar vários comandos por ponto e vírgula)"
msgid "raw[-e]: evaluate all commands before executing them"
msgstr ""
msgid "" msgid ""
"raw[-d]: display debug output after evaluation (with two -d: more verbose " "raw[-d]: display debug output after evaluation (with two -d: more verbose "
"debug)" "debug)"
@@ -2386,7 +2220,7 @@ msgstr "mostrar ajuda sobre comandos e opções"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
#| msgid "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>" #| msgid "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>"
msgid "-list|-listfull [<plugin>...] || <command> || <option>" msgid "-list|-listfull [<plugin>...]] || <command> || <option>"
msgstr "-list|-listfull [<plugin> [<plugin>...]] || <comando> || <opção>" msgstr "-list|-listfull [<plugin> [<plugin>...]] || <comando> || <opção>"
msgid "" msgid ""
@@ -2449,9 +2283,9 @@ msgid "raw[clear]: clear hotlist"
msgstr "" msgstr ""
msgid "" msgid ""
"level: \"lowest\" to clear only lowest level in hotlist, \"highest\" to " "level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear "
"clear only highest level in hotlist, or level mask: integer which is a " "only highest level in hotlist, or level mask: integer which is a combination "
"combination of 1=join/part, 2=message, 4=private, 8=highlight" "of 1=join/part, 2=message, 4=private, 8=highlight"
msgstr "" msgstr ""
msgid "raw[remove]: remove current buffer from hotlist" msgid "raw[remove]: remove current buffer from hotlist"
@@ -3355,7 +3189,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.proxy." "option: option to change (for options list, look at /set weechat.proxy."
"<proxy_name>.*)" "<proxyname>.*)"
msgstr "" msgstr ""
msgid " add a http proxy, running on local host, port 8888:" msgid " add a http proxy, running on local host, port 8888:"
@@ -3661,20 +3495,20 @@ msgstr ""
msgid " encrypt libera SASL password:" msgid " encrypt libera SASL password:"
msgstr "" msgstr ""
msgid " /secure set libera my_password" msgid " /secure set libera mypassword"
msgstr "" msgstr ""
msgid " encrypt oftc password for nickserv:" msgid " encrypt oftc password for nickserv:"
msgstr "" msgstr ""
msgid " /secure set oftc my_password" msgid " /secure set oftc mypassword"
msgstr "" msgstr ""
msgid " alias to ghost the nick \"andrew\":" msgid " alias to ghost the nick \"mynick\":"
msgstr "" msgstr ""
msgid "" msgid ""
" /alias add ghost /eval /msg -server libera nickserv ghost andrew $" " /alias add ghost /eval /msg -server libera nickserv ghost mynick $"
"{sec.data.libera}" "{sec.data.libera}"
msgstr "" msgstr ""
@@ -3946,7 +3780,7 @@ msgstr ""
msgid "With option \"-quit\", the process is:" msgid "With option \"-quit\", the process is:"
msgstr "" msgstr ""
msgid " 1. close *ALL* connections (irc, xfer, relay, etc.)" msgid " 1. close *ALL* connections (irc, xfer, relay, ...)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -6601,8 +6435,8 @@ msgstr "escrita - variável"
msgid "read - object type" msgid "read - object type"
msgstr "leitura - tipo de objeto" msgstr "leitura - tipo de objeto"
msgid "read - bad object type (\"object start\" expected)" msgid "read - bad object type ('object start' expected)"
msgstr "leitura - tipo de objeto incorreto (esperava-se \"object start\")" msgstr "leitura - tipo de objeto incorreto (esperava-se 'object start')"
msgid "read - object id" msgid "read - object id"
msgstr "leitura - id objeto" msgstr "leitura - id objeto"
@@ -6723,6 +6557,104 @@ msgstr ""
msgid "End of URL transfer '%s', transfer stopped" msgid "End of URL transfer '%s', transfer stopped"
msgstr "Fim do comando '%s', tempo limite atingido (%.1fs)" msgstr "Fim do comando '%s', tempo limite atingido (%.1fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Copyright %s, compilado a %s %s\n"
"Desenvolvido por Sébastien Helleu <flashcode@flashtux.org> - %s"
#, c-format
msgid "Usage: %s [option...] [plugin:option...]\n"
msgstr "Utilização: %s [opção...] [plugin:opção...]\n"
#, fuzzy
msgid ""
" -a, --no-connect disable auto-connect to servers at startup\n"
" -c, --colors display default colors in terminal and exit\n"
" -d, --dir <path> force a single WeeChat home directory\n"
" or 5 different directories separated by colons "
"(in this order: config, data, state, cache, runtime)\n"
" (environment variable WEECHAT_HOME is read if "
"this option is not given)\n"
" -t, --temp-dir create a temporary WeeChat home directory and "
"delete it on exit\n"
" (incompatible with option \"-d\")\n"
" -h, --help display this help and exit\n"
" -i, --build-info display build information and exit\n"
" -l, --license display WeeChat license and exit\n"
" -p, --no-plugin don't load any plugin at startup\n"
" -P, --plugins <plugins> load only these plugins at startup\n"
" (see /help weechat.plugin.autoload)\n"
" -r, --run-command <cmd> run command(s) after startup;\n"
" many commands can be separated by semicolons and "
"are evaluated,\n"
" this option can be given multiple times\n"
" -s, --no-script don't load any script at startup\n"
" --upgrade upgrade WeeChat using session files (see /help "
"upgrade in WeeChat)\n"
" -v, --version display WeeChat version and exit\n"
" plugin:option option for plugin (see man weechat)\n"
msgstr ""
" -a, --no-connect desativar conexão automática aos servidores ao "
"iniciar\n"
" -c, --colors mostrar cores predefinidas no terminal\n"
" -d, --dir <path> definir o diretório do WeeChat (predefinição: "
"~/.weechat)\n"
" (a variável de ambiente WEECHAT_HOME é lida se "
"esta opção não for fornecida)\n"
" -h, --help mostrar esta ajuda\n"
" -l, --license mostrar a licença do WeeChat\n"
" -p, --no-plugin não carregar nenhum plugin ao iniciar\n"
" -r, --run-command <cmd> executar os comandos ao iniciar\n"
" (pode-se separar vários comandos por ponto e "
"vírgula)\n"
" -s, --no-script não carregar nenhum comando ao iniciar\n"
" --upgrade atualizar o WeeChat usando ficheiros de sessão "
"(ver /help upgrade no WeeChat)\n"
" -v, --version mostrar a versão do WeeChat\n"
" plugin:opção opção de um plugin (ver man weechat)\n"
msgid "Extra options in headless mode:\n"
msgstr ""
msgid ""
" --doc-gen <path> generate files to build documentation and exit\n"
msgstr ""
msgid ""
" --daemon run WeeChat as a daemon (fork, new process group, "
"file descriptors closed);\n"
msgstr ""
msgid ""
" (by default in headless mode WeeChat is blocking "
"and does not run in background)\n"
msgstr ""
msgid ""
" --stdout display log messages on standard output instead "
"of writing them in log file\n"
msgstr ""
msgid ""
" (option ignored if option \"--daemon\" is given)\n"
msgstr ""
msgid ""
"Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):\n"
" --no-dlclose do not call function dlclose after plugins are "
"unloaded\n"
" --no-gnutls disable init/deinit of gnutls\n"
" --no-gcrypt disable init/deinit of gcrypt\n"
msgstr ""
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "Erro: falta o argumento da opção \"%s\"\n"
#, fuzzy #, fuzzy
msgid "WeeChat is running in headless mode (ctrl-c to quit)." msgid "WeeChat is running in headless mode (ctrl-c to quit)."
msgstr "1 se o WeeChat está a atualizar (comando `/upgrade`)" msgstr "1 se o WeeChat está a atualizar (comando `/upgrade`)"
@@ -7478,7 +7410,7 @@ msgstr ""
msgid "" msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at " " - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option " "0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions)" "buflist.look.display_conditions"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -9087,7 +9019,7 @@ msgid "%s%s: not connected to server \"%s\"!"
msgstr "%s%s: não está conectado ao servidor \"%s\"!" msgstr "%s%s: não está conectado ao servidor \"%s\"!"
#, c-format #, c-format
msgid "%s: auto-reconnection is canceled" msgid "%s: auto-reconnection is cancelled"
msgstr "%s: a reconexão automática foi cancelada" msgstr "%s: a reconexão automática foi cancelada"
#, c-format #, c-format
@@ -9259,14 +9191,6 @@ msgid_plural "seconds"
msgstr[0] "segundo" msgstr[0] "segundo"
msgstr[1] "segundos" msgstr[1] "segundos"
#, fuzzy
#| msgid "second"
#| msgid_plural "seconds"
msgid "millisecond"
msgid_plural "milliseconds"
msgstr[0] "segundo"
msgstr[1] "segundos"
msgid "minute" msgid "minute"
msgid_plural "minutes" msgid_plural "minutes"
msgstr[0] "minuto" msgstr[0] "minuto"
@@ -9431,7 +9355,7 @@ msgstr ""
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-" "[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-"
"current] [-parted|-all] [-include=<channel>[,<channel>...]] <command>" "current] [-parted|-all] -include=<channel>[,<channel>...] <command>"
msgstr "[-current] [-exclude=<canal>[,<canal>...]] <comando> [<argumentos>]" msgstr "[-current] [-exclude=<canal>[,<canal>...]] <comando> [<argumentos>]"
#, fuzzy #, fuzzy
@@ -9535,8 +9459,8 @@ msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] [-" "[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] "
"include=<nick>[,<nick>...]] <command>" "-include=<nick>[,<nick>...] <command>"
msgstr "[-current] [-exclude=<nick>[,<nick>...]] <comando> [<argumentos>]" msgstr "[-current] [-exclude=<nick>[,<nick>...]] <comando> [<argumentos>]"
#, fuzzy #, fuzzy
@@ -9592,8 +9516,8 @@ msgstr "executar um comando em todos os servidores conectados"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-exclude=<server>[,<server>...]] <command> || [-include=<server>[," "[-exclude=<server>[,<server>...]] <command> || -include=<server>[,"
"<server>...]] <command>" "<server>...] <command>"
msgstr "[-exclude=<servidor>[,<servidor>...]] <comando> [<argumentos>]" msgstr "[-exclude=<servidor>[,<servidor>...]] <comando> [<argumentos>]"
msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)" msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)"
@@ -9764,7 +9688,7 @@ msgid ""
msgstr "" msgstr ""
msgid "" msgid ""
"raw[ack]: acknowledge capabilities which require client-side acknowledgment" "raw[ack]: acknowledge capabilities which require client-side acknowledgement"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -11211,7 +11135,7 @@ msgstr ""
msgid "" msgid ""
"%s%s: invalid priorities string, error at this position in string: \"%s\"" "%s%s: invalid priorities string, error at this position in string: \"%s\""
msgstr "" msgstr ""
"%s%s: cadeia de prioridades inválida, erro nesta posição na cadeia: \"%s\"" "%s%s: cadeia de prioridades inválida, erro nesta posição na cadeia: \"%s\""
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s%s: warning: invalid autojoin value \"%s\", see /help %s.%s.%s" msgid "%s%s: warning: invalid autojoin value \"%s\", see /help %s.%s.%s"
@@ -11950,9 +11874,8 @@ msgstr ""
msgid "" msgid ""
"comma-separated list of fields to sort channels (see /help list for a list " "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 \"~\" " "of fields); char \"-\" can be used before field to reverse order, char \"~\" "
"can be used to do a case-insensitive comparison; example: \"-users,~name2\" " "can be used to do a case-insensitive comparison; example: \"-users,~name\" "
"for biggest channels first then case-insensitive sort on channel name " "for biggest channels first then case-insensitive sort on name"
"without prefix"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -12505,8 +12428,8 @@ msgstr "nome do servidor"
msgid "get nick from IRC host" msgid "get nick from IRC host"
msgstr "obter nick do host de IRC" msgstr "obter nick do host de IRC"
msgid "IRC host (like `:nick!name@server`)" msgid "IRC host (like `:nick!name@server.com`)"
msgstr "host de IRC (tal como `:nick!nome@servidor`)" msgstr "host de IRC (tal como `:nick!nome@servidor.com`)"
msgid "" msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by " "get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12749,8 +12672,8 @@ msgstr "%s%s: este buffer não é um canal!"
#, c-format #, c-format
msgid "" msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel " "%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer" "channel, ($)=refresh, (q)=close buffer"
msgstr "" msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list" msgid "Empty list of channels, try \"$\" to refresh list"
@@ -13954,7 +13877,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a " "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 = " "suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation " "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 " "performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option " "should first set the compression type via option "
"logger.file.rotation_compression_type" "logger.file.rotation_compression_type"
@@ -15357,9 +15280,10 @@ msgstr "%s%s: o servidor \"%s\" do comando \"%s\" não foi encontrado"
msgid "%s%s: no connection to remote relay \"%s\"" msgid "%s%s: no connection to remote relay \"%s\""
msgstr "%s%s: não está conectado ao servidor \"%s\"!" msgstr "%s%s: não está conectado ao servidor \"%s\"!"
#, c-format #, fuzzy, c-format
msgid "remote[%s]: auto-reconnection is canceled" #| msgid "%s: auto-reconnection is cancelled"
msgstr "" msgid "remote[%s]: auto-reconnection is cancelled"
msgstr "%s: a reconexão automática foi cancelada"
#, fuzzy, c-format #, fuzzy, c-format
#| msgid "%s%s: server \"%s\" already exists for \"%s\" command" #| msgid "%s%s: server \"%s\" already exists for \"%s\" command"
@@ -15844,11 +15768,11 @@ msgstr ""
#, fuzzy #, fuzzy
msgid "" msgid ""
"comma separated list of hash algorithms used for password authentication in " "comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password " "weechat protocol, among these values: \"plain\" (password in plain text, not "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", " "hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" " "\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" " "to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")" "(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr "" msgstr ""
"lista de plugins separados por vírgula para carregar automaticamente ao " "lista de plugins separados por vírgula para carregar automaticamente ao "
"iniciar, \"*\" significa todos os plugins encontrados, um nome começado com " "iniciar, \"*\" significa todos os plugins encontrados, um nome começado com "
@@ -15857,10 +15781,10 @@ msgstr ""
"tcl\")" "tcl\")"
msgid "" msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" " "number of iterations asked to the client in weechat protocol when a hashed "
"protocols when a hashed password with algorithm PBKDF2 is used for " "password with algorithm PBKDF2 is used for authentication; more iterations "
"authentication; more iterations is better in term of security but is slower " "is better in term of security but is slower to compute; this number should "
"to compute; this number should not be too high if your CPU is slow" "not be too high if your CPU is slow"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -15893,11 +15817,6 @@ msgid ""
"1 are recommended values)" "1 are recommended values)"
msgstr "" 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 #, fuzzy
msgid "" msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-" "POSIX extended regular expression with origins allowed in websockets (case-"
@@ -16021,7 +15940,7 @@ msgstr "número de cliente para reencaminhar"
#, fuzzy #, fuzzy
msgid "" msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; " "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)" "auth_failed, disconnected)"
msgstr "" msgstr ""
"nome de estado (opcional): connecting, waiting_auth, connected, auth_failed, " "nome de estado (opcional): connecting, waiting_auth, connected, auth_failed, "
@@ -16170,10 +16089,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" 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" 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 #, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s" 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" msgstr "%s%s: não foi possível efetuar \"listen\" da porta %d (%s): erro %d %s"
@@ -16214,8 +16129,10 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port" msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: memória insuficiente para escutar nova porta" msgstr "%s%s: memória insuficiente para escutar nova porta"
msgid "Relay WeeChat data to remote applications" msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr "Reencaminhar dados do WeeChat para aplicações remotas" msgstr ""
"Reencaminhar dados do WeeChat para aplicações remotas (protocolos irc/"
"weechat)"
msgid "connecting" msgid "connecting"
msgstr "a conectar" msgstr "a conectar"
@@ -16272,7 +16189,7 @@ msgid ""
"%s%s: too few arguments received from client %s%s%s for command \"%s\" " "%s%s: too few arguments received from client %s%s%s for command \"%s\" "
"(received: %d arguments, expected: at least %d)" "(received: %d arguments, expected: at least %d)"
msgstr "" msgstr ""
"%s%s: argumentos insuficientes recebidos do cliente %s%s%s pelo comando " "%s%s: argumentos insuficientes recebidos do cliente %s%s%s pelo comando "
"\"%s\" (recebido: %d argumentos, esperado: pelo menos %d)" "\"%s\" (recebido: %d argumentos, esperado: pelo menos %d)"
msgid "Support of ruby scripts" msgid "Support of ruby scripts"
@@ -16459,16 +16376,11 @@ msgstr "(nada)"
msgid "Alt+key/input: v=back to list d=jump to diff" msgid "Alt+key/input: v=back to list d=jump to diff"
msgstr "Alt+tecla/entrada: v=voltar à lista d=saltar para o diff" msgstr "Alt+tecla/entrada: v=voltar à lista d=saltar para o diff"
#, fuzzy, c-format #, 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"
msgid "" 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: " "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" "left=select, right=install/remove"
msgstr "" msgstr ""
"%d/%d scripts (filtro: %s) | Ordenar: %s | Alt+tecla/entrada: i=instalar, " "%d/%d scripts (filtro: %s) | Ordenar: %s | Alt+tecla/entrada: i=instalar, "
@@ -16869,11 +16781,6 @@ msgstr "scripts %s carregados:"
msgid "script name with extension" msgid "script name with extension"
msgstr "lista de extensões de script" 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)" msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr "" msgstr ""
"nome do script com extensão (o caráter universal \"*\" é permitido) " "nome do script com extensão (o caráter universal \"*\" é permitido) "
@@ -17878,7 +17785,7 @@ msgid "%s%s: invalid regular expression in trigger: \"%s\""
msgstr "%s%s: expressão regular inválida no acionador: \"%s\"" msgstr "%s%s: expressão regular inválida no acionador: \"%s\""
#. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible #. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible
msgid "Typing: " msgid "Typing:"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -17912,11 +17819,6 @@ msgid ""
"truncate content)" "truncate content)"
msgstr "" msgstr ""
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 ""
msgid "Typing status of users" msgid "Typing status of users"
msgstr "" msgstr ""
@@ -18067,9 +17969,8 @@ msgstr "não aguardar por ACK ao enviar ficheiros"
#| "IP or DNS address used for sending files/chats (if empty, local interface " #| "IP or DNS address used for sending files/chats (if empty, local interface "
#| "IP is used)" #| "IP is used)"
msgid "" msgid ""
"IP or DNS address used for sending and passively receiving files/chats; if " "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 " "empty, local interface IP is used)"
"eval)"
msgstr "" msgstr ""
"IP ou endereço DNS usado para enviar ficheiros/chats (se vazio, é usado o IP " "IP ou endereço DNS usado para enviar ficheiros/chats (se vazio, é usado o IP "
"da interface local)" "da interface local)"
+178 -268
View File
@@ -19,37 +19,14 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>. # along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
# #
# Common conventions used here:
# hotlist -> lista de atividade
# input -> entrada
# scroll -> rolar
# set -> definido
# buffer -> buffer (don't translate it)
# hostname -> hostname
# nick -> apelido
# op/voice -> don't translate irc specific terms (besides nick)
# feature -> característica
# don't translate weechat specific terms, like "left" when used as a option value
# merge -> mesclar
# layout -> disposição
# background -> fundo (quando se referir à cores, janelas)
# comma separated list of X -> lista de X separadas por vírgulas
# status -> status
# away -> ausent (when refers to a nick status)
# cursor -> cursor (don't translate it)
# dump -> dump (don't translate it)
# key bindings -> atalhos de teclado
# bind -> vincular
# handshake -> handshake (don't translate it when related to cryptography)
#
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: WeeChat\n" "Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n" "POT-Creation-Date: 2026-03-16 13:17+0100\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n" "PO-Revision-Date: 2025-10-27 08:27+0100\n"
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\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" "Language: pt_BR\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -57,159 +34,6 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 1.1\n" "X-Generator: Lokalize 1.1\n"
#. TRANSLATORS: command line option "-a", "--no-connect"
#, fuzzy
#| msgid "%s%s: unable to connect to sender"
msgid "disable auto-connect to servers at startup"
msgstr "%s%s: não foi possível conectar ao remetente"
#. TRANSLATORS: command line option "-c", "--colors"
msgid "display default colors in terminal and exit"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "-d, --dir <path>"
msgstr ""
#. TRANSLATORS: command line option "-d", "--dir <path>"
msgid ""
"force a single WeeChat home directory or 5 different directories separated "
"by colons (in this order: config, data, state, cache, runtime) (environment "
"variable WEECHAT_HOME is read if this option is not given)"
msgstr ""
#. TRANSLATORS: command line option "-t", "--temp-dir"
msgid ""
"create a temporary WeeChat home directory and delete it on exit "
"(incompatible with option \"-d\")"
msgstr ""
#. TRANSLATORS: command line option "-h", "--help"
#, fuzzy
#| msgid "use same nick color for channel and private"
msgid "display this help and exit"
msgstr "utilizar a mesma cor de apelido para canal e privado"
#. TRANSLATORS: command line option "-i", "--build-info"
msgid "display build information and exit"
msgstr ""
#. TRANSLATORS: command line option "-l", "--license"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "display WeeChat license and exit"
msgstr "mosta o logo do WeeChat na inicialização"
#. TRANSLATORS: command line option "-p", "--no-plugin"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "don't load any plugin at startup"
msgstr "mosta o logo do WeeChat na inicialização"
#. TRANSLATORS: only "<plugins>" may be translated
msgid "-P, --plugins <plugins>"
msgstr ""
#. TRANSLATORS: command line option "-P", "--plugins <plugins>"
msgid "load only these plugins at startup (see /help weechat.plugin.autoload)"
msgstr ""
#. TRANSLATORS: only "<cmd>" may be translated (please keep it short)
msgid "-r, --run-command <cmd>"
msgstr ""
#. TRANSLATORS: command line option "-r", "--run-command <cmd>"
#, fuzzy
msgid ""
"run command(s) after startup; many commands can be separated by semicolons "
"and are evaluated, this option can be given multiple times"
msgstr ""
"comando executado quando o WeeChat inicia, após o carregamento dos plugins "
"(nota: o conteúdo é avaliado, veja /help eval)"
#. TRANSLATORS: command line option "-s", "--no-script"
msgid "don't load any script at startup"
msgstr ""
#. TRANSLATORS: command line option "--upgrade"
#, fuzzy
msgid "upgrade WeeChat using session files (see /help upgrade in WeeChat)"
msgstr "%sErro: incapaz de salvar a sessão em arquivo"
#. TRANSLATORS: command line option "-v", "--version"
#, fuzzy
#| msgid "display WeeChat version at startup"
msgid "display WeeChat version and exit"
msgstr "mosta a versão do WeeChat na inicialização"
#. TRANSLATORS: command line option: "plugin" and "option" may be translated
#, fuzzy
#| msgid "plugin pointer (optional)"
msgid "plugin:option"
msgstr "pointeiro do plugin (opcional)"
#. TRANSLATORS: command line option "plugin:option"
msgid "option for plugin (see man weechat)"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "--doc-gen <path>"
msgstr ""
#. TRANSLATORS: command line option "--doc-gen <path>"
msgid "generate files to build documentation and exit"
msgstr ""
#. TRANSLATORS: command line option "--daemon"
msgid ""
"run WeeChat as a daemon (fork, new process group, file descriptors closed); "
"by default in headless mode WeeChat is blocking and does not run in "
"background"
msgstr ""
#. TRANSLATORS: command line option "--stdout"
msgid ""
"display log messages on standard output instead of writing them in log file "
"(option ignored if option \"--daemon\" is given)"
msgstr ""
#. TRANSLATORS: command line option "--no-dlclose"
msgid "do not call function dlclose after plugins are unloaded"
msgstr ""
#. TRANSLATORS: command line option "--no-gnutls"
msgid "disable init/deinit of gnutls"
msgstr ""
#. TRANSLATORS: command line option "--no-gcrypt"
msgid "disable init/deinit of gcrypt"
msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
msgstr ""
"WeeChat %s Copyright %s, compilado em %s %s\n"
"Desenvolvido por %s <%s> - %s"
msgid "Usage:"
msgstr "Uso:"
msgid "[option...] [plugin:option...]"
msgstr "[opção...] [plugin:opção...]"
msgid "Extra options in headless mode:"
msgstr ""
msgid "Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):"
msgstr ""
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "Erro: faltando argumento para opção \"%s\"\n"
msgid "List of bars:" msgid "List of bars:"
msgstr "Lista de barras:" msgstr "Lista de barras:"
@@ -317,7 +141,7 @@ msgid "%sUnable to scroll bar \"%s\""
msgstr "%sErro: não foi possível rolar a barra \"%s\"" msgstr "%sErro: não foi possível rolar a barra \"%s\""
#, fuzzy, c-format #, fuzzy, c-format
msgid "%sBuffer number %d is out of range (it must be between 1 and %d)" msgid "%sBuffer number \"%d\" is out of range (it must be between 1 and %d)"
msgstr "%sNúmero de cor inválido \"%s\" (precisa ser entre %d e %d)" msgstr "%sNúmero de cor inválido \"%s\" (precisa ser entre %d e %d)"
msgid "Buffers list:" msgid "Buffers list:"
@@ -680,9 +504,9 @@ msgstr ""
"de segurança)" "de segurança)"
#, c-format #, c-format
msgid "%d new key added (context: \"%s\")" msgid "%d new key added"
msgid_plural "%d new keys added (context: \"%s\")" msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "%d nova tecla adicionada (context: \"%s\")" msgstr[0] "%d nova tecla adicionada"
msgstr[1] "%d novas teclas adicionadas (context: \"%s\")" msgstr[1] "%d novas teclas adicionadas (context: \"%s\")"
#, fuzzy #, fuzzy
@@ -1201,16 +1025,6 @@ msgstr ""
"message: mensagem para ausência (se nenhuma mensagem for fornecida, o status " "message: mensagem para ausência (se nenhuma mensagem for fornecida, o status "
"de ausência é removido)" "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" msgid "manage bars"
msgstr "gerenciar barras" msgstr "gerenciar barras"
@@ -1312,7 +1126,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.bar." "option: option to change (for options list, look at /set weechat.bar."
"<bar_name>.*)" "<barname>.*)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -1805,7 +1619,7 @@ msgstr "avaliar expressão"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-n|-s] [-e] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> " "[-n|-s] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> "
"<expression2>" "<expression2>"
msgstr "[-n|-s] <expression> || [-n] -c <expression1> <operator> <expression2>" msgstr "[-n|-s] <expression> || [-n] -c <expression1> <operator> <expression2>"
@@ -1817,9 +1631,6 @@ msgid ""
"separated by semicolons)" "separated by semicolons)"
msgstr "" msgstr ""
msgid "raw[-e]: evaluate all commands before executing them"
msgstr ""
msgid "" msgid ""
"raw[-d]: display debug output after evaluation (with two -d: more verbose " "raw[-d]: display debug output after evaluation (with two -d: more verbose "
"debug)" "debug)"
@@ -2363,7 +2174,7 @@ msgstr "mostra a ajuda sobre comandos e opções"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
#| msgid "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>" #| msgid "-list|-listfull [<plugin> [<plugin>...]] || <command> || <option>"
msgid "-list|-listfull [<plugin>...] || <command> || <option>" msgid "-list|-listfull [<plugin>...]] || <command> || <option>"
msgstr "-list|-listfull [<plugin> [<plugin>...]] || <comando> || <opção>" msgstr "-list|-listfull [<plugin> [<plugin>...]] || <comando> || <opção>"
msgid "" msgid ""
@@ -2426,9 +2237,9 @@ msgid "raw[clear]: clear hotlist"
msgstr "" msgstr ""
msgid "" msgid ""
"level: \"lowest\" to clear only lowest level in hotlist, \"highest\" to " "level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear "
"clear only highest level in hotlist, or level mask: integer which is a " "only highest level in hotlist, or level mask: integer which is a combination "
"combination of 1=join/part, 2=message, 4=private, 8=highlight" "of 1=join/part, 2=message, 4=private, 8=highlight"
msgstr "" msgstr ""
msgid "raw[remove]: remove current buffer from hotlist" msgid "raw[remove]: remove current buffer from hotlist"
@@ -3319,7 +3130,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.proxy." "option: option to change (for options list, look at /set weechat.proxy."
"<proxy_name>.*)" "<proxyname>.*)"
msgstr "" msgstr ""
msgid " add a http proxy, running on local host, port 8888:" msgid " add a http proxy, running on local host, port 8888:"
@@ -3590,20 +3401,20 @@ msgstr ""
msgid " encrypt libera SASL password:" msgid " encrypt libera SASL password:"
msgstr "" msgstr ""
msgid " /secure set libera my_password" msgid " /secure set libera mypassword"
msgstr "" msgstr ""
msgid " encrypt oftc password for nickserv:" msgid " encrypt oftc password for nickserv:"
msgstr "" msgstr ""
msgid " /secure set oftc my_password" msgid " /secure set oftc mypassword"
msgstr "" msgstr ""
msgid " alias to ghost the nick \"andrew\":" msgid " alias to ghost the nick \"mynick\":"
msgstr "" msgstr ""
msgid "" msgid ""
" /alias add ghost /eval /msg -server libera nickserv ghost andrew $" " /alias add ghost /eval /msg -server libera nickserv ghost mynick $"
"{sec.data.libera}" "{sec.data.libera}"
msgstr "" msgstr ""
@@ -3866,7 +3677,7 @@ msgstr ""
msgid "With option \"-quit\", the process is:" msgid "With option \"-quit\", the process is:"
msgstr "" msgstr ""
msgid " 1. close *ALL* connections (irc, xfer, relay, etc.)" msgid " 1. close *ALL* connections (irc, xfer, relay, ...)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -6271,7 +6082,7 @@ msgstr ""
msgid "read - object type" msgid "read - object type"
msgstr "" msgstr ""
msgid "read - bad object type (\"object start\" expected)" msgid "read - bad object type ('object start' expected)"
msgstr "" msgstr ""
msgid "read - object id" msgid "read - object id"
@@ -6386,6 +6197,133 @@ msgstr ""
msgid "End of URL transfer '%s', transfer stopped" msgid "End of URL transfer '%s', transfer stopped"
msgstr "" msgstr ""
# Common conventions used here:
# hotlist -> lista de atividade
# input -> entrada
# scroll -> rolar
# set -> definido
# buffer -> buffer (don't translate it)
# hostname -> hostname
# nick -> apelido
# op/voice -> don't translate irc specific terms (besides nick)
# feature -> característica
# don't translate weechat specific terms, like "left" when used as a option value
# merge -> mesclar
# layout -> disposição
# background -> fundo (quando se referir à cores, janelas)
# comma separated list of X -> lista de X separadas por vírgulas
# status -> status
# away -> ausent (when refers to a nick status)
# cursor -> cursor (don't translate it)
# dump -> dump (don't translate it)
# key bindings -> atalhos de teclado
# bind -> vincular
# handshake -> handshake (don't translate it when related to cryptography)
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Copyright %s, compilado em %s %s\n"
"Desenvolvido por Sébastien Helleu <flashcode@flashtux.org> - %s"
#, c-format
msgid "Usage: %s [option...] [plugin:option...]\n"
msgstr "Uso: %s [opção...] [plugin:opção...]\n"
#, fuzzy
msgid ""
" -a, --no-connect disable auto-connect to servers at startup\n"
" -c, --colors display default colors in terminal and exit\n"
" -d, --dir <path> force a single WeeChat home directory\n"
" or 5 different directories separated by colons "
"(in this order: config, data, state, cache, runtime)\n"
" (environment variable WEECHAT_HOME is read if "
"this option is not given)\n"
" -t, --temp-dir create a temporary WeeChat home directory and "
"delete it on exit\n"
" (incompatible with option \"-d\")\n"
" -h, --help display this help and exit\n"
" -i, --build-info display build information and exit\n"
" -l, --license display WeeChat license and exit\n"
" -p, --no-plugin don't load any plugin at startup\n"
" -P, --plugins <plugins> load only these plugins at startup\n"
" (see /help weechat.plugin.autoload)\n"
" -r, --run-command <cmd> run command(s) after startup;\n"
" many commands can be separated by semicolons and "
"are evaluated,\n"
" this option can be given multiple times\n"
" -s, --no-script don't load any script at startup\n"
" --upgrade upgrade WeeChat using session files (see /help "
"upgrade in WeeChat)\n"
" -v, --version display WeeChat version and exit\n"
" plugin:option option for plugin (see man weechat)\n"
msgstr ""
" -a, --no-connect desabilita a auto-conexão a servidores durante a "
"inicialização\n"
" -c, --colors exibe as cores padrões no terminal\n"
" -d, --dir <path> configura diretório do WeeChat (padrão: "
"~/.weechat)\n"
" (a variável de ambiente WEECHAT_HOME é lida "
"seessa opção não for dada)\n"
" -t, --temp-dir cria um diretório temporário para o WeeChat e "
"odeleta na saída\n"
" -h, --help mostra esta ajuda\n"
" -l, --license mostra a licença do WeeChat\n"
" -p, --no-plugin não carrega nenhum plugin durante a "
"inicialização\n"
" -P, --plugins <plugins> carregue apenas esses plugins na inicialização\n"
" (veja /help weechat.plugin.autoload)\n"
" -r, --run-command <cmd> executa comandos após a inicialização;\n"
" vários comandos podem ser separados por ponto-e-"
"vírgula,\n"
" essa opção pode ser utilizada mais de uma vez\n"
" -s, --no-script não carrega nenhum script durante a "
"inicialização\n"
" --upgrade atualiza o WeeChat através dos arquivos de sessão "
"(veja /help upgrade no WeeChat)\n"
" -v, --version mostra a versão do WeeChat\n"
" plugin:option opção para o plugin (veja o manual do WeeChat)\n"
msgid "Extra options in headless mode:\n"
msgstr ""
msgid ""
" --doc-gen <path> generate files to build documentation and exit\n"
msgstr ""
msgid ""
" --daemon run WeeChat as a daemon (fork, new process group, "
"file descriptors closed);\n"
msgstr ""
msgid ""
" (by default in headless mode WeeChat is blocking "
"and does not run in background)\n"
msgstr ""
msgid ""
" --stdout display log messages on standard output instead "
"of writing them in log file\n"
msgstr ""
msgid ""
" (option ignored if option \"--daemon\" is given)\n"
msgstr ""
msgid ""
"Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):\n"
" --no-dlclose do not call function dlclose after plugins are "
"unloaded\n"
" --no-gnutls disable init/deinit of gnutls\n"
" --no-gcrypt disable init/deinit of gcrypt\n"
msgstr ""
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "Erro: faltando argumento para opção \"%s\"\n"
#, fuzzy #, fuzzy
msgid "WeeChat is running in headless mode (ctrl-c to quit)." msgid "WeeChat is running in headless mode (ctrl-c to quit)."
msgstr "1 se o WeeChat está sendo atualizado (comando `/upgrade`)" msgstr "1 se o WeeChat está sendo atualizado (comando `/upgrade`)"
@@ -7102,7 +7040,7 @@ msgstr ""
msgid "" msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at " " - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option " "0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions)" "buflist.look.display_conditions"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -8678,7 +8616,7 @@ msgid "%s%s: not connected to server \"%s\"!"
msgstr "" msgstr ""
#, c-format #, c-format
msgid "%s: auto-reconnection is canceled" msgid "%s: auto-reconnection is cancelled"
msgstr "" msgstr ""
#, c-format #, c-format
@@ -8840,14 +8778,6 @@ msgid_plural "seconds"
msgstr[0] "segundo" msgstr[0] "segundo"
msgstr[1] "segundos" msgstr[1] "segundos"
#, fuzzy
#| msgid "second"
#| msgid_plural "seconds"
msgid "millisecond"
msgid_plural "milliseconds"
msgstr[0] "segundo"
msgstr[1] "segundos"
msgid "minute" msgid "minute"
msgid_plural "minutes" msgid_plural "minutes"
msgstr[0] "minuto" msgstr[0] "minuto"
@@ -8992,7 +8922,7 @@ msgstr ""
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-" "[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-"
"current] [-parted|-all] [-include=<channel>[,<channel>...]] <command>" "current] [-parted|-all] -include=<channel>[,<channel>...] <command>"
msgstr "<apelido>[,<apelido>...] [<contador> [<target>]]" msgstr "<apelido>[,<apelido>...] [<contador> [<target>]]"
#, fuzzy #, fuzzy
@@ -9081,8 +9011,8 @@ msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] [-" "[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] "
"include=<nick>[,<nick>...]] <command>" "-include=<nick>[,<nick>...] <command>"
msgstr "<apelido>[,<apelido>...] [<contador> [<target>]]" msgstr "<apelido>[,<apelido>...] [<contador> [<target>]]"
msgid "" msgid ""
@@ -9134,8 +9064,8 @@ msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "" msgid ""
"[-exclude=<server>[,<server>...]] <command> || [-include=<server>[," "[-exclude=<server>[,<server>...]] <command> || -include=<server>[,"
"<server>...]] <command>" "<server>...] <command>"
msgstr "" msgstr ""
msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)" msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)"
@@ -9283,7 +9213,7 @@ msgid ""
msgstr "" msgstr ""
msgid "" msgid ""
"raw[ack]: acknowledge capabilities which require client-side acknowledgment" "raw[ack]: acknowledge capabilities which require client-side acknowledgement"
msgstr "" msgstr ""
msgid "raw[end]: end the capability negotiation" msgid "raw[end]: end the capability negotiation"
@@ -11196,9 +11126,8 @@ msgstr ""
msgid "" msgid ""
"comma-separated list of fields to sort channels (see /help list for a list " "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 \"~\" " "of fields); char \"-\" can be used before field to reverse order, char \"~\" "
"can be used to do a case-insensitive comparison; example: \"-users,~name2\" " "can be used to do a case-insensitive comparison; example: \"-users,~name\" "
"for biggest channels first then case-insensitive sort on channel name " "for biggest channels first then case-insensitive sort on name"
"without prefix"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -11654,8 +11583,8 @@ msgstr "nome do servidor"
msgid "get nick from IRC host" msgid "get nick from IRC host"
msgstr "obter apelido de host IRC" msgstr "obter apelido de host IRC"
msgid "IRC host (like `:nick!name@server`)" msgid "IRC host (like `:nick!name@server.com`)"
msgstr "host IRC (exemplo: `:apelido!nome@servidor`)" msgstr "host IRC (exemplo: `:apelido!nome@servidor.com`)"
msgid "" msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by " "get nick color code (*deprecated* since version 1.5, replaced by "
@@ -11891,8 +11820,8 @@ msgstr "%s%s: este buffer não é um canal!"
#, c-format #, c-format
msgid "" msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel " "%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer" "channel, ($)=refresh, (q)=close buffer"
msgstr "" msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list" msgid "Empty list of channels, try \"$\" to refresh list"
@@ -13056,7 +12985,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a " "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 = " "suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation " "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 " "performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option " "should first set the compression type via option "
"logger.file.rotation_compression_type" "logger.file.rotation_compression_type"
@@ -14434,7 +14363,7 @@ msgstr "%s%s: sem conexão com o servidor \"%s\" para redirecionamento"
#, fuzzy, c-format #, fuzzy, c-format
#| msgid "%s%s: connection refused" #| msgid "%s%s: connection refused"
msgid "remote[%s]: auto-reconnection is canceled" msgid "remote[%s]: auto-reconnection is cancelled"
msgstr "%s%s: conexão recusada" msgstr "%s%s: conexão recusada"
#, fuzzy, c-format #, fuzzy, c-format
@@ -14888,11 +14817,11 @@ msgstr ""
#, fuzzy #, fuzzy
msgid "" msgid ""
"comma separated list of hash algorithms used for password authentication in " "comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password " "weechat protocol, among these values: \"plain\" (password in plain text, not "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", " "hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" " "\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" " "to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")" "(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr "" msgstr ""
"lista separada por vírgulas dos plugins para carregar automaticamente " "lista separada por vírgulas dos plugins para carregar automaticamente "
"nainicialização, \"*\" significa todos os plugins encontrados, um nome " "nainicialização, \"*\" significa todos os plugins encontrados, um nome "
@@ -14901,10 +14830,10 @@ msgstr ""
"plugins (exemplos: \"*\" ou \"*,!lua,!tcl\")" "plugins (exemplos: \"*\" ou \"*,!lua,!tcl\")"
msgid "" msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" " "number of iterations asked to the client in weechat protocol when a hashed "
"protocols when a hashed password with algorithm PBKDF2 is used for " "password with algorithm PBKDF2 is used for authentication; more iterations "
"authentication; more iterations is better in term of security but is slower " "is better in term of security but is slower to compute; this number should "
"to compute; this number should not be too high if your CPU is slow" "not be too high if your CPU is slow"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -14937,11 +14866,6 @@ msgid ""
"1 are recommended values)" "1 are recommended values)"
msgstr "" 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 #, fuzzy
msgid "" msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-" "POSIX extended regular expression with origins allowed in websockets (case-"
@@ -15060,7 +14984,7 @@ msgstr "numero de clientes para o relay"
#. TRANSLATORS: please do not translate the status names, they must be used in English #. TRANSLATORS: please do not translate the status names, they must be used in English
msgid "" msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; " "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)" "auth_failed, disconnected)"
msgstr "" msgstr ""
@@ -15180,10 +15104,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" msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: erro ao associar (\"bind\") na porta %d (%s.%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 #, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s" 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)" msgstr "%s%s: não foi possível aceitar o cliente na porta %d (%s.%s)"
@@ -15220,7 +15140,7 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port" msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: memória insuficiente para escutar na nova porta" 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 "" msgstr ""
msgid "connecting" msgid "connecting"
@@ -15464,9 +15384,9 @@ msgstr "Alt+key/input: v=volta para lista d=pular para o diff"
#, c-format #, c-format
msgid "" 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: " "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" "left=select, right=install/remove"
msgstr "" msgstr ""
@@ -15838,10 +15758,6 @@ msgstr "scripts %s carregados:"
msgid "script name with extension" msgid "script name with extension"
msgstr "list de scripts" 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 #, fuzzy
msgid "script name with extension (wildcard \"*\" is allowed) (optional)" msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr "" msgstr ""
@@ -16779,7 +16695,7 @@ msgid "%s%s: invalid regular expression in trigger: \"%s\""
msgstr "%s%s: erro ao compilar expressão regular \"%s\"" msgstr "%s%s: erro ao compilar expressão regular \"%s\""
#. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible #. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible
msgid "Typing: " msgid "Typing:"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -16813,11 +16729,6 @@ msgid ""
"truncate content)" "truncate content)"
msgstr "" msgstr ""
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 ""
msgid "Typing status of users" msgid "Typing status of users"
msgstr "" msgstr ""
@@ -16968,9 +16879,8 @@ msgstr "não esperar por ACK quando enviar arquivo"
#| "IP or DNS address used for sending files/chats (if empty, local interface " #| "IP or DNS address used for sending files/chats (if empty, local interface "
#| "IP is used)" #| "IP is used)"
msgid "" msgid ""
"IP or DNS address used for sending and passively receiving files/chats; if " "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 " "empty, local interface IP is used)"
"eval)"
msgstr "" msgstr ""
"Endereço IP ou DNS usado para enviar arquivos/chats (se vazio, interface " "Endereço IP ou DNS usado para enviar arquivos/chats (se vazio, interface "
"local IP é usada)" "local IP é usada)"
+147 -241
View File
@@ -23,10 +23,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: WeeChat\n" "Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n" "POT-Creation-Date: 2026-03-16 13:17+0100\n"
"PO-Revision-Date: 2026-03-08 08:59+0100\n" "PO-Revision-Date: 2025-10-27 08:27+0100\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\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" "Language: ru\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -35,154 +35,6 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Poedit-Bookmarks: -1,-1,608,-1,-1,-1,-1,-1,-1,-1\n" "X-Poedit-Bookmarks: -1,-1,608,-1,-1,-1,-1,-1,-1,-1\n"
#. TRANSLATORS: command line option "-a", "--no-connect"
#, fuzzy
msgid "disable auto-connect to servers at startup"
msgstr "%s DCC: не могу соединиться с отправителем\n"
#. TRANSLATORS: command line option "-c", "--colors"
msgid "display default colors in terminal and exit"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "-d, --dir <path>"
msgstr ""
#. TRANSLATORS: command line option "-d", "--dir <path>"
msgid ""
"force a single WeeChat home directory or 5 different directories separated "
"by colons (in this order: config, data, state, cache, runtime) (environment "
"variable WEECHAT_HOME is read if this option is not given)"
msgstr ""
#. TRANSLATORS: command line option "-t", "--temp-dir"
msgid ""
"create a temporary WeeChat home directory and delete it on exit "
"(incompatible with option \"-d\")"
msgstr ""
#. TRANSLATORS: command line option "-h", "--help"
#, fuzzy
msgid "display this help and exit"
msgstr "цвет ника собеседника в окне привата"
#. TRANSLATORS: command line option "-i", "--build-info"
msgid "display build information and exit"
msgstr ""
#. TRANSLATORS: command line option "-l", "--license"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "display WeeChat license and exit"
msgstr "отображать логотип WeeChat при запуске"
#. TRANSLATORS: command line option "-p", "--no-plugin"
#, fuzzy
#| msgid "display WeeChat logo at startup"
msgid "don't load any plugin at startup"
msgstr "отображать логотип WeeChat при запуске"
#. TRANSLATORS: only "<plugins>" may be translated
msgid "-P, --plugins <plugins>"
msgstr ""
#. TRANSLATORS: command line option "-P", "--plugins <plugins>"
msgid "load only these plugins at startup (see /help weechat.plugin.autoload)"
msgstr ""
#. TRANSLATORS: only "<cmd>" may be translated (please keep it short)
msgid "-r, --run-command <cmd>"
msgstr ""
#. TRANSLATORS: command line option "-r", "--run-command <cmd>"
#, fuzzy
msgid ""
"run command(s) after startup; many commands can be separated by semicolons "
"and are evaluated, this option can be given multiple times"
msgstr "ник, используемый на IRC сервере"
#. TRANSLATORS: command line option "-s", "--no-script"
msgid "don't load any script at startup"
msgstr ""
#. TRANSLATORS: command line option "--upgrade"
#, fuzzy
msgid "upgrade WeeChat using session files (see /help upgrade in WeeChat)"
msgstr "%s не могу сохранить сессию в файл\n"
#. TRANSLATORS: command line option "-v", "--version"
#, fuzzy
#| msgid "display WeeChat version at startup"
msgid "display WeeChat version and exit"
msgstr "отображать версию WeeChat при запуске"
#. TRANSLATORS: command line option: "plugin" and "option" may be translated
#, fuzzy
msgid "plugin:option"
msgstr " (нет pluginа)\n"
#. TRANSLATORS: command line option "plugin:option"
msgid "option for plugin (see man weechat)"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "--doc-gen <path>"
msgstr ""
#. TRANSLATORS: command line option "--doc-gen <path>"
msgid "generate files to build documentation and exit"
msgstr ""
#. TRANSLATORS: command line option "--daemon"
msgid ""
"run WeeChat as a daemon (fork, new process group, file descriptors closed); "
"by default in headless mode WeeChat is blocking and does not run in "
"background"
msgstr ""
#. TRANSLATORS: command line option "--stdout"
msgid ""
"display log messages on standard output instead of writing them in log file "
"(option ignored if option \"--daemon\" is given)"
msgstr ""
#. TRANSLATORS: command line option "--no-dlclose"
msgid "do not call function dlclose after plugins are unloaded"
msgstr ""
#. TRANSLATORS: command line option "--no-gnutls"
msgid "disable init/deinit of gnutls"
msgstr ""
#. TRANSLATORS: command line option "--no-gcrypt"
msgid "disable init/deinit of gcrypt"
msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, fuzzy, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
msgstr ""
"%s Copyright (C) 2003-2010, собран %s %s\n"
"Разработчик - Sébastien Helleu <flashcode@flashtux.org> - %s"
msgid "Usage:"
msgstr "Использование:"
msgid "[option...] [plugin:option...]"
msgstr "[опция...] [расширение:опция...]"
msgid "Extra options in headless mode:"
msgstr ""
msgid "Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):"
msgstr ""
#, fuzzy, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "%s нет аргумента для параметра \"%s\"\n"
#, fuzzy #, fuzzy
msgid "List of bars:" msgid "List of bars:"
msgstr "Список сокращений:\n" msgstr "Список сокращений:\n"
@@ -293,7 +145,7 @@ msgid "%sUnable to scroll bar \"%s\""
msgstr "%s не могу сохранить конфигурационный файл pluginов\n" msgstr "%s не могу сохранить конфигурационный файл pluginов\n"
#, fuzzy, c-format #, fuzzy, c-format
msgid "%sBuffer number %d is out of range (it must be between 1 and %d)" msgid "%sBuffer number \"%d\" is out of range (it must be between 1 and %d)"
msgstr "%sОшибочный код цвета \"%s\" (должен быть в диапазоне от %d до %d)" msgstr "%sОшибочный код цвета \"%s\" (должен быть в диапазоне от %d до %d)"
msgid "Buffers list:" msgid "Buffers list:"
@@ -652,12 +504,12 @@ msgid "%sArgument \"-yes\" is required for keys reset (security reason)"
msgstr "" msgstr ""
"%s аргумент \"-yes\" необходим для сброса ключей (в целях безопасности)\n" "%s аргумент \"-yes\" необходим для сброса ключей (в целях безопасности)\n"
#, c-format #, fuzzy, c-format
msgid "%d new key added (context: \"%s\")" msgid "%d new key added"
msgid_plural "%d new keys added (context: \"%s\")" msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "" msgstr[0] "Игнорирования не заданы.\n"
msgstr[1] "" msgstr[1] "Игнорирования не заданы.\n"
msgstr[2] "" msgstr[2] "Игнорирования не заданы.\n"
#, fuzzy #, fuzzy
msgid "Stored layouts:" msgid "Stored layouts:"
@@ -1179,16 +1031,6 @@ msgstr ""
" -all: включить режим \"отсутствую\" на всех подключенных серверах\n" " -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 #, fuzzy
msgid "manage bars" msgid "manage bars"
msgstr "управление буферами" msgstr "управление буферами"
@@ -1281,7 +1123,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.bar." "option: option to change (for options list, look at /set weechat.bar."
"<bar_name>.*)" "<barname>.*)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -1734,7 +1576,7 @@ msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "" msgid ""
"[-n|-s] [-e] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> " "[-n|-s] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> "
"<expression2>" "<expression2>"
msgstr "" msgstr ""
@@ -1746,9 +1588,6 @@ msgid ""
"separated by semicolons)" "separated by semicolons)"
msgstr "" msgstr ""
msgid "raw[-e]: evaluate all commands before executing them"
msgstr ""
msgid "" msgid ""
"raw[-d]: display debug output after evaluation (with two -d: more verbose " "raw[-d]: display debug output after evaluation (with two -d: more verbose "
"debug)" "debug)"
@@ -2270,7 +2109,7 @@ msgid "display help about commands and options"
msgstr "отобразить помощь по командам" msgstr "отобразить помощь по командам"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "-list|-listfull [<plugin>...] || <command> || <option>" msgid "-list|-listfull [<plugin>...]] || <command> || <option>"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -2330,9 +2169,9 @@ msgid "raw[clear]: clear hotlist"
msgstr "" msgstr ""
msgid "" msgid ""
"level: \"lowest\" to clear only lowest level in hotlist, \"highest\" to " "level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear "
"clear only highest level in hotlist, or level mask: integer which is a " "only highest level in hotlist, or level mask: integer which is a combination "
"combination of 1=join/part, 2=message, 4=private, 8=highlight" "of 1=join/part, 2=message, 4=private, 8=highlight"
msgstr "" msgstr ""
msgid "raw[remove]: remove current buffer from hotlist" msgid "raw[remove]: remove current buffer from hotlist"
@@ -3197,7 +3036,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.proxy." "option: option to change (for options list, look at /set weechat.proxy."
"<proxy_name>.*)" "<proxyname>.*)"
msgstr "" msgstr ""
msgid " add a http proxy, running on local host, port 8888:" msgid " add a http proxy, running on local host, port 8888:"
@@ -3434,20 +3273,20 @@ msgstr ""
msgid " encrypt libera SASL password:" msgid " encrypt libera SASL password:"
msgstr "" msgstr ""
msgid " /secure set libera my_password" msgid " /secure set libera mypassword"
msgstr "" msgstr ""
msgid " encrypt oftc password for nickserv:" msgid " encrypt oftc password for nickserv:"
msgstr "" msgstr ""
msgid " /secure set oftc my_password" msgid " /secure set oftc mypassword"
msgstr "" msgstr ""
msgid " alias to ghost the nick \"andrew\":" msgid " alias to ghost the nick \"mynick\":"
msgstr "" msgstr ""
msgid "" msgid ""
" /alias add ghost /eval /msg -server libera nickserv ghost andrew $" " /alias add ghost /eval /msg -server libera nickserv ghost mynick $"
"{sec.data.libera}" "{sec.data.libera}"
msgstr "" msgstr ""
@@ -3687,7 +3526,7 @@ msgstr ""
msgid "With option \"-quit\", the process is:" msgid "With option \"-quit\", the process is:"
msgstr "" msgstr ""
msgid " 1. close *ALL* connections (irc, xfer, relay, etc.)" msgid " 1. close *ALL* connections (irc, xfer, relay, ...)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -4491,7 +4330,7 @@ msgstr ""
"(см. /help quit)" "(см. /help quit)"
msgid "display special message when day changes" msgid "display special message when day changes"
msgstr "отображать специальное сообщение при смене дня" msgstr "отображать специальное сообщение при смене дня"
#. TRANSLATORS: string "${color:xxx}" must NOT be translated #. TRANSLATORS: string "${color:xxx}" must NOT be translated
#, fuzzy #, fuzzy
@@ -5944,7 +5783,7 @@ msgstr " . строковой тип (значения: "
msgid "read - object type" msgid "read - object type"
msgstr "" msgstr ""
msgid "read - bad object type (\"object start\" expected)" msgid "read - bad object type ('object start' expected)"
msgstr "" msgstr ""
msgid "read - object id" msgid "read - object id"
@@ -6059,6 +5898,99 @@ msgstr ""
msgid "End of URL transfer '%s', transfer stopped" msgid "End of URL transfer '%s', transfer stopped"
msgstr "" msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, fuzzy, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"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"
#, c-format
msgid "Usage: %s [option...] [plugin:option...]\n"
msgstr "Использование: %s [опция...] [расширение:опция...]\n"
#, fuzzy
msgid ""
" -a, --no-connect disable auto-connect to servers at startup\n"
" -c, --colors display default colors in terminal and exit\n"
" -d, --dir <path> force a single WeeChat home directory\n"
" or 5 different directories separated by colons "
"(in this order: config, data, state, cache, runtime)\n"
" (environment variable WEECHAT_HOME is read if "
"this option is not given)\n"
" -t, --temp-dir create a temporary WeeChat home directory and "
"delete it on exit\n"
" (incompatible with option \"-d\")\n"
" -h, --help display this help and exit\n"
" -i, --build-info display build information and exit\n"
" -l, --license display WeeChat license and exit\n"
" -p, --no-plugin don't load any plugin at startup\n"
" -P, --plugins <plugins> load only these plugins at startup\n"
" (see /help weechat.plugin.autoload)\n"
" -r, --run-command <cmd> run command(s) after startup;\n"
" many commands can be separated by semicolons and "
"are evaluated,\n"
" this option can be given multiple times\n"
" -s, --no-script don't load any script at startup\n"
" --upgrade upgrade WeeChat using session files (see /help "
"upgrade in WeeChat)\n"
" -v, --version display WeeChat version and exit\n"
" plugin:option option for plugin (see man weechat)\n"
msgstr ""
" -a, --no-connect не подключаться автоматически при запуске\n"
" -c, --config отобразить параметры конфигурации\n"
" -d, --dir <path> установить домашний каталог WeeChat (по умолчанию: "
"~/.weechat)\n"
" -f, --key-functions отобразить внутренние функции WeeChat для горячих "
"клавиш\n"
" -h, --help эта сравка\n"
" -i, --irc-commands отобразить команды IRC\n"
" -k, --keys отобразить клавиши по умолчанию\n"
" -l, --license отобразить лицензию WeeChat\n"
" -p, --no-plugin не загружать pluginы при запуске\n"
" -v, --version отобразить версию WeeChat\n"
" -w, --weechat-commands отобразить команды WeeChat\n"
msgid "Extra options in headless mode:\n"
msgstr ""
msgid ""
" --doc-gen <path> generate files to build documentation and exit\n"
msgstr ""
msgid ""
" --daemon run WeeChat as a daemon (fork, new process group, "
"file descriptors closed);\n"
msgstr ""
msgid ""
" (by default in headless mode WeeChat is blocking "
"and does not run in background)\n"
msgstr ""
msgid ""
" --stdout display log messages on standard output instead "
"of writing them in log file\n"
msgstr ""
msgid ""
" (option ignored if option \"--daemon\" is given)\n"
msgstr ""
msgid ""
"Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):\n"
" --no-dlclose do not call function dlclose after plugins are "
"unloaded\n"
" --no-gnutls disable init/deinit of gnutls\n"
" --no-gcrypt disable init/deinit of gcrypt\n"
msgstr ""
#, fuzzy, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "%s нет аргумента для параметра \"%s\"\n"
msgid "WeeChat is running in headless mode (ctrl-c to quit)." msgid "WeeChat is running in headless mode (ctrl-c to quit)."
msgstr "" msgstr ""
@@ -6765,7 +6697,7 @@ msgstr ""
msgid "" msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at " " - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option " "0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions)" "buflist.look.display_conditions"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -8293,7 +8225,7 @@ msgid "%s%s: not connected to server \"%s\"!"
msgstr "%s не подключен к серверу \"%s\"!\n" msgstr "%s не подключен к серверу \"%s\"!\n"
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: auto-reconnection is canceled" msgid "%s: auto-reconnection is cancelled"
msgstr "Авто-переподключение отменено\n" msgstr "Авто-переподключение отменено\n"
#, fuzzy, c-format #, fuzzy, c-format
@@ -8455,13 +8387,6 @@ msgstr[0] "секунда"
msgstr[1] "секунда" msgstr[1] "секунда"
msgstr[2] "секунда" msgstr[2] "секунда"
#, fuzzy
msgid "millisecond"
msgid_plural "milliseconds"
msgstr[0] "секунда"
msgstr[1] "секунда"
msgstr[2] "секунда"
#, fuzzy #, fuzzy
msgid "minute" msgid "minute"
msgid_plural "minutes" msgid_plural "minutes"
@@ -8620,7 +8545,7 @@ msgstr "отправить действие на все каналы всех п
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-" "[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-"
"current] [-parted|-all] [-include=<channel>[,<channel>...]] <command>" "current] [-parted|-all] -include=<channel>[,<channel>...] <command>"
msgstr "[сокращение [команда [аргументы]]]" msgstr "[сокращение [команда [аргументы]]]"
#, fuzzy #, fuzzy
@@ -8710,8 +8635,8 @@ msgstr "отправить действие на все каналы всех п
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy #, fuzzy
msgid "" msgid ""
"[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] [-" "[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] "
"include=<nick>[,<nick>...]] <command>" "-include=<nick>[,<nick>...] <command>"
msgstr "[сокращение [команда [аргументы]]]" msgstr "[сокращение [команда [аргументы]]]"
#, fuzzy #, fuzzy
@@ -8761,8 +8686,8 @@ msgstr "отправить сообщение на все каналы всех
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "" msgid ""
"[-exclude=<server>[,<server>...]] <command> || [-include=<server>[," "[-exclude=<server>[,<server>...]] <command> || -include=<server>[,"
"<server>...]] <command>" "<server>...] <command>"
msgstr "" msgstr ""
msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)" msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)"
@@ -8912,7 +8837,7 @@ msgid ""
msgstr "" msgstr ""
msgid "" msgid ""
"raw[ack]: acknowledge capabilities which require client-side acknowledgment" "raw[ack]: acknowledge capabilities which require client-side acknowledgement"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -10880,9 +10805,8 @@ msgstr ""
msgid "" msgid ""
"comma-separated list of fields to sort channels (see /help list for a list " "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 \"~\" " "of fields); char \"-\" can be used before field to reverse order, char \"~\" "
"can be used to do a case-insensitive comparison; example: \"-users,~name2\" " "can be used to do a case-insensitive comparison; example: \"-users,~name\" "
"for biggest channels first then case-insensitive sort on channel name " "for biggest channels first then case-insensitive sort on name"
"without prefix"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -11337,7 +11261,7 @@ msgstr "цель: название сервера"
msgid "get nick from IRC host" msgid "get nick from IRC host"
msgstr "банит ник или хост" msgstr "банит ник или хост"
msgid "IRC host (like `:nick!name@server`)" msgid "IRC host (like `:nick!name@server.com`)"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -11571,8 +11495,8 @@ msgstr "Это окно не является каналом!\n"
#, c-format #, c-format
msgid "" msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel " "%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer" "channel, ($)=refresh, (q)=close buffer"
msgstr "" msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list" msgid "Empty list of channels, try \"$\" to refresh list"
@@ -12696,7 +12620,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a " "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 = " "suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation " "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 " "performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option " "should first set the compression type via option "
"logger.file.rotation_compression_type" "logger.file.rotation_compression_type"
@@ -14027,7 +13951,7 @@ msgid "%s%s: no connection to remote relay \"%s\""
msgstr "%s не подключен к серверу \"%s\"!\n" msgstr "%s не подключен к серверу \"%s\"!\n"
#, fuzzy, c-format #, fuzzy, c-format
msgid "remote[%s]: auto-reconnection is canceled" msgid "remote[%s]: auto-reconnection is cancelled"
msgstr "Авто-переподключение отменено\n" msgstr "Авто-переподключение отменено\n"
#, fuzzy, c-format #, fuzzy, c-format
@@ -14452,21 +14376,21 @@ msgstr ""
#, fuzzy #, fuzzy
msgid "" msgid ""
"comma separated list of hash algorithms used for password authentication in " "comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password " "weechat protocol, among these values: \"plain\" (password in plain text, not "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", " "hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" " "\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" " "to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")" "(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr "" msgstr ""
"разделённый запятыми список автоматически загружаемых при запуске plug-" "разделённый запятыми список автоматически загружаемых при запуске plug-"
"in'ов , \"*\" означает все найденные plug-in'ы (имена могут быть не полными, " "in'ов , \"*\" означает все найденные plug-in'ы (имена могут быть не полными, "
"например \"perl\" успешно загрузит \"libperl.so\")" "например \"perl\" успешно загрузит \"libperl.so\")"
msgid "" msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" " "number of iterations asked to the client in weechat protocol when a hashed "
"protocols when a hashed password with algorithm PBKDF2 is used for " "password with algorithm PBKDF2 is used for authentication; more iterations "
"authentication; more iterations is better in term of security but is slower " "is better in term of security but is slower to compute; this number should "
"to compute; this number should not be too high if your CPU is slow" "not be too high if your CPU is slow"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -14499,11 +14423,6 @@ msgid ""
"1 are recommended values)" "1 are recommended values)"
msgstr "" 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 "" msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-" "POSIX extended regular expression with origins allowed in websockets (case-"
"insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: " "insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: "
@@ -14603,7 +14522,7 @@ msgstr "Нет сервера.\n"
#. TRANSLATORS: please do not translate the status names, they must be used in English #. TRANSLATORS: please do not translate the status names, they must be used in English
msgid "" msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; " "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)" "auth_failed, disconnected)"
msgstr "" msgstr ""
@@ -14725,10 +14644,6 @@ msgstr "%s невозможно создать сокет\n"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s" msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s невозможно создать сокет\n" 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 #, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s" msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s невозможно создать сокет\n" msgstr "%s невозможно создать сокет\n"
@@ -14767,7 +14682,7 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port" msgid "%s%s: not enough memory for listening on new port"
msgstr "%s недостаточно памяти для нового DCC\n" msgstr "%s недостаточно памяти для нового DCC\n"
msgid "Relay WeeChat data to remote applications" msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr "" msgstr ""
#, fuzzy #, fuzzy
@@ -15011,9 +14926,9 @@ msgstr ""
#, c-format #, c-format
msgid "" 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: " "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" "left=select, right=install/remove"
msgstr "" msgstr ""
@@ -15367,9 +15282,6 @@ msgstr "FIFO pipe закрыт\n"
msgid "script name with extension" msgid "script name with extension"
msgstr "Список сокращений:\n" msgstr "Список сокращений:\n"
msgid "comma-separated list of plugin:extension with supported languages"
msgstr ""
msgid "script name with extension (wildcard \"*\" is allowed) (optional)" msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr "" msgstr ""
@@ -16274,7 +16186,7 @@ msgid "%s%s: invalid regular expression in trigger: \"%s\""
msgstr "%s недостаточно памяти для сообщения в строке информации\n" msgstr "%s недостаточно памяти для сообщения в строке информации\n"
#. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible #. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible
msgid "Typing: " msgid "Typing:"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -16308,11 +16220,6 @@ msgid ""
"truncate content)" "truncate content)"
msgstr "" msgstr ""
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 ""
msgid "Typing status of users" msgid "Typing status of users"
msgstr "" msgstr ""
@@ -16459,9 +16366,8 @@ msgstr "не ожидать ACK при отправке файла"
#, fuzzy #, fuzzy
msgid "" msgid ""
"IP or DNS address used for sending and passively receiving files/chats; if " "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 " "empty, local interface IP is used)"
"eval)"
msgstr "" msgstr ""
"IP адрес или домен, используемый для исходящих DCC соединений (пустое " "IP адрес или домен, используемый для исходящих DCC соединений (пустое "
"значение означает текущий IP адрес)" "значение означает текущий IP адрес)"
+222 -327
View File
@@ -22,10 +22,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: WeeChat\n" "Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n" "POT-Creation-Date: 2026-03-16 13:17+0100\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n" "PO-Revision-Date: 2026-03-16 13:20+0100\n"
"Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\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" "Language: sr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -33,161 +33,6 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. TRANSLATORS: command line option "-a", "--no-connect"
msgid "disable auto-connect to servers at startup"
msgstr "спречава аутоматско повезивање са серверима приликом покретања"
#. TRANSLATORS: command line option "-c", "--colors"
msgid "display default colors in terminal and exit"
msgstr "приказује подразумеване боје у терминалу и прекида извршавање"
#. TRANSLATORS: only "<path>" may be translated
msgid "-d, --dir <path>"
msgstr "-d, --dir <путања>"
#. TRANSLATORS: command line option "-d", "--dir <path>"
msgid ""
"force a single WeeChat home directory or 5 different directories separated "
"by colons (in this order: config, data, state, cache, runtime) (environment "
"variable WEECHAT_HOME is read if this option is not given)"
msgstr ""
"поставља WeeChat почетни директоријум или 5 различита директоријума "
"раздвојена тачка зарезима (у следећем редоследу: конфиг, подаци, стање, кеш, "
"дир за време извршавања) (ако се ова опција не зада, чита се WEECHAT_HOME "
"променљива окружења)"
#. TRANSLATORS: command line option "-t", "--temp-dir"
msgid ""
"create a temporary WeeChat home directory and delete it on exit "
"(incompatible with option \"-d\")"
msgstr ""
"креира привремени WeeChat почетни директоријум и брише га приликом напуштања "
"програма (није компатибилно са опцијом „-d”)"
#. TRANSLATORS: command line option "-h", "--help"
msgid "display this help and exit"
msgstr "приказује ову помоћ и прекида извршавање"
#. TRANSLATORS: command line option "-i", "--build-info"
msgid "display build information and exit"
msgstr "приказује информације о изградњи и прекида извршавање"
#. TRANSLATORS: command line option "-l", "--license"
msgid "display WeeChat license and exit"
msgstr "приказује WeeChat лиценцу и прекида извршавање"
#. TRANSLATORS: command line option "-p", "--no-plugin"
msgid "don't load any plugin at startup"
msgstr "приликом покретања се не учитавају додаци"
#. TRANSLATORS: only "<plugins>" may be translated
msgid "-P, --plugins <plugins>"
msgstr "-P, --plugins <додаци>"
#. TRANSLATORS: command line option "-P", "--plugins <plugins>"
msgid "load only these plugins at startup (see /help weechat.plugin.autoload)"
msgstr ""
"приликом покретања се учитавају само ови додаци (погледајте /help "
"weechat.plugin.autoload)"
#. TRANSLATORS: only "<cmd>" may be translated (please keep it short)
msgid "-r, --run-command <cmd>"
msgstr "-r, --run-command <ком>"
#. TRANSLATORS: command line option "-r", "--run-command <cmd>"
msgid ""
"run command(s) after startup; many commands can be separated by semicolons "
"and are evaluated, this option can be given multiple times"
msgstr ""
"покреће команд(у/е) након покретања; можете да раздвојите више команди са "
"тачка запета и оне се израчунавају, ова опција може да се зада више пута"
#. TRANSLATORS: command line option "-s", "--no-script"
msgid "don't load any script at startup"
msgstr "приликом учитавања се не учитавају никакве скрипте"
#. TRANSLATORS: command line option "--upgrade"
msgid "upgrade WeeChat using session files (see /help upgrade in WeeChat)"
msgstr ""
"ажурира WeeChat користећи фајлове сесије (погледајте /help upgrade у "
"програму WeeChat)"
#. TRANSLATORS: command line option "-v", "--version"
msgid "display WeeChat version and exit"
msgstr "приказује верзију програма WeeChat и прекида извршавање"
#. TRANSLATORS: command line option: "plugin" and "option" may be translated
msgid "plugin:option"
msgstr "додатак:опција"
#. TRANSLATORS: command line option "plugin:option"
msgid "option for plugin (see man weechat)"
msgstr "опција за додатак (погледајте man weechat)"
#. TRANSLATORS: only "<path>" may be translated
msgid "--doc-gen <path>"
msgstr "--doc-gen <путања>"
#. TRANSLATORS: command line option "--doc-gen <path>"
msgid "generate files to build documentation and exit"
msgstr "генерише фајлове за изградњу документације и прекида извршавање"
#. TRANSLATORS: command line option "--daemon"
msgid ""
"run WeeChat as a daemon (fork, new process group, file descriptors closed); "
"by default in headless mode WeeChat is blocking and does not run in "
"background"
msgstr ""
"покреће WeeChat као даемон (рачва, нова група процеса, затворени дескриптори "
"фајла); у режиму без интерфејса, WeeChat је подразумевано блокирајући и не "
"извршава се у позадини"
#. TRANSLATORS: command line option "--stdout"
msgid ""
"display log messages on standard output instead of writing them in log file "
"(option ignored if option \"--daemon\" is given)"
msgstr ""
"уместо да се лог поруке уписују у лог фајл, исписују се на стандардни излаз "
"(игнорише се ако се зада опција „--daemon”)"
#. TRANSLATORS: command line option "--no-dlclose"
msgid "do not call function dlclose after plugins are unloaded"
msgstr "након што се додаци уклоне из меморије, не позива се функција dlclose"
#. TRANSLATORS: command line option "--no-gnutls"
msgid "disable init/deinit of gnutls"
msgstr "искључује иниц/деиниц gnutls"
#. TRANSLATORS: command line option "--no-gcrypt"
msgid "disable init/deinit of gcrypt"
msgstr "искључује иниц/деиниц gcrypt"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
msgstr ""
"WeeChat %s ауторска права %s, компајлиран %s %s\n"
"Написао %s <%s> - %s"
msgid "Usage:"
msgstr "Употреба:"
msgid "[option...] [plugin:option...]"
msgstr "[опција...] [додатак:опција...]"
msgid "Extra options in headless mode:"
msgstr "Додатне опције у режиму без интерфејса:"
msgid "Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):"
msgstr ""
"Дибаг опције (за алате као што је valgrind, НЕ КОРИСТИТЕ У ПРОДУКЦИЈИ):"
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "Грешка: недостаје аргумент за опцију „%s”\n"
msgid "List of bars:" msgid "List of bars:"
msgstr "Листа трака:" msgstr "Листа трака:"
@@ -293,7 +138,7 @@ msgid "%sUnable to scroll bar \"%s\""
msgstr "%sТрака „%s” не може да се скролује" msgstr "%sТрака „%s” не може да се скролује"
#, c-format #, c-format
msgid "%sBuffer number %d is out of range (it must be between 1 and %d)" msgid "%sBuffer number \"%d\" is out of range (it must be between 1 and %d)"
msgstr "%sБрој бафера „%d” је ван опсега (мода бити између 1 и %d)" msgstr "%sБрој бафера „%d” је ван опсега (мода бити између 1 и %d)"
msgid "Buffers list:" msgid "Buffers list:"
@@ -632,7 +477,7 @@ msgstr ""
"%sЗа ресетовање тастера је неопходан аргумент „-yes” (из разлога безбедности)" "%sЗа ресетовање тастера је неопходан аргумент „-yes” (из разлога безбедности)"
#, c-format #, c-format
msgid "%d new key added (context: \"%s\")" msgid "%d new key added"
msgid_plural "%d new keys added (context: \"%s\")" msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "додат је %d нови тастер (контекст: „%s”)" msgstr[0] "додат је %d нови тастер (контекст: „%s”)"
msgstr[1] "додато је %d нова тастера (контекст: „%s”)" msgstr[1] "додато је %d нова тастера (контекст: „%s”)"
@@ -1138,20 +983,6 @@ msgid ""
msgstr "" 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" msgid "manage bars"
msgstr "управљање тракама" msgstr "управљање тракама"
@@ -1256,10 +1087,10 @@ msgstr "raw[set]: поставља вредност особине траке"
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.bar." "option: option to change (for options list, look at /set weechat.bar."
"<bar_name>.*)" "<barname>.*)"
msgstr "" msgstr ""
"опција: опција која се мења (за листу опција, погледајте /set weechat.bar." "опција: опција која се мења (за листу опција, погледајте /set weechat.bar."
"<име_траке>.*)" "<иметраке>.*)"
msgid "value: new value for option" msgid "value: new value for option"
msgstr "вредност: нова вредност опције" msgstr "вредност: нова вредност опције"
@@ -1319,8 +1150,8 @@ msgid ""
"get <property> || jump smart|last_displayed|prev_visited|next_visited || " "get <property> || jump smart|last_displayed|prev_visited|next_visited || "
"<id>|<number>|-|+|<name>" "<id>|<number>|-|+|<name>"
msgstr "" msgstr ""
"list || add [-free] [-switch] <име> || clear [<ид>|<број>|<име>|-merged|-all " "list || add [-free] [-switch] <име> || clear [<број>|<име>|-merged|-all "
"[<ид>|<број>|<име>...]] || move <број>|-|+ || swap <ид1>|<број1>|<име1> " "[<ид><број>|<име>...]] || move <број>|-|+ || swap <ид1>|<број1>|<име1> "
"[<ид2>|<број2>|<име2>] || cycle <ид>|<број>|<име>... || merge <ид>|<број>|" "[<ид2>|<број2>|<име2>] || cycle <ид>|<број>|<име>... || merge <ид>|<број>|"
"<име> || unmerge [<број>|-all] || hide [<ид>|<број>|<име>|-all [<ид>|<број>|" "<име> || unmerge [<број>|-all] || hide [<ид>|<број>|<име>|-all [<ид>|<број>|"
"<име>...]] || unhide [<ид>|<број>|<име>|-all [<ид>|<број>|<име>...]] || " "<име>...]] || unhide [<ид>|<број>|<име>|-all [<ид>|<број>|<име>...]] || "
@@ -1646,9 +1477,9 @@ msgid ""
"|| hdata [free] || time <command> || unicode <string> || whitespace" "|| hdata [free] || time <command> || unicode <string> || whitespace"
msgstr "" msgstr ""
"list || set <додатак> <ниво> || dump [<додатак>] || hooks [<маска_додатака> " "list || set <додатак> <ниво> || dump [<додатак>] || hooks [<маска_додатака> "
"[<тип_куке>...]] || buffer|certs|color|dirs|infolists|key|libs|memory|tags|" "[<тип_куке>...]] || buffer|certs|color|dirs|infolists|libs|memory|tags|term|"
"term|url|windows || callbacks <трајање>[<јединица>] || mouse|cursor " "url|windows || callbacks <трајање>[<јединица>] || mouse|cursor [verbose] || "
"[verbose] || hdata [free] || time <команда> || unicode <стринг> || whitespace" "hdata [free] || time <команда> || unicode <стринг> || whitespace"
msgid "raw[list]: list plugins with debug levels" msgid "raw[list]: list plugins with debug levels"
msgstr "raw[list]: исписује додатке са дибаг нивоима" msgstr "raw[list]: исписује додатке са дибаг нивоима"
@@ -1790,10 +1621,9 @@ msgstr "израчунавање израза"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "" msgid ""
"[-n|-s] [-e] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> " "[-n|-s] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> "
"<expression2>" "<expression2>"
msgstr "" msgstr "[-n|-s] [-d] <израз> || [-n] [-d [-d]] -c <израз1> <оператор> <израз2>"
"[-n|-s] [-e] [-d] <израз> || [-n] [-d [-d]] -c <израз1> <оператор> <израз2>"
msgid "raw[-n]: display result without sending it to buffer (debug mode)" msgid "raw[-n]: display result without sending it to buffer (debug mode)"
msgstr "raw[-n]: приказује резултат и не шаље га у бафер (дибаг режим)" msgstr "raw[-n]: приказује резултат и не шаље га у бафер (дибаг режим)"
@@ -1805,9 +1635,6 @@ msgstr ""
"raw[-s]: дели израз пре израчунавања (многе команде могу да се раздвоје са " "raw[-s]: дели израз пре израчунавања (многе команде могу да се раздвоје са "
"тачка запетама)" "тачка запетама)"
msgid "raw[-e]: evaluate all commands before executing them"
msgstr "raw[-e]: израчунај све команде пре него што се изврше"
msgid "" msgid ""
"raw[-d]: display debug output after evaluation (with two -d: more verbose " "raw[-d]: display debug output after evaluation (with two -d: more verbose "
"debug)" "debug)"
@@ -2419,7 +2246,7 @@ msgid "display help about commands and options"
msgstr "приказивање помоћи за команде и опције" msgstr "приказивање помоћи за команде и опције"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "-list|-listfull [<plugin>...] || <command> || <option>" msgid "-list|-listfull [<plugin>...]] || <command> || <option>"
msgstr "-list|-listfull [<додатак>...] || <команда> || <опција>" msgstr "-list|-listfull [<додатак>...] || <команда> || <опција>"
msgid "" msgid ""
@@ -2477,9 +2304,9 @@ msgid "raw[clear]: clear hotlist"
msgstr "raw[clear]: брише врућу листу" msgstr "raw[clear]: брише врућу листу"
msgid "" msgid ""
"level: \"lowest\" to clear only lowest level in hotlist, \"highest\" to " "level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear "
"clear only highest level in hotlist, or level mask: integer which is a " "only highest level in hotlist, or level mask: integer which is a combination "
"combination of 1=join/part, 2=message, 4=private, 8=highlight" "of 1=join/part, 2=message, 4=private, 8=highlight"
msgstr "" msgstr ""
"ниво: „lowest” да се обрише само најнижи ниво у врућој листи, „highest” да " "ниво: „lowest” да се обрише само најнижи ниво у врућој листи, „highest” да "
"се обрише само највиши ниво у врућој листи, или маска нивоа: цео број који " "се обрише само највиши ниво у врућој листи, или маска нивоа: цео број који "
@@ -3218,7 +3045,7 @@ msgid ""
"[<arguments>] || autoload [<arguments>] || reload [<name>|* [<arguments>]] " "[<arguments>] || autoload [<arguments>] || reload [<name>|* [<arguments>]] "
"|| unload [<name>]" "|| unload [<name>]"
msgstr "" msgstr ""
"list [-o|-ol|-i|-il|<име>] || listfull [<име>] || load <имефајла> " "list| [-o|-ol|-i|-il|<име>] || listfull [<име>] || load <имефајла> "
"[<аргументи>] || autoload [<аргументи>] || reload [<име>|* [<аргументи>]] || " "[<аргументи>] || autoload [<аргументи>] || reload [<име>|* [<аргументи>]] || "
"unload [<име>]" "unload [<име>]"
@@ -3466,10 +3293,10 @@ msgstr "raw[set]: поставља вредност особине прокси
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.proxy." "option: option to change (for options list, look at /set weechat.proxy."
"<proxy_name>.*)" "<proxyname>.*)"
msgstr "" msgstr ""
"опција: опција која треба да се промени (за листу опција, погледајте /set " "опција: опција која треба да се промени (за листу опција, погледајте /set "
"weechat.proxy.<име_проксија>.*)" "weechat.proxy.<имепроксија>.*)"
msgid " add a http proxy, running on local host, port 8888:" msgid " add a http proxy, running on local host, port 8888:"
msgstr " додаје http прокси који се извршава на локалном хосту, порт 8888:" msgstr " додаје http прокси који се извршава на локалном хосту, порт 8888:"
@@ -3694,7 +3521,7 @@ msgid ""
msgstr "" msgstr ""
"Можете да поставите променљиву окружења „WEECHAT_PASSPHRASE” која спречава " "Можете да поставите променљиву окружења „WEECHAT_PASSPHRASE” која спречава "
"овај одзив (то је иста променљива коју програм WeeChat користи приликом /" "овај одзив (то је иста променљива коју програм WeeChat користи приликом /"
"upgrade), или да поставите опцију sec.crypt.passphrase_command тако да се " "upgrade), или да поставите опцију sec.crypt.passphrase_command тако да се "
"тајна реченица чита из излаза спољне команде као што је управљач лозинкама " "тајна реченица чита из излаза спољне команде као што је управљач лозинкама "
"(погледајте /help sec.crypt.passphrase_command)." "(погледајте /help sec.crypt.passphrase_command)."
@@ -3731,23 +3558,23 @@ msgstr " користи програм „pass” за читање тајне
msgid " encrypt libera SASL password:" msgid " encrypt libera SASL password:"
msgstr " шифровање libera SASL лозинке:" msgstr " шифровање libera SASL лозинке:"
msgid " /secure set libera my_password" msgid " /secure set libera mypassword"
msgstr " /secure set libera моја_лозинка" msgstr " /secure set libera мојалозинка"
msgid " encrypt oftc password for nickserv:" msgid " encrypt oftc password for nickserv:"
msgstr " шифровање oftc лозинке за nickserv:" msgstr " шифровање oftc лозинке за nickserv:"
msgid " /secure set oftc my_password" msgid " /secure set oftc mypassword"
msgstr " /secure set oftc моја_лозинка" msgstr " /secure set oftc мојалозинка"
msgid " alias to ghost the nick \"andrew\":" msgid " alias to ghost the nick \"mynick\":"
msgstr " алијас за ghost надимка „andrew”:" msgstr " алијас за ghost надимка „mynick”:"
msgid "" msgid ""
" /alias add ghost /eval /msg -server libera nickserv ghost andrew $" " /alias add ghost /eval /msg -server libera nickserv ghost mynick $"
"{sec.data.libera}" "{sec.data.libera}"
msgstr "" msgstr ""
" /alias add ghost /eval /msg -server libera nickserv ghost andrew $" " /alias add ghost /eval /msg -server libera nickserv ghost mynick $"
"{sec.data.libera}" "{sec.data.libera}"
msgid "set config options and environment variables" msgid "set config options and environment variables"
@@ -4051,8 +3878,8 @@ msgstr ""
msgid "With option \"-quit\", the process is:" msgid "With option \"-quit\", the process is:"
msgstr "Процес са опцијом „-quit” је следећи:" msgstr "Процес са опцијом „-quit” је следећи:"
msgid " 1. close *ALL* connections (irc, xfer, relay, etc.)" msgid " 1. close *ALL* connections (irc, xfer, relay, ...)"
msgstr " 1. затварање *СВИХ* конекција (irc, xfer, relay, итд.)" msgstr " 1. затварање *СВИХ* конекција (irc, xfer, relay, ...)"
msgid " 2. save session into files (*.upgrade)" msgid " 2. save session into files (*.upgrade)"
msgstr " 2. чување сесије у фајлове (*.upgrade)" msgstr " 2. чување сесије у фајлове (*.upgrade)"
@@ -5659,7 +5486,7 @@ msgid ""
msgstr "" msgstr ""
"листа карактера раздвојених зарезима (или опсега карактера) који се сматрају " "листа карактера раздвојених зарезима (или опсега карактера) који се сматрају "
"за део речи које се истичу; свака ставка може бити један карактер, опсег " "за део речи које се истичу; свака ставка може бити један карактер, опсег "
"карактера (формат је: a-z), класа широких карактера (на пример „alnum”, " "карактера (формат је: a-z), класа широких карактера (на пример „alnum”, "
"погледајте man wctype); „!” испред ставке је чини негативном (тј. карактер " "погледајте man wctype); „!” испред ставке је чини негативном (тј. карактер "
"се НЕ сматра као део речи); вредност „*” се подудара са било којим " "се НЕ сматра као део речи); вредност „*” се подудара са било којим "
"карактером; дозвољени су уникод карактери у формату \\u1234, на пример " "карактером; дозвољени су уникод карактери у формату \\u1234, на пример "
@@ -6699,8 +6526,8 @@ msgstr "упис -променљива"
msgid "read - object type" msgid "read - object type"
msgstr "читање - тип објекта" msgstr "читање - тип објекта"
msgid "read - bad object type (\"object start\" expected)" msgid "read - bad object type ('object start' expected)"
msgstr "читање - лош тип објекта (очекује се \"object start\")" msgstr "читање - лош тип објекта (очекује се 'object start')"
msgid "read - object id" msgid "read - object id"
msgstr "читање - ид објекта" msgstr "читање - ид објекта"
@@ -6759,13 +6586,15 @@ msgstr "грешка преноса"
msgid "curl error %d (%s) (URL: \"%s\")\n" msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr "curl грешка %d (%s) (URL: „%s”)\n" msgstr "curl грешка %d (%s) (URL: „%s”)\n"
#, c-format #, fuzzy, c-format
#| msgid "%sURL transfer error: %s (URL: \"%s\")"
msgid "transfer stopped (URL: \"%s\")\n" msgid "transfer stopped (URL: \"%s\")\n"
msgstr "трансфер је заустављен (URL: „%s”)\n" msgstr "%sГрешка URL трансфера: %s (URL: „%s”)"
#, c-format #, fuzzy, c-format
#| msgid "End of URL transfer '%s', timeout reached (%.3fs)"
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n" msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr "достигнут је тајмаут трансфера (%.3fs) (URL: „%s”)\n" msgstr "Крај URL трансфера ’%s’, достигнут је тајмаут (%.3fs)"
#, c-format #, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\"" msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
@@ -6813,9 +6642,134 @@ msgstr "Крај URL трансфера ’%s’, достигнут је тај
msgid "%sError running thread in hook_url: %s (URL: \"%s\")" msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr "%sГрешка покретања нити у hook_url: %s (URL: „%s”)" msgstr "%sГрешка покретања нити у hook_url: %s (URL: „%s”)"
#, c-format #, fuzzy, c-format
#| msgid "End of URL transfer '%s', timeout reached (%.3fs)"
msgid "End of URL transfer '%s', transfer stopped" msgid "End of URL transfer '%s', transfer stopped"
msgstr "Крај URL трансфера ’%s’, трансфер је заустављен" msgstr "Крај URL трансфера ’%s’, достигнут је тајмаут (%.3fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s ауторска права %s, компајлиран %s %s\n"
"Написао Себастијен Елеу <flashcode@flashtux.org> - %s"
#, c-format
msgid "Usage: %s [option...] [plugin:option...]\n"
msgstr "Употреба: %s [опција...] [додатак:опција...]\n"
msgid ""
" -a, --no-connect disable auto-connect to servers at startup\n"
" -c, --colors display default colors in terminal and exit\n"
" -d, --dir <path> force a single WeeChat home directory\n"
" or 5 different directories separated by colons "
"(in this order: config, data, state, cache, runtime)\n"
" (environment variable WEECHAT_HOME is read if "
"this option is not given)\n"
" -t, --temp-dir create a temporary WeeChat home directory and "
"delete it on exit\n"
" (incompatible with option \"-d\")\n"
" -h, --help display this help and exit\n"
" -i, --build-info display build information and exit\n"
" -l, --license display WeeChat license and exit\n"
" -p, --no-plugin don't load any plugin at startup\n"
" -P, --plugins <plugins> load only these plugins at startup\n"
" (see /help weechat.plugin.autoload)\n"
" -r, --run-command <cmd> run command(s) after startup;\n"
" many commands can be separated by semicolons and "
"are evaluated,\n"
" this option can be given multiple times\n"
" -s, --no-script don't load any script at startup\n"
" --upgrade upgrade WeeChat using session files (see /help "
"upgrade in WeeChat)\n"
" -v, --version display WeeChat version and exit\n"
" plugin:option option for plugin (see man weechat)\n"
msgstr ""
" -a, --no-connect спречава аутоматско повезивање са серверима "
"приликом покретања\n"
" -c, --colors приказује подразумеване боје у терминалу и "
"прекида извршавање\n"
" -d, --dir <путања> поставља WeeChat почетни директоријум\n"
" или 5 различита директоријума раздвојена тачка "
"зарезима (у следећем редоследу: конфиг, подаци, стање, кеш, дир за време "
"извршавања)\n"
" (ако се ова опција не зада, чита се WEECHAT_HOME "
"променљива окружења)\n"
" -t, --temp-dir креира привремени WeeChat почетни директоријум и "
"брише га приликом напуштања програма\n"
" (није компатибилно са опцијом „-d”)\n"
" -h, --help приказује ову помоћ и прекида извршавање\n"
" -i, --build-info приказује информације о изградњи и прекида "
"извршавање\n"
" -l, --license приказује WeeChat лиценцу и прекида извршавање\n"
" -p, --no-plugin приликом покретања се не учитавају додаци\n"
" -P, --plugins <додаци> приликом покретања се учитавају само ови додаци\n"
" (погледајте /help weechat.plugin.autoload)\n"
" -r, --run-command <ком> покреће команд(у/е) након покретања;\n"
" можете да раздвојите више команди са тачка запета "
"и оне се израчунавају,\n"
" ова опција може да се зада више пута\n"
" -s, --no-script приликом учитавања се не учитавају никакве "
"скрипте\n"
" --upgrade ажурира WeeChat користећи фајлове сесије "
"(погледајте /help upgrade у програму WeeChat)\n"
" -v, --version приказује верзију програма WeeChat и прекида "
"извршавање\n"
" додатак:опција опција за додатак (погледајте man weechat)\n"
msgid "Extra options in headless mode:\n"
msgstr "Додатне опције у режиму без интерфејса:\n"
msgid ""
" --doc-gen <path> generate files to build documentation and exit\n"
msgstr ""
" --doc-gen <путања> генерише фајлове за изградњу документације и "
"прекида извршавање\n"
msgid ""
" --daemon run WeeChat as a daemon (fork, new process group, "
"file descriptors closed);\n"
msgstr ""
" --daemon покреће WeeChat као даемон (рачва, нова група "
"процеса, затворени дескриптори фајла);\n"
msgid ""
" (by default in headless mode WeeChat is blocking "
"and does not run in background)\n"
msgstr ""
" (у режиму без интерфејса, WeeChat је "
"подразумевано блокирајући и не извршава се у позадини)\n"
msgid ""
" --stdout display log messages on standard output instead "
"of writing them in log file\n"
msgstr ""
" --stdout уместо да се лог поруке уписују у лог фајл, "
"исписују се на стандардни излаз\n"
msgid ""
" (option ignored if option \"--daemon\" is given)\n"
msgstr ""
" (игнорише се ако се зада опција „--daemon”)\n"
msgid ""
"Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):\n"
" --no-dlclose do not call function dlclose after plugins are "
"unloaded\n"
" --no-gnutls disable init/deinit of gnutls\n"
" --no-gcrypt disable init/deinit of gcrypt\n"
msgstr ""
"Дибаг опције (за алате као што је valgrind, НЕ КОРИСТИТЕ У ПРОДУКЦИЈИ):\n"
" --no-dlclose након што се додаци уклоне из меморије, не позива "
"се функција dlclose\n"
" --no-gnutls искључује иниц/деиниц gnutls\n"
" --no-gcrypt искључује иниц/деиниц gcrypt\n"
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr "Грешка: недостаје аргумент за опцију „%s”\n"
msgid "WeeChat is running in headless mode (ctrl-c to quit)." msgid "WeeChat is running in headless mode (ctrl-c to quit)."
msgstr "WeeChat се извршава у режиму без интерфејса (ctrl-c за излаз)." msgstr "WeeChat се извршава у режиму без интерфејса (ctrl-c за излаз)."
@@ -7435,9 +7389,9 @@ msgid ""
" - window data, where the bar item is displayed (there's no window in root " " - window data, where the bar item is displayed (there's no window in root "
"bars, see hdata \"window\" in API doc for a complete list), for example:" "bars, see hdata \"window\" in API doc for a complete list), for example:"
msgstr "" msgstr ""
" - подаци о прозору у коме се приказује ставка траке (не постоји прозор у " " - подаци о прозору, у коме се трака приказује (не постоји прозор у кореним "
"кореним тракама, погледајте hdata „window” у документацији API за комплетну " "тракама, погледајте hdata „window” у документацији API за комплетну листу), "
"листу), на пример:" "на пример:"
msgid "" msgid ""
" - buffer data (see hdata \"buffer\" in API doc for a complete list), for " " - buffer data (see hdata \"buffer\" in API doc for a complete list), for "
@@ -7611,11 +7565,8 @@ msgstr ""
msgid "" msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at " " - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option " "0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions)" "buflist.look.display_conditions"
msgstr "" msgstr ""
" - ${index_displayed}: индекс линије која се приказује у ставци траке "
"(почиње од 0, овај индекс увећавају само приказани бафери, погледајте опцију "
"buflist.look.display_conditions)"
msgid "buflist bar items" msgid "buflist bar items"
msgstr "ставке buflist траке" msgstr "ставке buflist траке"
@@ -9362,7 +9313,7 @@ msgid "%s%s: not connected to server \"%s\"!"
msgstr "%s%s: не постоји веза са сервером „%s”!" msgstr "%s%s: не постоји веза са сервером „%s”!"
#, c-format #, c-format
msgid "%s: auto-reconnection is canceled" msgid "%s: auto-reconnection is cancelled"
msgstr "%s: отказано је аутоматско поновно успостављање везе" msgstr "%s: отказано је аутоматско поновно успостављање везе"
#, c-format #, c-format
@@ -9523,12 +9474,6 @@ msgstr[0] "секунда"
msgstr[1] "секунде" msgstr[1] "секунде"
msgstr[2] "секунди" msgstr[2] "секунди"
msgid "millisecond"
msgid_plural "milliseconds"
msgstr[0] "милисекунда"
msgstr[1] "милисекунде"
msgstr[2] "милисекунди"
msgid "minute" msgid "minute"
msgid_plural "minutes" msgid_plural "minutes"
msgstr[0] "минут" msgstr[0] "минут"
@@ -9668,10 +9613,10 @@ msgstr "извршавање команде на свим каналима св
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "" msgid ""
"[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-" "[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-"
"current] [-parted|-all] [-include=<channel>[,<channel>...]] <command>" "current] [-parted|-all] -include=<channel>[,<channel>...] <command>"
msgstr "" msgstr ""
"[-current] [-parted|-all] [-exclude=<канал>[,<канал>...]] <команда> || [-" "[-current] [-parted|-all] [-exclude=<канал>[,<канал>...]] <команда> || [-"
"current] [-parted|-all] [-include=<канал>[,<канал>...]] <команда>" "current] [-parted|-all] -include=<канал>[,<канал>...] <команда>"
msgid "raw[-current]: execute command for channels of current server only" msgid "raw[-current]: execute command for channels of current server only"
msgstr "raw[-current]: команда се извршава само за канале текућег сервера" msgstr "raw[-current]: команда се извршава само за канале текућег сервера"
@@ -9751,11 +9696,11 @@ msgstr "извршавање команде у свим приватним ба
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "" msgid ""
"[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] [-" "[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] "
"include=<nick>[,<nick>...]] <command>" "-include=<nick>[,<nick>...] <command>"
msgstr "" msgstr ""
"[-current] [-exclude=<надимак>[,<надимак>...]] <команда> || [-current] [-" "[-current] [-exclude=<надимак>[,<надимак>...]] <команда> || [-current] "
"include=<надимак>[,<надимак>...]] <команда>" "-include=<надимак>[,<надимак>...] <команда>"
msgid "" msgid ""
"raw[-current]: execute command for private buffers of current server only" "raw[-current]: execute command for private buffers of current server only"
@@ -9803,11 +9748,11 @@ msgstr "извршавање команде на свим повезаним с
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "" msgid ""
"[-exclude=<server>[,<server>...]] <command> || [-include=<server>[," "[-exclude=<server>[,<server>...]] <command> || -include=<server>[,"
"<server>...]] <command>" "<server>...] <command>"
msgstr "" msgstr ""
"[-exclude=<сервер>[,<сервер>...]] <команда> || [-include=<сервер>[," "[-exclude=<сервер>[,<сервер>...]] <команда> || -include=<сервер>[,"
"<сервер>...]] <команда>" "<сервер>...] <команда>"
msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)" msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)"
msgstr "" msgstr ""
@@ -9954,7 +9899,7 @@ msgstr ""
"пример: „-multi-prefix”)" "пример: „-multi-prefix”)"
msgid "" msgid ""
"raw[ack]: acknowledge capabilities which require client-side acknowledgment" "raw[ack]: acknowledge capabilities which require client-side acknowledgement"
msgstr "" msgstr ""
"raw[ack]: прихвата могућности које захтевају потврду са клијентске стране" "raw[ack]: прихвата могућности које захтевају потврду са клијентске стране"
@@ -10321,7 +10266,7 @@ msgid ""
"[<percent>] || -go <line>|end || -join || -export <filename>" "[<percent>] || -go <line>|end || -join || -export <filename>"
msgstr "" msgstr ""
"[-server <сервер>] [<канал>[,<канал>...]] [<циљ>] || [-server <сервер>] [-" "[-server <сервер>] [<канал>[,<канал>...]] [<циљ>] || [-server <сервер>] [-"
"raw *|<рег_изр>] || -up|-down [<број>] || -left|-right [<проценат>] || -go " "raw *|<рег_изр>] -up|-down [<број>] || -left|-right [<проценат>] || -go "
"<линија>|end || -join || -export <имефајла>" "<линија>|end || -join || -export <имефајла>"
msgid "" msgid ""
@@ -10861,7 +10806,7 @@ msgstr ""
"„xxx”, користећи следеће променљиве: излаз функције irc_message_parse (као " "„xxx”, користећи следеће променљиве: излаз функције irc_message_parse (као "
"nick, command, channel, text, итд., погледајте функцију info_get_hashtable у " "nick, command, channel, text, итд., погледајте функцију info_get_hashtable у "
"референтном приручнику API додатака да видите комплетну листу променљивих), " "референтном приручнику API додатака да видите комплетну листу променљивих), "
"date (формат: \"%FT%T.%f\", погледајте функцију util_strftimeval у " "date (формат: \"%FT%T.%f\", погледајте функцију util_strftimeval у "
"референтном приручнику API додатака), server, recv, sent, modified, " "референтном приручнику API додатака), server, recv, sent, modified, "
"redirected" "redirected"
@@ -11910,15 +11855,14 @@ msgstr "скроловање у лево/десно у /list баферу (пр
msgid "" msgid ""
"comma-separated list of fields to sort channels (see /help list for a list " "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 \"~\" " "of fields); char \"-\" can be used before field to reverse order, char \"~\" "
"can be used to do a case-insensitive comparison; example: \"-users,~name2\" " "can be used to do a case-insensitive comparison; example: \"-users,~name\" "
"for biggest channels first then case-insensitive sort on channel name " "for biggest channels first then case-insensitive sort on name"
"without prefix"
msgstr "" msgstr ""
"листа поља за сортирање канала раздвојених запетама (погледајте /help list " "листа поља за сортирање канала раздвојених запетама (погледајте /help list "
"за листу поља); карактер „-” може да се користи испред поља чиме се обрће " "за листу поља); карактер „-” може да се користи испред поља чиме се обрће "
"редослед, карактер „~” може да се употреби за поређење које не прави разлику " "редослед, карактер „~” може да се употреби за поређење које не прави разлику "
"у величини слова; пример: „-users,~name2најпре за највеће канале, па онда " "у величини слова; пример: „-users,~name” за поређење које не прави разлику у "
"сортирање које не прави разлику у величини слова по имену канала без префикса" "величини слова и обрнуто сортирање по имену опције"
msgid "strip channel topic colors in /list buffer" msgid "strip channel topic colors in /list buffer"
msgstr "уклањање боја теме канала у /list баферу" msgstr "уклањање боја теме канала у /list баферу"
@@ -12446,8 +12390,8 @@ msgstr "име сервера"
msgid "get nick from IRC host" msgid "get nick from IRC host"
msgstr "враћа надимак из IRC хоста" msgstr "враћа надимак из IRC хоста"
msgid "IRC host (like `:nick!name@server`)" msgid "IRC host (like `:nick!name@server.com`)"
msgstr "IRC хост (као `:надимак!име@сервер`)" msgstr "IRC хост (као `:надимак!име@сервер.com`)"
msgid "" msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by " "get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12664,13 +12608,10 @@ msgstr "%s%s: нисте повезани са сервером"
msgid "%s%s: this buffer is not a channel!" msgid "%s%s: this buffer is not a channel!"
msgstr "%s%s: овај бафер није канал!" msgstr "%s%s: овај бафер није канал!"
#, fuzzy, c-format #, c-format
#| msgid ""
#| "%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
#| "channel, ($)=refresh, (q)=close buffer"
msgid "" msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel " "%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer" "channel, ($)=refresh, (q)=close buffer"
msgstr "" msgstr ""
"%d канала (укупно: %d) | Филтер: %s | Сортирање: %s | Тастер(унос): ctrl+j= " "%d канала (укупно: %d) | Филтер: %s | Сортирање: %s | Тастер(унос): ctrl+j= "
"приступ каналу, ($)=освежавање, (q)=затварање бафера" "приступ каналу, ($)=освежавање, (q)=затварање бафера"
@@ -13870,7 +13811,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a " "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 = " "suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation " "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 " "performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option " "should first set the compression type via option "
"logger.file.rotation_compression_type" "logger.file.rotation_compression_type"
@@ -13880,9 +13821,9 @@ msgstr ""
"текућем фајлу се поставља екстензија .1; дозвољава се цели број са суфиксом: " "текућем фајлу се поставља екстензија .1; дозвољава се цели број са суфиксом: "
"b = бајтова (подразумевано ако се не наведе јединица), k = килобајта, m = " "b = бајтова (подразумевано ако се не наведе јединица), k = килобајта, m = "
"мегабајта, g = гигабајта, t = терабајта; пример: „2g” значи да се ротација " "мегабајта, g = гигабајта, t = терабајта; пример: „2g” значи да се ротација "
"врши ако је величина фајла > 2 GB; ако се постави на „0”, ротација се не " "врши ако је величина фајла > 2,000,000,000 бајтова; ако се постави на „0”, "
"врши (нема ограничења лог фајла); УПОЗОРЕЊЕ: пре него што промените ову " "ротација се не врши (нема ограничења лог фајла); УПОЗОРЕЊЕ: пре него што "
"опцију, требало би најпре да поставите тип компресије опцијом " "промените ову опцију, требало би најпре да поставите тип компресије опцијом "
"logger.file.rotation_compression_type" "logger.file.rotation_compression_type"
msgid "" msgid ""
@@ -15201,7 +15142,7 @@ msgid "%s%s: no connection to remote relay \"%s\""
msgstr "%s%s: не постоји веза са релејем удаљених „%s”" msgstr "%s%s: не постоји веза са релејем удаљених „%s”"
#, c-format #, c-format
msgid "remote[%s]: auto-reconnection is canceled" msgid "remote[%s]: auto-reconnection is cancelled"
msgstr "удаљени[%s]: отказано је аутоматско поновно успостављање везе" msgstr "удаљени[%s]: отказано је аутоматско поновно успостављање везе"
#, c-format #, c-format
@@ -15679,21 +15620,13 @@ msgstr ""
"relay.network.allow_empty_password) (напомена: садржај се израчунава, " "relay.network.allow_empty_password) (напомена: садржај се израчунава, "
"погледајте /help eval)" "погледајте /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 "" msgid ""
"comma separated list of hash algorithms used for password authentication in " "comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password " "weechat protocol, among these values: \"plain\" (password in plain text, not "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", " "hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" " "\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" " "to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")" "(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr "" msgstr ""
"листа хеш алгоритама раздвојених запетама који се користе за аутентификацију " "листа хеш алгоритама раздвојених запетама који се користе за аутентификацију "
"лозинке у weechat протоколу, могу бити: „plain” (лозинка је чисти текст, не " "лозинке у weechat протоколу, могу бити: „plain” (лозинка је чисти текст, не "
@@ -15702,17 +15635,11 @@ msgstr ""
"спречава употреба тог алгоритма, у именима је дозвољена употреба џокера „*” " "спречава употреба тог алгоритма, у именима је дозвољена употреба џокера „*” "
"(примери: „*”, „pbkdf2*”, „*,!plain”)" "(примери: „*”, „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 "" msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" " "number of iterations asked to the client in weechat protocol when a hashed "
"protocols when a hashed password with algorithm PBKDF2 is used for " "password with algorithm PBKDF2 is used for authentication; more iterations "
"authentication; more iterations is better in term of security but is slower " "is better in term of security but is slower to compute; this number should "
"to compute; this number should not be too high if your CPU is slow" "not be too high if your CPU is slow"
msgstr "" msgstr ""
"број итерација који се захтева од клијента у weechat протоколу када се за " "број итерација који се захтева од клијента у weechat протоколу када се за "
"аутентификацију користи лозинка хеширана PBKDF2 алгоритмом ; више итерација " "аутентификацију користи лозинка хеширана PBKDF2 алгоритмом ; више итерација "
@@ -15761,13 +15688,6 @@ msgstr ""
"након, ...; велики број умањује ниво безбедности (препоручене вредности су 0 " "након, ...; велики број умањује ниво безбедности (препоручене вредности су 0 "
"или 1)" "или 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 "" msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-" "POSIX extended regular expression with origins allowed in websockets (case-"
"insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: " "insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: "
@@ -15893,11 +15813,11 @@ msgstr "број клијената за релеј"
#. TRANSLATORS: please do not translate the status names, they must be used in English #. TRANSLATORS: please do not translate the status names, they must be used in English
msgid "" msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; " "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)" "auth_failed, disconnected)"
msgstr "" msgstr ""
"протокол,статус (оба нису обавезна, за сваки аргумент „*” значи све; " "протокол,статус (оба нису обавезна, за сваки аргумент „*” значи све; "
"протоколи: api, irc, weechat; статуси: connecting, waiting_auth, connected, " "протоколи: irc, weechat; статуси: connecting, waiting_auth, connected, "
"auth_failed, disconnected)" "auth_failed, disconnected)"
msgid "list of relay clients" msgid "list of relay clients"
@@ -16030,11 +15950,6 @@ msgstr "%s%s: „bind” не може да се изврши на путању
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s" msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: „bind” не може да се изврши на порт %d (%s): грешка %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 #, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s" msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: „listen” не може да се покрене на путањи %s (%s): грешка%d %s" msgstr "%s%s: „listen” не може да се покрене на путањи %s (%s): грешка%d %s"
@@ -16074,8 +15989,8 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port" msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: нема довољно слободне меморије за слушање на новом порту" msgstr "%s%s: нема довољно слободне меморије за слушање на новом порту"
msgid "Relay WeeChat data to remote applications" msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr "Релеј WeeChat података удаљеној апликацији" msgstr "Релеј WeeChat података удаљеној апликацији (irc/weechat протоколи)"
msgid "connecting" msgid "connecting"
msgstr "повезивање" msgstr "повезивање"
@@ -16303,16 +16218,11 @@ msgstr "(ништа)"
msgid "Alt+key/input: v=back to list d=jump to diff" msgid "Alt+key/input: v=back to list d=jump to diff"
msgstr "Alt+тастер/унос: v=назад на листу d=скок на diff" msgstr "Alt+тастер/унос: v=назад на листу d=скок на diff"
#, fuzzy, c-format #, 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"
msgid "" 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: " "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" "left=select, right=install/remove"
msgstr "" msgstr ""
"%d/%d скрипти (филтер: %s) | Сортирање: %s | Alt+тастер/унос: i=инсталација, " "%d/%d скрипти (филтер: %s) | Сортирање: %s | Alt+тастер/унос: i=инсталација, "
@@ -16695,11 +16605,6 @@ msgstr "1 ако је скрипта учитана"
msgid "script name with extension" msgid "script name with extension"
msgstr "име скрипте са екстензијом" 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)" msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr "име скрипте са екстензијом (дозвољен је џокер „*”) (није обавезно)" msgstr "име скрипте са екстензијом (дозвољен је џокер „*”) (није обавезно)"
@@ -16843,7 +16748,7 @@ msgid ""
"enable|disable|toggle || listdict || setdict -|<dict>[,<dict>...] || deldict " "enable|disable|toggle || listdict || setdict -|<dict>[,<dict>...] || deldict "
"|| addword [<dict>] <word>" "|| addword [<dict>] <word>"
msgstr "" msgstr ""
"enable|disable|toggle || listdict || setdict -|<речн>[,<речн>...] || deldict " "enable|disable|toggle || listdict || setdict <речн>[,<речн>...] || deldict "
"|| addword [<речн>] <реч>" "|| addword [<речн>] <реч>"
msgid "raw[enable]: enable spell checker" msgid "raw[enable]: enable spell checker"
@@ -17690,8 +17595,8 @@ msgid "%s%s: invalid regular expression in trigger: \"%s\""
msgstr "%s%s: неважећи регуларни израз у окидачу: „%s”" msgstr "%s%s: неважећи регуларни израз у окидачу: „%s”"
#. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible #. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible
msgid "Typing: " msgid "Typing:"
msgstr "Куцање: " msgstr "Куцање:"
msgid "" msgid ""
"number of seconds after paused status has been set: if reached, the typing " "number of seconds after paused status has been set: if reached, the typing "
@@ -17736,14 +17641,6 @@ msgstr ""
"макс број карактера који се приказује у ставци траке \"typing\" (0 = садржај " "макс број карактера који се приказује у ставци траке \"typing\" (0 = садржај "
"се не одсеца)" "се не одсеца)"
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" msgid "Typing status of users"
msgstr "Статус куцања корисника" msgstr "Статус куцања корисника"
@@ -17877,13 +17774,11 @@ msgid "does not wait for ACK when sending file"
msgstr "не чека се на ACK када се шаље фајл" msgstr "не чека се на ACK када се шаље фајл"
msgid "" msgid ""
"IP or DNS address used for sending and passively receiving files/chats; if " "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 " "empty, local interface IP is used)"
"eval)"
msgstr "" msgstr ""
"IP или DNS адреса која се користи за слање и пасивно примање фајлова/" "IP или DNS адреса која се користи за слање и пасивно примање фајлова/"
"разговора; ако је празно, користи се IP локалног интерфејса (напомена: " "разговора (ако је празно, користи се IP локалног интерфејса)"
"садржај сер израчунава, погледајте /help eval)"
msgid "" msgid ""
"restricts outgoing files/chats and incoming/passive files to use only ports " "restricts outgoing files/chats and incoming/passive files to use only ports "
+429 -480
View File
File diff suppressed because it is too large Load Diff
+124 -219
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: WeeChat\n" "Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n" "POT-Creation-Date: 2026-03-16 13:17+0100\n"
"PO-Revision-Date: 2014-08-16 10:27+0200\n" "PO-Revision-Date: 2014-08-16 10:27+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n" "Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -32,141 +32,6 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#. TRANSLATORS: command line option "-a", "--no-connect"
msgid "disable auto-connect to servers at startup"
msgstr ""
#. TRANSLATORS: command line option "-c", "--colors"
msgid "display default colors in terminal and exit"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "-d, --dir <path>"
msgstr ""
#. TRANSLATORS: command line option "-d", "--dir <path>"
msgid ""
"force a single WeeChat home directory or 5 different directories separated "
"by colons (in this order: config, data, state, cache, runtime) (environment "
"variable WEECHAT_HOME is read if this option is not given)"
msgstr ""
#. TRANSLATORS: command line option "-t", "--temp-dir"
msgid ""
"create a temporary WeeChat home directory and delete it on exit "
"(incompatible with option \"-d\")"
msgstr ""
#. TRANSLATORS: command line option "-h", "--help"
msgid "display this help and exit"
msgstr ""
#. TRANSLATORS: command line option "-i", "--build-info"
msgid "display build information and exit"
msgstr ""
#. TRANSLATORS: command line option "-l", "--license"
msgid "display WeeChat license and exit"
msgstr ""
#. TRANSLATORS: command line option "-p", "--no-plugin"
msgid "don't load any plugin at startup"
msgstr ""
#. TRANSLATORS: only "<plugins>" may be translated
msgid "-P, --plugins <plugins>"
msgstr ""
#. TRANSLATORS: command line option "-P", "--plugins <plugins>"
msgid "load only these plugins at startup (see /help weechat.plugin.autoload)"
msgstr ""
#. TRANSLATORS: only "<cmd>" may be translated (please keep it short)
msgid "-r, --run-command <cmd>"
msgstr ""
#. TRANSLATORS: command line option "-r", "--run-command <cmd>"
msgid ""
"run command(s) after startup; many commands can be separated by semicolons "
"and are evaluated, this option can be given multiple times"
msgstr ""
#. TRANSLATORS: command line option "-s", "--no-script"
msgid "don't load any script at startup"
msgstr ""
#. TRANSLATORS: command line option "--upgrade"
msgid "upgrade WeeChat using session files (see /help upgrade in WeeChat)"
msgstr ""
#. TRANSLATORS: command line option "-v", "--version"
msgid "display WeeChat version and exit"
msgstr ""
#. TRANSLATORS: command line option: "plugin" and "option" may be translated
msgid "plugin:option"
msgstr ""
#. TRANSLATORS: command line option "plugin:option"
msgid "option for plugin (see man weechat)"
msgstr ""
#. TRANSLATORS: only "<path>" may be translated
msgid "--doc-gen <path>"
msgstr ""
#. TRANSLATORS: command line option "--doc-gen <path>"
msgid "generate files to build documentation and exit"
msgstr ""
#. TRANSLATORS: command line option "--daemon"
msgid ""
"run WeeChat as a daemon (fork, new process group, file descriptors closed); "
"by default in headless mode WeeChat is blocking and does not run in "
"background"
msgstr ""
#. TRANSLATORS: command line option "--stdout"
msgid ""
"display log messages on standard output instead of writing them in log file "
"(option ignored if option \"--daemon\" is given)"
msgstr ""
#. TRANSLATORS: command line option "--no-dlclose"
msgid "do not call function dlclose after plugins are unloaded"
msgstr ""
#. TRANSLATORS: command line option "--no-gnutls"
msgid "disable init/deinit of gnutls"
msgstr ""
#. TRANSLATORS: command line option "--no-gcrypt"
msgid "disable init/deinit of gcrypt"
msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
msgstr ""
msgid "Usage:"
msgstr ""
msgid "[option...] [plugin:option...]"
msgstr ""
msgid "Extra options in headless mode:"
msgstr ""
msgid "Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):"
msgstr ""
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr ""
msgid "List of bars:" msgid "List of bars:"
msgstr "" msgstr ""
@@ -271,7 +136,7 @@ msgid "%sUnable to scroll bar \"%s\""
msgstr "" msgstr ""
#, c-format #, c-format
msgid "%sBuffer number %d is out of range (it must be between 1 and %d)" msgid "%sBuffer number \"%d\" is out of range (it must be between 1 and %d)"
msgstr "" msgstr ""
msgid "Buffers list:" msgid "Buffers list:"
@@ -600,7 +465,7 @@ msgid "%sArgument \"-yes\" is required for keys reset (security reason)"
msgstr "" msgstr ""
#, c-format #, c-format
msgid "%d new key added (context: \"%s\")" msgid "%d new key added"
msgid_plural "%d new keys added (context: \"%s\")" msgid_plural "%d new keys added (context: \"%s\")"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
@@ -1072,16 +937,6 @@ msgid ""
"message: message for away (if no message is given, away status is removed)" "message: message for away (if no message is given, away status is removed)"
msgstr "" 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" msgid "manage bars"
msgstr "" msgstr ""
@@ -1171,7 +1026,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.bar." "option: option to change (for options list, look at /set weechat.bar."
"<bar_name>.*)" "<barname>.*)"
msgstr "" msgstr ""
msgid "value: new value for option" msgid "value: new value for option"
@@ -1609,7 +1464,7 @@ msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "" msgid ""
"[-n|-s] [-e] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> " "[-n|-s] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> "
"<expression2>" "<expression2>"
msgstr "" msgstr ""
@@ -1621,9 +1476,6 @@ msgid ""
"separated by semicolons)" "separated by semicolons)"
msgstr "" msgstr ""
msgid "raw[-e]: evaluate all commands before executing them"
msgstr ""
msgid "" msgid ""
"raw[-d]: display debug output after evaluation (with two -d: more verbose " "raw[-d]: display debug output after evaluation (with two -d: more verbose "
"debug)" "debug)"
@@ -2116,7 +1968,7 @@ msgid "display help about commands and options"
msgstr "" msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "-list|-listfull [<plugin>...] || <command> || <option>" msgid "-list|-listfull [<plugin>...]] || <command> || <option>"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -2167,9 +2019,9 @@ msgid "raw[clear]: clear hotlist"
msgstr "" msgstr ""
msgid "" msgid ""
"level: \"lowest\" to clear only lowest level in hotlist, \"highest\" to " "level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear "
"clear only highest level in hotlist, or level mask: integer which is a " "only highest level in hotlist, or level mask: integer which is a combination "
"combination of 1=join/part, 2=message, 4=private, 8=highlight" "of 1=join/part, 2=message, 4=private, 8=highlight"
msgstr "" msgstr ""
msgid "raw[remove]: remove current buffer from hotlist" msgid "raw[remove]: remove current buffer from hotlist"
@@ -2981,7 +2833,7 @@ msgstr ""
msgid "" msgid ""
"option: option to change (for options list, look at /set weechat.proxy." "option: option to change (for options list, look at /set weechat.proxy."
"<proxy_name>.*)" "<proxyname>.*)"
msgstr "" msgstr ""
msgid " add a http proxy, running on local host, port 8888:" msgid " add a http proxy, running on local host, port 8888:"
@@ -3207,20 +3059,20 @@ msgstr ""
msgid " encrypt libera SASL password:" msgid " encrypt libera SASL password:"
msgstr "" msgstr ""
msgid " /secure set libera my_password" msgid " /secure set libera mypassword"
msgstr "" msgstr ""
msgid " encrypt oftc password for nickserv:" msgid " encrypt oftc password for nickserv:"
msgstr "" msgstr ""
msgid " /secure set oftc my_password" msgid " /secure set oftc mypassword"
msgstr "" msgstr ""
msgid " alias to ghost the nick \"andrew\":" msgid " alias to ghost the nick \"mynick\":"
msgstr "" msgstr ""
msgid "" msgid ""
" /alias add ghost /eval /msg -server libera nickserv ghost andrew $" " /alias add ghost /eval /msg -server libera nickserv ghost mynick $"
"{sec.data.libera}" "{sec.data.libera}"
msgstr "" msgstr ""
@@ -3451,7 +3303,7 @@ msgstr ""
msgid "With option \"-quit\", the process is:" msgid "With option \"-quit\", the process is:"
msgstr "" msgstr ""
msgid " 1. close *ALL* connections (irc, xfer, relay, etc.)" msgid " 1. close *ALL* connections (irc, xfer, relay, ...)"
msgstr "" msgstr ""
msgid " 2. save session into files (*.upgrade)" msgid " 2. save session into files (*.upgrade)"
@@ -5505,7 +5357,7 @@ msgstr ""
msgid "read - object type" msgid "read - object type"
msgstr "" msgstr ""
msgid "read - bad object type (\"object start\" expected)" msgid "read - bad object type ('object start' expected)"
msgstr "" msgstr ""
msgid "read - object id" msgid "read - object id"
@@ -5616,6 +5468,83 @@ msgstr ""
msgid "End of URL transfer '%s', transfer stopped" msgid "End of URL transfer '%s', transfer stopped"
msgstr "" msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
#, c-format
msgid "Usage: %s [option...] [plugin:option...]\n"
msgstr ""
msgid ""
" -a, --no-connect disable auto-connect to servers at startup\n"
" -c, --colors display default colors in terminal and exit\n"
" -d, --dir <path> force a single WeeChat home directory\n"
" or 5 different directories separated by colons "
"(in this order: config, data, state, cache, runtime)\n"
" (environment variable WEECHAT_HOME is read if "
"this option is not given)\n"
" -t, --temp-dir create a temporary WeeChat home directory and "
"delete it on exit\n"
" (incompatible with option \"-d\")\n"
" -h, --help display this help and exit\n"
" -i, --build-info display build information and exit\n"
" -l, --license display WeeChat license and exit\n"
" -p, --no-plugin don't load any plugin at startup\n"
" -P, --plugins <plugins> load only these plugins at startup\n"
" (see /help weechat.plugin.autoload)\n"
" -r, --run-command <cmd> run command(s) after startup;\n"
" many commands can be separated by semicolons and "
"are evaluated,\n"
" this option can be given multiple times\n"
" -s, --no-script don't load any script at startup\n"
" --upgrade upgrade WeeChat using session files (see /help "
"upgrade in WeeChat)\n"
" -v, --version display WeeChat version and exit\n"
" plugin:option option for plugin (see man weechat)\n"
msgstr ""
msgid "Extra options in headless mode:\n"
msgstr ""
msgid ""
" --doc-gen <path> generate files to build documentation and exit\n"
msgstr ""
msgid ""
" --daemon run WeeChat as a daemon (fork, new process group, "
"file descriptors closed);\n"
msgstr ""
msgid ""
" (by default in headless mode WeeChat is blocking "
"and does not run in background)\n"
msgstr ""
msgid ""
" --stdout display log messages on standard output instead "
"of writing them in log file\n"
msgstr ""
msgid ""
" (option ignored if option \"--daemon\" is given)\n"
msgstr ""
msgid ""
"Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):\n"
" --no-dlclose do not call function dlclose after plugins are "
"unloaded\n"
" --no-gnutls disable init/deinit of gnutls\n"
" --no-gcrypt disable init/deinit of gcrypt\n"
msgstr ""
#, c-format
msgid "Error: missing argument for \"%s\" option\n"
msgstr ""
msgid "WeeChat is running in headless mode (ctrl-c to quit)." msgid "WeeChat is running in headless mode (ctrl-c to quit)."
msgstr "" msgstr ""
@@ -6283,7 +6212,7 @@ msgstr ""
msgid "" msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at " " - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option " "0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions)" "buflist.look.display_conditions"
msgstr "" msgstr ""
msgid "buflist bar items" msgid "buflist bar items"
@@ -7713,7 +7642,7 @@ msgid "%s%s: not connected to server \"%s\"!"
msgstr "" msgstr ""
#, c-format #, c-format
msgid "%s: auto-reconnection is canceled" msgid "%s: auto-reconnection is cancelled"
msgstr "" msgstr ""
#, c-format #, c-format
@@ -7872,11 +7801,6 @@ msgid_plural "seconds"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
msgid "millisecond"
msgid_plural "milliseconds"
msgstr[0] ""
msgstr[1] ""
msgid "minute" msgid "minute"
msgid_plural "minutes" msgid_plural "minutes"
msgstr[0] "" msgstr[0] ""
@@ -8009,7 +7933,7 @@ msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "" msgid ""
"[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-" "[-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command> || [-"
"current] [-parted|-all] [-include=<channel>[,<channel>...]] <command>" "current] [-parted|-all] -include=<channel>[,<channel>...] <command>"
msgstr "" msgstr ""
msgid "raw[-current]: execute command for channels of current server only" msgid "raw[-current]: execute command for channels of current server only"
@@ -8083,8 +8007,8 @@ msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "" msgid ""
"[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] [-" "[-current] [-exclude=<nick>[,<nick>...]] <command> || [-current] "
"include=<nick>[,<nick>...]] <command>" "-include=<nick>[,<nick>...] <command>"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -8130,8 +8054,8 @@ msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated #. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid "" msgid ""
"[-exclude=<server>[,<server>...]] <command> || [-include=<server>[," "[-exclude=<server>[,<server>...]] <command> || -include=<server>[,"
"<server>...]] <command>" "<server>...] <command>"
msgstr "" msgstr ""
msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)" msgid "raw[-exclude]: exclude some servers (wildcard \"*\" is allowed)"
@@ -8255,7 +8179,7 @@ msgid ""
msgstr "" msgstr ""
msgid "" msgid ""
"raw[ack]: acknowledge capabilities which require client-side acknowledgment" "raw[ack]: acknowledge capabilities which require client-side acknowledgement"
msgstr "" msgstr ""
msgid "raw[end]: end the capability negotiation" msgid "raw[end]: end the capability negotiation"
@@ -9869,9 +9793,8 @@ msgstr ""
msgid "" msgid ""
"comma-separated list of fields to sort channels (see /help list for a list " "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 \"~\" " "of fields); char \"-\" can be used before field to reverse order, char \"~\" "
"can be used to do a case-insensitive comparison; example: \"-users,~name2\" " "can be used to do a case-insensitive comparison; example: \"-users,~name\" "
"for biggest channels first then case-insensitive sort on channel name " "for biggest channels first then case-insensitive sort on name"
"without prefix"
msgstr "" msgstr ""
msgid "strip channel topic colors in /list buffer" msgid "strip channel topic colors in /list buffer"
@@ -10277,7 +10200,7 @@ msgstr ""
msgid "get nick from IRC host" msgid "get nick from IRC host"
msgstr "" msgstr ""
msgid "IRC host (like `:nick!name@server`)" msgid "IRC host (like `:nick!name@server.com`)"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -10481,8 +10404,8 @@ msgstr ""
#, c-format #, c-format
msgid "" msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel " "%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer" "channel, ($)=refresh, (q)=close buffer"
msgstr "" msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list" msgid "Empty list of channels, try \"$\" to refresh list"
@@ -11572,7 +11495,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a " "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 = " "suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation " "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 " "performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option " "should first set the compression type via option "
"logger.file.rotation_compression_type" "logger.file.rotation_compression_type"
@@ -12793,7 +12716,7 @@ msgid "%s%s: no connection to remote relay \"%s\""
msgstr "" msgstr ""
#, c-format #, c-format
msgid "remote[%s]: auto-reconnection is canceled" msgid "remote[%s]: auto-reconnection is cancelled"
msgstr "" msgstr ""
#, c-format #, c-format
@@ -13177,18 +13100,18 @@ msgstr ""
msgid "" msgid ""
"comma separated list of hash algorithms used for password authentication in " "comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password " "weechat protocol, among these values: \"plain\" (password in plain text, not "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", " "hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" " "\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" " "to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")" "(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr "" msgstr ""
msgid "" msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" " "number of iterations asked to the client in weechat protocol when a hashed "
"protocols when a hashed password with algorithm PBKDF2 is used for " "password with algorithm PBKDF2 is used for authentication; more iterations "
"authentication; more iterations is better in term of security but is slower " "is better in term of security but is slower to compute; this number should "
"to compute; this number should not be too high if your CPU is slow" "not be too high if your CPU is slow"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -13218,11 +13141,6 @@ msgid ""
"1 are recommended values)" "1 are recommended values)"
msgstr "" 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 "" msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-" "POSIX extended regular expression with origins allowed in websockets (case-"
"insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: " "insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: "
@@ -13314,7 +13232,7 @@ msgstr ""
#. TRANSLATORS: please do not translate the status names, they must be used in English #. TRANSLATORS: please do not translate the status names, they must be used in English
msgid "" msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; " "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)" "auth_failed, disconnected)"
msgstr "" msgstr ""
@@ -13433,10 +13351,6 @@ msgstr ""
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s" msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "" msgstr ""
#, c-format
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr ""
#, c-format #, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s" msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "" msgstr ""
@@ -13473,7 +13387,7 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port" msgid "%s%s: not enough memory for listening on new port"
msgstr "" msgstr ""
msgid "Relay WeeChat data to remote applications" msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr "" msgstr ""
msgid "connecting" msgid "connecting"
@@ -13698,9 +13612,9 @@ msgstr ""
#, c-format #, c-format
msgid "" 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: " "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" "left=select, right=install/remove"
msgstr "" msgstr ""
@@ -14018,9 +13932,6 @@ msgstr ""
msgid "script name with extension" msgid "script name with extension"
msgstr "" msgstr ""
msgid "comma-separated list of plugin:extension with supported languages"
msgstr ""
msgid "script name with extension (wildcard \"*\" is allowed) (optional)" msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr "" msgstr ""
@@ -14870,7 +14781,7 @@ msgid "%s%s: invalid regular expression in trigger: \"%s\""
msgstr "" msgstr ""
#. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible #. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible
msgid "Typing: " msgid "Typing:"
msgstr "" msgstr ""
msgid "" msgid ""
@@ -14904,11 +14815,6 @@ msgid ""
"truncate content)" "truncate content)"
msgstr "" msgstr ""
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 ""
msgid "Typing status of users" msgid "Typing status of users"
msgstr "" msgstr ""
@@ -15036,9 +14942,8 @@ msgid "does not wait for ACK when sending file"
msgstr "" msgstr ""
msgid "" msgid ""
"IP or DNS address used for sending and passively receiving files/chats; if " "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 " "empty, local interface IP is used)"
"eval)"
msgstr "" msgstr ""
msgid "" msgid ""
-15
View File
@@ -1,15 +0,0 @@
# SPDX-FileCopyrightText: 2025-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
line-length = 120
[lint]
select = ["ALL"]
ignore = [
"D203", # incorrect-blank-line-before-class
"D213", # multi-line-summary-second-line
]
[lint.pylint]
max-args = 10
+16 -1
View File
@@ -23,7 +23,6 @@
set(LIB_CORE_SRC set(LIB_CORE_SRC
weechat.c weechat.h weechat.c weechat.h
core-args.c core-args.h
core-arraylist.c core-arraylist.h core-arraylist.c core-arraylist.h
core-backtrace.c core-backtrace.h core-backtrace.c core-backtrace.h
core-calc.c core-calc.h core-calc.c core-calc.h
@@ -82,6 +81,22 @@ set(LIB_CORE_SRC
include(CheckSymbolExists) include(CheckSymbolExists)
check_symbol_exists(flock "sys/file.h" HAVE_FLOCK) check_symbol_exists(flock "sys/file.h" HAVE_FLOCK)
if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
find_library(EXECINFO_LIB_PATH execinfo /usr/local/lib)
set(CMAKE_REQUIRED_LIBRARIES "${EXECINFO_LIB_PATH}")
check_function_exists(backtrace HAVE_BACKTRACE)
else()
check_symbol_exists(backtrace "execinfo.h" HAVE_BACKTRACE)
endif()
if(ENABLE_ZSTD)
include_directories(${LIBZSTD_INCLUDE_DIRS})
endif()
if(ENABLE_CJSON)
include_directories(${LIBCJSON_INCLUDE_DIRS})
endif()
include_directories("${CMAKE_BINARY_DIR}") include_directories("${CMAKE_BINARY_DIR}")
add_library(weechat_core OBJECT ${LIB_CORE_SRC}) add_library(weechat_core OBJECT ${LIB_CORE_SRC})
target_link_libraries(weechat_core coverage_config) target_link_libraries(weechat_core coverage_config)
-416
View File
@@ -1,416 +0,0 @@
/*
* SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
*/
/* Function for command-line arguments */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <stdlib.h>
#include <string.h>
#include <getopt.h>
#include "weechat.h"
#include "core-debug.h"
#include "core-list.h"
#include "core-string.h"
#include "core-utf8.h"
#include "core-version.h"
#include "../gui/gui-color.h"
#include "../plugins/plugin.h"
/* some command line options */
#define OPTION_DOCGEN 1000
#define OPTION_NO_DLCLOSE 1001
#define OPTION_NO_GNUTLS 1002
#define OPTION_NO_GCRYPT 1003
char *weechat_args_common[][2] = {
{
"-a, --no-connect",
/* TRANSLATORS: command line option "-a", "--no-connect" */
N_("disable auto-connect to servers at startup"),
},
{
"-c, --colors",
/* TRANSLATORS: command line option "-c", "--colors" */
N_("display default colors in terminal and exit"),
},
{
/* TRANSLATORS: only "<path>" may be translated */
N_("-d, --dir <path>"),
/* TRANSLATORS: command line option "-d", "--dir <path>" */
N_("force a single WeeChat home directory or 5 different directories "
"separated by colons (in this order: config, data, state, cache, runtime) "
"(environment variable WEECHAT_HOME is read if this option is not given)"),
},
{
"-t, --temp-dir",
/* TRANSLATORS: command line option "-t", "--temp-dir" */
N_("create a temporary WeeChat home directory and delete it on exit "
"(incompatible with option \"-d\")"),
},
{
"-h, --help",
/* TRANSLATORS: command line option "-h", "--help" */
N_("display this help and exit"),
},
{
"-i, --build-info",
/* TRANSLATORS: command line option "-i", "--build-info" */
N_("display build information and exit"),
},
{
"-l, --license",
/* TRANSLATORS: command line option "-l", "--license" */
N_("display WeeChat license and exit"),
},
{
"-p, --no-plugin",
/* TRANSLATORS: command line option "-p", "--no-plugin" */
N_("don't load any plugin at startup"),
},
{
/* TRANSLATORS: only "<plugins>" may be translated */
N_("-P, --plugins <plugins>"),
/* TRANSLATORS: command line option "-P", "--plugins <plugins>" */
N_("load only these plugins at startup (see /help weechat.plugin.autoload)"),
},
{
/* TRANSLATORS: only "<cmd>" may be translated (please keep it short) */
N_("-r, --run-command <cmd>"),
/* TRANSLATORS: command line option "-r", "--run-command <cmd>" */
N_("run command(s) after startup; many commands can be separated "
"by semicolons and are evaluated, this option can be given multiple times"),
},
{
"-s, --no-script",
/* TRANSLATORS: command line option "-s", "--no-script" */
N_("don't load any script at startup"),
},
{
"--upgrade",
/* TRANSLATORS: command line option "--upgrade" */
N_("upgrade WeeChat using session files (see /help upgrade in WeeChat)"),
},
{
"-v, --version",
/* TRANSLATORS: command line option "-v", "--version" */
N_("display WeeChat version and exit"),
},
{
/* TRANSLATORS: command line option: "plugin" and "option" may be translated */
N_("plugin:option"),
/* TRANSLATORS: command line option "plugin:option" */
N_("option for plugin (see man weechat)"),
},
{ NULL, NULL },
};
char *weechat_args_headless[][2] = {
{
/* TRANSLATORS: only "<path>" may be translated */
N_("--doc-gen <path>"),
/* TRANSLATORS: command line option "--doc-gen <path>" */
N_("generate files to build documentation and exit"),
},
{
"--daemon",
/* TRANSLATORS: command line option "--daemon" */
N_("run WeeChat as a daemon (fork, new process group, file descriptors closed); "
"by default in headless mode WeeChat is blocking and does not run in background"),
},
{
"--stdout",
/* TRANSLATORS: command line option "--stdout" */
N_("display log messages on standard output instead of writing them in log file "
"(option ignored if option \"--daemon\" is given)"),
},
{ NULL, NULL },
};
char *weechat_args_debug[][2] = {
{
"--no-dlclose",
/* TRANSLATORS: command line option "--no-dlclose" */
N_("do not call function dlclose after plugins are unloaded"),
},
{
"--no-gnutls",
/* TRANSLATORS: command line option "--no-gnutls" */
N_("disable init/deinit of gnutls"),
},
{
"--no-gcrypt",
/* TRANSLATORS: command line option "--no-gcrypt" */
N_("disable init/deinit of gcrypt"),
},
{ NULL, NULL },
};
/*
* Display WeeChat copyright on standard output.
*/
void
args_display_copyright (void)
{
string_fprintf (stdout, "\n");
string_fprintf (
stdout,
/* TRANSLATORS: "%s %s" after "compiled on" is date and time */
_("WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> "
"- %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");
}
void
args_display_list_args (char *args[][2])
{
int i, j, length, length_fill, max_length_screen;
const char *ptr_text;
max_length_screen = 0;
for (i = 0; args[i][0]; i++)
{
length = utf8_strlen_screen (_(args[i][0]));
if (length > max_length_screen)
max_length_screen = length;
}
for (i = 0; args[i][0]; i++)
{
ptr_text = _(args[i][0]);
length = utf8_strlen_screen (ptr_text);
length_fill = max_length_screen - length;
string_fprintf (stdout, " %s", ptr_text);
for (j = 0; j < length_fill; j++)
{
string_fprintf (stdout, " ");
}
string_fprintf (stdout, " %s\n", _(args[i][1]));
}
}
/*
* Display WeeChat help on standard output.
*/
void
args_display_help (void)
{
args_display_copyright ();
string_fprintf (stdout, "\n");
string_fprintf (stdout,
"%s %s %s\n\n",
_("Usage:"),
weechat_argv0,
_("[option...] [plugin:option...]"));
args_display_list_args (weechat_args_common);
string_fprintf (stdout, "\n");
/* extra options in headless mode */
if (weechat_headless)
{
string_fprintf (stdout, "%s\n",
_("Extra options in headless mode:"));
args_display_list_args (weechat_args_headless);
string_fprintf (stdout, "\n");
}
/* debug options */
string_fprintf (stdout, "%s\n",
_("Debug options (for tools like valgrind, "
"DO NOT USE IN PRODUCTION):"));
args_display_list_args (weechat_args_debug);
string_fprintf (stdout, "\n");
}
/*
* Parse command line arguments.
*
* Arguments argc and argv come from main() function.
*/
void
args_parse (int argc, char *argv[])
{
int opt;
struct option long_options[] = {
/* standard options */
{ "no-connect", no_argument, NULL, 'a' },
{ "colors", no_argument, NULL, 'c' },
{ "dir", required_argument, NULL, 'd' },
{ "temp-dir", no_argument, NULL, 't' },
{ "help", no_argument, NULL, 'h' },
{ "build-info", no_argument, NULL, 'i' },
{ "license", no_argument, NULL, 'l' },
{ "no-plugin", no_argument, NULL, 'p' },
{ "plugins", required_argument, NULL, 'P' },
{ "run-command", required_argument, NULL, 'r' },
{ "no-script", no_argument, NULL, 's' },
{ "upgrade", no_argument, NULL, 'u' },
{ "doc-gen", required_argument, NULL, OPTION_DOCGEN },
{ "version", no_argument, NULL, 'v' },
/* debug options */
{ "no-dlclose", no_argument, NULL, OPTION_NO_DLCLOSE },
{ "no-gnutls", no_argument, NULL, OPTION_NO_GNUTLS },
{ "no-gcrypt", no_argument, NULL, OPTION_NO_GCRYPT },
{ NULL, 0, NULL, 0 },
};
weechat_argv0 = (argv[0]) ? strdup (argv[0]) : NULL;
weechat_upgrading = 0;
weechat_home_force = NULL;
weechat_home_temp = 0;
weechat_home_delete_on_exit = 0;
weechat_server_cmd_line = 0;
weechat_force_plugin_autoload = NULL;
weechat_doc_gen = 0;
weechat_plugin_no_dlclose = 0;
optind = 0;
opterr = 0;
while ((opt = getopt_long (argc, argv,
":acd:thilpP:r:sv",
long_options, NULL)) != -1)
{
switch (opt)
{
case 'a': /* -a / --no-connect */
/* option ignored, it will be used by plugins/scripts */
break;
case 'c': /* -c / --colors */
gui_color_display_terminal_colors ();
weechat_shutdown (EXIT_SUCCESS, 0);
break;
case 'd': /* -d / --dir */
weechat_home_temp = 0;
free (weechat_home_force);
weechat_home_force = strdup (optarg);
break;
case 't': /* -t / --temp-dir */
weechat_home_temp = 1;
if (weechat_home_force)
{
free (weechat_home_force);
weechat_home_force = NULL;
}
break;
case 'h': /* -h / --help */
args_display_help ();
weechat_shutdown (EXIT_SUCCESS, 0);
break;
case 'i': /* -i / --build-info */
debug_build_info ();
weechat_shutdown (EXIT_SUCCESS, 0);
break;
case 'l': /* -l / --license */
args_display_copyright ();
string_fprintf (stdout, "\n");
string_fprintf (stdout, "%s%s", WEECHAT_LICENSE_TEXT);
weechat_shutdown (EXIT_SUCCESS, 0);
break;
case 'p': /* -p / --no-plugin */
free (weechat_force_plugin_autoload);
weechat_force_plugin_autoload = strdup ("!*");
break;
case 'P': /* -P / --plugins */
free (weechat_force_plugin_autoload);
weechat_force_plugin_autoload = strdup (optarg);
break;
case 'r': /* -r / --run-command */
if (!weechat_startup_commands)
weechat_startup_commands = weelist_new ();
weelist_add (weechat_startup_commands, optarg,
WEECHAT_LIST_POS_END, NULL);
break;
case 's': /* -s / --no-script */
/* option ignored, it will be used by the scripting plugins */
break;
case 'u': /* --upgrade */
weechat_upgrading = 1;
break;
case OPTION_DOCGEN: /* --doc-gen */
if (weechat_headless)
{
weechat_doc_gen = 1;
weechat_doc_gen_path = strdup (optarg);
}
break;
case 'v': /* -v / --version */
string_fprintf (stdout, version_get_version ());
fprintf (stdout, "\n");
weechat_shutdown (EXIT_SUCCESS, 0);
break;
case OPTION_NO_DLCLOSE: /* --no-dlclose */
/*
* Valgrind works better when dlclose() is not done after
* plugins are unloaded, it can display stack for plugins,*
* otherwise you'll see "???" in stack for functions of
* unloaded plugins.
* This option disables the call to dlclose(),
* it must NOT be used for other purposes!
*/
weechat_plugin_no_dlclose = 1;
break;
case OPTION_NO_GNUTLS: /* --no-gnutls */
/*
* Electric-fence is not working fine when gnutls loads
* certificates and Valgrind reports many memory errors with
* gnutls.
* This option disables the init/deinit of gnutls,
* it must NOT be used for other purposes!
*/
weechat_no_gnutls = 1;
break;
case OPTION_NO_GCRYPT: /* --no-gcrypt */
/*
* Valgrind reports many memory errors with gcrypt.
* This option disables the init/deinit of gcrypt,
* it must NOT be used for other purposes!
*/
weechat_no_gcrypt = 1;
break;
case ':':
string_fprintf (stderr,
_("Error: missing argument for \"%s\" option\n"),
argv[optind - 1]);
weechat_shutdown (EXIT_FAILURE, 0);
break;
case '?':
/* ignore any unknown option; plugins can use them */
break;
default:
/* ignore any other error */
break;
}
}
}
-28
View File
@@ -1,28 +0,0 @@
/*
* SPDX-FileCopyrightText: 2026 Sébastien Helleu <flashcode@flashtux.org>
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef WEECHAT_ARGS_H
#define WEECHAT_ARGS_H
extern void args_display_help (void);
extern void args_parse (int argc, char *argv[]);
#endif /* WEECHAT_ARGS_H */
+27 -26
View File
@@ -35,9 +35,10 @@
/* /*
* Compare two arraylist entries (default comparator: compare pointers only). * Compares two arraylist entries (default comparator).
* It just compares pointers.
* *
* Return: * Returns:
* -1: pointer1 < pointer2 * -1: pointer1 < pointer2
* 0: pointer1 == pointer2 * 0: pointer1 == pointer2
* 1: pointer1 > pointer2 * 1: pointer1 > pointer2
@@ -59,9 +60,9 @@ arraylist_cmp_default_cb (void *data, struct t_arraylist *arraylist,
} }
/* /*
* Create a new arraylist. * Creates a new arraylist.
* *
* Return pointer to arraylist, NULL if error. * Returns pointer to arraylist, NULL if error.
*/ */
struct t_arraylist * struct t_arraylist *
@@ -113,7 +114,7 @@ arraylist_new (int initial_size,
} }
/* /*
* Return the size of an arraylist (number of elements). * Returns the size of an arraylist (number of elements).
*/ */
int int
@@ -126,7 +127,7 @@ arraylist_size (struct t_arraylist *arraylist)
} }
/* /*
* Return the pointer to an arraylist element, by index. * Returns the pointer to an arraylist element, by index.
*/ */
void * void *
@@ -139,11 +140,11 @@ arraylist_get (struct t_arraylist *arraylist, int index)
} }
/* /*
* Adjust the allocated size of arraylist to add one element (if needed), * Adjusts the allocated size of arraylist to add one element (if needed),
* so that the list has enough allocated data to store (current_size + 1) * so that the list has enough allocated data to store (current_size + 1)
* elements. * elements.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -179,11 +180,11 @@ arraylist_grow (struct t_arraylist *arraylist)
} }
/* /*
* Adjust the allocated size of arraylist to remove one element (if needed), * Adjusts the allocated size of arraylist to remove one element (if needed),
* so that the list has enough allocated data to store (current size - 1) * so that the list has enough allocated data to store (current size - 1)
* elements. * elements.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -229,7 +230,7 @@ arraylist_shrink (struct t_arraylist *arraylist)
} }
/* /*
* Perform a binary search in the arraylist to find an element * Performs a binary search in the arraylist to find an element
* (this function must be called only if the arraylist is sorted). * (this function must be called only if the arraylist is sorted).
* *
* If "index" is not NULL, it is set with the index of element found (or -1 if * If "index" is not NULL, it is set with the index of element found (or -1 if
@@ -238,7 +239,7 @@ arraylist_shrink (struct t_arraylist *arraylist)
* If "index_insert" is not NULL, it is set with the index that must be used to * If "index_insert" is not NULL, it is set with the index that must be used to
* insert the element in the arraylist (to keep arraylist sorted). * insert the element in the arraylist (to keep arraylist sorted).
* *
* Return pointer to element found, NULL if not found. * Returns pointer to element found, NULL if not found.
*/ */
void * void *
@@ -397,7 +398,7 @@ end:
} }
/* /*
* Perform a standard search in the arraylist to find an element * Performs a standard search in the arraylist to find an element
* (this function must be called only if the arraylist is NOT sorted). * (this function must be called only if the arraylist is NOT sorted).
* *
* If "index" is not NULL, it is set with the index of element found (or -1 if * If "index" is not NULL, it is set with the index of element found (or -1 if
@@ -406,7 +407,7 @@ end:
* If "index_insert" is not NULL, it is set to -1 (elements are always added * If "index_insert" is not NULL, it is set to -1 (elements are always added
* at the end of list when it is not sorted). * at the end of list when it is not sorted).
* *
* Return pointer to element found, NULL if not found. * Returns pointer to element found, NULL if not found.
*/ */
void * void *
@@ -441,7 +442,7 @@ end:
} }
/* /*
* Search an element in the arraylist. * Searches an element in the arraylist.
* *
* If "index" is not NULL, it is set with the index of element found (or -1 if * If "index" is not NULL, it is set with the index of element found (or -1 if
* element was not found). * element was not found).
@@ -449,7 +450,7 @@ end:
* If "index_insert" is not NULL, it is set with the index that must be used to * If "index_insert" is not NULL, it is set with the index that must be used to
* insert the element in the arraylist (to keep arraylist sorted). * insert the element in the arraylist (to keep arraylist sorted).
* *
* Return pointer to element found, NULL if not found. * Returns pointer to element found, NULL if not found.
*/ */
void * void *
@@ -477,7 +478,7 @@ arraylist_search (struct t_arraylist *arraylist, void *pointer,
} }
/* /*
* Insert an element at a given index (and shifts next elements by one * Inserts an element at a given index (and shifts next elements by one
* position), or at automatic index if the arraylist is sorted. * position), or at automatic index if the arraylist is sorted.
* *
* If the index is negative and that the arraylist is not sorted, the element * If the index is negative and that the arraylist is not sorted, the element
@@ -486,7 +487,7 @@ arraylist_search (struct t_arraylist *arraylist, void *pointer,
* If the arraylist is sorted, the argument "index" is ignored (the element * If the arraylist is sorted, the argument "index" is ignored (the element
* will be inserted at appropriate position, to keep arraylist sorted). * will be inserted at appropriate position, to keep arraylist sorted).
* *
* Return the index of the new element (>= 0) or -1 if error. * Returns the index of the new element (>= 0) or -1 if error.
*/ */
int int
@@ -558,10 +559,10 @@ arraylist_insert (struct t_arraylist *arraylist, int index, void *pointer)
} }
/* /*
* Add an element at the end of arraylist (or in the middle if the arraylist * Adds an element at the end of arraylist (or in the middle if the arraylist
* is sorted). * is sorted).
* *
* Return the index of the new element (>= 0) or -1 if error. * Returns the index of the new element (>= 0) or -1 if error.
*/ */
int int
@@ -574,9 +575,9 @@ arraylist_add (struct t_arraylist *arraylist, void *pointer)
} }
/* /*
* Remove one element from the arraylist. * Removes one element from the arraylist.
* *
* Return the index removed or -1 if error. * Returns the index removed or -1 if error.
*/ */
int int
@@ -613,9 +614,9 @@ arraylist_remove (struct t_arraylist *arraylist, int index)
} }
/* /*
* Remove all elements in the arraylist. * Removes all elements in the arraylist.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -668,7 +669,7 @@ arraylist_clear (struct t_arraylist *arraylist)
} }
/* /*
* Free an arraylist. * Frees an arraylist.
*/ */
void void
@@ -693,7 +694,7 @@ arraylist_free (struct t_arraylist *arraylist)
} }
/* /*
* Print an arraylist in WeeChat log file (usually for crash dump). * Prints an arraylist in WeeChat log file (usually for crash dump).
*/ */
void void
+3 -3
View File
@@ -49,7 +49,7 @@
/* /*
* Display a backtrace line on standard error output and in WeeChat log. * Displays a backtrace line on standard error output and in WeeChat log.
*/ */
void void
@@ -65,7 +65,7 @@ weechat_backtrace_printf (const char *message, ...)
} }
/* /*
* Display function name and line with a backtrace address. * Displays function name and line with a backtrace address.
*/ */
void void
@@ -147,7 +147,7 @@ weechat_backtrace_addr2line (int number, void *address, const char *symbol)
} }
/* /*
* Display backtrace (function called when a SIGSEGV is received). * Displays backtrace (function called when a SIGSEGV is received).
*/ */
void void
+8 -8
View File
@@ -60,7 +60,7 @@ calc_list_free_cb (void *data, struct t_arraylist *arraylist, void *pointer)
} }
/* /*
* Return the precedence of an operator: * Returns the precedence of an operator:
* - '*' and '/': 2 * - '*' and '/': 2
* - '+' and '-': 1 * - '+' and '-': 1
* - any other: 0 * - any other: 0
@@ -91,7 +91,7 @@ calc_operator_precedence (const char *oper)
} }
/* /*
* Pop an integer value from the stack of values. * Pops an integer value from the stack of values.
*/ */
double double
@@ -117,7 +117,7 @@ calc_pop_value (struct t_arraylist *list_values)
} }
/* /*
* Calculate result of an operation using an operator and two values. * Calculates result of an operation using an operator and two values.
*/ */
double double
@@ -151,7 +151,7 @@ calc_operation (const char *oper, double value1, double value2)
} }
/* /*
* Calculate result of an operation using the operator on the operators stack * Calculates result of an operation using the operator on the operators stack
* and the two values on the values stack. * and the two values on the values stack.
* *
* The result is pushed on values stack. * The result is pushed on values stack.
@@ -187,7 +187,7 @@ calc_operation_stacks (struct t_arraylist *list_values,
} }
/* /*
* Sanitize a decimal number: remove any thousands separator and replace * Sanitizes a decimal number: removes any thousands separator and replaces
* the decimal separator by a dot. * the decimal separator by a dot.
* *
* The string is updated in-place, the result has always a length shorter or * The string is updated in-place, the result has always a length shorter or
@@ -203,7 +203,7 @@ calc_operation_stacks (struct t_arraylist *list_values,
* 1,234,567.89 --> 1234567.89 * 1,234,567.89 --> 1234567.89
* -2.345,67 --> -2345.67 * -2.345,67 --> -2345.67
* *
* Return: * Returns:
* 1: the number has decimal part * 1: the number has decimal part
* 0: the number has no decimal part * 0: the number has no decimal part
*/ */
@@ -279,7 +279,7 @@ calc_sanitize_decimal_number (char *string)
} }
/* /*
* Format the result as a decimal number (locale independent): remove any * Formats the result as a decimal number (locale independent): remove any
* extra "0" at the and the decimal point if needed. * extra "0" at the and the decimal point if needed.
*/ */
@@ -314,7 +314,7 @@ calc_format_result (double value, char *result, int max_size)
} }
/* /*
* Calculate an expression, which can contain: * Calculates an expression, which can contain:
* - integer and decimal numbers (ie 2 or 2.5) * - integer and decimal numbers (ie 2 or 2.5)
* - operators: * - operators:
* +: addition * +: addition
+370 -363
View File
File diff suppressed because it is too large Load Diff
+53 -53
View File
@@ -65,7 +65,7 @@ extern char **environ;
/* /*
* Add a word with quotes around to completion list. * Adds a word with quotes around to completion list.
*/ */
void void
@@ -82,7 +82,7 @@ completion_list_add_quoted_word (struct t_gui_completion *completion,
} }
/* /*
* Add bar names to completion list. * Adds bar names to completion list.
*/ */
int int
@@ -109,7 +109,7 @@ completion_list_add_bars_names_cb (const void *pointer, void *data,
} }
/* /*
* Add bar items to completion list. * Adds bar items to completion list.
*/ */
int int
@@ -137,7 +137,7 @@ completion_list_add_bars_items_cb (const void *pointer, void *data,
} }
/* /*
* Add custom bar items names to completion list. * Adds custom bar items names to completion list.
*/ */
int int
@@ -165,7 +165,7 @@ completion_list_add_custom_bar_items_names_cb (const void *pointer, void *data,
} }
/* /*
* Add custom bar item conditions to completion list. * Adds custom bar item conditions to completion list.
*/ */
int int
@@ -190,7 +190,7 @@ completion_list_add_custom_bar_item_conditions_cb (const void *pointer, void *da
} }
/* /*
* Add custom bar item contents to completion list. * Adds custom bar item contents to completion list.
*/ */
int int
@@ -215,7 +215,7 @@ completion_list_add_custom_bar_item_contents_cb (const void *pointer, void *data
} }
/* /*
* Add arguments for commands that add a custom bar item. * Adds arguments for commands that add a custom bar item.
*/ */
int int
@@ -283,7 +283,7 @@ completion_list_add_custom_bar_item_add_arguments_cb (const void *pointer, void
} }
/* /*
* Add bar options to completion list. * Adds bar options to completion list.
*/ */
int int
@@ -310,7 +310,7 @@ completion_list_add_bars_options_cb (const void *pointer, void *data,
} }
/* /*
* Add buffer names to completion list. * Adds buffer names to completion list.
*/ */
int int
@@ -338,7 +338,7 @@ completion_list_add_buffers_names_cb (const void *pointer, void *data,
} }
/* /*
* Add buffer numbers to completion list. * Adds buffer numbers to completion list.
*/ */
int int
@@ -368,7 +368,7 @@ completion_list_add_buffers_numbers_cb (const void *pointer, void *data,
} }
/* /*
* Add plugin+buffer names to completion list. * Adds plugin+buffer names to completion list.
*/ */
int int
@@ -396,7 +396,7 @@ completion_list_add_buffers_plugins_names_cb (const void *pointer, void *data,
} }
/* /*
* Add a buffer local variable to completions list. * Adds a buffer local variable to completions list.
*/ */
void void
@@ -414,7 +414,7 @@ completion_list_map_buffer_local_variable_cb (void *data,
} }
/* /*
* Add buffer local variables to completion list. * Adds buffer local variables to completion list.
*/ */
int int
@@ -437,7 +437,7 @@ completion_list_add_buffer_local_variables_cb (const void *pointer, void *data,
} }
/* /*
* Add buffer local variable value to completion list. * Adds buffer local variable value to completion list.
*/ */
int int
@@ -487,7 +487,7 @@ completion_list_add_buffer_local_variable_value_cb (const void *pointer, void *d
} }
/* /*
* Add buffer properties (that can be set) to completion list. * Adds buffer properties (that can be set) to completion list.
*/ */
int int
@@ -515,7 +515,7 @@ completion_list_add_buffer_properties_set_cb (const void *pointer, void *data,
} }
/* /*
* Add a buffer local variable to completions list (for `/buffer setauto`). * Adds a buffer local variable to completions list (for `/buffer setauto`).
*/ */
void void
@@ -538,7 +538,7 @@ completion_list_map_buffer_local_variable_setauto_cb (void *data,
} }
/* /*
* Add buffer properties (that can be set), local variables and key bindings * Adds buffer properties (that can be set), local variables and key bindings
* to completion list. * to completion list.
*/ */
@@ -585,7 +585,7 @@ completion_list_add_buffer_properties_setauto_cb (const void *pointer, void *dat
} }
/* /*
* Add buffer properties (that can be read) to completion list. * Adds buffer properties (that can be read) to completion list.
*/ */
int int
@@ -625,7 +625,7 @@ completion_list_add_buffer_properties_get_cb (const void *pointer, void *data,
} }
/* /*
* Add window numbers to completion list. * Adds window numbers to completion list.
*/ */
int int
@@ -654,7 +654,7 @@ completion_list_add_windows_numbers_cb (const void *pointer, void *data,
} }
/* /*
* Add colors to completion list. * Adds colors to completion list.
*/ */
int int
@@ -711,7 +711,7 @@ completion_list_add_colors_cb (const void *pointer, void *data,
} }
/* /*
* Add a palette color to completion list. * Adds a palette color to completion list.
*/ */
void void
@@ -729,7 +729,7 @@ completion_list_map_add_palette_color_cb (void *data,
} }
/* /*
* Add palette colors to completion list. * Adds palette colors to completion list.
*/ */
int int
@@ -752,7 +752,7 @@ completion_list_add_palette_colors_cb (const void *pointer, void *data,
} }
/* /*
* Add configuration files to completion list. * Adds configuration files to completion list.
*/ */
int int
@@ -780,7 +780,7 @@ completion_list_add_config_files_cb (const void *pointer, void *data,
} }
/* /*
* Add path/filename to completion list. * Adds path/filename to completion list.
*/ */
int int
@@ -923,7 +923,7 @@ end:
} }
/* /*
* Add filter names to completion list. * Adds filter names to completion list.
*/ */
int int
@@ -951,7 +951,7 @@ completion_list_add_filters_cb (const void *pointer, void *data,
} }
/* /*
* Add disabled filter names to completion list. * Adds disabled filter names to completion list.
*/ */
int int
@@ -982,7 +982,7 @@ completion_list_add_filters_disabled_cb (const void *pointer, void *data,
} }
/* /*
* Add enabled filter names to completion list. * Adds enabled filter names to completion list.
*/ */
int int
@@ -1013,7 +1013,7 @@ completion_list_add_filters_enabled_cb (const void *pointer, void *data,
} }
/* /*
* Add command hook types to completion list. * Adds command hook types to completion list.
*/ */
int int
@@ -1040,7 +1040,7 @@ completion_list_add_hook_types_cb (const void *pointer, void *data,
} }
/* /*
* Add command hooks to completion list. * Adds command hooks to completion list.
*/ */
int int
@@ -1091,7 +1091,7 @@ completion_list_add_commands_cb (const void *pointer, void *data,
} }
/* /*
* Add info hooks to completion list. * Adds info hooks to completion list.
*/ */
int int
@@ -1123,7 +1123,7 @@ completion_list_add_infos_cb (const void *pointer, void *data,
} }
/* /*
* Add infolist hooks to completion list. * Adds infolist hooks to completion list.
*/ */
int int
@@ -1155,7 +1155,7 @@ completion_list_add_infolists_cb (const void *pointer, void *data,
} }
/* /*
* Add nicks to completion list. * Adds nicks to completion list.
*/ */
int int
@@ -1206,7 +1206,7 @@ completion_list_add_nicks_cb (const void *pointer, void *data,
} }
/* /*
* Add configuration options to completion list. * Adds configuration options to completion list.
*/ */
int int
@@ -1254,7 +1254,7 @@ completion_list_add_config_options_cb (const void *pointer, void *data,
} }
/* /*
* Add plugin names to completion list. * Adds plugin names to completion list.
*/ */
int int
@@ -1282,7 +1282,7 @@ completion_list_add_plugins_cb (const void *pointer, void *data,
} }
/* /*
* Add a plugin installed to completion list. * Adds a plugin installed to completion list.
*/ */
void void
@@ -1317,7 +1317,7 @@ completion_list_add_plugins_installed_exec_cb (void *data,
} }
/* /*
* Add plugins installed to completion list. * Adds plugins installed to completion list.
*/ */
int int
@@ -1384,7 +1384,7 @@ completion_list_add_plugins_installed_cb (const void *pointer, void *data,
} }
/* /*
* Add plugin commands to completion list. * Adds plugin commands to completion list.
* *
* The plugin name is read in previous argument. * The plugin name is read in previous argument.
*/ */
@@ -1472,7 +1472,7 @@ completion_list_add_plugins_commands_cb (const void *pointer, void *data,
} }
/* /*
* Add value of option to completion list. * Adds value of option to completion list.
* *
* The option name is read in previous argument. * The option name is read in previous argument.
*/ */
@@ -1688,7 +1688,7 @@ completion_list_add_config_option_values_cb (const void *pointer, void *data,
} }
/* /*
* Add WeeChat commands to completion list. * Adds WeeChat commands to completion list.
*/ */
int int
@@ -1740,7 +1740,7 @@ completion_list_add_weechat_commands_cb (const void *pointer, void *data,
} }
/* /*
* Add proxy names to completion list. * Adds proxy names to completion list.
*/ */
int int
@@ -1768,7 +1768,7 @@ completion_list_add_proxies_names_cb (const void *pointer, void *data,
} }
/* /*
* Add proxy options to completion list. * Adds proxy options to completion list.
*/ */
int int
@@ -1795,7 +1795,7 @@ completion_list_add_proxies_options_cb (const void *pointer, void *data,
} }
/* /*
* Add key contexts to completion list. * Adds key contexts to completion list.
*/ */
int int
@@ -1822,7 +1822,7 @@ completion_list_add_keys_contexts_cb (const void *pointer, void *data,
} }
/* /*
* Add keys to completion list. * Adds keys to completion list.
*/ */
int int
@@ -1853,7 +1853,7 @@ completion_list_add_keys_codes_cb (const void *pointer, void *data,
} }
/* /*
* Add keys that can be reset (keys added, redefined or removed) to completion * Adds keys that can be reset (keys added, redefined or removed) to completion
* list. * list.
*/ */
@@ -1905,7 +1905,7 @@ completion_list_add_keys_codes_for_reset_cb (const void *pointer, void *data,
} }
/* /*
* Add areas for free cursor movement ("chat" and bar names) to completion * Adds areas for free cursor movement ("chat" and bar names) to completion
* list. * list.
*/ */
@@ -1947,7 +1947,7 @@ completion_list_add_cursor_areas_cb (const void *pointer, void *data,
} }
/* /*
* Add layout names to completion list. * Adds layout names to completion list.
*/ */
int int
@@ -1975,7 +1975,7 @@ completion_list_add_layouts_names_cb (const void *pointer, void *data,
} }
/* /*
* Add a secured data to completion list. * Adds a secured data to completion list.
*/ */
void void
@@ -1993,7 +1993,7 @@ completion_list_map_add_secured_data_cb (void *data,
} }
/* /*
* Add secured data to completion list. * Adds secured data to completion list.
*/ */
int int
@@ -2016,7 +2016,7 @@ completion_list_add_secured_data_cb (const void *pointer, void *data,
} }
/* /*
* Add environment variables to completion list. * Adds environment variables to completion list.
*/ */
int int
@@ -2052,7 +2052,7 @@ completion_list_add_env_vars_cb (const void *pointer, void *data,
} }
/* /*
* Add value of an environment variable to completion list. * Adds value of an environment variable to completion list.
*/ */
int int
@@ -2099,7 +2099,7 @@ completion_list_add_env_value_cb (const void *pointer, void *data,
} }
/* /*
* Add a buffer local variable for /eval to completions list. * Adds a buffer local variable for /eval to completions list.
*/ */
void void
@@ -2122,7 +2122,7 @@ completion_list_map_eval_buffer_local_variable_cb (void *data,
} }
/* /*
* Add /eval variables to completion list. * Adds /eval variables to completion list.
*/ */
int int
@@ -2225,7 +2225,7 @@ completion_list_add_eval_variables_cb (const void *pointer, void *data,
} }
/* /*
* Add hooks for completions done by WeeChat core. * Adds hooks for completions done by WeeChat core.
*/ */
void void
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -286,7 +286,7 @@ extern void config_file_search_with_string (const char *option_name,
struct t_config_file **config_file, struct t_config_file **config_file,
struct t_config_section **section, struct t_config_section **section,
struct t_config_option **option, struct t_config_option **option,
const char **pos_option_name); char **pos_option_name);
extern int config_file_string_to_boolean (const char *text); extern int config_file_string_to_boolean (const char *text);
extern int config_file_option_reset (struct t_config_option *option, extern int config_file_option_reset (struct t_config_option *option,
int run_callback); int run_callback);
+85 -68
View File
@@ -50,7 +50,6 @@
#include "core-proxy.h" #include "core-proxy.h"
#include "core-string.h" #include "core-string.h"
#include "core-sys.h" #include "core-sys.h"
#include "core-util.h"
#include "core-version.h" #include "core-version.h"
#include "../gui/gui-bar.h" #include "../gui/gui-bar.h"
#include "../gui/gui-bar-item.h" #include "../gui/gui-bar-item.h"
@@ -405,7 +404,7 @@ config_change_sys_rlimit (const void *pointer, void *data,
} }
/* /*
* Check option "weechat.look.config_permissions". * Checks option "weechat.look.config_permissions".
*/ */
int int
@@ -508,7 +507,7 @@ config_change_window_title (const void *pointer, void *data,
} }
/* /*
* Set word chars array with a word chars option. * Sets word chars array with a word chars option.
*/ */
void void
@@ -763,7 +762,7 @@ config_change_buffer_time_same (const void *pointer, void *data,
} }
/* /*
* Compute the "prefix_max_length" on all buffers. * Computes the "prefix_max_length" on all buffers.
*/ */
void void
@@ -782,7 +781,7 @@ config_compute_prefix_max_length_all_buffers (void)
} }
/* /*
* Set nick colors using option "weechat.color.chat_nick_colors". * Sets nick colors using option "weechat.color.chat_nick_colors".
*/ */
void void
@@ -860,7 +859,8 @@ config_change_look_nick_color_force (const void *pointer, void *data,
} }
/* /*
* Set eval syntax highlighting colors using option "weechat.color.eval_syntax_colors". * Sets eval syntax highlighting colors using option
* "weechat.color.eval_syntax_colors".
*/ */
void void
@@ -1176,7 +1176,7 @@ config_change_item_time_format (const void *pointer, void *data,
} }
/* /*
* Get the current time formatted for the bar item status. * Gets the current time formatted for the bar item status.
*/ */
void void
@@ -1265,7 +1265,7 @@ config_change_prefix_align_min (const void *pointer, void *data,
} }
/* /*
* Check option "weechat.look.prefix_align_more". * Checks option "weechat.look.prefix_align_more".
*/ */
int int
@@ -1282,7 +1282,7 @@ config_check_prefix_align_more (const void *pointer, void *data,
} }
/* /*
* Check option "weechat.look.prefix_buffer_align_more". * Checks option "weechat.look.prefix_buffer_align_more".
*/ */
int int
@@ -1299,7 +1299,7 @@ config_check_prefix_buffer_align_more (const void *pointer, void *data,
} }
/* /*
* Check options "weechat.look.separator_{horizontal|vertical}". * Checks options "weechat.look.separator_{horizontal|vertical}".
*/ */
int int
@@ -1316,7 +1316,7 @@ config_check_separator (const void *pointer, void *data,
} }
/* /*
* Check options "weechat.look.whitespace_char" and * Checks options "weechat.look.whitespace_char" and
* "weechat.look.tab_whitespace_char". * "weechat.look.tab_whitespace_char".
*/ */
@@ -1473,7 +1473,8 @@ config_change_completion_nick_ignore_words (const void *pointer,
} }
/* /*
* Callback for changes on option "weechat.completion.partial_completion_templates". * Callback for changes on option
* "weechat.completion.partial_completion_templates".
*/ */
void void
@@ -1541,7 +1542,7 @@ config_change_network_gnutls_ca (const void *pointer, void *data,
} }
/* /*
* Check option "weechat.network.proxy_curl". * Checks option "weechat.network.proxy_curl".
*/ */
int int
@@ -1601,9 +1602,9 @@ config_change_plugin_extension (const void *pointer, void *data,
} }
/* /*
* Timer called each minute: check if the day has changed, and if yes: * Timer called each minute: checks if the day has changed, and if yes:
* - refresh screen (if needed) * - refreshes screen (if needed)
* - send signal "day_changed" * - sends signal "day_changed"
*/ */
int int
@@ -1651,7 +1652,7 @@ config_day_change_timer_cb (const void *pointer, void *data,
} }
/* /*
* Initialize some things after reading/reloading WeeChat configuration file. * Initializes some things after reading/reloading WeeChat configuration file.
*/ */
void void
@@ -1700,7 +1701,7 @@ config_weechat_init_after_read (void)
} }
/* /*
* Update options in configuration file while reading the file. * Updates options in configuration file while reading the file.
*/ */
struct t_hashtable * struct t_hashtable *
@@ -1709,7 +1710,7 @@ config_weechat_update_cb (const void *pointer, void *data,
int version_read, int version_read,
struct t_hashtable *data_read) struct t_hashtable *data_read)
{ {
const char *ptr_config, *ptr_section, *ptr_option, *ptr_value, *pos_option; const char *ptr_config, *ptr_section, *ptr_option, *ptr_value;
char *new_commands[][2] = { char *new_commands[][2] = {
/* old command, new command */ /* old command, new command */
{ "/input jump_smart", "/buffer jump smart" }, { "/input jump_smart", "/buffer jump smart" },
@@ -1739,7 +1740,7 @@ config_weechat_update_cb (const void *pointer, void *data,
{ "number_desc" "-buffer.number" }, { "number_desc" "-buffer.number" },
{ NULL, NULL }, { NULL, NULL },
}; };
char *new_option, *new_value; char *new_option, *new_value, *pos_option;
int changes, i; int changes, i;
/* make C compiler happy */ /* make C compiler happy */
@@ -1938,9 +1939,9 @@ config_weechat_update_cb (const void *pointer, void *data,
} }
/* /*
* Reload WeeChat configuration file. * Reloads WeeChat configuration file.
* *
* Return: * Returns:
* WEECHAT_CONFIG_READ_OK: OK * WEECHAT_CONFIG_READ_OK: OK
* WEECHAT_CONFIG_READ_MEMORY_ERROR: not enough memory * WEECHAT_CONFIG_READ_MEMORY_ERROR: not enough memory
* WEECHAT_CONFIG_READ_FILE_NOT_FOUND: file not found * WEECHAT_CONFIG_READ_FILE_NOT_FOUND: file not found
@@ -1993,7 +1994,7 @@ config_weechat_reload_cb (const void *pointer, void *data,
} }
/* /*
* Get debug level for a plugin (or "core"). * Gets debug level for a plugin (or "core").
*/ */
struct t_config_option * struct t_config_option *
@@ -2005,7 +2006,8 @@ config_weechat_debug_get (const char *plugin_name)
} }
/* /*
* Set debug level for "core" and all plugins, using values from section "debug". * Sets debug level for "core" and all plugins, using values from section
* "debug".
*/ */
void void
@@ -2127,7 +2129,7 @@ config_weechat_debug_delete_option_cb (const void *pointer, void *data,
} }
/* /*
* Set debug level for a plugin (or "core"). * Sets debug level for a plugin (or "core").
*/ */
int int
@@ -2148,14 +2150,19 @@ void
config_weechat_palette_change_cb (const void *pointer, void *data, config_weechat_palette_change_cb (const void *pointer, void *data,
struct t_config_option *option) struct t_config_option *option)
{ {
char *error;
int number; int number;
/* make C compiler happy */ /* make C compiler happy */
(void) pointer; (void) pointer;
(void) data; (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)); gui_color_palette_add (number, CONFIG_STRING(option));
}
} }
/* /*
@@ -2170,6 +2177,7 @@ config_weechat_palette_create_option_cb (const void *pointer, void *data,
const char *value) const char *value)
{ {
struct t_config_option *ptr_option; struct t_config_option *ptr_option;
char *error;
int rc, number; int rc, number;
/* make C compiler happy */ /* make C compiler happy */
@@ -2178,7 +2186,9 @@ config_weechat_palette_create_option_cb (const void *pointer, void *data,
rc = WEECHAT_CONFIG_OPTION_SET_ERROR; 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) if (option_name)
{ {
@@ -2236,6 +2246,7 @@ config_weechat_palette_delete_option_cb (const void *pointer, void *data,
struct t_config_section *section, struct t_config_section *section,
struct t_config_option *option) struct t_config_option *option)
{ {
char *error;
int number; int number;
/* make C compiler happy */ /* make C compiler happy */
@@ -2244,7 +2255,9 @@ config_weechat_palette_delete_option_cb (const void *pointer, void *data,
(void) config_file; (void) config_file;
(void) section; (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); gui_color_palette_remove (number);
config_file_option_free (option, 1); config_file_option_free (option, 1);
@@ -2253,7 +2266,7 @@ config_weechat_palette_delete_option_cb (const void *pointer, void *data,
} }
/* /*
* Read a proxy option in WeeChat configuration file. * Reads a proxy option in WeeChat configuration file.
*/ */
int int
@@ -2262,8 +2275,7 @@ config_weechat_proxy_read_cb (const void *pointer, void *data,
struct t_config_section *section, struct t_config_section *section,
const char *option_name, const char *value) const char *option_name, const char *value)
{ {
const char *pos_option; char *pos_option, *proxy_name;
char *proxy_name;
struct t_proxy *ptr_temp_proxy; struct t_proxy *ptr_temp_proxy;
int index_option; int index_option;
@@ -2333,7 +2345,7 @@ config_weechat_proxy_read_cb (const void *pointer, void *data,
} }
/* /*
* Read a bar option in WeeChat configuration file. * Reads a bar option in WeeChat configuration file.
*/ */
int int
@@ -2342,8 +2354,7 @@ config_weechat_bar_read_cb (const void *pointer, void *data,
struct t_config_section *section, struct t_config_section *section,
const char *option_name, const char *value) const char *option_name, const char *value)
{ {
const char *pos_option; char *pos_option, *bar_name;
char *bar_name;
struct t_gui_bar *ptr_temp_bar; struct t_gui_bar *ptr_temp_bar;
int index_option; int index_option;
@@ -2414,7 +2425,7 @@ config_weechat_bar_read_cb (const void *pointer, void *data,
} }
/* /*
* Read a custom bar item option in WeeChat configuration file. * Reads a custom bar item option in WeeChat configuration file.
*/ */
int int
@@ -2423,8 +2434,7 @@ config_weechat_custom_bar_item_read_cb (const void *pointer, void *data,
struct t_config_section *section, struct t_config_section *section,
const char *option_name, const char *value) const char *option_name, const char *value)
{ {
const char *pos_option; char *pos_option, *item_name;
char *item_name;
struct t_gui_bar_item_custom *ptr_temp_item; struct t_gui_bar_item_custom *ptr_temp_item;
int index_option; int index_option;
@@ -2505,7 +2515,7 @@ config_weechat_custom_bar_item_read_cb (const void *pointer, void *data,
} }
/* /*
* Read a layout option in WeeChat configuration file. * Reads a layout option in WeeChat configuration file.
*/ */
int int
@@ -2514,10 +2524,10 @@ config_weechat_layout_read_cb (const void *pointer, void *data,
struct t_config_section *section, struct t_config_section *section,
const char *option_name, const char *value) const char *option_name, const char *value)
{ {
int argc, force_current_layout, number1, number2, number3, number4; int argc, force_current_layout;
const char *pos; char **argv, *pos, *layout_name, *error1, *error2, *error3, *error4;
char **argv, *layout_name;
const char *ptr_option_name; const char *ptr_option_name;
long number1, number2, number3, number4;
struct t_gui_layout *ptr_layout; struct t_gui_layout *ptr_layout;
struct t_gui_layout_window *parent; struct t_gui_layout_window *parent;
@@ -2575,7 +2585,9 @@ config_weechat_layout_read_cb (const void *pointer, void *data,
{ {
if (argc >= 3) 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); gui_layout_buffer_add (ptr_layout, argv[0], argv[1], number1);
} }
string_free_split (argv); string_free_split (argv);
@@ -2592,10 +2604,16 @@ config_weechat_layout_read_cb (const void *pointer, void *data,
{ {
if (argc >= 6) if (argc >= 6)
{ {
if (util_parse_int (argv[0], 10, &number1) error1 = NULL;
&& util_parse_int (argv[1], 10, &number2) number1 = strtol (argv[0], &error1, 10);
&& util_parse_int (argv[2], 10, &number3) error2 = NULL;
&& util_parse_int (argv[3], 10, &number4)) 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, parent = gui_layout_window_search_by_id (ptr_layout->layout_windows,
number2); number2);
@@ -2628,9 +2646,9 @@ config_weechat_layout_read_cb (const void *pointer, void *data,
} }
/* /*
* Write layout of windows in WeeChat configuration file. * Writes layout of windows in WeeChat configuration file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: write error * 0: write error
*/ */
@@ -2671,7 +2689,7 @@ config_weechat_layout_write_tree (struct t_config_file *config_file,
} }
/* /*
* Write section "layout" in WeeChat configuration file. * Writes section "layout" in WeeChat configuration file.
*/ */
int int
@@ -2731,7 +2749,7 @@ config_weechat_layout_write_cb (const void *pointer, void *data,
} }
/* /*
* Apply a buffer option to all matching buffers. * Applies a buffer option to all matching buffers.
*/ */
void void
@@ -2853,9 +2871,9 @@ config_weechat_buffer_create_option_cb (const void *pointer, void *data,
} }
/* /*
* Set a buffer property. * Sets a buffer property.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -3006,12 +3024,12 @@ config_weechat_notify_delete_option_cb (const void *pointer, void *data,
} }
/* /*
* Set a notify level for a buffer. * Sets a notify level for a buffer.
* *
* A negative value resets notify for buffer to its default value (and * A negative value resets notify for buffer to its default value (and
* removes buffer from config file). * removes buffer from config file).
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -3036,7 +3054,7 @@ config_weechat_notify_set (struct t_gui_buffer *buffer, const char *notify)
} }
/* /*
* Read a filter option in WeeChat configuration file. * Reads a filter option in WeeChat configuration file.
*/ */
int int
@@ -3080,7 +3098,7 @@ config_weechat_filter_read_cb (const void *pointer, void *data,
} }
/* /*
* Write section "filter" in WeeChat configuration file. * Writes section "filter" in WeeChat configuration file.
*/ */
int int
@@ -3114,9 +3132,9 @@ config_weechat_filter_write_cb (const void *pointer, void *data,
} }
/* /*
* Search key context with the section pointer. * Searches key context with the section pointer.
* *
* Return key context, -1 if not found. * Returns key context, -1 if not found.
*/ */
int int
@@ -3205,9 +3223,9 @@ config_weechat_key_delete_option_cb (const void *pointer, void *data,
} }
/* /*
* Create options in WeeChat configuration. * Creates options in WeeChat configuration.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -3766,7 +3784,6 @@ config_weechat_init_options (void)
NULL, 0, 0, NULL, 0, 0,
"${away} " "${away} "
"|| ${buffer.num_displayed} == 0 " "|| ${buffer.num_displayed} == 0 "
"|| ${info:relay_client_count,api,connected} > 0 "
"|| ${info:relay_client_count,weechat,connected} > 0", "|| ${info:relay_client_count,weechat,connected} > 0",
NULL, 0, NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
@@ -5582,9 +5599,9 @@ config_weechat_init_options (void)
} }
/* /*
* Initialize WeeChat configuration. * Initializes WeeChat configuration.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -5644,9 +5661,9 @@ config_weechat_init (void)
} }
/* /*
* Read WeeChat configuration file. * Reads WeeChat configuration file.
* *
* Return: * Returns:
* WEECHAT_CONFIG_READ_OK: OK * WEECHAT_CONFIG_READ_OK: OK
* WEECHAT_CONFIG_READ_MEMORY_ERROR: not enough memory * WEECHAT_CONFIG_READ_MEMORY_ERROR: not enough memory
* WEECHAT_CONFIG_READ_FILE_NOT_FOUND: file not found * WEECHAT_CONFIG_READ_FILE_NOT_FOUND: file not found
@@ -5667,9 +5684,9 @@ config_weechat_read (void)
} }
/* /*
* Write WeeChat configuration file. * Writes WeeChat configuration file.
* *
* Return: * Returns:
* WEECHAT_CONFIG_WRITE_OK: OK * WEECHAT_CONFIG_WRITE_OK: OK
* WEECHAT_CONFIG_WRITE_ERROR: error * WEECHAT_CONFIG_WRITE_ERROR: error
* WEECHAT_CONFIG_WRITE_MEMORY_ERROR: not enough memory * WEECHAT_CONFIG_WRITE_MEMORY_ERROR: not enough memory
@@ -5682,7 +5699,7 @@ config_weechat_write (void)
} }
/* /*
* Free WeeChat configuration file and variables. * Frees WeeChat configuration file and variables.
*/ */
void void
+20 -26
View File
@@ -46,9 +46,6 @@
#include <netinet/in.h> #include <netinet/in.h>
#include <inttypes.h> #include <inttypes.h>
#define BE_INT64 htonll #define BE_INT64 htonll
#elif defined(__HAIKU__)
#include <ByteOrder.h>
#define BE_INT64 B_HOST_TO_BENDIAN_INT64
#else #else
#define BE_INT64 htobe64 #define BE_INT64 htobe64
#endif #endif
@@ -126,7 +123,7 @@ int weecrypto_cipher[] = {
/* /*
* Return the hash algorithm with the name, or GCRY_MD_NONE if not found. * Returns the hash algorithm with the name, or GCRY_MD_NONE if not found.
*/ */
int int
@@ -147,7 +144,7 @@ weecrypto_get_hash_algo (const char *hash_algo)
} }
/* /*
* Return the cipher with the name, or GCRY_CIPHER_NONE if not found. * Returns the cipher with the name, or GCRY_CIPHER_NONE if not found.
*/ */
int int
@@ -168,7 +165,7 @@ weecrypto_get_cipher (const char *cipher)
} }
/* /*
* Compute hash of data using the given hash algorithm. * Computes hash of data using the given hash algorithm.
* *
* The hash size depends on the algorithm, common ones are: * The hash size depends on the algorithm, common ones are:
* *
@@ -199,7 +196,7 @@ weecrypto_get_cipher (const char *cipher)
* If hash_size is not NULL, the length of hash is stored in *hash_size * If hash_size is not NULL, the length of hash is stored in *hash_size
* (in bytes). * (in bytes).
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -258,7 +255,7 @@ hash_end:
} }
/* /*
* Compute hash of file using the given hash algorithm. * Computes hash of file using the given hash algorithm.
* *
* The hash size depends on the algorithm, common ones are: * The hash size depends on the algorithm, common ones are:
* *
@@ -289,7 +286,7 @@ hash_end:
* If hash_size is not NULL, the length of hash is stored in *hash_size * If hash_size is not NULL, the length of hash is stored in *hash_size
* (in bytes). * (in bytes).
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -364,7 +361,7 @@ hash_end:
} }
/* /*
* Compute PKCS#5 Passphrase Based Key Derivation Function number 2 (PBKDF2) * Computes PKCS#5 Passphrase Based Key Derivation Function number 2 (PBKDF2)
* hash of data. * hash of data.
* *
* The hash size depends on the algorithm, common ones are: * The hash size depends on the algorithm, common ones are:
@@ -378,7 +375,7 @@ hash_end:
* If hash_size is not NULL, the length of hash is stored in *hash_size * If hash_size is not NULL, the length of hash is stored in *hash_size
* (in bytes). * (in bytes).
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -422,7 +419,7 @@ hash_pbkdf2_end:
} }
/* /*
* Compute keyed-hash message authentication code (HMAC). * Computes keyed-hash message authentication code (HMAC).
* *
* The hash size depends on the algorithm, common ones are: * The hash size depends on the algorithm, common ones are:
* *
@@ -453,7 +450,7 @@ hash_pbkdf2_end:
* If hash_size is not NULL, the length of hash is stored in *hash_size * If hash_size is not NULL, the length of hash is stored in *hash_size
* (in bytes). * (in bytes).
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -517,10 +514,10 @@ hmac_end:
} }
/* /*
* Generate a Time-based One-Time Password (TOTP), as described * Generates a Time-based One-Time Password (TOTP), as described
* in the RFC 6238. * in the RFC 6238.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -559,10 +556,10 @@ weecrypto_totp_generate_internal (const char *secret, int length_secret,
} }
/* /*
* Generate a Time-based One-Time Password (TOTP), as described * Generates a Time-based One-Time Password (TOTP), as described
* in the RFC 6238. * in the RFC 6238.
* *
* Return the password as string, NULL if error. * Returns the password as string, NULL if error.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -618,9 +615,9 @@ error:
} }
/* /*
* Validate a Time-based One-Time Password (TOTP). * Validates a Time-based One-Time Password (TOTP).
* *
* Return: * Returns:
* 1: OTP is OK * 1: OTP is OK
* 0: OTP is invalid * 0: OTP is invalid
*/ */
@@ -660,18 +657,15 @@ weecrypto_totp_validate (const char *secret_base32, time_t totp_time,
otp_ok = 0; otp_ok = 0;
/*
* Compare in constant time and never break early: a non-constant
* compare and an early exit on match would let an observer measure
* how many digits of the expected OTP they got right and which
* time-window offset matched.
*/
for (i = moving_factor - window; i <= moving_factor + window; i++) for (i = moving_factor - window; i <= moving_factor + window; i++)
{ {
rc = weecrypto_totp_generate_internal (secret, length_secret, rc = weecrypto_totp_generate_internal (secret, length_secret,
i, digits, str_otp); i, digits, str_otp);
if (rc && (string_memcmp_constant_time (str_otp, otp, digits) == 0)) if (rc && (strcmp (str_otp, otp) == 0))
{
otp_ok = 1; otp_ok = 1;
break;
}
} }
free (secret); free (secret);
+16 -15
View File
@@ -91,7 +91,7 @@ long long debug_long_callbacks = 0; /* callbacks taking more than */
/* /*
* Display build information on stdout. * Displays build information on stdout.
*/ */
void void
@@ -149,7 +149,7 @@ debug_build_info (void)
} }
/* /*
* Write dump of data to WeeChat log file. * Writes dump of data to WeeChat log file.
*/ */
void void
@@ -226,7 +226,7 @@ debug_dump_cb (const void *pointer, void *data,
/* /*
* Callback for system signal SIGSEGV handler. * Callback for system signal SIGSEGV handler.
* *
* Write dump of data and backtrace to WeeChat log file, then exit. * Writes dump of data and backtrace to WeeChat log file, then exit.
*/ */
void void
@@ -271,7 +271,7 @@ debug_sigsegv_cb (int signo)
} }
/* /*
* Display tree of windows (this function must not be called directly). * Displays tree of windows (this function must not be called directly).
*/ */
void void
@@ -341,7 +341,7 @@ debug_windows_tree_display (struct t_gui_window_tree *tree, int indent)
} }
/* /*
* Display tree of windows. * Displays tree of windows.
*/ */
void void
@@ -353,7 +353,7 @@ debug_windows_tree (void)
} }
/* /*
* Display information about dynamic memory allocation. * Displays information about dynamic memory allocation.
*/ */
void void
@@ -499,7 +499,7 @@ debug_hdata_map_cb (void *data,
} }
/* /*
* Display a list of hdata in memory. * Displays a list of hdata in memory.
*/ */
void void
@@ -517,7 +517,7 @@ debug_hdata (void)
} }
/* /*
* Display info about hooks. * Displays info about hooks.
*/ */
void void
@@ -538,7 +538,7 @@ debug_hooks (void)
} }
/* /*
* Display info about hooks for one or multiple plugins matching a mask. * Displays info about hooks for one or multiple plugins matching a mask.
*/ */
void void
@@ -657,7 +657,7 @@ debug_hooks_plugin_types (const char *plugin_mask, const char **hook_types)
} }
/* /*
* Display a list of infolists in memory. * Displays a list of infolists in memory.
*/ */
void void
@@ -748,7 +748,7 @@ debug_infolists (void)
} }
/* /*
* Callback for signal "debug_libs": display infos about external libraries * Callback for signal "debug_libs": displays infos about external libraries
* used (called when command "/debug libs" is issued). * used (called when command "/debug libs" is issued).
* *
* Note: this function displays libraries for WeeChat core only: plugins can * Note: this function displays libraries for WeeChat core only: plugins can
@@ -821,7 +821,7 @@ debug_libs_cb (const void *pointer, void *data,
} }
/* /*
* Display WeeChat directories. * Displays WeeChat directories.
*/ */
void void
@@ -859,7 +859,8 @@ debug_directories (void)
/* /*
* Display time elapsed between two times. * Display time elapsed between two times.
* *
* If display is 1, display message in core buffer, otherwise write in log file. * If display is 1, the message is displayed in core buffer, otherwise it's
* written in log file.
*/ */
void void
@@ -1031,7 +1032,7 @@ debug_unicode (const char *string)
} }
/* /*
* Initialize debug. * Initializes debug.
*/ */
void void
@@ -1047,7 +1048,7 @@ debug_init (void)
} }
/* /*
* End debug. * Ends debug.
*/ */
void void
+103 -41
View File
@@ -57,7 +57,7 @@
/* /*
* Return the path to a temporary directory, the first valid directory in * Returns the path to a temporary directory, the first valid directory in
* this list: * this list:
* - content of environment variable "TMPDIR" * - content of environment variable "TMPDIR"
* - P_tmpdir (from stdio.h) * - P_tmpdir (from stdio.h)
@@ -100,9 +100,9 @@ dir_get_temp_dir (void)
} }
/* /*
* Create a directory in WeeChat home. * Creates a directory in WeeChat home.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -175,9 +175,9 @@ end:
} }
/* /*
* Create a directory. * Creates a directory.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -198,9 +198,9 @@ dir_mkdir (const char *directory, int mode)
} }
/* /*
* Create a directory and make parent directories as needed. * Creates a directory and makes parent directories as needed.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -257,9 +257,9 @@ dir_mkdir_parents (const char *directory, int mode)
} }
/* /*
* Unlink a file or directory; callback called by function dir_rmtree(). * Unlinks a file or directory; callback called by function dir_rmtree().
* *
* Return the return code of remove(): * Returns the return code of remove():
* 0: OK * 0: OK
* -1: error * -1: error
*/ */
@@ -277,9 +277,9 @@ dir_unlink_cb (const char *fpath, const struct stat *sb, int typeflag,
} }
/* /*
* Remove a directory and all files inside recursively. * Removes a directory and all files inside recursively.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -298,12 +298,12 @@ dir_rmtree (const char *directory)
} }
/* /*
* Use one or four different paths for WeeChat home directories. * Uses one or four different paths for WeeChat home directories.
* *
* If 4 paths are given, they must be separated by colons and given in this * If 4 paths are given, they must be separated by colons and given in this
* order: config, data, cache, runtime. * order: config, data, cache, runtime.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -374,9 +374,9 @@ end:
} }
/* /*
* Create WeeChat temporary home directory (deleted on exit). * Creates WeeChat temporary home directory (deleted on exit).
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -435,9 +435,9 @@ end:
} }
/* /*
* Find XDG directories. * Finds XDG directories.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -592,10 +592,10 @@ error:
} }
/* /*
* Find WeeChat home directories: it can be either XDG directories or the * Finds WeeChat home directories: it can be either XDG directories or the
* same directory for all files (like the legacy directory ~/.weechat). * same directory for all files (like the legacy directory ~/.weechat).
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -673,7 +673,7 @@ use_xdg:
} }
/* /*
* Remove trailing separators in path, which is modified in place * Removes trailing separators in path, which is modified in place
* (each trailing separator is replaced by NUL char). * (each trailing separator is replaced by NUL char).
* *
* Example on Linux: "/home/xxx/" => "/home/xxx". * Example on Linux: "/home/xxx/" => "/home/xxx".
@@ -696,9 +696,9 @@ dir_remove_trailing_separators (char *path)
} }
/* /*
* Create a home directory. * Creates a home directory.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -733,7 +733,7 @@ dir_create_home_dir (char *path)
} }
/* /*
* Create WeeChat home directories. * Creates WeeChat home directories.
* *
* Any error in this function (or a sub function called) is fatal: WeeChat * Any error in this function (or a sub function called) is fatal: WeeChat
* cannot run at all without the home directories. * cannot run at all without the home directories.
@@ -770,7 +770,7 @@ error:
} }
/* /*
* Remove WeeChat home directories (called when -t / --temp-dir is given). * Removes WeeChat home directories (called when -t / --temp-dir is given).
*/ */
void void
@@ -788,7 +788,7 @@ dir_remove_home_dirs (void)
} }
/* /*
* Return a string with home directories separated by colons, in this order: * Returns a string with home directories separated by colons, in this order:
* config_dir, data_dir, state_dir, cache_dir, runtime_dir. * config_dir, data_dir, state_dir, cache_dir, runtime_dir.
* *
* Example of value returned: * Example of value returned:
@@ -815,7 +815,7 @@ dir_get_string_home_dirs (void)
} }
/* /*
* Find files in a directory and execute a function on each file. * Finds files in a directory and executes a function on each file.
*/ */
void void
@@ -863,10 +863,10 @@ dir_exec_on_files (const char *directory, int recurse_subdirs,
} }
/* /*
* Search for the full name of a WeeChat library with name and extension * Searches for the full name of a WeeChat library with name and extension
* (searches first in WeeChat user's dir, then WeeChat global lib directory). * (searches first in WeeChat user's dir, then WeeChat global lib directory).
* *
* Return name of library found, NULL if not found. * Returns name of library found, NULL if not found.
* *
* Note: result must be freed after use (if not NULL). * Note: result must be freed after use (if not NULL).
*/ */
@@ -933,7 +933,7 @@ dir_search_full_lib_name_ext (const char *filename, const char *extension,
} }
/* /*
* Search for the full name of a WeeChat library with name. * Searches for the full name of a WeeChat library with name.
* *
* All extensions listed in option "weechat.plugin.extension" are tested. * All extensions listed in option "weechat.plugin.extension" are tested.
* *
@@ -986,9 +986,9 @@ dir_search_full_lib_name (const char *filename, const char *plugins_dir)
} }
/* /*
* Read content of a file. * Reads content of a file.
* *
* Return an allocated buffer with the content of file, NULL if error. * Returns an allocated buffer with the content of file, NULL if error.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -1042,9 +1042,9 @@ error:
} }
/* /*
* Copy a file to another location. * Copies a file to another location.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -1097,13 +1097,13 @@ end:
} }
/* /*
* Compress a file with gzip. * Compresses a file with gzip.
* *
* Notes: * Notes:
* - the output file must not exist * - the output file must not exist
* - compression_level is an integer between 1 and 9 * - compression_level is an integer between 1 and 9
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -1203,13 +1203,13 @@ end:
} }
/* /*
* Compress a file with zstandard. * Compresses a file with zstandard.
* *
* Notes: * Notes:
* - the output file must not exist * - the output file must not exist
* - compression_level is an integer between 1 and 19 * - compression_level is an integer between 1 and 19
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -1223,9 +1223,14 @@ dir_file_compress_zstd (const char *from, const char *to,
void *buffer_in, *buffer_out; void *buffer_in, *buffer_out;
size_t buffer_in_size, buffer_out_size, num_read, remaining; size_t buffer_in_size, buffer_out_size, num_read, remaining;
int rc; int rc;
#if ZSTD_VERSION_NUMBER >= 10400 /* zstd ≥ 1.4.0 */
ZSTD_CCtx *cctx = NULL; ZSTD_CCtx *cctx = NULL;
ZSTD_EndDirective mode; ZSTD_EndDirective mode;
int finished, last_chunk; int finished, last_chunk;
#else /* zstd < 1.4.0 */
ZSTD_CStream *cstream = NULL;
size_t result, to_read;
#endif
ZSTD_inBuffer input; ZSTD_inBuffer input;
ZSTD_outBuffer output; ZSTD_outBuffer output;
@@ -1254,6 +1259,7 @@ dir_file_compress_zstd (const char *from, const char *to,
if (!dest) if (!dest)
goto end; goto end;
#if ZSTD_VERSION_NUMBER >= 10400 /* zstd ≥ 1.4.0 */
cctx = ZSTD_createCCtx (); cctx = ZSTD_createCCtx ();
if (!cctx) if (!cctx)
goto error; goto error;
@@ -1290,21 +1296,77 @@ dir_file_compress_zstd (const char *from, const char *to,
if (last_chunk) if (last_chunk)
break; 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; rc = 1;
goto end; goto end;
error: error:
#if ZSTD_VERSION_NUMBER >= 10400 /* zstd ≥ 1.4.0 */
if (cctx) if (cctx)
{ {
ZSTD_freeCCtx (cctx); ZSTD_freeCCtx (cctx);
cctx = NULL; cctx = NULL;
} }
#else /* zstd < 1.4.0 */
if (cstream)
{
ZSTD_freeCStream (cstream);
cstream = NULL;
}
#endif
unlink (to); unlink (to);
end: end:
#if ZSTD_VERSION_NUMBER >= 10400 /* zstd ≥ 1.4.0 */
if (cctx) if (cctx)
ZSTD_freeCCtx (cctx); ZSTD_freeCCtx (cctx);
#else /* zstd < 1.4.0 */
if (cstream)
ZSTD_freeCStream (cstream);
#endif
free (buffer_in); free (buffer_in);
free (buffer_out); free (buffer_out);
@@ -1325,7 +1387,7 @@ end:
} }
/* /*
* Compress a file with gzip or zstandard. * Compresses a file with gzip or zstandard.
* *
* The output file must not exist. * The output file must not exist.
* *
@@ -1336,7 +1398,7 @@ end:
* Parameter "compression_level" is the compression level as percentage: * Parameter "compression_level" is the compression level as percentage:
* from 1 (fast, low compression) to 100 (slow, best compression). * from 1 (fast, low compression) to 100 (slow, best compression).
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -1371,14 +1433,14 @@ dir_file_compress (const char *filename_input,
} }
/* /*
* Compare the content of two files (the attributes of the files like the * Compares the content of two files (the attributes of the files like the
* permissions or timestamp are ignored). * permissions or timestamp are ignored).
* *
* Comparison is done like this: * Comparison is done like this:
* 1. if sizes are different, return 1 (different content) * 1. if sizes are different, return 1 (different content)
* 2. if sizes are the same, read both files until a difference is found * 2. if sizes are the same, read both files until a difference is found
* *
* Return: * Returns:
* 0: both files exist and their content is exactly the same * 0: both files exist and their content is exactly the same
* 1: content is different * 1: content is different
* 2: other error (file not found, read error) * 2: other error (file not found, read error)
+52 -52
View File
@@ -61,7 +61,7 @@ char *string_escaped[32];
/* /*
* Escape a string to display in a table: replace "|" by "\|". * Escapes a string to display in a table: replace "|" by "\|".
*/ */
char * char *
@@ -74,7 +74,7 @@ doc_gen_escape_table (const char *message)
} }
/* /*
* Escape a string to be used as anchor link: replace ",", "@" and "*" by "-". * Escapes a string to be used as anchor link: replace ",", "@" and "*" by "-".
*/ */
char * char *
@@ -94,13 +94,13 @@ doc_gen_escape_anchor_link (const char *message)
} }
/* /*
* Open a file for write using: * Opens a file for write using:
* - path * - path
* - doc: "api" or "user" * - doc: "api" or "user"
* - name * - name
* - language (eg: "fr") * - language (eg: "fr")
* *
* Return the file opened, NULL if error. * Returns the file opened, NULL if error.
*/ */
FILE * FILE *
@@ -135,13 +135,13 @@ doc_gen_open_file (const char *path, const char *doc, const char *name,
} }
/* /*
* Close the file and rename it without ".temp" suffix, if the target name * Closes the file and renames it without ".temp" suffix, if the target name
* does not exist or if it exists with a different (obsolete) content. * does not exist or if it exists with a different (obsolete) content.
* *
* If the target name exists with same content, keep it as-is (so the * If the target name exists with same content it's kept as-is (so the
* timestamp does not change) and just delete the temporary file. * timestamp does not change) and the temporary file is just deleted.
* *
* Return: * Returns:
* 1: target file has been updated * 1: target file has been updated
* 0: target file unchanged * 0: target file unchanged
* -1: error * -1: error
@@ -183,7 +183,7 @@ doc_gen_close_file (const char *path, const char *doc, const char *name,
} }
/* /*
* Check if a command must be documented or not: all commands are documented * Checks if a command must be documented or not: all commands are documented
* except the default aliases (that create commands). * except the default aliases (that create commands).
*/ */
@@ -195,7 +195,7 @@ doc_gen_check_command (const char *plugin, const char *command)
} }
/* /*
* Compare two hooks "command" to sort by plugin / command. * Compares two hooks "command" to sort by plugin / command.
*/ */
int int
@@ -221,9 +221,9 @@ doc_gen_hook_command_cmp_cb (void *data, struct t_arraylist *arraylist,
} }
/* /*
* Generate files with commands. * Generates files with commands.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -366,7 +366,7 @@ doc_gen_user_commands (const char *path, const char *lang)
} }
/* /*
* Check if an option must be documented or not. * Checks if an option must be documented or not.
*/ */
int int
@@ -395,7 +395,7 @@ doc_gen_check_option (struct t_config_option *option)
} }
/* /*
* Compare two options to sort by plugin / command. * Compares two options to sort by plugin / command.
*/ */
int int
@@ -425,9 +425,9 @@ doc_gen_option_cmp_cb (void *data, struct t_arraylist *arraylist,
} }
/* /*
* Generate files with commands. * Generates files with commands.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -588,9 +588,9 @@ doc_gen_user_options (const char *path, const char *lang)
} }
/* /*
* Generate files with default aliases. * Generates files with default aliases.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -638,9 +638,9 @@ doc_gen_user_default_aliases (const char *path, const char *lang)
} }
/* /*
* Generate files with IRC colors. * Generates files with IRC colors.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -684,7 +684,7 @@ doc_gen_user_irc_colors (const char *path, const char *lang)
} }
/* /*
* Compare two hooks "info" to sort by plugin / info. * Compares two hooks "info" to sort by plugin / info.
*/ */
int int
@@ -710,9 +710,9 @@ doc_gen_hook_info_cmp_cb (void *data, struct t_arraylist *arraylist,
} }
/* /*
* Generate files with infos. * Generates files with infos.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -773,7 +773,7 @@ doc_gen_api_infos (const char *path, const char *lang)
} }
/* /*
* Compare two hooks "info_hashtable" to sort by plugin / info. * Compares two hooks "info_hashtable" to sort by plugin / info.
*/ */
int int
@@ -799,9 +799,9 @@ doc_gen_hook_info_hashtable_cmp_cb (void *data, struct t_arraylist *arraylist,
} }
/* /*
* Generate files with infos_hashtable. * Generates files with infos_hashtable.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -864,7 +864,7 @@ doc_gen_api_infos_hashtable (const char *path, const char *lang)
} }
/* /*
* Compare two hooks "infolist" to sort by plugin / infolist. * Compares two hooks "infolist" to sort by plugin / infolist.
*/ */
int int
@@ -890,9 +890,9 @@ doc_gen_hook_infolist_cmp_cb (void *data, struct t_arraylist *arraylist,
} }
/* /*
* Generate files with infolists. * Generates files with infolists.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -955,7 +955,7 @@ doc_gen_api_infolists (const char *path, const char *lang)
} }
/* /*
* Compare two hooks "hdata" to sort by plugin / hdata. * Compares two hooks "hdata" to sort by plugin / hdata.
*/ */
int int
@@ -981,7 +981,7 @@ doc_gen_hook_hdata_cmp_cb (void *data, struct t_arraylist *arraylist,
} }
/* /*
* Compare two hooks lists to sort by name (and lists beginning with "last_" * Compares two hooks lists to sort by name (and lists beginning with "last_"
* at the end). * at the end).
*/ */
@@ -1009,7 +1009,7 @@ doc_gen_hdata_list_cmp_cb (void *data, struct t_arraylist *arraylist,
} }
/* /*
* Compare two hooks hdata keys to sort by offset. * Compares two hooks hdata keys to sort by offset.
*/ */
int int
@@ -1030,7 +1030,7 @@ doc_gen_hdata_key_cmp_cb (void *data, struct t_arraylist *arraylist,
} }
/* /*
* Generate content of a hdata. * Generates content of a hdata.
*/ */
void void
@@ -1172,9 +1172,9 @@ doc_gen_api_hdata_content (FILE *file, struct t_hdata *hdata)
} }
/* /*
* Generate files with hdata. * Generates files with hdata.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -1250,7 +1250,7 @@ doc_gen_api_hdata (const char *path, const char *lang)
} }
/* /*
* Compare two hooks "completion" to sort by plugin / completion. * Compares two hooks "completion" to sort by plugin / completion.
*/ */
int int
@@ -1276,9 +1276,9 @@ doc_gen_hook_completion_cmp_cb (void *data, struct t_arraylist *arraylist,
} }
/* /*
* Generate files with completions. * Generates files with completions.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -1337,9 +1337,9 @@ doc_gen_api_completions (const char *path, const char *lang)
} }
/* /*
* Generate files with URL options. * Generates files with URL options.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -1397,7 +1397,7 @@ doc_gen_api_url_options (const char *path, const char *lang)
} }
/* /*
* Compare two plugins to sort by priority (descending). * Compares two plugins to sort by priority (descending).
*/ */
int int
@@ -1421,9 +1421,9 @@ doc_gen_plugin_cmp_cb (void *data, struct t_arraylist *arraylist,
} }
/* /*
* Generate files with plugins priority. * Generates files with plugins priority.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -1483,7 +1483,7 @@ doc_gen_api_plugins_priority (const char *path, const char *lang)
} }
/* /*
* Compare two configurations to sort by priority (descending). * Compares two configurations to sort by priority (descending).
*/ */
int int
@@ -1507,9 +1507,9 @@ doc_gen_config_cmp_cb (void *data, struct t_arraylist *arraylist,
} }
/* /*
* Generate files with config priority. * Generates files with config priority.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -1569,9 +1569,9 @@ doc_gen_api_config_priority (const char *path, const char *lang)
} }
/* /*
* Generate files with scripting API functions. * Generates files with scripting API functions.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -1602,9 +1602,9 @@ doc_gen_scripting_functions (const char *path, const char *lang)
} }
/* /*
* Generate files with scripting API constants. * Generates files with scripting API constants.
* *
* Return: * Returns:
* 1: OK, target file updated * 1: OK, target file updated
* 0: OK, target file unchanged * 0: OK, target file unchanged
* -1: error * -1: error
@@ -1664,9 +1664,9 @@ doc_gen_scripting_constants (const char *path, const char *lang)
} }
/* /*
* Generate WeeChat files used to build documentation. * Generates WeeChat files used to build documentation.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
+104 -93
View File
@@ -28,7 +28,6 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <stdarg.h> #include <stdarg.h>
#include <errno.h>
#include <regex.h> #include <regex.h>
#include <time.h> #include <time.h>
#include <sys/time.h> #include <sys/time.h>
@@ -97,7 +96,7 @@ char *eval_expression_condition (const char *expr,
/* /*
* Add a debug message in the debug output. * Adds a debug message in the debug output.
*/ */
void void
@@ -143,7 +142,7 @@ eval_debug_message (struct t_eval_context *eval_context, int debug_id,
/* /*
* Add a debug message in the debug output, with variable arguments. * Adds a debug message in the debug output, with variable arguments.
*/ */
void void
@@ -160,10 +159,10 @@ eval_debug_message_vargs (struct t_eval_context *eval_context, int debug_id,
} }
/* /*
* Check if a value is true: a value is true if string is non-NULL, non-empty * Checks if a value is true: a value is true if string is non-NULL, non-empty
* and different from "0". * and different from "0".
* *
* Return: * Returns:
* 1: value is true * 1: value is true
* 0: value is false * 0: value is false
*/ */
@@ -175,7 +174,7 @@ eval_is_true (const char *value)
} }
/* /*
* Search a string in another at same level (skip sub-expressions between * Searches a string in another at same level (skip sub-expressions between
* prefix/suffix). * prefix/suffix).
* *
* If escape is 1, the prefix can be escaped with '\' (and then is ignored). * If escape is 1, the prefix can be escaped with '\' (and then is ignored).
@@ -185,7 +184,7 @@ eval_is_true (const char *value)
* will return a pointer on "|| z" (because the first "||" is * will return a pointer on "|| z" (because the first "||" is
* in a sub-expression, which is skipped). * in a sub-expression, which is skipped).
* *
* Return pointer to string found, or NULL if not found. * Returns pointer to string found, or NULL if not found.
*/ */
const char * const char *
@@ -268,7 +267,7 @@ end:
} }
/* /*
* Evaluate a condition and return boolean result: * Evaluates a condition and returns boolean result:
* "0" if false * "0" if false
* "1" if true * "1" if true
* *
@@ -288,7 +287,7 @@ eval_string_eval_cond (const char *text, struct t_eval_context *eval_context)
} }
/* /*
* Add range of chars. * Adds range of chars.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -315,6 +314,8 @@ eval_string_range_chars (const char *range)
char1 = utf8_char_int (range); char1 = utf8_char_int (range);
/* next char must be '-' */ /* next char must be '-' */
if (!range[0])
goto end;
ptr_char = utf8_next_char (range); ptr_char = utf8_next_char (range);
if (!ptr_char || !ptr_char[0] || (ptr_char[0] != '-')) if (!ptr_char || !ptr_char[0] || (ptr_char[0] != '-'))
goto end; goto end;
@@ -349,7 +350,7 @@ end:
} }
/* /*
* Hide chars in a string. * Hides chars in a string.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -390,7 +391,7 @@ eval_string_hide (const char *text)
} }
/* /*
* Cut string. * Cuts string.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -399,8 +400,9 @@ char *
eval_string_cut (const char *text, int screen) eval_string_cut (const char *text, int screen)
{ {
const char *pos, *pos2; const char *pos, *pos2;
char *tmp, *value; char *tmp, *error, *value;
int count_suffix, number; int count_suffix;
long number;
count_suffix = 0; count_suffix = 0;
if (text[0] == '+') if (text[0] == '+')
@@ -421,7 +423,9 @@ eval_string_cut (const char *text, int screen)
if (!tmp) if (!tmp)
return strdup (""); 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); free (tmp);
return strdup (""); return strdup ("");
@@ -440,7 +444,7 @@ eval_string_cut (const char *text, int screen)
} }
/* /*
* Repeat string. * Repeats string.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -449,8 +453,8 @@ char *
eval_string_repeat (const char *text) eval_string_repeat (const char *text)
{ {
const char *pos; const char *pos;
char *tmp; char *tmp, *error;
int number; long number;
pos = strchr (text, ','); pos = strchr (text, ',');
if (!pos) if (!pos)
@@ -460,7 +464,9 @@ eval_string_repeat (const char *text)
if (!tmp) if (!tmp)
return strdup (""); 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); free (tmp);
return strdup (""); return strdup ("");
@@ -471,12 +477,12 @@ eval_string_repeat (const char *text)
} }
/* /*
* Split string. * Splits string.
* *
* Format: number,separators,flags,string * Format: number,separators,flags,string
* *
* If number == "count", return the number of items after split. * If number == "count", returns the number of items after split.
* If number == "random", return a random item. * If number == "random", returns a random item.
* If number > 0, return this index (empty string if not enough items). * If number > 0, return this index (empty string if not enough items).
* If number < 0, return this index starting from the end (-1 = last item, * If number < 0, return this index starting from the end (-1 = last item,
* -2 = penultimate item, etc.). * -2 = penultimate item, etc.).
@@ -508,11 +514,10 @@ eval_string_repeat (const char *text)
char * char *
eval_string_split (const char *text) eval_string_split (const char *text)
{ {
const char *pos, *pos2, *pos3; char *pos, *pos2, *pos3, *str_number, *separators, **items, *value, *error;
char *str_number, *separators, **items, *value;
char str_value[32], *str_flags, **list_flags, *strip_items, **ptr_flag; char str_value[32], *str_flags, **list_flags, *strip_items, **ptr_flag;
int num_items, count_items, random_item, flags, max_items; int num_items, count_items, random_item, flags;
long number; long number, max_items;
str_number = NULL; str_number = NULL;
separators = NULL; separators = NULL;
@@ -545,7 +550,9 @@ eval_string_split (const char *text)
} }
else 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; goto end;
} }
@@ -583,8 +590,9 @@ eval_string_split (const char *text)
} }
else if (strncmp (*ptr_flag, "max_items=", 10) == 0) else if (strncmp (*ptr_flag, "max_items=", 10) == 0)
{ {
if (!util_parse_int (*ptr_flag + 10, 10, &max_items) error = NULL;
|| (max_items < 0)) max_items = strtol (*ptr_flag + 10, &error, 10);
if (!error || error[0] || (max_items < 0))
goto end; goto end;
} }
} }
@@ -634,12 +642,12 @@ end:
} }
/* /*
* Split shell arguments. * Splits shell arguments.
* *
* Format: number,string * Format: number,string
* *
* If number == "count", return the number of arguments. * If number == "count", returns the number of arguments.
* If number == "random", return a random argument. * If number == "random", returns a random argument.
* If number > 0, return this index (empty string if not enough arguments). * If number > 0, return this index (empty string if not enough arguments).
* If number < 0, return this index starting from the end (-1 = last argument, * If number < 0, return this index starting from the end (-1 = last argument,
* -2 = penultimate argument, etc.). * -2 = penultimate argument, etc.).
@@ -656,8 +664,7 @@ end:
char * char *
eval_string_split_shell (const char *text) eval_string_split_shell (const char *text)
{ {
const char *pos; char *pos, *str_number, **items, *value, *error, str_value[32];
char *str_number, **items, *value, str_value[32];
int num_items, count_items, random_item; int num_items, count_items, random_item;
long number; long number;
@@ -686,7 +693,9 @@ eval_string_split_shell (const char *text)
} }
else 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; goto end;
} }
@@ -729,7 +738,7 @@ end:
} }
/* /*
* Return a regex group captured. * Returns a regex group captured.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -737,11 +746,11 @@ end:
char * char *
eval_string_regex_group (const char *text, struct t_eval_context *eval_context) eval_string_regex_group (const char *text, struct t_eval_context *eval_context)
{ {
char str_value[64]; char str_value[64], *error;
long number; long number;
if (!eval_context->regex || !eval_context->regex->result) if (!eval_context->regex || !eval_context->regex->result)
goto end; return strdup ("");
if (strcmp (text, "#") == 0) if (strcmp (text, "#") == 0)
{ {
@@ -763,8 +772,10 @@ eval_string_regex_group (const char *text, struct t_eval_context *eval_context)
} }
else else
{ {
if (!util_parse_long (text, 10, &number)) error = NULL;
goto end; number = strtol (text, &error, 10);
if (!error || error[0])
number = -1;
} }
if ((number >= 0) && (number <= eval_context->regex->last_match)) if ((number >= 0) && (number <= eval_context->regex->last_match))
{ {
@@ -775,12 +786,11 @@ eval_string_regex_group (const char *text, struct t_eval_context *eval_context)
eval_context->regex->match[number].rm_so); eval_context->regex->match[number].rm_so);
} }
end:
return strdup (""); return strdup ("");
} }
/* /*
* Return a string with color code. * Returns a string with color code.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -799,7 +809,7 @@ eval_string_color (const char *text)
} }
/* /*
* Return a string modified by a modifier. * Returns a string modified by a modifier.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -834,7 +844,7 @@ eval_string_modifier (const char *text)
} }
/* /*
* Return an info. * Returns an info.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -868,7 +878,7 @@ eval_string_info (const char *text)
} }
/* /*
* Encode a string in base 16, 32, or 64. * Encodes a string in base 16, 32, or 64.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -911,7 +921,7 @@ end:
} }
/* /*
* Decode a string encoded in base 16, 32, or 64. * Decodes a string encoded in base 16, 32, or 64.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -952,7 +962,7 @@ end:
} }
/* /*
* Return a date. * Returns a date.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -972,7 +982,7 @@ eval_string_date (const char *text)
} }
/* /*
* Evaluate a condition and return evaluated if/else clause. * Evaluates a condition and returns evaluated if/else clause.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -1040,7 +1050,7 @@ eval_string_if (const char *text, struct t_eval_context *eval_context)
} }
/* /*
* Return a random integer number. * Returns a random integer number.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -1048,8 +1058,7 @@ eval_string_if (const char *text, struct t_eval_context *eval_context)
char * char *
eval_string_random (const char *text) eval_string_random (const char *text)
{ {
const char *pos; char *pos, *error, *tmp, result[128];
char *tmp, result[128];
long long min_number, max_number; long long min_number, max_number;
if (!text || !text[0]) if (!text || !text[0])
@@ -1062,14 +1071,18 @@ eval_string_random (const char *text)
tmp = string_strndup (text, pos - text); tmp = string_strndup (text, pos - text);
if (!tmp) if (!tmp)
goto error; goto error;
if (!util_parse_longlong (tmp, 10, &min_number)) error = NULL;
min_number = strtoll (tmp, &error, 10);
if (!error || error[0])
{ {
free (tmp); free (tmp);
goto error; goto error;
} }
free (tmp); 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; goto error;
if (min_number > max_number) if (min_number > max_number)
@@ -1090,7 +1103,7 @@ error:
} }
/* /*
* Translate text. * Translates text.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -1109,14 +1122,13 @@ eval_string_translate (const char *text)
} }
/* /*
* Define a variable. * Defines a variable.
*/ */
void void
eval_string_define (const char *text, struct t_eval_context *eval_context) eval_string_define (const char *text, struct t_eval_context *eval_context)
{ {
const char *pos; char *pos, *name;
char *name;
pos = strchr (text, ','); pos = strchr (text, ',');
if (!pos) if (!pos)
@@ -1132,7 +1144,7 @@ eval_string_define (const char *text, struct t_eval_context *eval_context)
} }
/* /*
* Return count of items in a hdata, as a string. * Returns count of items in a hdata, as a string.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -1143,8 +1155,7 @@ eval_hdata_count (const char *text, struct t_eval_context *eval_context)
struct t_hdata *hdata; struct t_hdata *hdata;
unsigned long ptr_value; unsigned long ptr_value;
void *pointer; void *pointer;
const char *pos1, *pos2; char *pos1, *pos2, *value, *hdata_name, *pointer_name, str_count[64];
char *value, *hdata_name, *pointer_name, str_count[64];
int rc, count; int rc, count;
value = NULL; value = NULL;
@@ -1207,7 +1218,7 @@ end:
} }
/* /*
* Get value of hdata using "path" to a variable. * Gets value of hdata using "path" to a variable.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -1216,8 +1227,8 @@ char *
eval_hdata_get_value (struct t_hdata *hdata, void *pointer, const char *path, eval_hdata_get_value (struct t_hdata *hdata, void *pointer, const char *path,
struct t_eval_context *eval_context) struct t_eval_context *eval_context)
{ {
char *value, *var_name, str_value[128], *property; char *value, *var_name, str_value[128], *pos, *property;
const char *ptr_value, *hdata_name, *ptr_var_name, *pos, *pos_open_paren; const char *ptr_value, *hdata_name, *ptr_var_name, *pos_open_paren;
int type, debug_id; int type, debug_id;
struct t_hashtable *hashtable; struct t_hashtable *hashtable;
@@ -1400,7 +1411,7 @@ end:
} }
/* /*
* Return a string using hdata. * Returns a string using hdata.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -1508,7 +1519,7 @@ end:
} }
/* /*
* Return text with syntax highlighting (using markers, to be replaced by * Returns text with syntax highlighting (using markers, to be replaced by
* colors later). * colors later).
* *
* Note: result must be freed after use. * Note: result must be freed after use.
@@ -1535,7 +1546,7 @@ eval_syntax_highlight_add_markers (const char *prefix, const char *text,
} }
/* /*
* Replace raw highlight markers with color codes defined in option * Replaces raw highlight markers with color codes defined in option
* weechat.color.eval_syntax_colors. * weechat.color.eval_syntax_colors.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
@@ -1544,8 +1555,8 @@ eval_syntax_highlight_add_markers (const char *prefix, const char *text,
char * char *
eval_syntax_highlight_colorize (const char *value) eval_syntax_highlight_colorize (const char *value)
{ {
const char *ptr_value, *pos; const char *ptr_value;
char **result; char **result, *pos;
int color; int color;
if (!value) if (!value)
@@ -1592,7 +1603,7 @@ eval_syntax_highlight_colorize (const char *value)
} }
/* /*
* Add syntax highlighting in text. * Adds syntax highlighting in text.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -1614,7 +1625,7 @@ eval_syntax_highlight (const char *text, struct t_eval_context *eval_context)
} }
/* /*
* Replace variables, which can be, by order of priority: * Replaces variables, which can be, by order of priority:
* - ${raw_hl:string}: the string itself without evaluation but with syntax highlighting * - ${raw_hl:string}: the string itself without evaluation but with syntax highlighting
* - ${raw:string}: the string itself without evaluation * - ${raw:string}: the string itself without evaluation
* - ${hl:string}: the string with syntax highlighting * - ${hl:string}: the string with syntax highlighting
@@ -2077,7 +2088,7 @@ end:
} }
/* /*
* Replace variables in a string. * Replaces variables in a string.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -2120,15 +2131,15 @@ eval_replace_vars (const char *expr, struct t_eval_context *eval_context)
} }
/* /*
* Compare two expressions. * Compares two expressions.
* *
* Return: * Returns:
* "1": comparison is true * "1": comparison is true
* "0": comparison is false * "0": comparison is false
* *
* Examples: * Examples:
* "15 > 2": return "1" * "15 > 2": returns "1"
* "abc == def": return "0" * "abc == def": returns "0"
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -2213,20 +2224,17 @@ eval_compare (const char *expr1, int comparison, const char *expr2,
if (!string_compare) if (!string_compare)
{ {
errno = 0;
error = NULL;
value1 = strtod (expr1, &error); value1 = strtod (expr1, &error);
if (!error || error[0] || (errno == ERANGE)) if (!error || error[0])
string_compare = 1; {
}
if (!string_compare)
{
errno = 0;
error = NULL;
value2 = strtod (expr2, &error);
if (!error || error[0] || (errno == ERANGE))
string_compare = 1; string_compare = 1;
}
else
{
value2 = strtod (expr2, &error);
if (!error || error[0])
string_compare = 1;
}
} }
if (string_compare) if (string_compare)
@@ -2267,7 +2275,7 @@ end:
} }
/* /*
* Evaluate a condition (this function must not be called directly). * Evaluates a condition (this function must not be called directly).
* *
* For return value, see function eval_expression(). * For return value, see function eval_expression().
* *
@@ -2490,7 +2498,7 @@ end:
} }
/* /*
* Replace text in a string using a regular expression and replacement text. * Replaces text in a string using a regular expression and replacement text.
* *
* The argument "regex" is a pointer to a regex compiled with WeeChat function * The argument "regex" is a pointer to a regex compiled with WeeChat function
* string_regcomp (or function regcomp). * string_regcomp (or function regcomp).
@@ -2629,7 +2637,7 @@ end:
} }
/* /*
* Evaluate an expression. * Evaluates an expression.
* *
* The hashtable "pointers" must have string for keys, pointer for values. * The hashtable "pointers" must have string for keys, pointer for values.
* The hashtable "extra_vars" must have string for keys and values. * The hashtable "extra_vars" must have string for keys and values.
@@ -2675,9 +2683,10 @@ eval_expression (const char *expr, struct t_hashtable *pointers,
{ {
struct t_eval_context context, *eval_context; struct t_eval_context context, *eval_context;
struct t_hashtable *user_vars; 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; int ptr_window_added, ptr_buffer_added;
char *value; long number;
char *value, *error;
const char *default_prefix = EVAL_DEFAULT_PREFIX; const char *default_prefix = EVAL_DEFAULT_PREFIX;
const char *default_suffix = EVAL_DEFAULT_SUFFIX; const char *default_suffix = EVAL_DEFAULT_SUFFIX;
const char *ptr_value, *regex_replace; const char *ptr_value, *regex_replace;
@@ -2817,9 +2826,11 @@ eval_expression (const char *expr, struct t_hashtable *pointers,
ptr_value = hashtable_get (options, "debug"); ptr_value = hashtable_get (options, "debug");
if (ptr_value && ptr_value[0]) 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); eval_context->debug_output = string_dyn_alloc (256);
} }
} }
+53 -53
View File
@@ -50,9 +50,9 @@ char *hashtable_type_string[HASHTABLE_NUM_TYPES] =
/* /*
* Search for a hashtable type. * Searches for a hashtable type.
* *
* Return index of type in enum t_hashtable_type, -1 if type is not found. * Returns index of type in enum t_hashtable_type, -1 if type is not found.
*/ */
int int
@@ -74,9 +74,9 @@ hashtable_get_type (const char *type)
} }
/* /*
* Hash a string using a variant of djb2 hash. * Hashes a string using a variant of djb2 hash.
* *
* Return the hash of the string. * Returns the hash of the string.
*/ */
unsigned long long unsigned long long
@@ -98,9 +98,9 @@ hashtable_hash_key_djb2 (const char *string)
} }
/* /*
* Hash a key (default callback). * Hashes a key (default callback).
* *
* Return the hash of the key, depending on the type. * Returns the hash of the key, depending on the type.
*/ */
unsigned long long unsigned long long
@@ -135,9 +135,9 @@ hashtable_hash_key_default_cb (struct t_hashtable *hashtable, const void *key)
} }
/* /*
* Compare two keys (default callback). * Compares two keys (default callback).
* *
* Return: * Returns:
* < 0: key1 < key2 * < 0: key1 < key2
* 0: key1 == key2 * 0: key1 == key2
* > 0: key1 > key2 * > 0: key1 > key2
@@ -200,14 +200,14 @@ hashtable_keycmp_default_cb (struct t_hashtable *hashtable,
} }
/* /*
* Create a new hashtable. * Creates a new hashtable.
* *
* The size is NOT a limit for number of items in hashtable. It is the size of * The size is NOT a limit for number of items in hashtable. It is the size of
* internal array to store hashed keys: a high value uses more memory, but has * internal array to store hashed keys: a high value uses more memory, but has
* better performance because this reduces the collisions of hashed keys and * better performance because this reduces the collisions of hashed keys and
* then reduce length of linked lists. * then reduces length of linked lists.
* *
* Return pointer to new hashtable, NULL if error. * Returns pointer to new hashtable, NULL if error.
*/ */
struct t_hashtable * struct t_hashtable *
@@ -266,7 +266,7 @@ hashtable_new (int size,
} }
/* /*
* Allocate space for a key or value. * Allocates space for a key or value.
*/ */
void void
@@ -334,7 +334,7 @@ hashtable_alloc_type (enum t_hashtable_type type,
} }
/* /*
* Free space used by a key. * Frees space used by a key.
*/ */
void void
@@ -366,7 +366,7 @@ hashtable_free_key (struct t_hashtable *hashtable,
} }
/* /*
* Free space used by a value. * Frees space used by a value.
*/ */
void void
@@ -399,11 +399,11 @@ hashtable_free_value (struct t_hashtable *hashtable,
} }
/* /*
* Set value for a key in hashtable. * Sets value for a key in hashtable.
* *
* The size arguments are used only for type "buffer". * The size arguments are used only for type "buffer".
* *
* Return pointer to item created/updated, NULL if error. * Returns pointer to item created/updated, NULL if error.
*/ */
struct t_hashtable_item * struct t_hashtable_item *
@@ -490,12 +490,12 @@ hashtable_set_with_size (struct t_hashtable *hashtable,
} }
/* /*
* Set value for a key in hashtable. * Sets value for a key in hashtable.
* *
* Note: this function can be called *only* if key AND value are *not* of type * Note: this function can be called *only* if key AND value are *not* of type
* "buffer". * "buffer".
* *
* Return pointer to item created/updated, NULL if error. * Returns pointer to item created/updated, NULL if error.
*/ */
struct t_hashtable_item * struct t_hashtable_item *
@@ -506,9 +506,9 @@ hashtable_set (struct t_hashtable *hashtable,
} }
/* /*
* Search for an item in hashtable. * Searches for an item in hashtable.
* *
* If hash is non NULL, then set it with hash value of key (even if key is * If hash is non NULL, then it is set with hash value of key (even if key is
* not found). * not found).
*/ */
@@ -541,9 +541,9 @@ hashtable_get_item (struct t_hashtable *hashtable, const void *key,
} }
/* /*
* Get value for a key in hashtable. * Gets value for a key in hashtable.
* *
* Return pointer to value for key, NULL if key is not found. * Returns pointer to value for key, NULL if key is not found.
*/ */
void * void *
@@ -557,9 +557,9 @@ hashtable_get (struct t_hashtable *hashtable, const void *key)
} }
/* /*
* Check if a key exists in the hashtable. * Checks if a key exists in the hashtable.
* *
* Return: * Returns:
* 1: key exists * 1: key exists
* 0: key does not exist * 0: key does not exist
*/ */
@@ -571,9 +571,9 @@ hashtable_has_key (struct t_hashtable *hashtable, const void *key)
} }
/* /*
* Convert a value (from any type) to a string. * Converts a value (from any type) to a string.
* *
* Return pointer to a static buffer (for type string, return pointer to * Returns pointer to a static buffer (for type string, returns pointer to
* string itself), which must be used immediately, it is overwritten by * string itself), which must be used immediately, it is overwritten by
* subsequent calls to this function. * subsequent calls to this function.
*/ */
@@ -611,7 +611,7 @@ hashtable_to_string (enum t_hashtable_type type, const void *value)
} }
/* /*
* Call a function on all hashtable entries. * Calls a function on all hashtable entries.
*/ */
void void
@@ -639,7 +639,7 @@ hashtable_map (struct t_hashtable *hashtable,
} }
/* /*
* Call a function on all hashtable entries (sends keys and values as strings). * Calls a function on all hashtable entries (sends keys and values as strings).
*/ */
void void
@@ -680,7 +680,7 @@ hashtable_map_string (struct t_hashtable *hashtable,
} }
/* /*
* Duplicate key/value in another hashtable (callback called for each variable * Duplicates key/value in another hashtable (callback called for each variable
* in hashtable). * in hashtable).
*/ */
@@ -700,9 +700,9 @@ hashtable_duplicate_map_cb (void *data,
} }
/* /*
* Duplicate a hashtable. * Duplicates a hashtable.
* *
* Return pointer to new hashtable, NULL if error. * Returns pointer to new hashtable, NULL if error.
*/ */
struct t_hashtable * struct t_hashtable *
@@ -731,7 +731,7 @@ hashtable_dup (struct t_hashtable *hashtable)
} }
/* /*
* Build sorted list of keys (callback called for each variable in hashtable). * Builds sorted list of keys (callback called for each variable in hashtable).
*/ */
void void
@@ -752,7 +752,7 @@ hashtable_get_list_keys_map_cb (void *data,
} }
/* /*
* Get list with sorted keys of hashtable. * Gets list with sorted keys of hashtable.
* *
* Note: list must be freed after use. * Note: list must be freed after use.
*/ */
@@ -772,7 +772,7 @@ hashtable_get_list_keys (struct t_hashtable *hashtable)
} }
/* /*
* Get a hashtable property as integer. * Gets a hashtable property as integer.
*/ */
int int
@@ -790,7 +790,7 @@ hashtable_get_integer (struct t_hashtable *hashtable, const char *property)
} }
/* /*
* Compute length of all keys (callback called for each variable in hashtable). * Computes length of all keys (callback called for each variable in hashtable).
*/ */
void void
@@ -812,7 +812,7 @@ hashtable_compute_length_keys_cb (void *data,
} }
/* /*
* Compute length of all values (callback called for each variable in * Computes length of all values (callback called for each variable in
* hashtable). * hashtable).
*/ */
@@ -842,7 +842,7 @@ hashtable_compute_length_values_cb (void *data,
} }
/* /*
* Compute length of all keys + values (callback called for each variable in * Computes length of all keys + values (callback called for each variable in
* hashtable). * hashtable).
*/ */
@@ -856,7 +856,7 @@ hashtable_compute_length_keys_values_cb (void *data,
} }
/* /*
* Build a string with all keys (callback called for each variable in * Builds a string with all keys (callback called for each variable in
* hashtable). * hashtable).
*/ */
@@ -882,7 +882,7 @@ hashtable_build_string_keys_cb (void *data,
} }
/* /*
* Build a string with all values (callback called for each variable in * Builds a string with all values (callback called for each variable in
* hashtable). * hashtable).
*/ */
@@ -915,7 +915,7 @@ hashtable_build_string_values_cb (void *data,
} }
/* /*
* Build a string with all keys + values (callback called for each variable in * Builds a string with all keys + values (callback called for each variable in
* hashtable). * hashtable).
*/ */
@@ -951,9 +951,9 @@ hashtable_build_string_keys_values_cb (void *data,
} }
/* /*
* Get keys and/or values of hashtable as string. * Gets keys and/or values of hashtable as string.
* *
* Return a string with one of these formats: * Returns a string with one of these formats:
* if keys == 1 and values == 0: "key1,key2,key3" * if keys == 1 and values == 0: "key1,key2,key3"
* if keys == 0 and values == 1: "value1,value2,value3" * if keys == 0 and values == 1: "value1,value2,value3"
* if keys == 1 and values == 1: "key1:value1,key2:value2,key3:value3" * if keys == 1 and values == 1: "key1:value1,key2:value2,key3:value3"
@@ -1028,7 +1028,7 @@ hashtable_get_keys_values (struct t_hashtable *hashtable,
} }
/* /*
* Get a hashtable property as string. * Gets a hashtable property as string.
*/ */
const char * const char *
@@ -1056,7 +1056,7 @@ hashtable_get_string (struct t_hashtable *hashtable, const char *property)
} }
/* /*
* Set a hashtable property (pointer). * Sets a hashtable property (pointer).
*/ */
void void
@@ -1073,9 +1073,9 @@ hashtable_set_pointer (struct t_hashtable *hashtable, const char *property,
} }
/* /*
* Add hashtable keys and values in an infolist. * Adds hashtable keys and values in an infolist.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -1148,9 +1148,9 @@ hashtable_add_to_infolist (struct t_hashtable *hashtable,
} }
/* /*
* Add hashtable keys and values from an infolist. * Adds hashtable keys and values from an infolist.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -1238,7 +1238,7 @@ hashtable_add_from_infolist (struct t_hashtable *hashtable,
} }
/* /*
* Remove an item from hashtable. * Removes an item from hashtable.
*/ */
void void
@@ -1277,7 +1277,7 @@ hashtable_remove_item (struct t_hashtable *hashtable,
} }
/* /*
* Remove an item from hashtable (searches it with key). * Removes an item from hashtable (searches it with key).
*/ */
void void
@@ -1295,7 +1295,7 @@ hashtable_remove (struct t_hashtable *hashtable, const void *key)
} }
/* /*
* Remove all items from hashtable. * Removes all items from hashtable.
*/ */
void void
@@ -1316,7 +1316,7 @@ hashtable_remove_all (struct t_hashtable *hashtable)
} }
/* /*
* Free a hashtable: removes all items and frees hashtable. * Frees a hashtable: removes all items and frees hashtable.
*/ */
void void
@@ -1332,7 +1332,7 @@ hashtable_free (struct t_hashtable *hashtable)
} }
/* /*
* Print hashtable in WeeChat log file (usually for crash dump). * Prints hashtable in WeeChat log file (usually for crash dump).
*/ */
void void
+86 -74
View File
@@ -35,7 +35,6 @@
#include "core-hashtable.h" #include "core-hashtable.h"
#include "core-log.h" #include "core-log.h"
#include "core-string.h" #include "core-string.h"
#include "core-util.h"
#include "../plugins/plugin.h" #include "../plugins/plugin.h"
@@ -47,7 +46,7 @@ char *hdata_type_string[WEECHAT_NUM_HDATA_TYPES] =
/* /*
* Free a hdata variable. * Frees a hdata variable.
*/ */
void void
@@ -69,7 +68,7 @@ hdata_free_var_cb (struct t_hashtable *hashtable, const void *key, void *value)
} }
/* /*
* Free a hdata list. * Frees a hdata list.
*/ */
void void
@@ -83,9 +82,9 @@ hdata_free_list_cb (struct t_hashtable *hashtable, const void *key, void *value)
} }
/* /*
* Create a new hdata. * Creates a new hdata.
* *
* Return pointer to new hdata, NULL if error. * Returns pointer to new hdata, NULL if error.
*/ */
struct t_hdata * struct t_hdata *
@@ -134,7 +133,7 @@ hdata_new (struct t_weechat_plugin *plugin, const char *hdata_name,
} }
/* /*
* Add a new variable in a hdata. * Adds a new variable in a hdata.
*/ */
void void
@@ -173,7 +172,7 @@ hdata_new_var (struct t_hdata *hdata, const char *name, int offset, int type,
} }
/* /*
* Add a new list pointer in a hdata. * Adds a new list pointer in a hdata.
*/ */
void void
@@ -195,7 +194,7 @@ hdata_new_list (struct t_hdata *hdata, const char *name, void *pointer,
} }
/* /*
* Get offset of variable in hdata. * Gets offset of variable in hdata.
*/ */
int int
@@ -214,7 +213,7 @@ hdata_get_var_offset (struct t_hdata *hdata, const char *name)
} }
/* /*
* Get type of variable in hdata (as integer). * Gets type of variable in hdata (as integer).
*/ */
int int
@@ -233,7 +232,7 @@ hdata_get_var_type (struct t_hdata *hdata, const char *name)
} }
/* /*
* Get type of variable in hdata (as string). * Gets type of variable in hdata (as string).
*/ */
const char * const char *
@@ -252,9 +251,9 @@ hdata_get_var_type_string (struct t_hdata *hdata, const char *name)
} }
/* /*
* Get size of array for a variable (if variable is an array). * Gets size of array for a variable (if variable is an array).
* *
* Return size of array, -1 if variable is not an array (or if error). * Returns size of array, -1 if variable is not an array (or if error).
*/ */
int int
@@ -263,7 +262,9 @@ hdata_get_var_array_size (struct t_hdata *hdata, void *pointer,
{ {
struct t_hdata_var *var; struct t_hdata_var *var;
const char *ptr_size; const char *ptr_size;
int i, offset, value; char *error;
long value;
int i, offset;
void *ptr_value; void *ptr_value;
if (!hdata || !name) if (!hdata || !name)
@@ -339,8 +340,10 @@ hdata_get_var_array_size (struct t_hdata *hdata, void *pointer,
else else
{ {
/* check if the size is a valid integer */ /* check if the size is a valid integer */
if (util_parse_int (ptr_size, 10, &value)) error = NULL;
return value; value = strtol (ptr_size, &error, 10);
if (error && !error[0])
return (int)value;
} }
} }
@@ -348,7 +351,7 @@ hdata_get_var_array_size (struct t_hdata *hdata, void *pointer,
} }
/* /*
* Get size of array for variable as string. * Gets size of array for variable as string.
*/ */
const char * const char *
@@ -371,9 +374,9 @@ hdata_get_var_array_size_string (struct t_hdata *hdata, void *pointer,
} }
/* /*
* Get hdata name for a variable. * Gets hdata name for a variable.
* *
* Return hdata name, NULL if variable has no hdata. * Returns hdata name, NULL if variable has no hdata.
*/ */
const char * const char *
@@ -392,7 +395,7 @@ hdata_get_var_hdata (struct t_hdata *hdata, const char *name)
} }
/* /*
* Get pointer to content of variable using hdata variable name. * Gets pointer to content of variable using hdata variable name.
*/ */
void * void *
@@ -411,7 +414,7 @@ hdata_get_var (struct t_hdata *hdata, void *pointer, const char *name)
} }
/* /*
* Get pointer to content of variable using hdata variable offset. * Gets pointer to content of variable using hdata variable offset.
*/ */
void * void *
@@ -424,7 +427,7 @@ hdata_get_var_at_offset (struct t_hdata *hdata, void *pointer, int offset)
} }
/* /*
* Get a list pointer in hdata. * Gets a list pointer in hdata.
*/ */
void * void *
@@ -443,9 +446,9 @@ hdata_get_list (struct t_hdata *hdata, const char *name)
} }
/* /*
* Check if a pointer is in the list. * Checks if a pointer is in the list.
* *
* Return: * Returns:
* 1: pointer exists in list * 1: pointer exists in list
* 0: pointer does not exist * 0: pointer does not exist
*/ */
@@ -473,7 +476,7 @@ hdata_check_pointer_in_list (struct t_hdata *hdata, void *list, void *pointer)
} }
/* /*
* Check if a pointer is in a list with flag "check_pointers". * Checks if a pointer is in a list with flag "check_pointers".
*/ */
void void
@@ -510,14 +513,14 @@ hdata_check_pointer_map_cb (void *data, struct t_hashtable *hashtable,
} }
/* /*
* Check if a pointer is valid for a given hdata/list. * Checks if a pointer is valid for a given hdata/list.
* *
* If argument "list" is NULL, the check is made with all lists in hdata * If argument "list" is NULL, the check is made with all lists in hdata
* that have flag "check_pointers". If no list is defined with this flag, * that have flag "check_pointers". If no list is defined with this flag,
* the pointer is considered valid (so this function return 1); if the * the pointer is considered valid (so this function returns 1); if the
* pointer is not found in any list, this function return 0. * pointer is not found in any list, this function returns 0.
* *
* Return: * Returns:
* 1: pointer exists in the given list (or a list with check_pointers flag) * 1: pointer exists in the given list (or a list with check_pointers flag)
* 0: pointer does not exist * 0: pointer does not exist
*/ */
@@ -550,7 +553,7 @@ hdata_check_pointer (struct t_hdata *hdata, void *list, void *pointer)
} }
/* /*
* Move pointer to another element in list. * Moves pointer to another element in list.
*/ */
void * void *
@@ -576,9 +579,9 @@ hdata_move (struct t_hdata *hdata, void *pointer, int count)
} }
/* /*
* Search for an element in list using expression. * Searches for an element in list using expression.
* *
* Return pointer to element found, NULL if not found. * Returns pointer to element found, NULL if not found.
*/ */
void * void *
@@ -656,7 +659,7 @@ end:
} }
/* /*
* Return number of item in this hdata, starting at "pointer". * Returns number of item in this hdata, starting at "pointer".
*/ */
int int
@@ -677,7 +680,7 @@ hdata_count (struct t_hdata *hdata, void *pointer)
} }
/* /*
* Extract index from name of a variable. * Extracts index from name of a variable.
* *
* A name can contain index with this format: "NNN|name" (where NNN is an * A name can contain index with this format: "NNN|name" (where NNN is an
* integer >= 0). * integer >= 0).
@@ -688,9 +691,8 @@ hdata_count (struct t_hdata *hdata, void *pointer)
void void
hdata_get_index_and_name (const char *name, int *index, const char **ptr_name) hdata_get_index_and_name (const char *name, int *index, const char **ptr_name)
{ {
const char *pos; char *pos, *str_index, *error;
char *str_index; long number;
int number;
if (index) if (index)
*index = -1; *index = -1;
@@ -706,7 +708,9 @@ hdata_get_index_and_name (const char *name, int *index, const char **ptr_name)
str_index = string_strndup (name, pos - name); str_index = string_strndup (name, pos - name);
if (str_index) 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) if (index)
*index = number; *index = number;
@@ -719,7 +723,7 @@ hdata_get_index_and_name (const char *name, int *index, const char **ptr_name)
} }
/* /*
* Get char value of a variable in hdata. * Gets char value of a variable in hdata.
*/ */
char char
@@ -753,7 +757,7 @@ hdata_char (struct t_hdata *hdata, void *pointer, const char *name)
} }
/* /*
* Get integer value of a variable in hdata. * Gets integer value of a variable in hdata.
*/ */
int int
@@ -787,7 +791,7 @@ hdata_integer (struct t_hdata *hdata, void *pointer, const char *name)
} }
/* /*
* Get long value of a variable in hdata. * Gets long value of a variable in hdata.
*/ */
long long
@@ -821,7 +825,7 @@ hdata_long (struct t_hdata *hdata, void *pointer, const char *name)
} }
/* /*
* Get "long long" value of a variable in hdata. * Gets "long long" value of a variable in hdata.
*/ */
long long long long
@@ -855,7 +859,7 @@ hdata_longlong (struct t_hdata *hdata, void *pointer, const char *name)
} }
/* /*
* Get string value of a variable in hdata. * Gets string value of a variable in hdata.
*/ */
const char * const char *
@@ -892,7 +896,7 @@ hdata_string (struct t_hdata *hdata, void *pointer, const char *name)
} }
/* /*
* Get pointer value of a variable in hdata. * Gets pointer value of a variable in hdata.
*/ */
void * void *
@@ -926,7 +930,7 @@ hdata_pointer (struct t_hdata *hdata, void *pointer, const char *name)
} }
/* /*
* Get time value of a variable in hdata. * Gets time value of a variable in hdata.
*/ */
time_t time_t
@@ -960,7 +964,7 @@ hdata_time (struct t_hdata *hdata, void *pointer, const char *name)
} }
/* /*
* Get hashtable value of a variable in hdata. * Gets hashtable value of a variable in hdata.
*/ */
struct t_hashtable * struct t_hashtable *
@@ -994,11 +998,11 @@ hdata_hashtable (struct t_hdata *hdata, void *pointer, const char *name)
} }
/* /*
* Compare a hdata variable of two objects. * Compares a hdata variable of two objects.
* *
* If case_sensitive == 1, the comparison of strings is case-sensitive. * If case_sensitive == 1, the comparison of strings is case-sensitive.
* *
* Return: * Returns:
* -1: variable1 < variable2 * -1: variable1 < variable2
* 0: variable1 == variable2 * 0: variable1 == variable2
* 1: variable1 > variable2 * 1: variable1 > variable2
@@ -1226,13 +1230,13 @@ end:
} }
/* /*
* Set value for a variable in hdata. * Sets value for a variable in hdata.
* *
* WARNING: this is dangerous, and only some variables can be set by this * WARNING: this is dangerous, and only some variables can be set by this
* function (this depends on hdata, see API doc for more info) and this * function (this depends on hdata, see API doc for more info) and this
* function can be called *ONLY* in an "update" callback (in hdata). * function can be called *ONLY* in an "update" callback (in hdata).
* *
* Return: * Returns:
* 1: OK (value set) * 1: OK (value set)
* 0: error (or not allowed) * 0: error (or not allowed)
*/ */
@@ -1242,11 +1246,11 @@ hdata_set (struct t_hdata *hdata, void *pointer, const char *name,
const char *value) const char *value)
{ {
struct t_hdata_var *var; struct t_hdata_var *var;
char **ptr_string; char **ptr_string, *error;
unsigned long ptr; long number;
int rc, number_int;
long number_long;
long long number_longlong; long long number_longlong;
unsigned long ptr;
int rc;
if (!hdata->update_pending) if (!hdata->update_pending)
return 0; return 0;
@@ -1266,21 +1270,27 @@ hdata_set (struct t_hdata *hdata, void *pointer, const char *name,
*((char *)(pointer + var->offset)) = (value) ? value[0] : '\0'; *((char *)(pointer + var->offset)) = (value) ? value[0] : '\0';
return 1; return 1;
case WEECHAT_HDATA_INTEGER: 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; return 1;
} }
break; break;
case WEECHAT_HDATA_LONG: 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; return 1;
} }
break; break;
case WEECHAT_HDATA_LONGLONG: 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; *((long long *)(pointer + var->offset)) = number_longlong;
return 1; return 1;
@@ -1313,9 +1323,11 @@ hdata_set (struct t_hdata *hdata, void *pointer, const char *name,
} }
break; break;
case WEECHAT_HDATA_TIME: case WEECHAT_HDATA_TIME:
if (util_parse_longlong (value, 10, &number_longlong) && (number_longlong >= 0)) error = NULL;
number = strtol (value, &error, 10);
if (error && !error[0] && (number >= 0))
{ {
*((time_t *)(pointer + var->offset)) = (time_t)number_longlong; *((time_t *)(pointer + var->offset)) = (time_t)number;
return 1; return 1;
} }
break; break;
@@ -1326,7 +1338,7 @@ hdata_set (struct t_hdata *hdata, void *pointer, const char *name,
} }
/* /*
* Update some data in hdata. * Updates some data in hdata.
* *
* The hashtable contains keys with new values. * The hashtable contains keys with new values.
* A special key "__delete" can be used to delete the whole structure at * A special key "__delete" can be used to delete the whole structure at
@@ -1335,8 +1347,8 @@ hdata_set (struct t_hdata *hdata, void *pointer, const char *name,
* WARNING: this is dangerous, and only some data can be updated by this * WARNING: this is dangerous, and only some data can be updated by this
* function (this depends on hdata, see API doc for more info). * function (this depends on hdata, see API doc for more info).
* *
* Return number of variables updated, 0 if nothing has been updated. * Returns number of variables updated, 0 if nothing has been updated.
* In case of deletion, return 1 if OK, 0 if error. * In case of deletion, returns 1 if OK, 0 if error.
*/ */
int int
@@ -1378,7 +1390,7 @@ hdata_update (struct t_hdata *hdata, void *pointer,
} }
/* /*
* Get a hdata property as string. * Gets a hdata property as string.
*/ */
const char * const char *
@@ -1408,7 +1420,7 @@ hdata_get_string (struct t_hdata *hdata, const char *property)
} }
/* /*
* Free a hdata. * Frees a hdata.
*/ */
void void
@@ -1427,7 +1439,7 @@ hdata_free (struct t_hdata *hdata)
} }
/* /*
* Free hdata for a plugin (callback called for each hdata in memory). * Frees hdata for a plugin (callback called for each hdata in memory).
*/ */
void void
@@ -1443,7 +1455,7 @@ hdata_free_all_plugin_map_cb (void *data, struct t_hashtable *hashtable,
} }
/* /*
* Free all hdata created by a plugin. * Frees all hdata created by a plugin.
*/ */
void void
@@ -1453,7 +1465,7 @@ hdata_free_all_plugin (struct t_weechat_plugin *plugin)
} }
/* /*
* Free all hdata. * Frees all hdata.
*/ */
void void
@@ -1463,7 +1475,7 @@ hdata_free_all (void)
} }
/* /*
* Print variable of a hdata in WeeChat log file (callback called for each * Prints variable of a hdata in WeeChat log file (callback called for each
* variable in hdata). * variable in hdata).
*/ */
@@ -1489,7 +1501,7 @@ hdata_print_log_var_map_cb (void *data, struct t_hashtable *hashtable,
} }
/* /*
* Print hdata in WeeChat log file (callback called for each hdata in memory). * Prints hdata in WeeChat log file (callback called for each hdata in memory).
*/ */
void void
@@ -1526,7 +1538,7 @@ hdata_print_log_map_cb (void *data, struct t_hashtable *hashtable,
} }
/* /*
* Print hdata in WeeChat log file (usually for crash dump). * Prints hdata in WeeChat log file (usually for crash dump).
*/ */
void void
@@ -1536,7 +1548,7 @@ hdata_print_log (void)
} }
/* /*
* Free a hdata in hashtable "weechat_hdata". * Frees a hdata in hashtable "weechat_hdata".
*/ */
void void
@@ -1551,7 +1563,7 @@ hdata_free_hdata_cb (struct t_hashtable *hashtable,
} }
/* /*
* Initialize hdata: creates a hashtable with hdata. * Initializes hdata: creates a hashtable with hdata.
*/ */
void void
@@ -1566,7 +1578,7 @@ hdata_init (void)
} }
/* /*
* Free all hdata and hashtable with hdata. * Frees all hdata and hashtable with hdata.
*/ */
void void
+38 -32
View File
@@ -158,7 +158,7 @@ t_callback_hook *hook_callback_print_log[HOOK_NUM_TYPES] =
/* /*
* Initialize hooks. * Initializes hooks.
*/ */
void void
@@ -214,9 +214,9 @@ hook_init (void)
} }
/* /*
* Search for a hook type. * Searches for a hook type.
* *
* Return index of type in enum t_hook_type, -1 if type is not found. * Returns index of type in enum t_hook_type, -1 if type is not found.
*/ */
int int
@@ -238,7 +238,7 @@ hook_search_type (const char *type)
} }
/* /*
* Search for position of hook in list (to keep hooks sorted). * Searches for position of hook in list (to keep hooks sorted).
* *
* Hooks are sorted by priority, except commands which are sorted by command * Hooks are sorted by priority, except commands which are sorted by command
* name, and then priority. * name, and then priority.
@@ -283,7 +283,7 @@ hook_find_pos (struct t_hook *hook)
} }
/* /*
* Add a hook to list. * Adds a hook to list.
*/ */
void void
@@ -330,7 +330,7 @@ hook_add_to_list (struct t_hook *new_hook)
} }
/* /*
* Remove a hook from list. * Removes a hook from list.
*/ */
void void
@@ -366,7 +366,7 @@ hook_remove_from_list (struct t_hook *hook)
} }
/* /*
* Remove hooks marked as "deleted" from list. * Removes hooks marked as "deleted" from list.
*/ */
void void
@@ -395,7 +395,7 @@ hook_remove_deleted (void)
} }
/* /*
* Initialize a new hook with default values. * Initializes a new hook with default values.
*/ */
void void
@@ -426,9 +426,9 @@ hook_init_data (struct t_hook *hook, struct t_weechat_plugin *plugin,
} }
/* /*
* Check if a hook pointer is valid. * Checks if a hook pointer is valid.
* *
* Return: * Returns:
* 1: hook exists * 1: hook exists
* 0: hook does not exist * 0: hook does not exist
*/ */
@@ -457,7 +457,7 @@ hook_valid (struct t_hook *hook)
} }
/* /*
* Start a hook exec. * Starts a hook exec.
*/ */
void void
@@ -467,7 +467,7 @@ hook_exec_start (void)
} }
/* /*
* End a hook_exec. * Ends a hook_exec.
*/ */
void void
@@ -481,7 +481,7 @@ hook_exec_end (void)
} }
/* /*
* Start execution of a hook callback. * Starts execution of a hook callback.
*/ */
void void
@@ -504,7 +504,7 @@ hook_callback_start (struct t_hook *hook, struct t_hook_exec_cb *hook_exec_cb)
} }
/* /*
* End execution of a hook callback. * Ends execution of a hook callback.
*/ */
void void
@@ -541,7 +541,7 @@ hook_callback_end (struct t_hook *hook, struct t_hook_exec_cb *hook_exec_cb)
} }
/* /*
* Return description of hook. * Returns description of hook.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -553,14 +553,16 @@ hook_get_description (struct t_hook *hook)
} }
/* /*
* Set a hook property (string). * Sets a hook property (string).
*/ */
void void
hook_set (struct t_hook *hook, const char *property, const char *value) hook_set (struct t_hook *hook, const char *property, const char *value)
{ {
ssize_t num_written; ssize_t num_written;
int rc, number; char *error;
long number;
int rc;
/* invalid hook? */ /* invalid hook? */
if (!hook_valid (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->type == HOOK_TYPE_PROCESS)
&& (HOOK_PROCESS(hook, child_pid) > 0)) && (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 */ /* not a number? look for signal by name */
number = signal_search_name (value); number = signal_search_name (value);
} }
if (number >= 0) if (number >= 0)
{ {
rc = kill (HOOK_PROCESS(hook, child_pid), number); rc = kill (HOOK_PROCESS(hook, child_pid), (int)number);
if (rc < 0) if (rc < 0)
{ {
gui_chat_printf (NULL, gui_chat_printf (NULL,
_("%sError sending signal %d to pid %d: %s"), _("%sError sending signal %d to pid %d: %s"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR], gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
number, (int)number,
HOOK_PROCESS(hook, child_pid), HOOK_PROCESS(hook, child_pid),
strerror (errno)); 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)
|| (hook->type == HOOK_TYPE_COMMAND_RUN))) || (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) switch (hook->type)
{ {
@@ -685,7 +691,7 @@ hook_schedule_clean_process (pid_t pid)
} }
/* /*
* Unhook something. * Unhooks something.
*/ */
void void
@@ -737,7 +743,7 @@ unhook (struct t_hook *hook)
} }
/* /*
* Unhook everything for a plugin/subplugin. * Unhooks everything for a plugin/subplugin.
*/ */
void void
@@ -767,7 +773,7 @@ unhook_all_plugin (struct t_weechat_plugin *plugin, const char *subplugin)
} }
/* /*
* Unhook everything. * Unhooks everything.
*/ */
void void
@@ -789,7 +795,7 @@ unhook_all (void)
} }
/* /*
* Return hdata for hook. * Returns hdata for hook.
*/ */
struct t_hdata * struct t_hdata *
@@ -833,9 +839,9 @@ hook_hdata_hook_cb (const void *pointer, void *data, const char *hdata_name)
} }
/* /*
* Add a hook in an infolist. * Adds a hook in an infolist.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -884,9 +890,9 @@ hook_add_to_infolist_pointer (struct t_infolist *infolist, struct t_hook *hook)
} }
/* /*
* Add hooks of a type in an infolist. * Adds hooks of a type in an infolist.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -924,11 +930,11 @@ hook_add_to_infolist_type (struct t_infolist *infolist, int type,
} }
/* /*
* Add hooks in an infolist. * Adds hooks in an infolist.
* *
* Argument "arguments" can be a hook type with optional comma + name after. * Argument "arguments" can be a hook type with optional comma + name after.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -976,7 +982,7 @@ hook_add_to_infolist (struct t_infolist *infolist, struct t_hook *pointer,
} }
/* /*
* Print hooks in WeeChat log file (usually for crash dump). * Prints hooks in WeeChat log file (usually for crash dump).
*/ */
void void
+33 -33
View File
@@ -43,9 +43,9 @@ char *infolist_type_char_string[INFOLIST_NUM_TYPES] = {
/* /*
* Create a new infolist. * Creates a new infolist.
* *
* Return pointer to infolist, NULL if error. * Returns pointer to infolist, NULL if error.
*/ */
struct t_infolist * struct t_infolist *
@@ -74,9 +74,9 @@ infolist_new (struct t_weechat_plugin *plugin)
} }
/* /*
* Check if an infolist pointer is valid. * Checks if an infolist pointer is valid.
* *
* Return: * Returns:
* 1: infolist exists * 1: infolist exists
* 0: infolist is not found * 0: infolist is not found
*/ */
@@ -101,9 +101,9 @@ infolist_valid (struct t_infolist *infolist)
} }
/* /*
* Create a new item in an infolist. * Creates a new item in an infolist.
* *
* Return pointer to new item, NULL if error. * Returns pointer to new item, NULL if error.
*/ */
struct t_infolist_item * struct t_infolist_item *
@@ -131,9 +131,9 @@ infolist_new_item (struct t_infolist *infolist)
} }
/* /*
* Create a new integer variable in an item. * Creates a new integer variable in an item.
* *
* Return pointer to new variable, NULL if error. * Returns pointer to new variable, NULL if error.
*/ */
struct t_infolist_var * struct t_infolist_var *
@@ -168,9 +168,9 @@ infolist_new_var_integer (struct t_infolist_item *item,
} }
/* /*
* Create a new string variable in an item. * Creates a new string variable in an item.
* *
* Return pointer to new variable, NULL if error. * Returns pointer to new variable, NULL if error.
*/ */
struct t_infolist_var * struct t_infolist_var *
@@ -203,9 +203,9 @@ infolist_new_var_string (struct t_infolist_item *item,
} }
/* /*
* Create a new pointer variable in an item. * Creates a new pointer variable in an item.
* *
* Return pointer to new variable, NULL if error. * Returns pointer to new variable, NULL if error.
*/ */
struct t_infolist_var * struct t_infolist_var *
@@ -238,9 +238,9 @@ infolist_new_var_pointer (struct t_infolist_item *item,
} }
/* /*
* Create a new buffer variable in an item. * Creates a new buffer variable in an item.
* *
* Return pointer to new variable, NULL if error. * Returns pointer to new variable, NULL if error.
*/ */
struct t_infolist_var * struct t_infolist_var *
@@ -285,9 +285,9 @@ infolist_new_var_buffer (struct t_infolist_item *item,
} }
/* /*
* Create a new time variable in an item. * Creates a new time variable in an item.
* *
* Return pointer to new variable, NULL if error. * Returns pointer to new variable, NULL if error.
*/ */
struct t_infolist_var * struct t_infolist_var *
@@ -322,9 +322,9 @@ infolist_new_var_time (struct t_infolist_item *item,
} }
/* /*
* Get next item for an infolist. * Gets next item for an infolist.
* *
* If pointer is NULL, return first item of infolist. * If pointer is NULL, returns first item of infolist.
*/ */
struct t_infolist_item * struct t_infolist_item *
@@ -343,9 +343,9 @@ infolist_next (struct t_infolist *infolist)
} }
/* /*
* Get previous item for an infolist. * Gets previous item for an infolist.
* *
* If pointer is NULL, return last item of infolist. * If pointer is NULL, returns last item of infolist.
*/ */
struct t_infolist_item * struct t_infolist_item *
@@ -364,7 +364,7 @@ infolist_prev (struct t_infolist *infolist)
} }
/* /*
* Reset pointer to current item in infolist. * Resets pointer to current item in infolist.
*/ */
void void
@@ -377,7 +377,7 @@ infolist_reset_item_cursor (struct t_infolist *infolist)
} }
/* /*
* Search for a variable in current infolist item. * Searches for a variable in current infolist item.
*/ */
struct t_infolist_var * struct t_infolist_var *
@@ -400,7 +400,7 @@ infolist_search_var (struct t_infolist *infolist, const char *name)
} }
/* /*
* Get list of fields for current infolist item. * Gets list of fields for current infolist item.
*/ */
const char * const char *
@@ -434,7 +434,7 @@ infolist_fields (struct t_infolist *infolist)
} }
/* /*
* Get integer value for a variable in current infolist item. * Gets integer value for a variable in current infolist item.
*/ */
int int
@@ -462,7 +462,7 @@ infolist_integer (struct t_infolist *infolist, const char *var)
} }
/* /*
* Get string value for a variable in current infolist item. * Gets string value for a variable in current infolist item.
*/ */
const char * const char *
@@ -490,7 +490,7 @@ infolist_string (struct t_infolist *infolist, const char *var)
} }
/* /*
* Get pointer value for a variable in current infolist item. * Gets pointer value for a variable in current infolist item.
*/ */
void * void *
@@ -518,7 +518,7 @@ infolist_pointer (struct t_infolist *infolist, const char *var)
} }
/* /*
* Get buffer value for a variable in current infolist item. * Gets buffer value for a variable in current infolist item.
* *
* Argument "size" is set with the size of buffer. * Argument "size" is set with the size of buffer.
*/ */
@@ -552,7 +552,7 @@ infolist_buffer (struct t_infolist *infolist, const char *var,
} }
/* /*
* Get time value for a variable in current infolist item. * Gets time value for a variable in current infolist item.
*/ */
time_t time_t
@@ -580,7 +580,7 @@ infolist_time (struct t_infolist *infolist, const char *var)
} }
/* /*
* Free a variable in item. * Frees a variable in item.
*/ */
void void
@@ -623,7 +623,7 @@ infolist_var_free (struct t_infolist_item *item,
} }
/* /*
* Free an item in infolist. * Frees an item in infolist.
*/ */
void void
@@ -662,7 +662,7 @@ infolist_item_free (struct t_infolist *infolist,
} }
/* /*
* Free an infolist. * Frees an infolist.
*/ */
void void
@@ -699,7 +699,7 @@ infolist_free (struct t_infolist *infolist)
} }
/* /*
* Free all infolists created by a plugin. * Frees all infolists created by a plugin.
*/ */
void void
@@ -718,7 +718,7 @@ infolist_free_all_plugin (struct t_weechat_plugin *plugin)
} }
/* /*
* Print infolists in WeeChat log file (usually for crash dump). * Prints infolists in WeeChat log file (usually for crash dump).
*/ */
void void
+11 -16
View File
@@ -45,9 +45,9 @@ char **input_commands_allowed = NULL;
/* /*
* Send data to buffer input callback. * Sends data to buffer input callback.
* *
* Return the return code of buffer callback, or WEECHAT_RC_ERROR if the * Returns the return code of buffer callback, or WEECHAT_RC_ERROR if the
* buffer has no input callback. * buffer has no input callback.
*/ */
@@ -72,9 +72,9 @@ input_exec_data (struct t_gui_buffer *buffer, const char *data)
} }
/* /*
* Execute a command. * Executes a command.
* *
* Return: * Returns:
* WEECHAT_RC_OK: command executed * WEECHAT_RC_OK: command executed
* WEECHAT_RC_ERROR: error, command not executed * WEECHAT_RC_ERROR: error, command not executed
*/ */
@@ -228,12 +228,12 @@ end:
} }
/* /*
* Send data to a buffer's callback. * Sends data to a buffer's callback.
* *
* If split_newline = 1 and if buffer input_multiline = 0, the string * If split_newline = 1 and if buffer input_multiline = 0, the string
* is split on "\n" and multiple commands can then be executed. * is split on "\n" and multiple commands can then be executed.
* *
* Return: * Returns:
* WEECHAT_RC_OK: data properly sent (or command executed successfully) * WEECHAT_RC_OK: data properly sent (or command executed successfully)
* WEECHAT_RC_ERROR: error * WEECHAT_RC_ERROR: error
*/ */
@@ -242,8 +242,8 @@ int
input_data (struct t_gui_buffer *buffer, const char *data, input_data (struct t_gui_buffer *buffer, const char *data,
const char *commands_allowed, int split_newline, int user_data) const char *commands_allowed, int split_newline, int user_data)
{ {
const char *ptr_data_for_buffer; char *pos, str_buffer[128], *new_data, *buffer_full_name;
char *pos, str_buffer[128], *new_data, *buffer_full_name, *ptr_data; const char *ptr_data, *ptr_data_for_buffer;
int first_command, rc; int first_command, rc;
if (!buffer || !gui_buffer_valid (buffer) || !data) if (!buffer || !gui_buffer_valid (buffer) || !data)
@@ -272,13 +272,8 @@ input_data (struct t_gui_buffer *buffer, const char *data,
if (data[0] && new_data && !new_data[0]) if (data[0] && new_data && !new_data[0])
goto end; goto end;
if (!new_data)
new_data = strdup (data);
if (!new_data)
goto end;
first_command = 1; first_command = 1;
ptr_data = new_data; ptr_data = (new_data) ? new_data : data;
while (ptr_data) while (ptr_data)
{ {
/* /*
@@ -404,12 +399,12 @@ input_data_timer_cb (const void *pointer, void *data, int remaining_calls)
} }
/* /*
* Send data to a buffer's callback with an optional delay (in milliseconds). * Sends data to a buffer's callback with an optional delay (in milliseconds).
* *
* If delay < 1, the command is executed immediately. * If delay < 1, the command is executed immediately.
* If delay >= 1, the command is scheduled for execution in this number of ms. * If delay >= 1, the command is scheduled for execution in this number of ms.
* *
* Return: * Returns:
* WEECHAT_RC_OK: data properly sent or scheduled for execution * WEECHAT_RC_OK: data properly sent or scheduled for execution
* WEECHAT_RC_ERROR: error * WEECHAT_RC_ERROR: error
*/ */
+27 -27
View File
@@ -36,9 +36,9 @@
/* /*
* Create a new list. * Creates a new list.
* *
* Return pointer to new list, NULL if error. * Returns pointer to new list, NULL if error.
*/ */
struct t_weelist * struct t_weelist *
@@ -57,7 +57,7 @@ weelist_new (void)
} }
/* /*
* Search for position of data (to keep list sorted). * Searches for position of data (to keep list sorted).
*/ */
struct t_weelist_item * struct t_weelist_item *
@@ -79,7 +79,7 @@ weelist_find_pos (struct t_weelist *weelist, const char *data)
} }
/* /*
* Insert an element in the list (keeping list sorted). * Inserts an element in the list (keeping list sorted).
*/ */
void void
@@ -140,9 +140,9 @@ weelist_insert (struct t_weelist *weelist, struct t_weelist_item *item,
} }
/* /*
* Create new data and add it to the list. * Creates new data and add it to the list.
* *
* Return pointer to new item, NULL if error. * Returns pointer to new item, NULL if error.
*/ */
struct t_weelist_item * struct t_weelist_item *
@@ -166,9 +166,9 @@ weelist_add (struct t_weelist *weelist, const char *data, const char *where,
} }
/* /*
* Search for data in a list (case-sensitive). * Searches for data in a list (case-sensitive).
* *
* Return pointer to item found, NULL if not found. * Returns pointer to item found, NULL if not found.
*/ */
struct t_weelist_item * struct t_weelist_item *
@@ -190,9 +190,9 @@ weelist_search (struct t_weelist *weelist, const char *data)
} }
/* /*
* Search for data in a list (case-sensitive). * Searches for data in a list (case-sensitive).
* *
* Return position of item found (>= 0), -1 if not found. * Returns position of item found (>= 0), -1 if not found.
*/ */
int int
@@ -217,9 +217,9 @@ weelist_search_pos (struct t_weelist *weelist, const char *data)
} }
/* /*
* Search for data in a list (case-insensitive). * Searches for data in a list (case-insensitive).
* *
* Return pointer to item found, NULL if not found. * Returns pointer to item found, NULL if not found.
*/ */
struct t_weelist_item * struct t_weelist_item *
@@ -241,9 +241,9 @@ weelist_casesearch (struct t_weelist *weelist, const char *data)
} }
/* /*
* Search for data in a list (case-insensitive). * Searches for data in a list (case-insensitive).
* *
* Return position of item found (>= 0), -1 if not found. * Returns position of item found (>= 0), -1 if not found.
*/ */
int int
@@ -268,7 +268,7 @@ weelist_casesearch_pos (struct t_weelist *weelist, const char *data)
} }
/* /*
* Get an item in a list by position (0 is first element). * Gets an item in a list by position (0 is first element).
*/ */
struct t_weelist_item * struct t_weelist_item *
@@ -294,7 +294,7 @@ weelist_get (struct t_weelist *weelist, int position)
} }
/* /*
* Set a new value for an item. * Sets a new value for an item.
*/ */
void void
@@ -308,9 +308,9 @@ weelist_set (struct t_weelist_item *item, const char *value)
} }
/* /*
* Get next item. * Gets next item.
* *
* Return NULL if end of list has been reached. * Returns NULL if end of list has been reached.
*/ */
struct t_weelist_item * struct t_weelist_item *
@@ -323,9 +323,9 @@ weelist_next (struct t_weelist_item *item)
} }
/* /*
* Get previous item. * Gets previous item.
* *
* Return NULL if beginning of list has been reached. * Returns NULL if beginning of list has been reached.
*/ */
struct t_weelist_item * struct t_weelist_item *
@@ -338,7 +338,7 @@ weelist_prev (struct t_weelist_item *item)
} }
/* /*
* Get string pointer to item data. * Gets string pointer to item data.
*/ */
const char * const char *
@@ -351,7 +351,7 @@ weelist_string (struct t_weelist_item *item)
} }
/* /*
* Get user data pointer to item data. * Gets user data pointer to item data.
*/ */
void * void *
@@ -364,7 +364,7 @@ weelist_user_data (struct t_weelist_item *item)
} }
/* /*
* Get size of list. * Gets size of list.
*/ */
int int
@@ -377,7 +377,7 @@ weelist_size (struct t_weelist *weelist)
} }
/* /*
* Remove an item from a list. * Removes an item from a list.
*/ */
void void
@@ -411,7 +411,7 @@ weelist_remove (struct t_weelist *weelist, struct t_weelist_item *item)
} }
/* /*
* Remove all items from a list. * Removes all items from a list.
*/ */
void void
@@ -427,7 +427,7 @@ weelist_remove_all (struct t_weelist *weelist)
} }
/* /*
* Free a list. * Frees a list.
*/ */
void void
@@ -441,7 +441,7 @@ weelist_free (struct t_weelist *weelist)
} }
/* /*
* Print list in WeeChat log file (usually for crash dump). * Prints list in WeeChat log file (usually for crash dump).
*/ */
void void
+7 -7
View File
@@ -54,9 +54,9 @@ int weechat_log_use_time = 1; /* 0 to temporary disable time in log, */
/* /*
* Open the WeeChat log file. * Opens the WeeChat log file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -116,7 +116,7 @@ log_open (const char *filename, const char *mode)
} }
/* /*
* Initialize the WeeChat log file. * Initializes the WeeChat log file.
*/ */
void void
@@ -140,7 +140,7 @@ log_init (void)
} }
/* /*
* Write a message in WeeChat log file. * Writes a message in WeeChat log file.
*/ */
void void
@@ -193,7 +193,7 @@ log_printf (const char *message, ...)
} }
/* /*
* Dump a string as hexa data in WeeChat log file. * Dumps a string as hexa data in WeeChat log file.
*/ */
void void
@@ -227,7 +227,7 @@ log_printf_hexa (const char *spaces, const char *string)
} }
/* /*
* Close the WeeChat log file. * Closes the WeeChat log file.
*/ */
void void
@@ -252,7 +252,7 @@ log_close (void)
} }
/* /*
* Rename the WeeChat log file (when crashing). * Renames the WeeChat log file (when crashing).
* *
* The file "weechat.log" is renamed to "weechat_crash_YYYYMMDD_NNNN.log", * The file "weechat.log" is renamed to "weechat_crash_YYYYMMDD_NNNN.log",
* where YYYYMMDD is the current date and NNNN the PID of WeeChat process. * where YYYYMMDD is the current date and NNNN the PID of WeeChat process.
+43 -56
View File
@@ -58,7 +58,6 @@
#include "core-config.h" #include "core-config.h"
#include "core-proxy.h" #include "core-proxy.h"
#include "core-string.h" #include "core-string.h"
#include "core-util.h"
#include "../gui/gui-chat.h" #include "../gui/gui-chat.h"
#include "../plugins/plugin.h" #include "../plugins/plugin.h"
@@ -73,7 +72,7 @@ gnutls_certificate_credentials_t gnutls_xcred; /* GnuTLS client credentials */
/* /*
* Initialize gcrypt. * Initializes gcrypt.
*/ */
void void
@@ -88,7 +87,7 @@ network_init_gcrypt (void)
} }
/* /*
* Allocate credentials structure. * Allocates credentials structure.
*/ */
void void
@@ -102,9 +101,9 @@ network_allocate_credentials (void)
} }
/* /*
* Load system's default trusted certificate authorities. * Loads system's default trusted certificate authorities.
* *
* Return the number of certificates loaded. * Returns the number of certificates loaded.
*/ */
int int
@@ -144,7 +143,7 @@ network_load_system_ca_file (int force_display)
} }
/* /*
* Load user's trusted certificate authorities. * Loads user's trusted certificate authorities.
*/ */
int int
@@ -230,7 +229,7 @@ end:
} }
/* /*
* Load system's default and user's trusted certificate authorities. * Loads system's default and user's trusted certificate authorities.
*/ */
void void
@@ -248,7 +247,7 @@ network_load_ca_files (int force_display)
} }
/* /*
* Reload system's default and user's trusted certificate authorities. * Reloads system's default and user's trusted certificate authorities.
*/ */
void void
@@ -272,7 +271,7 @@ network_reload_ca_files (int force_display)
} }
/* /*
* Initialize GnuTLS. * Initializes GnuTLS.
*/ */
void void
@@ -289,7 +288,7 @@ network_init_gnutls (void)
} }
/* /*
* End network. * Ends network.
*/ */
void void
@@ -307,9 +306,9 @@ network_end (void)
} }
/* /*
* Check if a string contains a valid IP address (IPv4 or IPv6). * Checks if a string contains a valid IP address (IPv4 or IPv6).
* *
* Return: * Returns:
* 1: string is a valid IPv4 or IPv6 * 1: string is a valid IPv4 or IPv6
* 0: string is not a valid IP address * 0: string is not a valid IP address
*/ */
@@ -336,12 +335,12 @@ network_is_ip_address (const char *address)
} }
/* /*
* Send data on a socket with retry. * Sends data on a socket with retry.
* *
* WARNING: this function is blocking, it must be called only in a forked * WARNING: this function is blocking, it must be called only in a forked
* process. * process.
* *
* Return number of bytes sent, -1 if error. * Returns number of bytes sent, -1 if error.
*/ */
int int
@@ -368,12 +367,12 @@ network_send_with_retry (int sock, const void *buffer, int length, int flags)
} }
/* /*
* Receive data on a socket with retry. * Receives data on a socket with retry.
* *
* WARNING: this function is blocking, it must be called only in a forked * WARNING: this function is blocking, it must be called only in a forked
* process. * process.
* *
* Return number of bytes received, -1 if error. * Returns number of bytes received, -1 if error.
*/ */
int int
@@ -400,12 +399,12 @@ network_recv_with_retry (int sock, void *buffer, int length, int flags)
} }
/* /*
* Establish a connection and authenticates with a HTTP proxy. * Establishes a connection and authenticates with a HTTP proxy.
* *
* WARNING: this function is blocking, it must be called only in a forked * WARNING: this function is blocking, it must be called only in a forked
* process. * process.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -464,9 +463,9 @@ network_pass_httpproxy (struct t_proxy *proxy, int sock, const char *address,
} }
/* /*
* Resolve a hostname to its IP address (works with IPv4 and IPv6). * Resolves a hostname to its IP address (works with IPv4 and IPv6).
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -511,14 +510,14 @@ network_resolve (const char *hostname, char *ip, int *version)
} }
/* /*
* Establish a connection and authenticates with a socks4 proxy. * Establishes a connection and authenticates with a socks4 proxy.
* *
* The socks4 protocol is explained here: https://en.wikipedia.org/wiki/SOCKS * The socks4 protocol is explained here: https://en.wikipedia.org/wiki/SOCKS
* *
* WARNING: this function is blocking, it must be called only in a forked * WARNING: this function is blocking, it must be called only in a forked
* process. * process.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -564,7 +563,7 @@ network_pass_socks4proxy (struct t_proxy *proxy, int sock, const char *address,
} }
/* /*
* Establish a connection and authenticates with a socks5 proxy. * Establishes a connection and authenticates with a socks5 proxy.
* *
* The socks5 protocol is explained in RFC 1928. * The socks5 protocol is explained in RFC 1928.
* The socks5 authentication with username/pass is explained in RFC 1929. * The socks5 authentication with username/pass is explained in RFC 1929.
@@ -572,7 +571,7 @@ network_pass_socks4proxy (struct t_proxy *proxy, int sock, const char *address,
* WARNING: this function is blocking, it must be called only in a forked * WARNING: this function is blocking, it must be called only in a forked
* process. * process.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -582,13 +581,7 @@ network_pass_socks5proxy (struct t_proxy *proxy, int sock, const char *address,
int port) int port)
{ {
struct t_network_socks5 socks5; struct t_network_socks5 socks5;
/* unsigned char buffer[288];
* buffer must be large enough for the username/password authentication
* request, which is the longest message sent/received here; according to
* RFC 1929 it is: version (1) + username length (1) + username (max 255)
* + password length (1) + password (max 255)
*/
unsigned char buffer[2 + 255 + 1 + 255];
int username_len, password_len, addr_len, addr_buffer_len; int username_len, password_len, addr_len, addr_buffer_len;
unsigned char *addr_buffer; unsigned char *addr_buffer;
char *username, *password; char *username, *password;
@@ -637,18 +630,6 @@ network_pass_socks5proxy (struct t_proxy *proxy, int sock, const char *address,
username_len = strlen (username); username_len = strlen (username);
password_len = strlen (password); password_len = strlen (password);
/*
* username and password length are each stored on a single byte
* (RFC 1929), so they cannot exceed 255 bytes: reject longer values,
* otherwise the memcpy calls below would overflow the buffer
*/
if ((username_len > 255) || (password_len > 255))
{
free (username);
free (password);
return 0;
}
/* make username/password buffer */ /* make username/password buffer */
buffer[0] = 1; buffer[0] = 1;
buffer[1] = (unsigned char) username_len; buffer[1] = (unsigned char) username_len;
@@ -753,12 +734,12 @@ network_pass_socks5proxy (struct t_proxy *proxy, int sock, const char *address,
} }
/* /*
* Establish a connection and authenticates with a proxy. * Establishes a connection and authenticates with a proxy.
* *
* WARNING: this function is blocking, it must be called only in a forked * WARNING: this function is blocking, it must be called only in a forked
* process. * process.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -791,12 +772,12 @@ network_pass_proxy (const char *proxy, int sock, const char *address, int port)
} }
/* /*
* Connect to a remote host and wait for connection if socket is non blocking. * Connects to a remote host and wait for connection if socket is non blocking.
* *
* WARNING: this function is blocking, it must be called only in a forked * WARNING: this function is blocking, it must be called only in a forked
* process. * process.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -841,12 +822,12 @@ network_connect (int sock, const struct sockaddr *addr, socklen_t addrlen)
} }
/* /*
* Connect to a remote host. * Connects to a remote host.
* *
* WARNING: this function is blocking, it must be called only in a forked * WARNING: this function is blocking, it must be called only in a forked
* process. * process.
* *
* Return: * Returns:
* >= 0: connected socket fd * >= 0: connected socket fd
* -1: error * -1: error
*/ */
@@ -932,7 +913,7 @@ error:
} }
/* /*
* Connect to peer in a child process. * Connects to peer in a child process.
*/ */
void void
@@ -1582,16 +1563,18 @@ network_connect_gnutls_handshake_timer_cb (const void *pointer,
} }
/* /*
* Read connection progress from child process. * Reads connection progress from child process.
*/ */
int int
network_connect_child_read_cb (const void *pointer, void *data, int fd) network_connect_child_read_cb (const void *pointer, void *data, int fd)
{ {
struct t_hook *hook_connect; 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; long size_msg;
int rc, num_read, direction, sock, i; int rc, direction;
int sock, i;
struct msghdr msg; struct msghdr msg;
struct cmsghdr *cmsg; struct cmsghdr *cmsg;
char msg_buf[CMSG_SPACE(sizeof (sock))]; char msg_buf[CMSG_SPACE(sizeof (sock))];
@@ -1620,7 +1603,9 @@ network_connect_child_read_cb (const void *pointer, void *data, int fd)
buf_size, 5); buf_size, 5);
if (num_read == 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); cb_ip_address = malloc (size_msg + 1);
if (cb_ip_address) if (cb_ip_address)
@@ -1755,7 +1740,9 @@ network_connect_child_read_cb (const void *pointer, void *data, int fd)
buf_size, 5); buf_size, 5);
if (num_read == 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); cb_error = malloc (size_msg + 1);
if (cb_error) if (cb_error)
@@ -1797,7 +1784,7 @@ network_connect_child_read_cb (const void *pointer, void *data, int fd)
} }
/* /*
* Connect with fork (called by hook_connect() only!). * Connects with fork (called by hook_connect() only!).
*/ */
void void
+27 -27
View File
@@ -56,9 +56,9 @@ struct t_proxy *last_weechat_temp_proxy = NULL; /* reading configuration */
/* /*
* Search for a proxy option. * Searches for a proxy option.
* *
* Return index of option in enum t_proxy_option, -1 if option is not found. * Returns index of option in enum t_proxy_option, -1 if option is not found.
*/ */
int int
@@ -80,9 +80,9 @@ proxy_search_option (const char *option_name)
} }
/* /*
* Search for a proxy type. * Searches for a proxy type.
* *
* Return index of option in enum t_proxy_type, -1 if type is not found. * Returns index of option in enum t_proxy_type, -1 if type is not found.
*/ */
int int
@@ -104,9 +104,9 @@ proxy_search_type (const char *type)
} }
/* /*
* Check if a proxy pointer is valid. * Checks if a proxy pointer is valid.
* *
* Return: * Returns:
* 1: proxy exists * 1: proxy exists
* 0: proxy does not exist * 0: proxy does not exist
*/ */
@@ -131,9 +131,9 @@ proxy_valid (struct t_proxy *proxy)
} }
/* /*
* Search for a proxy by name. * Searches for a proxy by name.
* *
* Return pointer to proxy found, NULL if not found. * Returns pointer to proxy found, NULL if not found.
*/ */
struct t_proxy * struct t_proxy *
@@ -156,7 +156,7 @@ proxy_search (const char *name)
} }
/* /*
* Set name for a proxy. * Sets name for a proxy.
*/ */
void void
@@ -193,9 +193,9 @@ proxy_set_name (struct t_proxy *proxy, const char *name)
} }
/* /*
* Set a property for a proxy. * Sets a property for a proxy.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -246,9 +246,9 @@ proxy_set (struct t_proxy *proxy, const char *property, const char *value)
} }
/* /*
* Create an option for a proxy. * Creates an option for a proxy.
* *
* Return pointer to new option, NULL if error. * Returns pointer to new option, NULL if error.
*/ */
struct t_config_option * struct t_config_option *
@@ -330,7 +330,7 @@ proxy_create_option (const char *proxy_name, int index_option,
} }
/* /*
* Create an option for a temporary proxy (when reading configuration file). * Creates an option for a temporary proxy (when reading configuration file).
*/ */
void void
@@ -347,9 +347,9 @@ proxy_create_option_temp (struct t_proxy *temp_proxy, int index_option,
} }
/* /*
* Allocate and initialize a new proxy structure. * Allocates and initializes a new proxy structure.
* *
* Return pointer to new proxy, NULL if error. * Returns pointer to new proxy, NULL if error.
*/ */
struct t_proxy * struct t_proxy *
@@ -374,9 +374,9 @@ proxy_alloc (const char *name)
} }
/* /*
* Add a new proxy with options. * Adds a new proxy with options.
* *
* Return pointer to new proxy, NULL if error. * Returns pointer to new proxy, NULL if error.
*/ */
struct t_proxy * struct t_proxy *
@@ -415,9 +415,9 @@ proxy_new_with_options (const char *name,
} }
/* /*
* Add a new proxy. * Adds a new proxy.
* *
* Return pointer to new proxy, NULL if error. * Returns pointer to new proxy, NULL if error.
*/ */
struct t_proxy * struct t_proxy *
@@ -470,7 +470,7 @@ proxy_new (const char *name, const char *type, const char *ipv6,
} }
/* /*
* Use temporary proxies (added by reading configuration file). * Uses temporary proxies (added by reading configuration file).
*/ */
void void
@@ -532,7 +532,7 @@ proxy_use_temp_proxies (void)
} }
/* /*
* Free a proxy. * Frees a proxy.
*/ */
void void
@@ -564,7 +564,7 @@ proxy_free (struct t_proxy *proxy)
} }
/* /*
* Free all proxies. * Frees all proxies.
*/ */
void void
@@ -577,7 +577,7 @@ proxy_free_all (void)
} }
/* /*
* Return hdata for proxy. * Returns hdata for proxy.
*/ */
struct t_hdata * struct t_hdata *
@@ -605,9 +605,9 @@ proxy_hdata_proxy_cb (const void *pointer, void *data,
} }
/* /*
* Add a proxy in an infolist. * Adds a proxy in an infolist.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -645,7 +645,7 @@ proxy_add_to_infolist (struct t_infolist *infolist, struct t_proxy *proxy)
} }
/* /*
* Print proxies in WeeChat log file (usually for crash dump). * Prints proxies in WeeChat log file (usually for crash dump).
*/ */
void void
+4 -4
View File
@@ -49,7 +49,7 @@ int secure_buffer_display_values = 0;
/* /*
* Display a secured data. * Displays a secured data.
*/ */
void void
@@ -83,7 +83,7 @@ secure_buffer_display_data (void *data,
} }
/* /*
* Display content of secured data buffer. * Displays content of secured data buffer.
*/ */
void void
@@ -195,7 +195,7 @@ secure_buffer_close_cb (const void *pointer, void *data,
} }
/* /*
* Assign secured data buffer to pointer if it is not yet set. * Assigns secured data buffer to pointer if it is not yet set.
*/ */
void void
@@ -213,7 +213,7 @@ secure_buffer_assign (void)
} }
/* /*
* Open a buffer to display secured data. * Opens a buffer to display secured data.
*/ */
void void
+18 -18
View File
@@ -56,7 +56,7 @@ int secure_config_loading = 0;
/* /*
* Get passphrase from user and put it in variable "secure_passphrase". * Gets passphrase from user and puts it in variable "secure_passphrase".
*/ */
void void
@@ -103,9 +103,9 @@ secure_config_get_passphrase_from_user (const char *error)
} }
/* /*
* Get passphrase from a command. * Gets passphrase from a command.
* *
* Return passphrase from command output (only the first line with max length * Returns passphrase from command output (only the first line with max length
* of SECURE_PASSPHRASE_MAX_LENGTH chars), or NULL if error. * of SECURE_PASSPHRASE_MAX_LENGTH chars), or NULL if error.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
@@ -144,9 +144,9 @@ secure_config_get_passphrase_from_command (const char *command)
} }
/* /*
* Reload secured data configuration file. * Reloads secured data configuration file.
* *
* Return: * Returns:
* WEECHAT_CONFIG_READ_OK: OK * WEECHAT_CONFIG_READ_OK: OK
* WEECHAT_CONFIG_READ_MEMORY_ERROR: not enough memory * WEECHAT_CONFIG_READ_MEMORY_ERROR: not enough memory
* WEECHAT_CONFIG_READ_FILE_NOT_FOUND: file not found * WEECHAT_CONFIG_READ_FILE_NOT_FOUND: file not found
@@ -212,7 +212,7 @@ secure_config_check_crypt_option_cb (const void *pointer, void *data,
} }
/* /*
* Read a data option in secured data configuration file. * Reads a data option in secured data configuration file.
*/ */
int int
@@ -371,7 +371,7 @@ secure_config_data_read_cb (const void *pointer, void *data,
} }
/* /*
* Encrypt data and write it in secured data configuration file. * Encrypts data and writes it in secured data configuration file.
*/ */
void void
@@ -464,7 +464,7 @@ secure_config_data_write_map_cb (void *data,
} }
/* /*
* Write already encrypted data in secured data configuration file. * Writes already encrypted data in secured data configuration file.
*/ */
void void
@@ -484,7 +484,7 @@ secure_config_data_write_map_encrypted_cb (void *data,
} }
/* /*
* Write section "data" in secured data configuration file. * Writes section "data" in secured data configuration file.
*/ */
int int
@@ -536,9 +536,9 @@ secure_config_data_write_cb (const void *pointer, void *data,
} }
/* /*
* Create options in secured data configuration. * Creates options in secured data configuration.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -631,9 +631,9 @@ secure_config_init_options (void)
} }
/* /*
* Read secured data configuration file. * Reads secured data configuration file.
* *
* Return: * Returns:
* WEECHAT_CONFIG_READ_OK: OK * WEECHAT_CONFIG_READ_OK: OK
* WEECHAT_CONFIG_READ_MEMORY_ERROR: not enough memory * WEECHAT_CONFIG_READ_MEMORY_ERROR: not enough memory
* WEECHAT_CONFIG_READ_FILE_NOT_FOUND: file not found * WEECHAT_CONFIG_READ_FILE_NOT_FOUND: file not found
@@ -654,9 +654,9 @@ secure_config_read (void)
} }
/* /*
* Write secured data configuration file. * Writes secured data configuration file.
* *
* Return: * Returns:
* WEECHAT_CONFIG_WRITE_OK: OK * WEECHAT_CONFIG_WRITE_OK: OK
* WEECHAT_CONFIG_WRITE_ERROR: error * WEECHAT_CONFIG_WRITE_ERROR: error
* WEECHAT_CONFIG_WRITE_MEMORY_ERROR: not enough memory * WEECHAT_CONFIG_WRITE_MEMORY_ERROR: not enough memory
@@ -669,9 +669,9 @@ secure_config_write (void)
} }
/* /*
* Initialize secured data configuration. * Initializes secured data configuration.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -693,7 +693,7 @@ secure_config_init (void)
} }
/* /*
* Free secured data file and variables. * Frees secured data file and variables.
*/ */
void void
+13 -13
View File
@@ -56,9 +56,9 @@ int secure_data_encrypted = 0;
/* /*
* Derive a key from salt + passphrase (using a hash). * Derives a key from salt + passphrase (using a hash).
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -101,9 +101,9 @@ secure_derive_key (const char *salt, const char *passphrase,
} }
/* /*
* Encrypt data using a hash algorithm + cipher + passphrase. * Encrypts data using a hash algorithm + cipher + passphrase.
* *
* The following actions are performed: * Following actions are performed:
* 1. derive a key from the passphrase (with optional salt) * 1. derive a key from the passphrase (with optional salt)
* 2. compute hash of data * 2. compute hash of data
* 3. store hash + data in a buffer * 3. store hash + data in a buffer
@@ -124,7 +124,7 @@ secure_derive_key (const char *salt, const char *passphrase,
* \_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _/ * \_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _/
* encrypted data * encrypted data
* *
* Return: * Returns:
* 0: OK * 0: OK
* -1: not enough memory * -1: not enough memory
* -2: key derive error * -2: key derive error
@@ -260,13 +260,13 @@ encrypt_end:
} }
/* /*
* Decrypt data using a hash algorithm + cipher + passphrase. * Decrypts data using a hash algorithm + cipher + passphrase.
* *
* The buffer must contain: * The buffer must contain:
* - salt (8 bytes, used to derive a key from the passphrase) * - salt (8 bytes, used to derive a key from the passphrase)
* - encrypted hash(data) + data * - encrypted hash(data) + data
* *
* The following actions are performed: * Following actions are performed:
* 1. check length of buffer (it must have at least salt + hash + some data) * 1. check length of buffer (it must have at least salt + hash + some data)
* 2. derive a key from the passphrase using salt (at beginning of buffer) * 2. derive a key from the passphrase using salt (at beginning of buffer)
* 3. decrypt hash + data in a buffer * 3. decrypt hash + data in a buffer
@@ -274,7 +274,7 @@ encrypt_end:
* 5. check that decrypted hash is equal to hash of data * 5. check that decrypted hash is equal to hash of data
* 6. return decrypted data * 6. return decrypted data
* *
* Return: * Returns:
* 0: OK * 0: OK
* -1: not enough memory * -1: not enough memory
* -2: buffer is not long enough * -2: buffer is not long enough
@@ -410,10 +410,10 @@ decrypt_end:
} }
/* /*
* Decrypt data still encrypted (data that could not be decrypted when reading * Decrypts data still encrypted (data that could not be decrypted when reading
* secured data configuration file (because no passphrase was given). * secured data configuration file (because no passphrase was given).
* *
* Return: * Returns:
* >= 0: number of decrypted data * >= 0: number of decrypted data
* -1: error decrypting data (bad passphrase) * -1: error decrypting data (bad passphrase)
* -2: unsupported hash algorithm * -2: unsupported hash algorithm
@@ -494,9 +494,9 @@ secure_decrypt_data_not_decrypted (const char *passphrase)
} }
/* /*
* Initialize secured data. * Initializes secured data.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -539,7 +539,7 @@ secure_init (void)
} }
/* /*
* Free all allocated data. * Frees all allocated data.
*/ */
void void
+12 -12
View File
@@ -128,10 +128,10 @@ signal_sigusr2_cb (int signo)
} }
/* /*
* Get a signal index with a signal number; only some commonly used signal * Gets a signal index with a signal number; only some commonly used signal
* names are supported here (see declaration of signal_list[]). * names are supported here (see declaration of signal_list[]).
* *
* Return the index of signal in structure string_signal, -1 if not found. * Returns the index of signal in structure string_signal, -1 if not found.
*/ */
int int
@@ -150,10 +150,10 @@ signal_search_number (int signal_number)
} }
/* /*
* Get a signal number with a name; only some commonly used signal names are * Gets a signal number with a name; only some commonly used signal names are
* supported here (see declaration of signal_list[]). * supported here (see declaration of signal_list[]).
* *
* Return the signal number, -1 if not found. * Returns the signal number, -1 if not found.
*/ */
int int
@@ -175,7 +175,7 @@ signal_search_name (const char *name)
} }
/* /*
* Catch a system signal. * Catches a system signal.
*/ */
void void
@@ -190,9 +190,9 @@ signal_catch (int signum, void (*handler)(int))
} }
/* /*
* Send a WeeChat signal on a system signal received. * Sends a WeeChat signal on a system signal received.
* *
* Return: * Returns:
* WEECHAT_RC_OK: the WeeChat handler must be executed * WEECHAT_RC_OK: the WeeChat handler must be executed
* WEECHAT_RC_OK_EAT: signal eaten, the WeeChat handler must NOT be executed * WEECHAT_RC_OK_EAT: signal eaten, the WeeChat handler must NOT be executed
*/ */
@@ -215,7 +215,7 @@ signal_send_to_weechat (int signal_index)
} }
/* /*
* Evaluate and execute the command bound to a signal. * Evaluates and executes the command bound to a signal.
*/ */
void void
@@ -253,7 +253,7 @@ signal_exec_command (int signal_index, const char *command)
} }
/* /*
* Handle a specific signal received. * Handles a specific signal received:
*/ */
void void
@@ -278,7 +278,7 @@ signal_handle_number (int signal_number, int count, const char *command)
} }
/* /*
* Handle signals received: sends WeeChat signal and execute the configured * Handles signals received: sends WeeChat signal and executes the configured
* command (is signal not eaten). * command (is signal not eaten).
*/ */
@@ -312,7 +312,7 @@ signal_handle (void)
} }
/* /*
* Suspend WeeChat process. * Suspends WeeChat process.
*/ */
void void
@@ -323,7 +323,7 @@ signal_suspend (void)
} }
/* /*
* Initialize signal. * Initializes signal.
*/ */
void void
+144 -179
View File
File diff suppressed because it is too large Load Diff
-2
View File
@@ -69,8 +69,6 @@ extern int string_strcmp_ignore_chars (const char *string1,
const char *string2, const char *string2,
const char *chars_ignored, const char *chars_ignored,
int case_sensitive); int case_sensitive);
extern int string_memcmp_constant_time (const void *area1, const void *area2,
size_t size);
extern const char *string_strcasestr (const char *string, const char *search); extern const char *string_strcasestr (const char *string, const char *search);
extern int string_match (const char *string, const char *mask, extern int string_match (const char *string, const char *mask,
int case_sensitive); int case_sensitive);
+9 -7
View File
@@ -104,7 +104,7 @@ struct t_rlimit_resource rlimit_resource[] =
/* /*
* Set resource limit. * Sets resource limit.
*/ */
#ifdef HAVE_SYS_RESOURCE_H #ifdef HAVE_SYS_RESOURCE_H
@@ -174,14 +174,14 @@ sys_setrlimit_resource (const char *resource_name, long long limit)
#endif /* HAVE_SYS_RESOURCE_H */ #endif /* HAVE_SYS_RESOURCE_H */
/* /*
* Set resource limits using value of option "weechat.startup.sys_rlimit". * Sets resource limits using value of option "weechat.startup.sys_rlimit".
*/ */
void void
sys_setrlimit (void) sys_setrlimit (void)
{ {
#ifdef HAVE_SYS_RESOURCE_H #ifdef HAVE_SYS_RESOURCE_H
char **items, *pos; char **items, *pos, *error;
int num_items, i; int num_items, i;
long long number; long long number;
@@ -198,7 +198,9 @@ sys_setrlimit (void)
if (pos) if (pos)
{ {
pos[0] = '\0'; 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); sys_setrlimit_resource (items[i], number);
} }
@@ -218,7 +220,7 @@ sys_setrlimit (void)
} }
/* /*
* Display resource limits. * Displays resource limits.
*/ */
void void
@@ -276,7 +278,7 @@ sys_display_rlimit (void)
} }
/* /*
* Display resource usage. * Displays resource usage.
*/ */
void void
@@ -344,7 +346,7 @@ sys_display_rusage (void)
} }
/* /*
* Call waitpid() to acknowledge the end of forked processes, thus preventing * Calls waitpid() to acknowledge the end of forked processes, thus preventing
* them to become zombies. * them to become zombies.
*/ */
+27 -27
View File
@@ -48,7 +48,7 @@ struct t_upgrade_file *last_upgrade_file = NULL;
/* /*
* Display an error with upgrade. * Displays an error with upgrade.
*/ */
void void
@@ -85,9 +85,9 @@ upgrade_file_error (struct t_upgrade_file *upgrade_file, char *message1,
} }
/* /*
* Write an integer value in upgrade file. * Writes an integer value in upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -102,9 +102,9 @@ upgrade_file_write_integer (struct t_upgrade_file *upgrade_file, int value)
} }
/* /*
* Write a time value in upgrade file. * Writes a time value in upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -119,9 +119,9 @@ upgrade_file_write_time (struct t_upgrade_file *upgrade_file, time_t date)
} }
/* /*
* Write a string in upgrade file. * Writes a string in upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -150,9 +150,9 @@ upgrade_file_write_string (struct t_upgrade_file *upgrade_file,
} }
/* /*
* Write a buffer in upgrade file. * Writes a buffer in upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -178,11 +178,11 @@ upgrade_file_write_buffer (struct t_upgrade_file *upgrade_file, void *pointer,
} }
/* /*
* Create an upgrade file. * Creates an upgrade file.
* *
* If write == 1, then opens in write mode, otherwise in read mode. * If write == 1, then opens in write mode, otherwise in read mode.
* *
* Return pointer to new upgrade file, NULL if error. * Returns pointer to new upgrade file, NULL if error.
*/ */
struct t_upgrade_file * struct t_upgrade_file *
@@ -255,9 +255,9 @@ upgrade_file_new (const char *filename,
} }
/* /*
* Write an object in upgrade file. * Writes an object in upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -414,9 +414,9 @@ upgrade_file_write_object (struct t_upgrade_file *upgrade_file, int object_id,
} }
/* /*
* Read an integer in upgrade file. * Reads an integer in upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -441,9 +441,9 @@ upgrade_file_read_integer (struct t_upgrade_file *upgrade_file, int *value)
} }
/* /*
* Read a string in upgrade file. * Reads a string in upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -491,9 +491,9 @@ upgrade_file_read_string (struct t_upgrade_file *upgrade_file, char **string)
} }
/* /*
* Read a buffer in upgrade file. * Reads a buffer in upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -537,9 +537,9 @@ upgrade_file_read_buffer (struct t_upgrade_file *upgrade_file,
} }
/* /*
* Read time in upgrade file. * Reads time in upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -565,9 +565,9 @@ upgrade_file_read_time (struct t_upgrade_file *upgrade_file, time_t *time)
} }
/* /*
* Read an object in upgrade file and calls read callback. * Reads an object in upgrade file and calls read callback.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -600,7 +600,7 @@ upgrade_file_read_object (struct t_upgrade_file *upgrade_file)
if (type != UPGRADE_TYPE_OBJECT_START) if (type != UPGRADE_TYPE_OBJECT_START)
{ {
UPGRADE_ERROR(_("read - bad object type (\"object start\" expected)"), ""); UPGRADE_ERROR(_("read - bad object type ('object start' expected)"), "");
goto end; goto end;
} }
@@ -716,9 +716,9 @@ end:
} }
/* /*
* Read an upgrade file. * Reads an upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -758,7 +758,7 @@ upgrade_file_read (struct t_upgrade_file *upgrade_file)
} }
/* /*
* Close and frees an upgrade file. * Closes and frees an upgrade file.
*/ */
void void
+31 -26
View File
@@ -59,10 +59,10 @@ struct t_gui_layout *upgrade_layout = NULL;
/* /*
* Save history in WeeChat upgrade file (from last to first, to restore it in * Saves history in WeeChat upgrade file (from last to first, to restore it in
* good order). * good order).
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -113,9 +113,9 @@ upgrade_weechat_save_history (struct t_upgrade_file *upgrade_file,
} }
/* /*
* Save buffers in WeeChat upgrade file. * Saves buffers in WeeChat upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -202,9 +202,9 @@ upgrade_weechat_save_buffers (struct t_upgrade_file *upgrade_file)
} }
/* /*
* Save miscellaneous info in WeeChat upgrade file. * Saves miscellaneous info in WeeChat upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -251,9 +251,9 @@ upgrade_weechat_save_misc (struct t_upgrade_file *upgrade_file)
} }
/* /*
* Save hotlist in WeeChat upgrade file. * Saves hotlist in WeeChat upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -288,9 +288,9 @@ upgrade_weechat_save_hotlist (struct t_upgrade_file *upgrade_file)
} }
/* /*
* Save tree with layout for windows in WeeChat upgrade file. * Saves tree with layout for windows in WeeChat upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -338,9 +338,9 @@ upgrade_weechat_save_layout_window_tree (struct t_upgrade_file *upgrade_file,
} }
/* /*
* Save layout for windows in WeeChat upgrade file. * Saves layout for windows in WeeChat upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -370,9 +370,9 @@ upgrade_weechat_save_layout_window (struct t_upgrade_file *upgrade_file)
} }
/* /*
* Save WeeChat upgrade file. * Saves WeeChat upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -401,7 +401,7 @@ upgrade_weechat_save (void)
} }
/* /*
* Read a buffer from infolist. * Reads a buffer from infolist.
*/ */
void void
@@ -410,7 +410,7 @@ upgrade_weechat_read_buffer (struct t_infolist *infolist)
struct t_gui_buffer *ptr_buffer; struct t_gui_buffer *ptr_buffer;
const char *key, *var_name, *name, *plugin_name, *ptr_id; const char *key, *var_name, *name, *plugin_name, *ptr_id;
const char *str; const char *str;
char option_name[64], *option_key, *option_var; char option_name[64], *option_key, *option_var, *error;
int index, main_buffer; int index, main_buffer;
long long id; long long id;
@@ -421,7 +421,9 @@ upgrade_weechat_read_buffer (struct t_infolist *infolist)
ptr_id = infolist_string (infolist, "id"); ptr_id = infolist_string (infolist, "id");
if (ptr_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; id = -1;
} }
} }
@@ -645,7 +647,7 @@ upgrade_weechat_read_buffer (struct t_infolist *infolist)
} }
/* /*
* Read a buffer line from infolist. * Reads a buffer line from infolist.
*/ */
void void
@@ -702,7 +704,7 @@ upgrade_weechat_read_buffer_line (struct t_infolist *infolist)
} }
/* /*
* Read a nicklist from infolist. * Reads a nicklist from infolist.
*/ */
void void
@@ -710,6 +712,7 @@ upgrade_weechat_read_nicklist (struct t_infolist *infolist)
{ {
struct t_gui_nick_group *ptr_group; struct t_gui_nick_group *ptr_group;
const char *type, *name, *group_name, *ptr_id; const char *type, *name, *group_name, *ptr_id;
char *error;
long long id; long long id;
if (!upgrade_current_buffer) if (!upgrade_current_buffer)
@@ -728,7 +731,9 @@ upgrade_weechat_read_nicklist (struct t_infolist *infolist)
ptr_id = infolist_string (infolist, "id"); ptr_id = infolist_string (infolist, "id");
if (ptr_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; id = -1;
} }
} }
@@ -776,7 +781,7 @@ upgrade_weechat_read_nicklist (struct t_infolist *infolist)
} }
/* /*
* Read hotlist from infolist. * Reads hotlist from infolist.
*/ */
void void
@@ -827,7 +832,7 @@ upgrade_weechat_read_hotlist (struct t_infolist *infolist)
} }
/* /*
* Read WeeChat upgrade file. * Reads WeeChat upgrade file.
*/ */
int int
@@ -893,9 +898,9 @@ upgrade_weechat_read_cb (const void *pointer, void *data,
} }
/* /*
* Load WeeChat upgrade file. * Loads WeeChat upgrade file.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -951,7 +956,7 @@ upgrade_weechat_load (void)
} }
/* /*
* Remove a .upgrade file (callback called for each .upgrade file in WeeChat * Removes a .upgrade file (callback called for each .upgrade file in WeeChat
* home directory). * home directory).
*/ */
@@ -970,7 +975,7 @@ upgrade_weechat_remove_file_cb (void *data, const char *filename)
} }
/* /*
* Remove *.upgrade files after upgrade and send signal "weechat_upgrade_done". * Removes *.upgrade files after upgrade and send signal "weechat_upgrade_done".
*/ */
void void
+17 -21
View File
@@ -89,14 +89,12 @@ struct t_url_constant url_protocols[] =
URL_DEF_CONST(PROTO, SMTP), URL_DEF_CONST(PROTO, SMTP),
URL_DEF_CONST(PROTO, SMTPS), URL_DEF_CONST(PROTO, SMTPS),
URL_DEF_CONST(PROTO, RTSP), URL_DEF_CONST(PROTO, RTSP),
#if LIBCURL_VERSION_NUM < 0x081400 /* < 8.20.0 */
URL_DEF_CONST(PROTO, RTMP), URL_DEF_CONST(PROTO, RTMP),
URL_DEF_CONST(PROTO, RTMPT), URL_DEF_CONST(PROTO, RTMPT),
URL_DEF_CONST(PROTO, RTMPE), URL_DEF_CONST(PROTO, RTMPE),
URL_DEF_CONST(PROTO, RTMPTE), URL_DEF_CONST(PROTO, RTMPTE),
URL_DEF_CONST(PROTO, RTMPS), URL_DEF_CONST(PROTO, RTMPS),
URL_DEF_CONST(PROTO, RTMPTS), URL_DEF_CONST(PROTO, RTMPTS),
#endif
URL_DEF_CONST(PROTO, GOPHER), URL_DEF_CONST(PROTO, GOPHER),
URL_DEF_CONST(PROTO, SMB), URL_DEF_CONST(PROTO, SMB),
URL_DEF_CONST(PROTO, SMBS), URL_DEF_CONST(PROTO, SMBS),
@@ -125,9 +123,7 @@ struct t_url_constant url_auth[] =
URL_DEF_CONST(AUTH, NTLM), URL_DEF_CONST(AUTH, NTLM),
URL_DEF_CONST(AUTH, ANY), URL_DEF_CONST(AUTH, ANY),
URL_DEF_CONST(AUTH, ANYSAFE), URL_DEF_CONST(AUTH, ANYSAFE),
#if LIBCURL_VERSION_NUM < 0x081500 /* < 8.21.0 */
URL_DEF_CONST(AUTH, DIGEST_IE), URL_DEF_CONST(AUTH, DIGEST_IE),
#endif
URL_DEF_CONST(AUTH, ONLY), URL_DEF_CONST(AUTH, ONLY),
#if LIBCURL_VERSION_NUM < 0x080800 /* < 8.8.0 */ #if LIBCURL_VERSION_NUM < 0x080800 /* < 8.8.0 */
URL_DEF_CONST(AUTH, NTLM_WB), URL_DEF_CONST(AUTH, NTLM_WB),
@@ -685,9 +681,9 @@ struct t_url_option url_options[] =
/* /*
* Search for a constant in array of constants. * Searches for a constant in array of constants.
* *
* Return index of constant, -1 if not found. * Returns index of constant, -1 if not found.
*/ */
int int
@@ -711,7 +707,7 @@ weeurl_search_constant (struct t_url_constant *constants, const char *name)
} }
/* /*
* Get value of mask using constants. * Gets value of mask using constants.
* *
* Argument "string_mask" has format: "const1+const2+const3". * Argument "string_mask" has format: "const1+const2+const3".
*/ */
@@ -754,9 +750,9 @@ weeurl_get_mask_value (struct t_url_constant *constants,
} }
/* /*
* Search for an URL option in table of options. * Searches for an URL option in table of options.
* *
* Return index of option, -1 if not found. * Returns index of option, -1 if not found.
*/ */
int int
@@ -780,7 +776,7 @@ weeurl_search_option (const char *name)
} }
/* /*
* Read data from a file (callback called to read a file). * Reads data from a file (callback called to read a file).
*/ */
size_t size_t
@@ -790,7 +786,7 @@ weeurl_read_stream (void *buffer, size_t size, size_t nmemb, void *stream)
} }
/* /*
* Write data in a file (callback called to write a file). * Writes data in a file (callback called to write a file).
*/ */
size_t size_t
@@ -800,7 +796,7 @@ weeurl_write_stream (void *buffer, size_t size, size_t nmemb, void *stream)
} }
/* /*
* Add data to a dynamic string (callback called to catch stdout). * Adds data to a dynamic string (callback called to catch stdout).
*/ */
size_t size_t
@@ -815,7 +811,7 @@ weeurl_write_string (void *buffer, size_t size, size_t nmemb, void *string)
} }
/* /*
* Set option in CURL easy handle (callback called for each option in hashtable * Sets option in CURL easy handle (callback called for each option in hashtable
* "options"). * "options").
*/ */
@@ -922,7 +918,7 @@ weeurl_option_map_cb (void *data,
} }
/* /*
* Set proxy in CURL easy handle. * Sets proxy in CURL easy handle.
*/ */
void void
@@ -970,7 +966,7 @@ weeurl_set_proxy (CURL *curl, struct t_proxy *proxy)
} }
/* /*
* Download URL using options. * Downloads URL using options.
* *
* If output is not NULL, it must be a hashtable with keys and values of type * If output is not NULL, it must be a hashtable with keys and values of type
* "string". The following keys may be added in the hashtable, * "string". The following keys may be added in the hashtable,
@@ -984,7 +980,7 @@ weeurl_set_proxy (CURL *curl, struct t_proxy *proxy)
* error | error message (set only in case of error) * error | error message (set only in case of error)
* *
* If timeout is 0, the function blocks until the end of the transfer. * If timeout is 0, the function blocks until the end of the transfer.
* If timeout (in milliseconds) is > 0, the function return an error in the * If timeout (in milliseconds) is > 0, the function returns an error in the
* output hashtable if the timeout is reached while the transfer is still * output hashtable if the timeout is reached while the transfer is still
* active. * active.
* *
@@ -992,7 +988,7 @@ weeurl_set_proxy (CURL *curl, struct t_proxy *proxy)
* pointed integer becomes different from 0 (set by the caller of this function), * pointed integer becomes different from 0 (set by the caller of this function),
* the download is immediately stopped with an error. * the download is immediately stopped with an error.
* *
* Return: * Returns:
* 0: OK * 0: OK
* 1: invalid URL * 1: invalid URL
* 2: error downloading URL * 2: error downloading URL
@@ -1263,9 +1259,9 @@ end:
} }
/* /*
* Add an URL option in an infolist. * Adds an URL option in an infolist.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -1321,7 +1317,7 @@ weeurl_option_add_to_infolist (struct t_infolist *infolist,
} }
/* /*
* Initialize URL. * Initializes URL.
*/ */
void void
@@ -1331,7 +1327,7 @@ weeurl_init (void)
} }
/* /*
* End URL. * Ends URL.
*/ */
void void
+38 -38
View File
@@ -44,7 +44,7 @@ int local_utf8 = 0;
/* /*
* Initialize UTF-8 in WeeChat. * Initializes UTF-8 in WeeChat.
*/ */
void void
@@ -54,9 +54,9 @@ utf8_init (void)
} }
/* /*
* Check if a string has some 8-bit chars. * Checks if a string has some 8-bit chars.
* *
* Return: * Returns:
* 1: string has 8-bit chars * 1: string has 8-bit chars
* 0: string has only 7-bit chars * 0: string has only 7-bit chars
*/ */
@@ -74,12 +74,12 @@ utf8_has_8bits (const char *string)
} }
/* /*
* Check if a string is UTF-8 valid. * Checks if a string is UTF-8 valid.
* *
* If length is <= 0, checks whole string. * If length is <= 0, checks whole string.
* If length is > 0, checks only this number of chars (not bytes). * If length is > 0, checks only this number of chars (not bytes).
* *
* Return: * Returns:
* 1: string is UTF-8 valid * 1: string is UTF-8 valid
* 0: string it not UTF-8 valid, and then if error is not NULL, it is set * 0: string it not UTF-8 valid, and then if error is not NULL, it is set
* with first non valid UTF-8 char in string * with first non valid UTF-8 char in string
@@ -167,7 +167,7 @@ invalid:
} }
/* /*
* Normalize an string: removes non UTF-8 chars and replaces them by a * Normalizes an string: removes non UTF-8 chars and replaces them by a
* "replacement" char. * "replacement" char.
*/ */
@@ -186,9 +186,9 @@ utf8_normalize (char *string, char replacement)
} }
/* /*
* Get pointer to previous UTF-8 char in a string. * Gets pointer to previous UTF-8 char in a string.
* *
* Return pointer to previous UTF-8 char, NULL if not found (for example * Returns pointer to previous UTF-8 char, NULL if not found (for example
* "string_start" was reached). * "string_start" was reached).
*/ */
@@ -234,9 +234,9 @@ utf8_prev_char (const char *string_start, const char *string)
} }
/* /*
* Get pointer to next UTF-8 char in a string. * Gets pointer to next UTF-8 char in a string.
* *
* Return pointer to next UTF-8 char, NULL if string was NULL. * Returns pointer to next UTF-8 char, NULL if string was NULL.
*/ */
const char * const char *
@@ -277,9 +277,9 @@ utf8_next_char (const char *string)
} }
/* /*
* Get pointer to the beginning of the UTF-8 line in a string. * Gets pointer to the beginning of the UTF-8 line in a string.
* *
* Return pointer to the beginning of the UTF-8 line, NULL if string was NULL. * Returns pointer to the beginning of the UTF-8 line, NULL if string was NULL.
*/ */
const char * const char *
@@ -300,9 +300,9 @@ utf8_beginning_of_line (const char *string_start, const char *string)
} }
/* /*
* Get pointer to the end of the UTF-8 line in a string. * Gets pointer to the end of the UTF-8 line in a string.
* *
* Return pointer to the end of the UTF-8 line, NULL if string was NULL. * Returns pointer to the end of the UTF-8 line, NULL if string was NULL.
*/ */
const char * const char *
@@ -320,9 +320,9 @@ utf8_end_of_line (const char *string)
} }
/* /*
* Get UTF-8 char as an integer. * Gets UTF-8 char as an integer.
* *
* Return the UTF-8 char as integer number. * Returns the UTF-8 char as integer number.
*/ */
int int
@@ -377,7 +377,7 @@ utf8_char_int (const char *string)
} }
/* /*
* Convert a unicode char (as unsigned integer) to a string. * Converts a unicode char (as unsigned integer) to a string.
* *
* The string must have a size >= 5 * The string must have a size >= 5
* (4 bytes for the UTF-8 char + the final '\0'). * (4 bytes for the UTF-8 char + the final '\0').
@@ -385,7 +385,7 @@ utf8_char_int (const char *string)
* In case of error (if unicode value is > 0x1FFFFF), the string is set to an * In case of error (if unicode value is > 0x1FFFFF), the string is set to an
* empty string (string[0] == '\0'). * empty string (string[0] == '\0').
* *
* Return the number of bytes in the UTF-8 char (not counting the final '\0'). * Returns the number of bytes in the UTF-8 char (not counting the final '\0').
*/ */
int int
@@ -443,9 +443,9 @@ utf8_int_string (unsigned int unicode_value, char *string)
} }
/* /*
* Get size of UTF-8 char (in bytes). * Gets size of UTF-8 char (in bytes).
* *
* Return an integer between 0 and 4. * Returns an integer between 0 and 4.
*/ */
int int
@@ -464,10 +464,10 @@ utf8_char_size (const char *string)
} }
/* /*
* Get length of an UTF-8 string in number of chars (not bytes). * Gets length of an UTF-8 string in number of chars (not bytes).
* Result is <= strlen (string). * Result is <= strlen (string).
* *
* Return length of string (>= 0). * Returns length of string (>= 0).
*/ */
int int
@@ -488,9 +488,9 @@ utf8_strlen (const char *string)
} }
/* /*
* Get length of an UTF-8 string for N bytes max in string. * Gets length of an UTF-8 string for N bytes max in string.
* *
* Return length of string (>= 0). * Returns length of string (>= 0).
*/ */
int int
@@ -513,9 +513,9 @@ utf8_strnlen (const char *string, int bytes)
} }
/* /*
* Get number of chars needed on screen to display the UTF-8 char. * Gets number of chars needed on screen to display the UTF-8 char.
* *
* Return the number of chars (>= 0). * Returns the number of chars (>= 0).
*/ */
int int
@@ -552,9 +552,9 @@ utf8_char_size_screen (const char *string)
} }
/* /*
* Get number of chars needed on screen to display the UTF-8 string. * Gets number of chars needed on screen to display the UTF-8 string.
* *
* Return the number of chars (>= 0). * Returns the number of chars (>= 0).
*/ */
int int
@@ -584,9 +584,9 @@ utf8_strlen_screen (const char *string)
} }
/* /*
* Move forward N chars in an UTF-8 string. * Moves forward N chars in an UTF-8 string.
* *
* Return pointer to the new position in string. * Returns pointer to the new position in string.
*/ */
const char * const char *
@@ -604,13 +604,13 @@ utf8_add_offset (const char *string, int offset)
} }
/* /*
* Get real position in UTF-8 string, in bytes. * Gets real position in UTF-8 string, in bytes.
* *
* Argument "pos" is a number of chars (not bytes). * Argument "pos" is a number of chars (not bytes).
* *
* Example: ("déca", 2) return 3. * Example: ("déca", 2) returns 3.
* *
* Return the real position (>= 0). * Returns the real position (>= 0).
*/ */
int int
@@ -635,13 +635,13 @@ utf8_real_pos (const char *string, int pos)
} }
/* /*
* Get position in UTF-8 string, in chars. * Gets position in UTF-8 string, in chars.
* *
* Argument "real_pos" is a number of bytes (not chars). * Argument "real_pos" is a number of bytes (not chars).
* *
* Example: ("déca", 3) return 2. * Example: ("déca", 3) returns 2.
* *
* Return the position in string. * Returns the position in string.
*/ */
int int
@@ -664,7 +664,7 @@ utf8_pos (const char *string, int real_pos)
} }
/* /*
* Duplicate an UTF-8 string, with max N chars. * Duplicates an UTF-8 string, with max N chars.
* *
* Note: result must be freed after use. * Note: result must be freed after use.
*/ */
@@ -688,7 +688,7 @@ utf8_strndup (const char *string, int length)
} }
/* /*
* Copy max N chars from a string to another and adds null byte at the end. * Copies max N chars from a string to another and adds null byte at the end.
* *
* Note: the target string "dest" must be long enough. * Note: the target string "dest" must be long enough.
*/ */
+31 -29
View File
@@ -50,12 +50,12 @@
/* /*
* Parse an integer. * Parses an integer.
* *
* If result is not NULL, *result is set with the parsed integer in case * If result is not NULL, *result is set with the parsed integer in case
* there is no error. * there is no error.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -88,12 +88,12 @@ util_parse_int (const char *string, int base, int *result)
} }
/* /*
* Parse a long integer. * Parses a long integer.
* *
* If result is not NULL, *result is set with the parsed long integer in case * If result is not NULL, *result is set with the parsed long integer in case
* there is no error. * there is no error.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -125,12 +125,12 @@ util_parse_long (const char *string, int base, long *result)
} }
/* /*
* Parse a long long integer. * Parses a long long integer.
* *
* If result is not NULL, *result is set with the parsed long integer in case * If result is not NULL, *result is set with the parsed long integer in case
* there is no error. * there is no error.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -162,9 +162,9 @@ util_parse_longlong (const char *string, int base, long long *result)
} }
/* /*
* Compare two timeval structures. * Compares two timeval structures.
* *
* Return: * Returns:
* -1: tv1 < tv2 * -1: tv1 < tv2
* 0: tv1 == tv2 * 0: tv1 == tv2
* 1: tv1 > tv2 * 1: tv1 > tv2
@@ -188,9 +188,9 @@ util_timeval_cmp (struct timeval *tv1, struct timeval *tv2)
} }
/* /*
* Calculate difference between two timeval structures. * Calculates difference between two timeval structures.
* *
* Return difference in microseconds. * Returns difference in microseconds.
*/ */
long long long long
@@ -208,7 +208,7 @@ util_timeval_diff (struct timeval *tv1, struct timeval *tv2)
} }
/* /*
* Add interval (in microseconds) to a timeval structure. * Adds interval (in microseconds) to a timeval structure.
*/ */
void void
@@ -231,7 +231,7 @@ util_timeval_add (struct timeval *tv, long long interval)
} }
/* /*
* Convert microseconds to a string, using format: "H:MM:SS.mmmmmm" * Converts microseconds to a string, using format: "H:MM:SS.mmmmmm"
* where: H=hours, MM=minutes, SS=seconds, mmmmmm=microseconds * where: H=hours, MM=minutes, SS=seconds, mmmmmm=microseconds
* *
* Note: result must be freed after use. * Note: result must be freed after use.
@@ -256,7 +256,7 @@ util_get_microseconds_string (unsigned long long microseconds)
} }
/* /*
* Convert date to a string, using format of option "weechat.look.time_format" * Converts date to a string, using format of option "weechat.look.time_format"
* (can be localized). * (can be localized).
*/ */
@@ -279,7 +279,7 @@ util_get_time_string (const time_t *date)
} }
/* /*
* Format date and time like strftime (but with timeval structure as input) * Formats date and time like strftime (but with timeval structure as input)
* and adds extra specifiers: * and adds extra specifiers:
* - "%@": return the date expressed in Coordinated Universal Time (UTC) * - "%@": return the date expressed in Coordinated Universal Time (UTC)
* instead of date relative to the user's specified timezone * instead of date relative to the user's specified timezone
@@ -383,7 +383,7 @@ util_strftimeval (char *string, int max, const char *format, struct timeval *tv)
} }
/* /*
* Parse a date/time string, which can be one of these formats: * Parses a date/time string, which can be one of these formats:
* *
* Format | Example * Format | Example
* -------------------------------------+---------------------------------- * -------------------------------------+----------------------------------
@@ -399,7 +399,7 @@ util_strftimeval (char *string, int max, const char *format, struct timeval *tv)
* UTC time | 19:04:55.123456Z * UTC time | 19:04:55.123456Z
* Timestamp date | 1756580695.123456 * Timestamp date | 1756580695.123456
* *
* Notes: * Notes :
* *
* - For ISO 8601, characters `T' and `Z` can be used in lower case: `t` and `z`. * - For ISO 8601, characters `T' and `Z` can be used in lower case: `t` and `z`.
* - The timezone offset format is `[+/-]hh:mm`, `[+/-]hhmm` or `[+/-]hh`. * - The timezone offset format is `[+/-]hh:mm`, `[+/-]hhmm` or `[+/-]hh`.
@@ -408,7 +408,7 @@ util_strftimeval (char *string, int max, const char *format, struct timeval *tv)
* A dot (`.`) or comma (`,`) can be used to separate seconds from the other * A dot (`.`) or comma (`,`) can be used to separate seconds from the other
* digits. * digits.
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -416,8 +416,8 @@ util_strftimeval (char *string, int max, const char *format, struct timeval *tv)
int int
util_parse_time (const char *datetime, struct timeval *tv) util_parse_time (const char *datetime, struct timeval *tv)
{ {
const char *pos_colon, *pos_hyphen, *pos_dot; char *string, *pos, *pos2, *pos_colon, *pos_hyphen, *pos_dot;
char *pos, *pos2, *string, 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; struct tm tm_date, tm_date_gm, tm_date_local, *local_time;
time_t time_now, time_gm, time_local; time_t time_now, time_gm, time_local;
long long value; long long value;
@@ -488,7 +488,9 @@ util_parse_time (const char *datetime, struct timeval *tv)
{ {
strcat (str_usec, "0"); 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 * 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 else
{ {
/* timestamp format: "1704402062" */ /* 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; tv->tv_sec = (time_t)value;
rc = 1; rc = 1;
@@ -672,7 +676,7 @@ util_parse_time (const char *datetime, struct timeval *tv)
} }
/* /*
* Return difference between two times. * Returns difference between two times.
* *
* The following variables are set, if pointer is not NULL: * The following variables are set, if pointer is not NULL:
* - number of total seconds between the two times (basic subtraction) * - number of total seconds between the two times (basic subtraction)
@@ -701,7 +705,7 @@ util_get_time_diff (time_t time1, time_t time2,
} }
/* /*
* Parse a string with a delay and optional unit, return the delay in * Parses a string with a delay and optional unit, returns the delay in
* microseconds. * microseconds.
* *
* The delay is a number followed by a unit which can be: * The delay is a number followed by a unit which can be:
@@ -718,7 +722,7 @@ util_get_time_diff (time_t time1, time_t time2,
* - 60000000: minutes * - 60000000: minutes
* - 3600000000: hours * - 3600000000: hours
* *
* Return: * Returns:
* 1: OK * 1: OK
* 0: error * 0: error
*/ */
@@ -773,10 +777,9 @@ util_parse_delay (const char *string_delay, unsigned long long default_factor,
if (!str_number) if (!str_number)
return 0; return 0;
errno = 0;
error = NULL; error = NULL;
*delay = strtoull (str_number, &error, 10); *delay = strtoull (str_number, &error, 10);
if ((errno == ERANGE) || !error || error[0]) if (!error || error[0])
{ {
free (str_number); free (str_number);
*delay = 0; *delay = 0;
@@ -791,7 +794,7 @@ util_parse_delay (const char *string_delay, unsigned long long default_factor,
} }
/* /*
* Get version number (integer) with a version as string. * Gets version number (integer) with a version as string.
* *
* Non-digit chars like "-dev" are ignored. * Non-digit chars like "-dev" are ignored.
* *
@@ -843,10 +846,9 @@ util_version_number (const char *version)
buf[index_buf] = '\0'; buf[index_buf] = '\0';
if (buf[0]) if (buf[0])
{ {
errno = 0;
error = NULL; error = NULL;
number = strtoul (buf, &error, 10); number = strtoul (buf, &error, 10);
if ((errno != ERANGE) && error && !error[0]) if (error && !error[0])
{ {
if (number > 0xFF) if (number > 0xFF)
number = 0xFF; number = 0xFF;
+8 -8
View File
@@ -30,7 +30,7 @@
/* /*
* Return package name ("weechat"). * Returns package name ("weechat").
*/ */
const char * const char *
@@ -40,7 +40,7 @@ version_get_name (void)
} }
/* /*
* Return the WeeChat version. * Returns the WeeChat version.
* *
* Examples: * Examples:
* 0.3.9-dev * 0.3.9-dev
@@ -55,7 +55,7 @@ version_get_version (void)
} }
/* /*
* Return the package name ("weechat") + WeeChat version. * Returns the package name ("weechat") + WeeChat version.
* *
* Examples: * Examples:
* weechat 0.3.9-dev * weechat 0.3.9-dev
@@ -70,7 +70,7 @@ version_get_name_version (void)
} }
/* /*
* Return the output of "git describe" (non-empty only for a devel version, * Returns the output of "git describe" (non-empty only for a devel version,
* if compilation was made using the git repository, if git command was found). * if compilation was made using the git repository, if git command was found).
* *
* Example: * Example:
@@ -84,7 +84,7 @@ version_get_git (void)
} }
/* /*
* Return the WeeChat version + the git version (between brackets, and only if * Returns the WeeChat version + the git version (between brackets, and only if
* it is not empty). * it is not empty).
* *
* Examples: * Examples:
@@ -112,7 +112,7 @@ version_get_version_with_git (void)
} }
/* /*
* Return date of WeeChat compilation. * Returns date of WeeChat compilation.
* *
* Example: * Example:
* Dec 16 2012 * Dec 16 2012
@@ -125,7 +125,7 @@ version_get_compilation_date (void)
} }
/* /*
* Return time of WeeChat compilation. * Returns time of WeeChat compilation.
* *
* Example: * Example:
* 18:10:22 * 18:10:22
@@ -138,7 +138,7 @@ version_get_compilation_time (void)
} }
/* /*
* Return date/time of WeeChat compilation. * Returns date/time of WeeChat compilation.
* *
* Example: * Example:
* Dec 16 2012 18:10:22 * Dec 16 2012 18:10:22

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