diff --git a/ChangeLog.adoc b/ChangeLog.adoc index 463e87aad..132004391 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -21,6 +21,7 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes] New features:: * core: add bar item "spacer" (issue #1700) + * core: add case conversion in evaluation of expressions with `lower:string` and `upper:string` (issue #1778) Bug fixes:: diff --git a/doc/de/includes/autogen_user_commands.de.adoc b/doc/de/includes/autogen_user_commands.de.adoc index d292bf139..55876f699 100644 --- a/doc/de/includes/autogen_user_commands.de.adoc +++ b/doc/de/includes/autogen_user_commands.de.adoc @@ -1366,126 +1366,130 @@ infolists: zeigt Information über die Infolists an /eval [-n|-s] [-d] [-n] [-d [-d]] -c - -n: gibt das Ergebnis aus, ohne dass dieses in den Buffer gesendet wird (debug Modus) - -s: teilt Ausdrücke, bevor sie evaluiert werden (mehrere Befehle können durch Semikolon getrennt werden) - -d: eine Debug-Ausgabe nach Auswertung anzeigen (Nutzung von zwei -d: ausführliche Debug-Ausgabe) - -c: Auswertung als Bedingung: nutzt Operatoren und runde Klammern, Rückgabewert als Boolean-Wert ("0" oder "1") -expression: Ausdruck welcher verarbeitet werden soll. Variablen im Format ${variable} werden ersetzt (siehe unten); mehrere Befehle werden durch ein Semikolon voneinander getrennt - operator: ein logischer oder vergleichender Operand: - - logische Operanden: - && boolean "und" - || boolean "oder" - - vergleichende Operanden: - == gleich - != ungleich - <= kleiner oder gleich - < kleiner - >= größer oder gleich - > größer - =~ stimmt mit regulärem POSIX Ausdruck überein - !~ stimmt NICHT mit regulärem POSIX Ausdruck überein - ==* stimmt mit Maske überein (Platzhalter "*" ist erlaubt) - !!* stimmt mit Maske NICHT überein (Platzhalter "*" ist erlaubt) - =* stimmt mit Maske überein, Groß- und Kleinschreibung wird nicht beachtet (Platzhalter "*" ist erlaubt) - !* stimmt mit Maske NICHT überein, Groß- und Kleinschreibung wird nicht beachtet (Platzhalter "*" ist erlaubt) - ==- ist enthalten, Groß- und Kleinschreibung wird beachtet - !!- ist NICHT enthalten, Groß- und Kleinschreibung wird beachtet - =- ist enthalten, Groß- und Kleinschreibung wird nicht beachtet - !- ist NICHT enthalten, Groß- und Kleinschreibung wird nicht beachtet + -n: display result without sending it to buffer (debug mode) + -s: split expression before evaluating it (many commands can be separated by semicolons) + -d: display debug output after evaluation (with two -d: more verbose debug) + -c: evaluate as condition: use operators and parentheses, return a boolean value ("0" or "1") +expression: expression to evaluate, variables with format ${variable} are replaced (see below); many commands can be separated by semicolons + operator: a logical or comparison operator: + - logical operators: + && boolean "and" + || boolean "or" + - comparison operators: + == equal + != not equal + <= less or equal + < less + >= greater or equal + > greater + =~ is matching POSIX extended regex + !~ is NOT matching POSIX extended regex + ==* is matching mask, case sensitive (wildcard "*" is allowed) + !!* is NOT matching mask, case sensitive (wildcard "*" is allowed) + =* is matching mask, case insensitive (wildcard "*" is allowed) + !* is NOT matching mask, case insensitive (wildcard "*" is allowed) + ==- is included, case sensitive + !!- is NOT included, case sensitive + =- is included, case insensitive + !- is NOT included, case insensitive -Ein Ausdruck gilt als "wahr" sofern das Ergebnis weder NULL, nicht leer und von "0" abweichend ist. -Für einen Vergleich werden Fließkommazahlen genutzt, insofern es sich bei beiden Ausdrücken um gültige Zahlen handelt, folgende Formate werden unterstützt: - - Integer (Beispiele: 5, -7) - - Fließkommazahl (Beispiele: 5.2, -7.5, 2.83e-2) - - hexadezimale Zahl (Beispiele: 0xA3, -0xA3) -Um einen Vergleich zwischen zwei Zeichenketten zu erzwingen, müssen die Ausdrücke in Anführungszeichen gesetzt werden, zum Beispiel: +An expression is considered as "true" if it is not NULL, not empty, and different from "0". +The comparison is made using floating point numbers if the two expressions are valid numbers, with one of the following formats: + - integer (examples: 5, -7) + - floating point number (examples: 5.2, -7.5, 2.83e-2) + - hexadecimal number (examples: 0xA3, -0xA3) +To force a string comparison, you can add double quotes around each expression, for example: 50 > 100 ==> 0 "50" > "100" ==> 1 -Einige Variablen werden im Ausdruck mittels der Formatierung ${variable} ersetzt. Mögliche Variablen sind, nach Reihenfolge ihrer Priorität: - 1. die Zeichenfolge selbst ohne Auswertung (Format: "raw:xxx") - 2. eine benutzerdefinierte Variable (Format: "name") - 3. eine evaluierte Teilzeichenkette (Format: "eval:xxx") - 4. eine evaluierte Bedingung (Format: "eval_cond:xxx") - 5. eine Zeichenkette mit Escapesequenzen (Format: "esc:xxx" oder "\xxx") - 6. Zeichen, die in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette") - 7. eine Zeichenkette mit einer maximalen Anzahl an Zeichen (Format: "cut:max,suffix,string" oder "cut:+max,suffix,string") - oder maximale Anzahl an Zeichen die auf dem Bildschirm angezeigt werden sollen (Format: "cutscr:Max,Suffix,Zeichenkette oder "cutscr:+Max,Suffix,Zeichenkette") - 8. eine Zeichenkette umkehren (Format: "rev:xxx" oder "revscr:xxx") - 9. eine Zeichenkette wiederholen (Format: "repeat:Anzahl,Zeichenkette") - 10. Länge einer Zeichenkette (Format: "length:xxx" oder "lengthscr:xxx") - 11. Aufteilen einer Zeichenkette (Format: "split:Anzahl,Trennzeichen,Flags,xxx") - 12. Aufteilen von Shell-Argumenten (Format: "split_shell:Anzahl,xxx") - 13. eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color") - 14. zum modifizieren (Format: "modifier:name,data,string") - 15. eine Info (Format: "Info:Name,Argumente", Argumente sind optional) - 16. eine Basis 16/32/64 kodierte / dekodierte Zeichenfolge (Format: "base_encode:base,xxx" oder "base_decode:base,xxx") - 17. aktuelles Datum/Uhrzeit (Format: "date" oder "date:format") - 18. eine Umgebungsvariable (Format: "env:XXX") - 19. ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr") - 20. Ergebnis eines Ausdrucks mit Klammern und Operatoren + - * / // % ** (Format: "calc:xxx") - 21. eine zufällige ganze Zahl (Format: "random:min,max") - 22. eine übersetzte Zeichenkette (Format: "translate:xxx") - 23. eine Benutzervariable definieren (Format: "define:Name,Wert") - 24. eine Option (Format: "file.section.option") - 25. eine lokale Variable eines Buffers - 26. ein(e) hdata - Name/Variable (der Wert wird automatisch in eine Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet. -Das Format für hdata kann wie folgt aufgebaut sein: - hdata.var1.var2...: startet mit hdata (der Pointer muss bekannt sein) und fragt eine Variable nach der anderen ab (weitere hdata können folgen) - hdata[list].var1.var2...: startet hdata mittels einer Liste, zum Beispiel: - ${buffer[gui_buffers].full_name}: der vollständige Name des ersten Buffers, in der verknüpften Liste aller Buffer - ${plugin[weechat_plugins].name}: Name der ersten Erweiterung, in der verknüpften Liste aller Erweiterungen - hdata[pointer].var1.var2...: startet hdata mittels einem Pointer, zum Beispiel: - ${buffer[0x1234abcd].full_name}: vollständiger Name eines Buffers und des dazugehörigen Pointers (kann in triggern benutzt werden) - ${buffer[my_pointer].full_name}: vollständiger Name des Buffers mit dem entsprechenden Pointernamen (kann in Triggern verwendet werden) -Die vorhandenen Namen für hdata und Variablen sind in der "Anleitung für API Erweiterung", Bereich "weechat_hdata_get". beschrieben +Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority: + 1. the string itself without evaluation (format: "raw:xxx") + 2. a user-defined variable (format: "name") + 3. an evaluated sub-string (format: "eval:xxx") + 4. an evaluated condition (format: "eval_cond:xxx") + 5. a string with escaped chars (format: "esc:xxx" or "\xxx") + 6. a string converted to lower case (format: "lower:xxx") + 7. a string converted to upper case (format: "upper:xxx") + 8. a string with chars to hide (format: "hide:char,string") + 9. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string") + or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string") + 10. a reversed string (format: "rev:xxx" or "revscr:xxx") + 11. a repeated string (format: "repeat:count,string") + 12. length of a string (format: "length:xxx" or "lengthscr:xxx") + 13. split of a string (format: "split:number,separators,flags,xxx") + 14. split of shell argmuents (format: "split_shell:number,xxx") + 15. a color (format: "color:xxx", see "Plugin API reference", function "color") + 16. a modifier (format: "modifier:name,data,string") + 17. an info (format: "info:name,arguments", arguments are optional) + 18. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx") + 19. current date/time (format: "date" or "date:format") + 20. an environment variable (format: "env:XXX") + 21. a ternary operator (format: "if:condition?value_if_true:value_if_false") + 22. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx") + 23. a random integer number (format: "random:min,max") + 24. a translated string (format: "translate:xxx") + 25. define a user variable (format: "define:name,value") + 26. an option (format: "file.section.option") + 27. a local variable in buffer + 28. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer. +Format for hdata can be one of following: + hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed) + hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example: + ${buffer[gui_buffers].full_name}: full name of first buffer in linked list of buffers + ${plugin[weechat_plugins].name}: name of first plugin in linked list of plugins + hdata[pointer].var1.var2...: start with a hdata using a pointer, for example: + ${buffer[0x1234abcd].full_name}: full name of the buffer with this pointer (can be used in triggers) + ${buffer[my_pointer].full_name}: full name of the buffer with this pointer name (can be used in triggers) +For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get". -Beispiele (einfache Zeichenketten): - /eval -n ${raw:${info:version}} ==> ${info:version} - /eval -n ${eval_cond:${window.win_width}>100} ==> 1 - /eval -n ${info:version} ==> 0.4.3 - /eval -n ${env:HOME} ==> /home/user - /eval -n ${weechat.look.scroll_amount} ==> 3 - /eval -n ${sec.data.password} ==> geheim - /eval -n ${window} ==> 0x2549aa0 - /eval -n ${window.buffer} ==> 0x2549320 - /eval -n ${window.buffer.full_name} ==> core.weechat - /eval -n ${window.buffer.number} ==> 1 - /eval -n ${\t} ==> - /eval -n ${hide:-,${relay.network.password}} ==> -------- - /eval -n ${cut:3,+,test} ==> tes+ - /eval -n ${cut:+3,+,test} ==> te+ - /eval -n ${date:%H:%M:%S} ==> 07:46:40 - /eval -n ${if:${info:term_width}>80?big:small} ==> big - /eval -n ${rev:Hello} ==> olleH - /eval -n ${repeat:5,-} ==> ----- - /eval -n ${length:test} ==> 4 - /eval -n ${split:1,,,abc,def,ghi} ==> abc - /eval -n ${split:-1,,,abc,def,ghi} ==> ghi - /eval -n ${split:count,,,abc,def,ghi} ==> 3 - /eval -n ${split:random,,,abc,def,ghi} ==> def - /eval -n ${split_shell:1,"arg 1" arg2} ==> arg 1 - /eval -n ${split_shell:-1,"arg 1" arg2} ==> arg2 - /eval -n ${split_shell:count,"arg 1" arg2} ==> 2 - /eval -n ${split_shell:random,"arg 1" arg2} ==> arg2 - /eval -n ${calc:(5+2)*3} ==> 21 - /eval -n ${random:0,10} ==> 3 - /eval -n ${base_encode:64,test} ==> dGVzdA== - /eval -n ${base_decode:64,dGVzdA==} ==> test - /eval -n ${translate:Plugin} ==> Erweiterung +Examples (simple strings): + /eval -n ${raw:${info:version}} ==> ${info:version} + /eval -n ${eval_cond:${window.win_width}>100} ==> 1 + /eval -n ${info:version} ==> 0.4.3 + /eval -n ${env:HOME} ==> /home/user + /eval -n ${weechat.look.scroll_amount} ==> 3 + /eval -n ${sec.data.password} ==> secret + /eval -n ${window} ==> 0x2549aa0 + /eval -n ${window.buffer} ==> 0x2549320 + /eval -n ${window.buffer.full_name} ==> core.weechat + /eval -n ${window.buffer.number} ==> 1 + /eval -n ${\t} ==> + /eval -n ${lower:TEST} ==> test + /eval -n ${upper:test} ==> TEST + /eval -n ${hide:-,${relay.network.password}} ==> -------- + /eval -n ${cut:3,+,test} ==> tes+ + /eval -n ${cut:+3,+,test} ==> te+ + /eval -n ${date:%H:%M:%S} ==> 07:46:40 + /eval -n ${if:${info:term_width}>80?big:small} ==> big + /eval -n ${rev:Hello} ==> olleH + /eval -n ${repeat:5,-} ==> ----- + /eval -n ${length:test} ==> 4 + /eval -n ${split:1,,,abc,def,ghi} ==> abc + /eval -n ${split:-1,,,abc,def,ghi} ==> ghi + /eval -n ${split:count,,,abc,def,ghi} ==> 3 + /eval -n ${split:random,,,abc,def,ghi} ==> def + /eval -n ${split_shell:1,"arg 1" arg2} ==> arg 1 + /eval -n ${split_shell:-1,"arg 1" arg2} ==> arg2 + /eval -n ${split_shell:count,"arg 1" arg2} ==> 2 + /eval -n ${split_shell:random,"arg 1" arg2} ==> arg2 + /eval -n ${calc:(5+2)*3} ==> 21 + /eval -n ${random:0,10} ==> 3 + /eval -n ${base_encode:64,test} ==> dGVzdA== + /eval -n ${base_decode:64,dGVzdA==} ==> test + /eval -n ${translate:Plugin} ==> Extension /eval -n ${define:len,${calc:5+3}}${len}x${len} ==> 8x8 -Beispiele (Bedingungen): - /eval -n -c ${window.buffer.number} > 2 ==> 0 - /eval -n -c ${window.win_width} > 100 ==> 1 - /eval -n -c (8 > 12) || (5 > 2) ==> 1 - /eval -n -c (8 > 12) && (5 > 2) ==> 0 - /eval -n -c abcd =~ ^ABC ==> 1 - /eval -n -c abcd =~ (?-i)^ABC ==> 0 - /eval -n -c abcd =~ (?-i)^abc ==> 1 - /eval -n -c abcd !~ abc ==> 0 - /eval -n -c abcd =* a*d ==> 1 - /eval -n -c abcd =- bc ==> 1 +Examples (conditions): + /eval -n -c ${window.buffer.number} > 2 ==> 0 + /eval -n -c ${window.win_width} > 100 ==> 1 + /eval -n -c (8 > 12) || (5 > 2) ==> 1 + /eval -n -c (8 > 12) && (5 > 2) ==> 0 + /eval -n -c abcd =~ ^ABC ==> 1 + /eval -n -c abcd =~ (?-i)^ABC ==> 0 + /eval -n -c abcd =~ (?-i)^abc ==> 1 + /eval -n -c abcd !~ abc ==> 0 + /eval -n -c abcd =* a*d ==> 1 + /eval -n -c abcd =- bc ==> 1 ---- [[command_weechat_filter]] diff --git a/doc/en/includes/autogen_user_commands.en.adoc b/doc/en/includes/autogen_user_commands.en.adoc index 82eac8a97..8046d12e6 100644 --- a/doc/en/includes/autogen_user_commands.en.adoc +++ b/doc/en/includes/autogen_user_commands.en.adoc @@ -1408,28 +1408,30 @@ Some variables are replaced in expression, using the format ${variable}, variabl 3. an evaluated sub-string (format: "eval:xxx") 4. an evaluated condition (format: "eval_cond:xxx") 5. a string with escaped chars (format: "esc:xxx" or "\xxx") - 6. a string with chars to hide (format: "hide:char,string") - 7. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string") + 6. a string converted to lower case (format: "lower:xxx") + 7. a string converted to upper case (format: "upper:xxx") + 8. a string with chars to hide (format: "hide:char,string") + 9. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string") or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string") - 8. a reversed string (format: "rev:xxx" or "revscr:xxx") - 9. a repeated string (format: "repeat:count,string") - 10. length of a string (format: "length:xxx" or "lengthscr:xxx") - 11. split of a string (format: "split:number,separators,flags,xxx") - 12. split of shell argmuents (format: "split_shell:number,xxx") - 13. a color (format: "color:xxx", see "Plugin API reference", function "color") - 14. a modifier (format: "modifier:name,data,string") - 15. an info (format: "info:name,arguments", arguments are optional) - 16. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx") - 17. current date/time (format: "date" or "date:format") - 18. an environment variable (format: "env:XXX") - 19. a ternary operator (format: "if:condition?value_if_true:value_if_false") - 20. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx") - 21. a random integer number (format: "random:min,max") - 22. a translated string (format: "translate:xxx") - 23. define a user variable (format: "define:name,value") - 24. an option (format: "file.section.option") - 25. a local variable in buffer - 26. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer. + 10. a reversed string (format: "rev:xxx" or "revscr:xxx") + 11. a repeated string (format: "repeat:count,string") + 12. length of a string (format: "length:xxx" or "lengthscr:xxx") + 13. split of a string (format: "split:number,separators,flags,xxx") + 14. split of shell argmuents (format: "split_shell:number,xxx") + 15. a color (format: "color:xxx", see "Plugin API reference", function "color") + 16. a modifier (format: "modifier:name,data,string") + 17. an info (format: "info:name,arguments", arguments are optional) + 18. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx") + 19. current date/time (format: "date" or "date:format") + 20. an environment variable (format: "env:XXX") + 21. a ternary operator (format: "if:condition?value_if_true:value_if_false") + 22. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx") + 23. a random integer number (format: "random:min,max") + 24. a translated string (format: "translate:xxx") + 25. define a user variable (format: "define:name,value") + 26. an option (format: "file.section.option") + 27. a local variable in buffer + 28. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer. Format for hdata can be one of following: hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed) hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example: @@ -1452,6 +1454,8 @@ Examples (simple strings): /eval -n ${window.buffer.full_name} ==> core.weechat /eval -n ${window.buffer.number} ==> 1 /eval -n ${\t} ==> + /eval -n ${lower:TEST} ==> test + /eval -n ${upper:test} ==> TEST /eval -n ${hide:-,${relay.network.password}} ==> -------- /eval -n ${cut:3,+,test} ==> tes+ /eval -n ${cut:+3,+,test} ==> te+ diff --git a/doc/en/weechat_plugin_api.en.adoc b/doc/en/weechat_plugin_api.en.adoc index ef2bf4c9c..25230e769 100644 --- a/doc/en/weechat_plugin_api.en.adoc +++ b/doc/en/weechat_plugin_api.en.adoc @@ -2256,7 +2256,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test" ==== string_eval_expression _WeeChat ≥ 0.4.0, updated in 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0, -2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3 and 3.4._ +2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4 and 3.6._ Evaluate an expression and return result as a string. Special variables with format `+${variable}+` are expanded (see table below). @@ -2641,6 +2641,16 @@ expanded to last): >> `+${\ua9}+` + == `+©+` +| `+${lower:string}+` | 3.6 | + String converted to lower case. | + >> `+${lower:TEST}+` + + >> `+test+` + +| `+${upper:string}+` | 3.6 | + String converted to upper case. | + >> `+${upper:test}+` + + >> `+TEST+` + | `+${hide:x,string}+` | 1.1 | String with hidden chars (all chars in `string` replaced by `x`). | >> `+${hide:*,password}+` + diff --git a/doc/fr/includes/autogen_user_commands.fr.adoc b/doc/fr/includes/autogen_user_commands.fr.adoc index 5352a6233..a5e85799f 100644 --- a/doc/fr/includes/autogen_user_commands.fr.adoc +++ b/doc/fr/includes/autogen_user_commands.fr.adoc @@ -1408,28 +1408,30 @@ Des variables sont remplacées dans l'expression, en utilisant le format ${varia 3. une sous-chaîne évaluée (format : "eval:xxx") 4. une condition évaluée (format : "eval_cond:xxx") 5. une chaîne avec les caractères échappés (format : "esc:xxx" ou "\xxx") - 6. une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne") - 7. une chaîne avec un maximum de caractères (format : "cut:max,suffixe,chaîne" ou "cut:+max,suffixe,chaîne") + 6. une chaîne convertie en minuscules (format : "lower:xxx") + 7. une chaîne convertie en majuscules (format : "upper:xxx") + 8. une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne") + 9. une chaîne avec un maximum de caractères (format : "cut:max,suffixe,chaîne" ou "cut:+max,suffixe,chaîne") ou un maximum de caractères affichés à l'écran (format : "cutscr:max,suffixe,chaîne" ou "cutscr:+max,suffixe,chaîne") - 8. une chaîne inversée (format : "rev:xxx" ou "revscr:xxx") - 9. une chaîne répétée (format : "repeat:nombre,chaîne") - 10. longueur d'une chaîne (format : "length:xxx" ou "lengthscr:xxx") - 11. découpage d'une chaîne (format : "split:nombre,séparateurs,flags,xxx") - 12. découpage de paramètres shell (format : "split_shell:nombre,xxx") - 13. une couleur (format : "color:xxx", voir la "Référence API extension", fonction "color") - 14. un modificateur (format : "modifier:nom,données,chaîne") - 15. une info (format : "info:nom,paramètres", les paramètres sont optionnels) - 16. une chaîne encodée/decodée en base 16, 32 ou 64 (format : "base_encode:base,xxx" ou "base_decode:base,xxx") - 17. la date/heure courante (format : "date" ou "date:format") - 18. une variable d'environnement (format : "env:XXX") - 19. un opérateur ternaire (format : "if:condition?valeur_si_vrai:valeur_si_faux") - 20. le résultat d'une expression avec parenthèses et les opérateurs + - * / // % ** (format : "calc:xxx") - 21. un nombre entier aléatoire (format : "random:min,max") - 22. une chaîne traduite (format : "translate:xxx") - 23. déclaration d'une variable utilisateur (format : "define:nom,valeur") - 24. une option (format : "fichier.section.option") - 25. une variable locale du tampon - 26. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants. + 10. une chaîne inversée (format : "rev:xxx" ou "revscr:xxx") + 11. une chaîne répétée (format : "repeat:nombre,chaîne") + 12. longueur d'une chaîne (format : "length:xxx" ou "lengthscr:xxx") + 13. découpage d'une chaîne (format : "split:nombre,séparateurs,flags,xxx") + 14. découpage de paramètres shell (format : "split_shell:nombre,xxx") + 15. une couleur (format : "color:xxx", voir la "Référence API extension", fonction "color") + 16. un modificateur (format : "modifier:nom,données,chaîne") + 17. une info (format : "info:nom,paramètres", les paramètres sont optionnels) + 18. une chaîne encodée/decodée en base 16, 32 ou 64 (format : "base_encode:base,xxx" ou "base_decode:base,xxx") + 19. la date/heure courante (format : "date" ou "date:format") + 20. une variable d'environnement (format : "env:XXX") + 21. un opérateur ternaire (format : "if:condition?valeur_si_vrai:valeur_si_faux") + 22. le résultat d'une expression avec parenthèses et les opérateurs + - * / // % ** (format : "calc:xxx") + 23. un nombre entier aléatoire (format : "random:min,max") + 24. une chaîne traduite (format : "translate:xxx") + 25. déclaration d'une variable utilisateur (format : "define:nom,valeur") + 26. une option (format : "fichier.section.option") + 27. une variable locale du tampon + 28. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants. Le format du hdata peut être le suivant : hdata.var1.var2... : démarrer avec un hdata (le pointeur doit être connu), et demander les variables l'une après l'autre (d'autres hdata peuvent être suivis) hdata[liste].var1.var2... : démarrer avec un hdata en utilisant une liste/pointeur/nom de pointeur, par exemple : @@ -1452,6 +1454,8 @@ Exemples (chaînes simples) : /eval -n ${window.buffer.full_name} ==> core.weechat /eval -n ${window.buffer.number} ==> 1 /eval -n ${\t} ==> + /eval -n ${lower:TEST} ==> test + /eval -n ${upper:test} ==> TEST /eval -n ${hide:-,${relay.network.password}} ==> -------- /eval -n ${cut:3,+,test} ==> tes+ /eval -n ${cut:+3,+,test} ==> te+ diff --git a/doc/fr/weechat_plugin_api.fr.adoc b/doc/fr/weechat_plugin_api.fr.adoc index ed0561bf8..eb8f0e43f 100644 --- a/doc/fr/weechat_plugin_api.fr.adoc +++ b/doc/fr/weechat_plugin_api.fr.adoc @@ -2294,7 +2294,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test" ==== string_eval_expression _WeeChat ≥ 0.4.0, mis à jour dans la 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, -2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3 et 3.4._ +2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4 et 3.6._ Évaluer l'expression et retourner le résultat sous forme de chaîne. Les variables spéciales avec le format `+${variable}+` sont étendues (voir le @@ -2685,6 +2685,16 @@ première étendue à la dernière) : >> `+${\ua9}+` + == `+©+` +| `+${lower:string}+` | 3.6 | + Chaîne convertie en minuscules. | + >> `+${lower:TEST}+` + + >> `+test+` + +| `+${upper:string}+` | 3.6 | + Chaîne convertie en majuscules. | + >> `+${upper:test}+` + + >> `+TEST+` + | `+${hide:x,chaîne}+` | 1.1 | Chaîne avec les caractères masqués (tous les caractères dans `chaîne` remplacés par `x`). | diff --git a/doc/it/includes/autogen_user_commands.it.adoc b/doc/it/includes/autogen_user_commands.it.adoc index dc0f67994..b13f2b0cf 100644 --- a/doc/it/includes/autogen_user_commands.it.adoc +++ b/doc/it/includes/autogen_user_commands.it.adoc @@ -1408,28 +1408,30 @@ Some variables are replaced in expression, using the format ${variable}, variabl 3. an evaluated sub-string (format: "eval:xxx") 4. an evaluated condition (format: "eval_cond:xxx") 5. a string with escaped chars (format: "esc:xxx" or "\xxx") - 6. a string with chars to hide (format: "hide:char,string") - 7. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string") + 6. a string converted to lower case (format: "lower:xxx") + 7. a string converted to upper case (format: "upper:xxx") + 8. a string with chars to hide (format: "hide:char,string") + 9. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string") or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string") - 8. a reversed string (format: "rev:xxx" or "revscr:xxx") - 9. a repeated string (format: "repeat:count,string") - 10. length of a string (format: "length:xxx" or "lengthscr:xxx") - 11. split of a string (format: "split:number,separators,flags,xxx") - 12. split of shell argmuents (format: "split_shell:number,xxx") - 13. a color (format: "color:xxx", see "Plugin API reference", function "color") - 14. a modifier (format: "modifier:name,data,string") - 15. an info (format: "info:name,arguments", arguments are optional) - 16. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx") - 17. current date/time (format: "date" or "date:format") - 18. an environment variable (format: "env:XXX") - 19. a ternary operator (format: "if:condition?value_if_true:value_if_false") - 20. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx") - 21. a random integer number (format: "random:min,max") - 22. a translated string (format: "translate:xxx") - 23. define a user variable (format: "define:name,value") - 24. an option (format: "file.section.option") - 25. a local variable in buffer - 26. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer. + 10. a reversed string (format: "rev:xxx" or "revscr:xxx") + 11. a repeated string (format: "repeat:count,string") + 12. length of a string (format: "length:xxx" or "lengthscr:xxx") + 13. split of a string (format: "split:number,separators,flags,xxx") + 14. split of shell argmuents (format: "split_shell:number,xxx") + 15. a color (format: "color:xxx", see "Plugin API reference", function "color") + 16. a modifier (format: "modifier:name,data,string") + 17. an info (format: "info:name,arguments", arguments are optional) + 18. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx") + 19. current date/time (format: "date" or "date:format") + 20. an environment variable (format: "env:XXX") + 21. a ternary operator (format: "if:condition?value_if_true:value_if_false") + 22. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx") + 23. a random integer number (format: "random:min,max") + 24. a translated string (format: "translate:xxx") + 25. define a user variable (format: "define:name,value") + 26. an option (format: "file.section.option") + 27. a local variable in buffer + 28. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer. Format for hdata can be one of following: hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed) hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example: @@ -1452,6 +1454,8 @@ Examples (simple strings): /eval -n ${window.buffer.full_name} ==> core.weechat /eval -n ${window.buffer.number} ==> 1 /eval -n ${\t} ==> + /eval -n ${lower:TEST} ==> test + /eval -n ${upper:test} ==> TEST /eval -n ${hide:-,${relay.network.password}} ==> -------- /eval -n ${cut:3,+,test} ==> tes+ /eval -n ${cut:+3,+,test} ==> te+ diff --git a/doc/it/weechat_plugin_api.it.adoc b/doc/it/weechat_plugin_api.it.adoc index ee286dafe..baab5d1da 100644 --- a/doc/it/weechat_plugin_api.it.adoc +++ b/doc/it/weechat_plugin_api.it.adoc @@ -2356,7 +2356,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test" ==== string_eval_expression _WeeChat ≥ 0.4.0, updated in 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0, -2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3 and 3.4._ +2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4 and 3.6._ Evaluate an expression and return result as a string. Special variables with format `+${variable}+` are expanded (see table below). @@ -2741,6 +2741,18 @@ expanded to last): >> `+${\ua9}+` + == `+©+` +// TRANSLATION MISSING +| `+${lower:string}+` | 3.6 | + String converted to lower case. | + >> `+${lower:TEST}+` + + >> `+test+` + +// TRANSLATION MISSING +| `+${upper:string}+` | 3.6 | + String converted to upper case. | + >> `+${upper:test}+` + + >> `+TEST+` + | `+${hide:x,string}+` | 1.1 | String with hidden chars (all chars in `string` replaced `x`). | >> `+${hide:*,password}+` + diff --git a/doc/ja/includes/autogen_user_commands.ja.adoc b/doc/ja/includes/autogen_user_commands.ja.adoc index f5c1cdba7..0d862c2f7 100644 --- a/doc/ja/includes/autogen_user_commands.ja.adoc +++ b/doc/ja/includes/autogen_user_commands.ja.adoc @@ -1408,28 +1408,30 @@ Some variables are replaced in expression, using the format ${variable}, variabl 3. an evaluated sub-string (format: "eval:xxx") 4. an evaluated condition (format: "eval_cond:xxx") 5. a string with escaped chars (format: "esc:xxx" or "\xxx") - 6. a string with chars to hide (format: "hide:char,string") - 7. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string") + 6. a string converted to lower case (format: "lower:xxx") + 7. a string converted to upper case (format: "upper:xxx") + 8. a string with chars to hide (format: "hide:char,string") + 9. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string") or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string") - 8. a reversed string (format: "rev:xxx" or "revscr:xxx") - 9. a repeated string (format: "repeat:count,string") - 10. length of a string (format: "length:xxx" or "lengthscr:xxx") - 11. split of a string (format: "split:number,separators,flags,xxx") - 12. split of shell argmuents (format: "split_shell:number,xxx") - 13. a color (format: "color:xxx", see "Plugin API reference", function "color") - 14. a modifier (format: "modifier:name,data,string") - 15. an info (format: "info:name,arguments", arguments are optional) - 16. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx") - 17. current date/time (format: "date" or "date:format") - 18. an environment variable (format: "env:XXX") - 19. a ternary operator (format: "if:condition?value_if_true:value_if_false") - 20. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx") - 21. a random integer number (format: "random:min,max") - 22. a translated string (format: "translate:xxx") - 23. define a user variable (format: "define:name,value") - 24. an option (format: "file.section.option") - 25. a local variable in buffer - 26. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer. + 10. a reversed string (format: "rev:xxx" or "revscr:xxx") + 11. a repeated string (format: "repeat:count,string") + 12. length of a string (format: "length:xxx" or "lengthscr:xxx") + 13. split of a string (format: "split:number,separators,flags,xxx") + 14. split of shell argmuents (format: "split_shell:number,xxx") + 15. a color (format: "color:xxx", see "Plugin API reference", function "color") + 16. a modifier (format: "modifier:name,data,string") + 17. an info (format: "info:name,arguments", arguments are optional) + 18. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx") + 19. current date/time (format: "date" or "date:format") + 20. an environment variable (format: "env:XXX") + 21. a ternary operator (format: "if:condition?value_if_true:value_if_false") + 22. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx") + 23. a random integer number (format: "random:min,max") + 24. a translated string (format: "translate:xxx") + 25. define a user variable (format: "define:name,value") + 26. an option (format: "file.section.option") + 27. a local variable in buffer + 28. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer. Format for hdata can be one of following: hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed) hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example: @@ -1452,6 +1454,8 @@ Examples (simple strings): /eval -n ${window.buffer.full_name} ==> core.weechat /eval -n ${window.buffer.number} ==> 1 /eval -n ${\t} ==> + /eval -n ${lower:TEST} ==> test + /eval -n ${upper:test} ==> TEST /eval -n ${hide:-,${relay.network.password}} ==> -------- /eval -n ${cut:3,+,test} ==> tes+ /eval -n ${cut:+3,+,test} ==> te+ diff --git a/doc/ja/weechat_plugin_api.ja.adoc b/doc/ja/weechat_plugin_api.ja.adoc index c781f8856..e282ac347 100644 --- a/doc/ja/weechat_plugin_api.ja.adoc +++ b/doc/ja/weechat_plugin_api.ja.adoc @@ -2280,7 +2280,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test" // TRANSLATION MISSING _WeeChat ≥ 0.4.0, updated in 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0, -2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3 and 3.4._ +2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4 and 3.6._ 式を評価して文字列として返す。`+${variable}+` という書式で書かれた特殊変数は展開されます (以下の表を参照)。 @@ -2678,6 +2678,18 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio >> `+${\ua9}+` + == `+©+` +// TRANSLATION MISSING +| `+${lower:string}+` | 3.6 | + String converted to lower case. | + >> `+${lower:TEST}+` + + >> `+test+` + +// TRANSLATION MISSING +| `+${upper:string}+` | 3.6 | + String converted to upper case. | + >> `+${upper:test}+` + + >> `+TEST+` + | `+${hide:x,string}+` | 1.1 | 隠す文字を含むテキスト (`string` に含まれる文字をすべて `x` で置換) | >> `+${hide:*,password}+` + diff --git a/doc/pl/includes/autogen_user_commands.pl.adoc b/doc/pl/includes/autogen_user_commands.pl.adoc index 5cfea8d2b..cf901db6f 100644 --- a/doc/pl/includes/autogen_user_commands.pl.adoc +++ b/doc/pl/includes/autogen_user_commands.pl.adoc @@ -1365,100 +1365,104 @@ infolists: wyświetla informacje o infolistach /eval [-n|-s] [-d] [-n] [-d [-d]] -c - -n: wyświetla wynik bez wysyłania go do buforu (tryb debugowania) - -s: podziel wyrażenie przed przetworzeniem go (wiele komend może być oddzielonych średnikami) - -d: wyświetl wyjście debugowe po ewaluacji (drugie -d wyświetli więcej informacji) - -c: przetwarza jako warunek: użyj operatorów i nawiasów, zwraca wartość logiczną ("0" lub "1") -wyrażenie: wyrażenie do przetworzenia, zmienne o formacie ${zmienna} są zastępowane (zobacz niżej); wiele komend można oddzielić średnikami - operator: operator logiczny lub porównania: - - operatory logiczne: - && logiczne „i” - || logiczne „lub” - - operatory porównania: - == równy - != różny - <= mniejszy lub równy - < mniejszy - >= większy lub równy - > większy - =~ pasuje do rozszerzonego wyrażenia regularnego POSIX - !~ NIE pasuje do rozszerzonego wyrażenia regularnego POSIX - ==* pasuje do maski, rozróżnia wielkość znaków (dzika karta „*” dozwolona) - !!* NIE pasuje do maski, rozróżnia wielkość znaków (dzika karta „*” dozwolona) - =* pasuje do maski, nie rozróżnia wielkość znaków (dzika karta „*” dozwolona) - !* NIE pasuje do maski, nie rozróżnia wielkość znaków (dzika karta „*” dozwolona) - ==- jest zawarte, rozróżnia wielkość znaków - !!- NIE jest zawarte,rozróżnia wielkość znaków - =- jest zawarte, nie rozróżnia wielkość znaków - !- NIE jest zawarte, nie rozróżnia wielkość znaków + -n: display result without sending it to buffer (debug mode) + -s: split expression before evaluating it (many commands can be separated by semicolons) + -d: display debug output after evaluation (with two -d: more verbose debug) + -c: evaluate as condition: use operators and parentheses, return a boolean value ("0" or "1") +expression: expression to evaluate, variables with format ${variable} are replaced (see below); many commands can be separated by semicolons + operator: a logical or comparison operator: + - logical operators: + && boolean "and" + || boolean "or" + - comparison operators: + == equal + != not equal + <= less or equal + < less + >= greater or equal + > greater + =~ is matching POSIX extended regex + !~ is NOT matching POSIX extended regex + ==* is matching mask, case sensitive (wildcard "*" is allowed) + !!* is NOT matching mask, case sensitive (wildcard "*" is allowed) + =* is matching mask, case insensitive (wildcard "*" is allowed) + !* is NOT matching mask, case insensitive (wildcard "*" is allowed) + ==- is included, case sensitive + !!- is NOT included, case sensitive + =- is included, case insensitive + !- is NOT included, case insensitive -Wyrażenie jest uznawane za „prawdziwe” jeśli nie jest NULL, nie jest puste, oraz różni się od „0”. -Porównania dokonuje się z użyciem liczb całkowitych jeśli oba wyrażenia są liczbami całkowitymi, w jednym z następujących formatów: - - liczby całkowite (przykłady: 5, -7) - - liczby zmiennoprzecinkowe (przykłady: 5.2, -7.5, 2.83e-2) - - liczby szesnastkowe (przykłady: 0xA3, -0xA3) -W celu wymuszenia porównywania ciągów, należy umieścić każde wyrażenie w cudzysłowie, na przykład: +An expression is considered as "true" if it is not NULL, not empty, and different from "0". +The comparison is made using floating point numbers if the two expressions are valid numbers, with one of the following formats: + - integer (examples: 5, -7) + - floating point number (examples: 5.2, -7.5, 2.83e-2) + - hexadecimal number (examples: 0xA3, -0xA3) +To force a string comparison, you can add double quotes around each expression, for example: 50 > 100 ==> 0 "50" > "100" ==> 1 -Niektóre zmienne w wyrażeniach są zamieniane, poprzez zastosowanie formatu ${zmienna}, według priorytetu zmienną może być: - 1. nieprzetworzony ciąg (format: "raw:xxx") - 2. zmienna zdefiniowana przez użytkownika (format: "name") - 3. przetworzony ciąg (format: "eval:xxx") - 4. przetworzony warunek (format: "eval_cond:xxx") - 5. ciąg z wyescapowanymi znakami (format: "esc:xxx" lub "\xxx") - 6. ciąg ze znakami do ukrycia (format: "hide:char,string") - 7. ciąg o maksymalnej długości (format: "cut:max,suffix,string" lub "cut:+max,suffix,string") - lub maksymalna ilość znaków wyświetlanych na ekranie (format: "cutscr:max,suffix,string" lub "cutscr:+max,suffix,string") - 8. odwrócony ciąg (format: "rev:xxx") - 9. powtórzony ciąg (format: "repeat:ilość,ciąg") - 10. długość ciągu (format: "length:xxx" or "lengthscr:xxx") - 11. podział ciągu (format: "split:number,separators,flags,xxx") - 12. podział argumentów powłoki (format: "split_shell:number,xxx") - 13. kolor (format "color:xxx", zobacz „Opis API wtyczek”, funkcja "color") - 14. modyfikator (format: "modifier:name,data,string") - 15. informacja (format: "info:nazwa,argumenty", argumenty są opcjonalne) - 16. ciąg zakodowany/zdekodowany z base 16/32/64 (format: "base_encode:base,xxx" lub "base_decode:base,xxx") - 17. obecna data/czas (format: "date" lub "date:format") - 18. zmienna środowiskowa (format: "env:XXX") - 19. wyrażenie warunkowe (format: "if:warunek?wartość_jeśli_prawda:wartość_jeśli_fałsz") - 20. wynik wyrażenia z nawiasami i operatorami + - * / // % ** (format: "calc:xxx") - 21. losowa liczba całkowita (format: "random:min,max") - 22. przetłumaczony ciąg (format: "translate:xxx") - 23. definiowanie zmiennej użytkownika (format: "define:nazwa,wartość") - 24. opcja (format: plik.sekcja.opcja) - 25. zmienna lokalna w buforze - 26. nazwa hdatay/zmiennej (wartość jest automatycznie konwertowana na ciąg znaków), domyślnie „window” i „buffer” wskazują na aktualne okno/bufor. -Format dla hdata może być jednym z poniższych: - hdata.zmienna1.zmienna2...: inicjuje hdata (wskaźnik musi być znany), następnie wypytuje zmienne jedna po drugiej (inne hdata mogą być następne) - hdata[list].zmienna1.zmienna2...: inicjuje hdata z wykorzystaniem listy, na przykład: - ${buffer[gui_buffers].full_name}: pełna nazwa buforu w połączonej liście buforów - ${plugin[weechat_plugins].name}: nazwa pierwszej wtyczki w połączonej liście wtyczek - hdata[wskaźnik].zmienna1.zmienna2...: zacznij z hdata używając wskaźnika, na przykład: - ${buffer[0x1234abcd].full_name}: pełna nazwa buforu z tym wskaźnikiem (może zostać użyte w triggerach) - ${buffer[my_pointer].full_name}: pełna nazwa buforu z jego wskaźnikiem (może zostać użyte w triggerach) -Nazwy hdata i zmiennych, można znaleźć w „Opisie API wtyczek”, funkcja "weechat_hdata_get". +Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority: + 1. the string itself without evaluation (format: "raw:xxx") + 2. a user-defined variable (format: "name") + 3. an evaluated sub-string (format: "eval:xxx") + 4. an evaluated condition (format: "eval_cond:xxx") + 5. a string with escaped chars (format: "esc:xxx" or "\xxx") + 6. a string converted to lower case (format: "lower:xxx") + 7. a string converted to upper case (format: "upper:xxx") + 8. a string with chars to hide (format: "hide:char,string") + 9. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string") + or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string") + 10. a reversed string (format: "rev:xxx" or "revscr:xxx") + 11. a repeated string (format: "repeat:count,string") + 12. length of a string (format: "length:xxx" or "lengthscr:xxx") + 13. split of a string (format: "split:number,separators,flags,xxx") + 14. split of shell argmuents (format: "split_shell:number,xxx") + 15. a color (format: "color:xxx", see "Plugin API reference", function "color") + 16. a modifier (format: "modifier:name,data,string") + 17. an info (format: "info:name,arguments", arguments are optional) + 18. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx") + 19. current date/time (format: "date" or "date:format") + 20. an environment variable (format: "env:XXX") + 21. a ternary operator (format: "if:condition?value_if_true:value_if_false") + 22. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx") + 23. a random integer number (format: "random:min,max") + 24. a translated string (format: "translate:xxx") + 25. define a user variable (format: "define:name,value") + 26. an option (format: "file.section.option") + 27. a local variable in buffer + 28. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer. +Format for hdata can be one of following: + hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed) + hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example: + ${buffer[gui_buffers].full_name}: full name of first buffer in linked list of buffers + ${plugin[weechat_plugins].name}: name of first plugin in linked list of plugins + hdata[pointer].var1.var2...: start with a hdata using a pointer, for example: + ${buffer[0x1234abcd].full_name}: full name of the buffer with this pointer (can be used in triggers) + ${buffer[my_pointer].full_name}: full name of the buffer with this pointer name (can be used in triggers) +For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get". -Przykłady (proste ciągi): - /eval -n ${raw:${info:version}} ==> ${info:version} - /eval -n ${eval_cond:${window.win_width}>100} ==> 1 - /eval -n ${info:version} ==> 0.4.3 - /eval -n ${env:HOME} ==> /home/user - /eval -n ${weechat.look.scroll_amount} ==> 3 - /eval -n ${sec.data.password} ==> secret - /eval -n ${window} ==> 0x2549aa0 - /eval -n ${window.buffer} ==> 0x2549320 - /eval -n ${window.buffer.full_name} ==> core.weechat - /eval -n ${window.buffer.number} ==> 1 - /eval -n ${\t} ==> - /eval -n ${hide:-,${relay.network.password}} ==> -------- - /eval -n ${cut:3,+,test} ==> tes+ - /eval -n ${cut:+3,+,test} ==> te+ - /eval -n ${date:%H:%M:%S} ==> 07:46:40 - /eval -n ${if:${info:term_width}>80?big:small} ==> big - /eval -n ${rev:Hello} ==> olleH - /eval -n ${repeat:5,-} ==> ----- - /eval -n ${length:test} ==> 4 +Examples (simple strings): + /eval -n ${raw:${info:version}} ==> ${info:version} + /eval -n ${eval_cond:${window.win_width}>100} ==> 1 + /eval -n ${info:version} ==> 0.4.3 + /eval -n ${env:HOME} ==> /home/user + /eval -n ${weechat.look.scroll_amount} ==> 3 + /eval -n ${sec.data.password} ==> secret + /eval -n ${window} ==> 0x2549aa0 + /eval -n ${window.buffer} ==> 0x2549320 + /eval -n ${window.buffer.full_name} ==> core.weechat + /eval -n ${window.buffer.number} ==> 1 + /eval -n ${\t} ==> + /eval -n ${lower:TEST} ==> test + /eval -n ${upper:test} ==> TEST + /eval -n ${hide:-,${relay.network.password}} ==> -------- + /eval -n ${cut:3,+,test} ==> tes+ + /eval -n ${cut:+3,+,test} ==> te+ + /eval -n ${date:%H:%M:%S} ==> 07:46:40 + /eval -n ${if:${info:term_width}>80?big:small} ==> big + /eval -n ${rev:Hello} ==> olleH + /eval -n ${repeat:5,-} ==> ----- + /eval -n ${length:test} ==> 4 /eval -n ${split:1,,,abc,def,ghi} ==> abc /eval -n ${split:-1,,,abc,def,ghi} ==> ghi /eval -n ${split:count,,,abc,def,ghi} ==> 3 @@ -1467,14 +1471,14 @@ Przykłady (proste ciągi): /eval -n ${split_shell:-1,"arg 1" arg2} ==> arg2 /eval -n ${split_shell:count,"arg 1" arg2} ==> 2 /eval -n ${split_shell:random,"arg 1" arg2} ==> arg2 - /eval -n ${calc:(5+2)*3} ==> 21 - /eval -n ${random:0,10} ==> 3 - /eval -n ${base_encode:64,test} ==> dGVzdA== - /eval -n ${base_decode:64,dGVzdA==} ==> test - /eval -n ${translate:Plugin} ==> Wtyczka + /eval -n ${calc:(5+2)*3} ==> 21 /eval -n ${random:0,10} ==> 3 + /eval -n ${base_encode:64,test} ==> dGVzdA== + /eval -n ${base_decode:64,dGVzdA==} ==> test + /eval -n ${translate:Plugin} ==> Extension + /eval -n ${define:len,${calc:5+3}}${len}x${len} ==> 8x8 -Przykłady (warunki): +Examples (conditions): /eval -n -c ${window.buffer.number} > 2 ==> 0 /eval -n -c ${window.win_width} > 100 ==> 1 /eval -n -c (8 > 12) || (5 > 2) ==> 1 diff --git a/doc/sr/includes/autogen_user_commands.sr.adoc b/doc/sr/includes/autogen_user_commands.sr.adoc index a4ed50b77..c66f6cd2c 100644 --- a/doc/sr/includes/autogen_user_commands.sr.adoc +++ b/doc/sr/includes/autogen_user_commands.sr.adoc @@ -1366,81 +1366,83 @@ infolists: исписује инфо о инфолистама /eval [-n|-s] [-d] <израз> [-n] [-d [-d]] -c <израз1> <оператор> <израз2> - -n: приказује резултат и не шаље га у бафер (дибаг режим) - -s: дели израз пре израчунавања (многе команде могу да се раздвоје са тачка зарезима) - -d: приказује дибаг излаз након израчунавања (са два -d: детаљнији дибаг) - -c: израчунава као услов: користе се оператори и заграде, враћа логичку вредност („0” или „1”) - израз: израз који се израчунава, променљиве у формату ${променљива} се замењују (погледајте испод); више команди може да се раздвоји са тачка зарезима - оператор: логички или оператор поређења: - - логички оператори: - && логичко „и” - || логичко „или” - - оператори поређења: - == једнако - != није једнако - <= мање или једнако - < мање - >= веће или једнако - > веће - =~ подудара се са POSIX проширеним регуларним изразом - !~ НЕ подудара се са POSIX проширеним регуларним изразом - ==* је маска подударања, разликује величину слова (дозвољен је џокер „*”) - !!* НИЈЕ маска подударања, разликује величину слова (дозвољен је џокер „*”) - =* је маска подударања, не разликује величину слова (дозвољен је џокер „*”) - !* НИЈЕ маска подударања, не разликује величину слова (дозвољен је џокер „*”) - ==- је укључено, разликује величину слова - !!- НИЈЕ укључено, разликује величину слова - =- је укључено, не разликује величину слова - !- НИЈЕ укључено, не разликује величину слова + -n: display result without sending it to buffer (debug mode) + -s: split expression before evaluating it (many commands can be separated by semicolons) + -d: display debug output after evaluation (with two -d: more verbose debug) + -c: evaluate as condition: use operators and parentheses, return a boolean value ("0" or "1") +expression: expression to evaluate, variables with format ${variable} are replaced (see below); many commands can be separated by semicolons + operator: a logical or comparison operator: + - logical operators: + && boolean "and" + || boolean "or" + - comparison operators: + == equal + != not equal + <= less or equal + < less + >= greater or equal + > greater + =~ is matching POSIX extended regex + !~ is NOT matching POSIX extended regex + ==* is matching mask, case sensitive (wildcard "*" is allowed) + !!* is NOT matching mask, case sensitive (wildcard "*" is allowed) + =* is matching mask, case insensitive (wildcard "*" is allowed) + !* is NOT matching mask, case insensitive (wildcard "*" is allowed) + ==- is included, case sensitive + !!- is NOT included, case sensitive + =- is included, case insensitive + !- is NOT included, case insensitive -Сматра се да је израз „true” ако није NULL, није празан и различит је од „0”. -Поређење се врши употребом бројева у покретном зарезу ако су два израза важећи бројеви, у једном од следећих формата: - - целобројни (примери: 5, -7) - - број у покретном зарезу (примери: 5.2, -7.5, 2.83e-2) - - хексадецимални број (примери: 0xA3, -0xA3) -Ако желите да форсирате поређење стрингова, можете да додате знаке навода око сваког израза, на пример: +An expression is considered as "true" if it is not NULL, not empty, and different from "0". +The comparison is made using floating point numbers if the two expressions are valid numbers, with one of the following formats: + - integer (examples: 5, -7) + - floating point number (examples: 5.2, -7.5, 2.83e-2) + - hexadecimal number (examples: 0xA3, -0xA3) +To force a string comparison, you can add double quotes around each expression, for example: 50 > 100 ==> 0 "50" > "100" ==> 1 -У изразима се замењују неке променљиве, користећи формат ${променљива}, променљива може да буде, према редоследу приоритета: - 1. сам стринг без израчунавања (формат: „raw:xxx”) - 2. кориснички дефинисана променљива (формат: „име”) - 3. израчунати под-стринг (формат: „eval:xxx”) - 4. израчунати услов (формат: „eval_cond:xxx”) - 5. стринг са означеним карактерима (формат: „esc:xxx” или „\xxx”) - 6. стринг са карактерима за сакривање (формат: „hide:кар,стринг”) - 7. стринг са највише карактера (формат: „cut:макс,суфикс,стринг” или „cut:+макс,суфикс,стринг") - или макс број карактера који се приказује на екрану (формат: „cutscr:макс,суфикс,стринг” или „cutscr:+макс,суфикс,стринг”) - 8. обрнути стринг (формат: „rev:xxx” или „revscr:xxx”) - 9. поновљени стринг (формат: „repeat:број,стринг”) - 10. дужина стринга (формат: „length:xxx” или „lengthscr:xxx”) - 11. подела стринга (формат: „split:број,сепаратори,заставице,xxx”) - 12. подела аргумената љуске (формат: „split_shell:број,xxx”) - 13. боја (формат: „color:xxx”, погледајте „Референтни приручник API додатака”, функција „color”) - 14. модификатор (формат: „modifier:име,подаци,стринг”) - 15. инфо (формат: „info:име,аргументи”, аргументи нису обавезни) - 16. base 16/32/64 шифриран/дешифрован стринг (формат: „base_encode:основа,xxx” или „base_decode:основа,xxx”) - 17. текући датум/време (формат: „date” или „date:формат”) - 18. променљива окружења (формат: „env:XXX”) - 19. тернарни оператор (формат: „if:услов?вредност_ако_је_тачно:вредност_ако_је_нетачно”) - 20. резултат израза са заградама и операторима + - * / // % ** (формат: „calc:xxx”) - 21. случајни целобројни број (формат: „random:мин,макс”) - 22. преведени стринг (формат: „translate:xxx”) - 23. дефиниција корисничке промонљиве (формат: „define:име,вредност”) - 24. опција (формат: „фајл.секција.опција”) - 25. локална променљива у баферу - 26. hdata име/променљива (вредност се аутоматски конвертује у стринг), „window” и „buffer” подразумевано показују на текући прозор/бафер. -Формат за hdata може да буде једно од следећег: - hdata.пром1.пром2...: почиње са hdata (показивач мора да буде познат), и пита променљиве једну за другом (могу да следе и остала hdata) - hdata[листа].пром1.пром2...: почиње са hdata користећи листу/показивач/име показивача, на пример: - ${buffer[gui_buffers].full_name}: пуно име првог бафера у увезаној листи бафера - ${plugin[weechat_plugins].name}: име првог бафера у увезаној листи додатака - hdata[показивач].пром1.пром2...: почиње са hdata користећи показивач, на пример: - ${buffer[0x1234abcd].full_name}: пуно име бафера са овим показивачем (може да се користи у окидачима) - ${buffer[my_pointer].full_name}: пуно име бафера са овим именом показивача (може да се користи у окидачима) -У вези имена hdata и променљивих, молим вас да погледате „Референтни приручник API додатака”, функцију „weechat_hdata_get”. +Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority: + 1. the string itself without evaluation (format: "raw:xxx") + 2. a user-defined variable (format: "name") + 3. an evaluated sub-string (format: "eval:xxx") + 4. an evaluated condition (format: "eval_cond:xxx") + 5. a string with escaped chars (format: "esc:xxx" or "\xxx") + 6. a string converted to lower case (format: "lower:xxx") + 7. a string converted to upper case (format: "upper:xxx") + 8. a string with chars to hide (format: "hide:char,string") + 9. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string") + or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string") + 10. a reversed string (format: "rev:xxx" or "revscr:xxx") + 11. a repeated string (format: "repeat:count,string") + 12. length of a string (format: "length:xxx" or "lengthscr:xxx") + 13. split of a string (format: "split:number,separators,flags,xxx") + 14. split of shell argmuents (format: "split_shell:number,xxx") + 15. a color (format: "color:xxx", see "Plugin API reference", function "color") + 16. a modifier (format: "modifier:name,data,string") + 17. an info (format: "info:name,arguments", arguments are optional) + 18. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx") + 19. current date/time (format: "date" or "date:format") + 20. an environment variable (format: "env:XXX") + 21. a ternary operator (format: "if:condition?value_if_true:value_if_false") + 22. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx") + 23. a random integer number (format: "random:min,max") + 24. a translated string (format: "translate:xxx") + 25. define a user variable (format: "define:name,value") + 26. an option (format: "file.section.option") + 27. a local variable in buffer + 28. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer. +Format for hdata can be one of following: + hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed) + hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example: + ${buffer[gui_buffers].full_name}: full name of first buffer in linked list of buffers + ${plugin[weechat_plugins].name}: name of first plugin in linked list of plugins + hdata[pointer].var1.var2...: start with a hdata using a pointer, for example: + ${buffer[0x1234abcd].full_name}: full name of the buffer with this pointer (can be used in triggers) + ${buffer[my_pointer].full_name}: full name of the buffer with this pointer name (can be used in triggers) +For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get". -Примери (једноставни стрингови): +Examples (simple strings): /eval -n ${raw:${info:version}} ==> ${info:version} /eval -n ${eval_cond:${window.win_width}>100} ==> 1 /eval -n ${info:version} ==> 0.4.3 @@ -1452,6 +1454,8 @@ infolists: исписује инфо о инфолистама /eval -n ${window.buffer.full_name} ==> core.weechat /eval -n ${window.buffer.number} ==> 1 /eval -n ${\t} ==> + /eval -n ${lower:TEST} ==> test + /eval -n ${upper:test} ==> TEST /eval -n ${hide:-,${relay.network.password}} ==> -------- /eval -n ${cut:3,+,test} ==> tes+ /eval -n ${cut:+3,+,test} ==> te+ @@ -1475,7 +1479,7 @@ infolists: исписује инфо о инфолистама /eval -n ${translate:Plugin} ==> Extension /eval -n ${define:len,${calc:5+3}}${len}x${len} ==> 8x8 -Примери (услови): +Examples (conditions): /eval -n -c ${window.buffer.number} > 2 ==> 0 /eval -n -c ${window.win_width} > 100 ==> 1 /eval -n -c (8 > 12) || (5 > 2) ==> 1 diff --git a/doc/sr/weechat_plugin_api.sr.adoc b/doc/sr/weechat_plugin_api.sr.adoc index 2fa9d21e8..7d1e4b53f 100644 --- a/doc/sr/weechat_plugin_api.sr.adoc +++ b/doc/sr/weechat_plugin_api.sr.adoc @@ -2162,7 +2162,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test" ==== string_eval_expression -_WeeChat ≥ 0.4.0, ажурирано у верзијама 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3 и 3.4._ +_WeeChat ≥ 0.4.0, ажурирано у верзијама 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4 и 3.6._ Израчунава израз и враћа вредност као стринг. Специјалне променљиве у формату `+${променљива}+` се развијају (погледајте табелу испод). @@ -2523,6 +2523,18 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio >> `+${\ua9}+` + == `+©+` +// TRANSLATION MISSING +| `+${lower:string}+` | 3.6 | + String converted to lower case. | + >> `+${lower:TEST}+` + + >> `+test+` + +// TRANSLATION MISSING +| `+${upper:string}+` | 3.6 | + String converted to upper case. | + >> `+${upper:test}+` + + >> `+TEST+` + | `+${hide:x,стринг}+` | 1.1 | Стринг са скривеним карактерима (сви карактери у `стринг` се замењују са `x`). | >> `+${hide:*,password}+` + diff --git a/po/cs.po b/po/cs.po index 8d15d3e66..77e96a7c3 100644 --- a/po/cs.po +++ b/po/cs.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-03-11 19:30+0100\n" +"POT-Creation-Date: 2022-04-18 12:38+0200\n" "PO-Revision-Date: 2022-01-28 09:35+0100\n" "Last-Translator: Ondřej Súkup \n" "Language-Team: weechat-dev \n" @@ -1603,34 +1603,36 @@ msgid "" " 3. an evaluated sub-string (format: \"eval:xxx\")\n" " 4. an evaluated condition (format: \"eval_cond:xxx\")\n" " 5. a string with escaped chars (format: \"esc:xxx\" or \"\\xxx\")\n" -" 6. a string with chars to hide (format: \"hide:char,string\")\n" -" 7. a string with max chars (format: \"cut:max,suffix,string\" or \"cut:" +" 6. a string converted to lower case (format: \"lower:xxx\")\n" +" 7. a string converted to upper case (format: \"upper:xxx\")\n" +" 8. a string with chars to hide (format: \"hide:char,string\")\n" +" 9. a string with max chars (format: \"cut:max,suffix,string\" or \"cut:" "+max,suffix,string\")\n" " or max chars displayed on screen (format: \"cutscr:max,suffix,string\" " "or \"cutscr:+max,suffix,string\")\n" -" 8. a reversed string (format: \"rev:xxx\" or \"revscr:xxx\")\n" -" 9. a repeated string (format: \"repeat:count,string\")\n" -" 10. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n" -" 11. split of a string (format: \"split:number,separators,flags,xxx\")\n" -" 12. split of shell argmuents (format: \"split_shell:number,xxx\")\n" -" 13. a color (format: \"color:xxx\", see \"Plugin API reference\", function " +" 10. a reversed string (format: \"rev:xxx\" or \"revscr:xxx\")\n" +" 11. a repeated string (format: \"repeat:count,string\")\n" +" 12. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n" +" 13. split of a string (format: \"split:number,separators,flags,xxx\")\n" +" 14. split of shell argmuents (format: \"split_shell:number,xxx\")\n" +" 15. a color (format: \"color:xxx\", see \"Plugin API reference\", function " "\"color\")\n" -" 14. a modifier (format: \"modifier:name,data,string\")\n" -" 15. an info (format: \"info:name,arguments\", arguments are optional)\n" -" 16. a base 16/32/64 encoded/decoded string (format: \"base_encode:base," +" 16. a modifier (format: \"modifier:name,data,string\")\n" +" 17. an info (format: \"info:name,arguments\", arguments are optional)\n" +" 18. a base 16/32/64 encoded/decoded string (format: \"base_encode:base," "xxx\" or \"base_decode:base,xxx\")\n" -" 17. current date/time (format: \"date\" or \"date:format\")\n" -" 18. an environment variable (format: \"env:XXX\")\n" -" 19. a ternary operator (format: \"if:condition?value_if_true:" +" 19. current date/time (format: \"date\" or \"date:format\")\n" +" 20. an environment variable (format: \"env:XXX\")\n" +" 21. a ternary operator (format: \"if:condition?value_if_true:" "value_if_false\")\n" -" 20. result of an expression with parentheses and operators + - * / // % ** " +" 22. result of an expression with parentheses and operators + - * / // % ** " "(format: \"calc:xxx\")\n" -" 21. a random integer number (format: \"random:min,max\")\n" -" 22. a translated string (format: \"translate:xxx\")\n" -" 23. define a user variable (format: \"define:name,value\")\n" -" 24. an option (format: \"file.section.option\")\n" -" 25. a local variable in buffer\n" -" 26. a hdata name/variable (the value is automatically converted to " +" 23. a random integer number (format: \"random:min,max\")\n" +" 24. a translated string (format: \"translate:xxx\")\n" +" 25. define a user variable (format: \"define:name,value\")\n" +" 26. an option (format: \"file.section.option\")\n" +" 27. a local variable in buffer\n" +" 28. a hdata name/variable (the value is automatically converted to " "string), by default \"window\" and \"buffer\" point to current window/" "buffer.\n" "Format for hdata can be one of following:\n" @@ -1663,6 +1665,8 @@ msgid "" " /eval -n ${window.buffer.full_name} ==> core.weechat\n" " /eval -n ${window.buffer.number} ==> 1\n" " /eval -n ${\\t} ==> \n" +" /eval -n ${lower:TEST} ==> test\n" +" /eval -n ${upper:test} ==> TEST\n" " /eval -n ${hide:-,${relay.network.password}} ==> --------\n" " /eval -n ${cut:3,+,test} ==> tes+\n" " /eval -n ${cut:+3,+,test} ==> te+\n" diff --git a/po/de.po b/po/de.po index 6f1a3ee7a..7cf7284b7 100644 --- a/po/de.po +++ b/po/de.po @@ -24,7 +24,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-03-11 19:30+0100\n" +"POT-Creation-Date: 2022-04-18 12:38+0200\n" "PO-Revision-Date: 2022-03-11 20:39+0100\n" "Last-Translator: Nils Görs \n" "Language-Team: German \n" @@ -47,15 +47,18 @@ msgid "max chars" msgstr "maximale Anzahl an Zeichen" msgid "" -"a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, " -"(light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed " -"before color (for text color only, not background): \"*\" for bold, \"!\" for reverse, \"/\" for italic, " -"\"_\" for underline" +"a WeeChat color name (default, black, (dark)gray, white, (light)red, " +"(light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a " +"terminal color number or an alias; attributes are allowed before color (for " +"text color only, not background): \"*\" for bold, \"!\" for reverse, \"/\" " +"for italic, \"_\" for underline" msgstr "" -"ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, " -"(light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor " -"eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): \"*\" für " -"fett, \"!\" für invertiert, \"/\" für kursiv, \"_\" für unterstrichen" +"ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, " +"(light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine " +"Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt " +"werden (gilt ausschließlich für die Textfarbe und nicht für den " +"Hintergrund): \"*\" für fett, \"!\" für invertiert, \"/\" für kursiv, \"_\" " +"für unterstrichen" msgid "description" msgstr "Beschreibung" @@ -129,7 +132,8 @@ msgstr "Konstanten" #, c-format msgid "%sAnother command \"%s\" already exists for plugin \"%s\"" -msgstr "%sEin anderer Befehl \"%s\" existiert bereits für die Erweiterung \"%s\"" +msgstr "" +"%sEin anderer Befehl \"%s\" existiert bereits für die Erweiterung \"%s\"" #, c-format msgid "%sBad file descriptor (%d) used in hook_fd" @@ -141,7 +145,8 @@ msgstr "Befehl '%s' beendet, Zeit ist verstrichen (%.1fs)" #, c-format msgid "System clock skew detected (%+ld seconds), reinitializing all timers" -msgstr "Die Systemzeit ist nicht korrekt (%+ld Sekunden), reinitialisiere alle Uhren" +msgstr "" +"Die Systemzeit ist nicht korrekt (%+ld Sekunden), reinitialisiere alle Uhren" #. TRANSLATORS: "%s %s" after "compiled on" is date and time #, c-format @@ -160,10 +165,12 @@ msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" " -c, --colors display default colors in terminal\n" " -d, --dir 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 home directory and delete it on exit\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 home directory and " +"delete it on exit\n" " (incompatible with option \"-d\")\n" " -h, --help display this help\n" " -l, --license display WeeChat license\n" @@ -171,72 +178,87 @@ msgid "" " -P, --plugins load only these plugins at startup\n" " (see /help weechat.plugin.autoload)\n" " -r, --run-command run command(s) after startup;\n" -" many commands can be separated by semicolons and are evaluated,\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" +" --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" msgstr "" -" -a, --no-connect deaktiviert das automatische Verbinden mit den Servern beim Start von WeeChat\n" +" -a, --no-connect deaktiviert das automatische Verbinden mit den " +"Servern beim Start von WeeChat\n" " -c, --colors zeigt die Standardfarben des Terminals an\n" " -d, --dir legt einen Konfigurationsordner für WeeChat fest\n" -" oder vier verschiedene Verzeichnisse, die durch Doppelpunkte getrennt werden " -"(in folgender Reihenfolge: Konfiguration, Daten, Cache, Laufzeit)\n" -" (Umgebungsvariable WEECHAT_HOME wird genutzt, falls diese Option nicht " -"verwendet wird)\n" -" -t, --temp-dir erstellt ein temporäres WeeChat Heimatverzeichnis, welches beim Beenden " -"gelöscht wird\n" +" oder vier verschiedene Verzeichnisse, die durch " +"Doppelpunkte getrennt werden (in folgender Reihenfolge: Konfiguration, " +"Daten, Cache, Laufzeit)\n" +" (Umgebungsvariable WEECHAT_HOME wird genutzt, " +"falls diese Option nicht verwendet wird)\n" +" -t, --temp-dir erstellt ein temporäres WeeChat " +"Heimatverzeichnis, welches beim Beenden gelöscht wird\n" " (nicht nutzbar mit Option \"-d\")\n" " -h, --help zeigt diese Hilfe an\n" " -l, --license zeigt die Lizenz von WeeChat an\n" -" -p, --no-plugin unterbindet beim Programmstart das Laden von Erweiterungen\n" -" -P, --plugins beim Programmstart, werden nur die angegebenen Erweiterungen geladen\n" +" -p, --no-plugin unterbindet beim Programmstart das Laden von " +"Erweiterungen\n" +" -P, --plugins beim Programmstart, werden nur die angegebenen " +"Erweiterungen geladen\n" " (siehe /help weechat.plugin.autoload)\n" -" -r, --run-command führt einen oder mehrere Befehle nach dem Start aus\n" -" mehrere Befehle können durch ein Semikolon getrennt werden und sind evaluiert,\n" +" -r, --run-command führt einen oder mehrere Befehle nach dem Start " +"aus\n" +" mehrere Befehle können durch ein Semikolon " +"getrennt werden und sind evaluiert,\n" " diese Option kann mehrfach genutzt werden\n" " -s, --no-script Skripts werden beim Programmstart nicht geladen\n" -" --upgrade führt ein WeeChat-Upgrade, mittels Sitzungsdateien die mit dem Befehl `/upgrade " -"-quit` erstellt wurden, durch\n" +" --upgrade führt ein WeeChat-Upgrade, mittels " +"Sitzungsdateien die mit dem Befehl `/upgrade -quit` erstellt wurden, durch\n" " -v, --version zeigt die Version von WeeChat an\n" -" plugin:option Einstellungen für Erweiterungen (siehe man weechat)\n" +" plugin:option Einstellungen für Erweiterungen (siehe man " +"weechat)\n" msgid "Extra options in headless mode:\n" msgstr "Zusätzliche Optionen für den Hintergrundmodus:\n" msgid "" -" --daemon run WeeChat as a daemon (fork, new process group, file descriptors closed);\n" +" --daemon run WeeChat as a daemon (fork, new process group, " +"file descriptors closed);\n" msgstr "" -" --daemon startet WeeChat im Deamon-Modus (fork, neue Prozessgruppe, Dateideskriptor " -"geschlossen);\n" +" --daemon startet WeeChat im Deamon-Modus (fork, neue " +"Prozessgruppe, Dateideskriptor geschlossen);\n" msgid "" -" (by default in headless mode WeeChat is blocking and does not run in " -"background)\n" +" (by default in headless mode WeeChat is blocking " +"and does not run in background)\n" msgstr "" -" (standardmäßig blockiert WeeChat im Hintergrundmodus den Prozess und gibt das " -"Terminal nicht frei)\n" +" (standardmäßig blockiert WeeChat im " +"Hintergrundmodus den Prozess und gibt das Terminal nicht frei)\n" msgid "" -" --stdout display log messages on standard output instead of writing them in log file\n" +" --stdout display log messages on standard output instead " +"of writing them in log file\n" msgstr "" -" --stdout die Programmausgabe findet in der Standardausgabe an, anstatt sie in die " -"Protokolldatei zu schreiben\n" +" --stdout die Programmausgabe findet in der Standardausgabe " +"an, anstatt sie in die Protokolldatei zu schreiben\n" -msgid " (option ignored if option \"--daemon\" is given)\n" -msgstr " (Option wird ignoriert, falls die Option \"--daemon\" genutzt wird)\n" +msgid "" +" (option ignored if option \"--daemon\" is given)\n" +msgstr "" +" (Option wird ignoriert, falls die Option \"--" +"daemon\" genutzt wird)\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-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 "" -"Debug Optionen (für Tools wie valgrind, DIESE FUNKTIONEN SOLLTE NICHT IM PRODUKTIVEM EINSATZ GENUTZT " -"WERDEN):\n" -" --no-dlclose die Funktion dlclose wird nicht ausgeführt, nachdem Erweiterungen beendet " -"wurden\n" +"Debug Optionen (für Tools wie valgrind, DIESE FUNKTIONEN SOLLTE NICHT IM " +"PRODUKTIVEM EINSATZ GENUTZT WERDEN):\n" +" --no-dlclose die Funktion dlclose wird nicht ausgeführt, " +"nachdem Erweiterungen beendet wurden\n" " --no-gnutls deaktiviere init/deinit von gnutls\n" " --no-gcrypt deaktiviere init/deinit von gcrypt\n" @@ -250,56 +272,68 @@ msgstr "WeeChat läuft im Hintergrundmodus (Ctrl-C zum Beenden)." msgid "" "Welcome to WeeChat!\n" "\n" -"If you are discovering WeeChat, it is recommended to read at least the quickstart guide, and the user's " -"guide if you have some time; they explain main WeeChat concepts.\n" +"If you are discovering WeeChat, it is recommended to read at least the " +"quickstart guide, and the user's guide if you have some time; they explain " +"main WeeChat concepts.\n" "All WeeChat docs are available at: https://weechat.org/doc\n" "\n" -"Moreover, there is inline help with /help on all commands and options (use Tab key to complete the name).\n" +"Moreover, there is inline help with /help on all commands and options (use " +"Tab key to complete the name).\n" "The command /fset can help to customize WeeChat.\n" "\n" -"You can add and connect to an IRC server with /server and /connect commands (see /help server)." +"You can add and connect to an IRC server with /server and /connect commands " +"(see /help server)." msgstr "" "Willkommen zu WeeChat!\n" "\n" -"Wenn Du WeeChat nutzen möchtest dann solltest Du zumindest einen Blick in die Quickstart-Anleitung werfen. " -"Wir empfehlen aber um den vollen Funktionsumfang und das Konzept hinter WeeChat kennen zu lernen, die " +"Wenn Du WeeChat nutzen möchtest dann solltest Du zumindest einen Blick in " +"die Quickstart-Anleitung werfen. Wir empfehlen aber um den vollen " +"Funktionsumfang und das Konzept hinter WeeChat kennen zu lernen, die " "Benutzeranleitung zu lesen.\n" "Die vollständige Dokumentation findet man unter: https://weechat.org/doc\n" "\n" -"Darüber hinaus ist in WeeChat eine interne Hilfe integriert die man mit /help auf alle Befehle und " -"Optionen anwenden kann (mittels der TAB-Taste kann eine Namensvervollständigung durchgeführt werden).\n" -"Mit dem Befehl /fset kann WeeChat sehr einfach und übersichtlich den eigenen Bedürfnissen angepasst " -"werden.\n" +"Darüber hinaus ist in WeeChat eine interne Hilfe integriert die man mit /" +"help auf alle Befehle und Optionen anwenden kann (mittels der TAB-Taste kann " +"eine Namensvervollständigung durchgeführt werden).\n" +"Mit dem Befehl /fset kann WeeChat sehr einfach und übersichtlich den eigenen " +"Bedürfnissen angepasst werden.\n" "\n" -"Um einen IRC Server zu erstellen und sich mit selbigem zu Verbinden müssen die Befehle /server und /" -"connect verwendet werden (siehe /help server)." +"Um einen IRC Server zu erstellen und sich mit selbigem zu Verbinden müssen " +"die Befehle /server und /connect verwendet werden (siehe /help server)." #. TRANSLATORS: the "under %s" can be "under screen" or "under tmux" #, c-format msgid "" -"%sWarning: WeeChat is running under %s and $TERM is \"%s\", which can cause display bugs; $TERM should be " -"set to one of these values: %s" +"%sWarning: WeeChat is running under %s and $TERM is \"%s\", which can cause " +"display bugs; $TERM should be set to one of these values: %s" msgstr "" -"%sWarnung: WeeChat läuft in einer %s-Sitzung und die Umgebungsvariable $TERM lautet \"%s\". Diese " -"Einstellung kann zu Darstellungsfehlern führen; $TERM sollte entweder eines der folgenden Werte haben: %s" +"%sWarnung: WeeChat läuft in einer %s-Sitzung und die Umgebungsvariable $TERM " +"lautet \"%s\". Diese Einstellung kann zu Darstellungsfehlern führen; $TERM " +"sollte entweder eines der folgenden Werte haben: %s" #, c-format msgid "%sYou should add this line in the file %s: %s" msgstr "%sEs sollte folgende Zeile in Datei %s eingefügt werden: %s" #, c-format -msgid "%sWarning: cannot set the locale; make sure $LANG and $LC_* variables are correct" +msgid "" +"%sWarning: cannot set the locale; make sure $LANG and $LC_* variables are " +"correct" msgstr "" -"%sWarnung: Spracheinstellung kann nicht festgelegt werden; Variablen $LANG und $LC_* sollten auf " -"Plausibilität überprüft werden" +"%sWarnung: Spracheinstellung kann nicht festgelegt werden; Variablen $LANG " +"und $LC_* sollten auf Plausibilität überprüft werden" msgid "List of bars:" msgstr "Liste der vorhandenen Infobars:" #. TRANSLATORS: the last thing displayed is "width:" or "height:" with its value #, c-format -msgid " %s%s%s: %s%s%s (conditions: %s), %s, filling: %s(top/bottom)/%s(left/right), %s: %s" -msgstr " %s%s%s: %s%s%s (Bedingungen: %s), %s, Füllstand: %s(oben/unten)/%s(links/rechts), %s: %s" +msgid "" +" %s%s%s: %s%s%s (conditions: %s), %s, filling: %s(top/bottom)/%s(left/" +"right), %s: %s" +msgstr "" +" %s%s%s: %s%s%s (Bedingungen: %s), %s, Füllstand: %s(oben/unten)/%s(links/" +"rechts), %s: %s" #. TRANSLATORS: "hidden" is displayed in list of buffers msgid "(hidden)" @@ -383,7 +417,9 @@ msgstr "%sBar \"%s\" kann nicht gescrollt werden" #, c-format msgid "%sBuffer number \"%d\" is out of range (it must be between 1 and %d)" -msgstr "%sBuffernummer %d ist außerhalb des gültigen Bereiches (es muss eine Zahl zwischen 1 und %d sein)" +msgstr "" +"%sBuffernummer %d ist außerhalb des gültigen Bereiches (es muss eine Zahl " +"zwischen 1 und %d sein)" msgid "Buffers list:" msgstr "Liste der vorhandenen Buffer:" @@ -405,9 +441,12 @@ msgid "%sBuffer \"%s\" not found" msgstr "%s Buffer \"%s\" nicht gefunden" #, c-format -msgid "%sRenumbering is allowed only if option weechat.look.buffer_auto_renumber is off" +msgid "" +"%sRenumbering is allowed only if option weechat.look.buffer_auto_renumber is " +"off" msgstr "" -"%sUmnummerierung ist nur erlaubt, wenn die Einstellung weechat.look.buffer_auto_renumber deaktiviert ist" +"%sUmnummerierung ist nur erlaubt, wenn die Einstellung weechat.look." +"buffer_auto_renumber deaktiviert ist" #, c-format msgid "%sWeeChat main buffer can't be closed" @@ -431,7 +470,8 @@ msgstr "Keine lokale Variable für Buffer \"%s\" definiert" #, c-format msgid "%sInvalid color number \"%s\" (must be between %d and %d)" -msgstr "%sungültige Farbnummer \"%s\" (der Wert muss zwischen %d und %d liegen)" +msgstr "" +"%sungültige Farbnummer \"%s\" (der Wert muss zwischen %d und %d liegen)" #, c-format msgid "%sColor \"%s\" is not defined in palette" @@ -442,7 +482,8 @@ msgid "%sPlugin \"%s\" not found" msgstr "%sErweiterung \"%s\" wurde nicht gefunden" msgid "Raw content of buffers has been written in log file" -msgstr "Der Inhalt des Buffers wurde im Rohformat in die Protokolldatei geschrieben" +msgstr "" +"Der Inhalt des Buffers wurde im Rohformat in die Protokolldatei geschrieben" #, c-format msgid "%d certificate loaded (system: %d, user: %d)" @@ -494,7 +535,9 @@ msgstr "Filter \"%s\" deaktiviert" #, c-format msgid "%sYou must specify at least tags or regex for filter" -msgstr "%sFür Filter muss ein Schlagwort oder ein regulärer Ausdruck spezifiziert werden" +msgstr "" +"%sFür Filter muss ein Schlagwort oder ein regulärer Ausdruck spezifiziert " +"werden" #, c-format msgid "Filter \"%s\" updated:" @@ -543,7 +586,8 @@ msgstr "Farbe" #, c-format msgid "%sNo help available, \"%s\" is not a command or an option" -msgstr "%sKeine Hilfe verfügbar. \"%s\" ist weder ein Befehl noch eine Einstellung" +msgstr "" +"%sKeine Hilfe verfügbar. \"%s\" ist weder ein Befehl noch eine Einstellung" msgid "Buffer command history:" msgstr "Befehlsverlauf des Buffers:" @@ -554,7 +598,9 @@ msgstr "Standardbefehl:" #. TRANSLATORS: first "%d" is number of keys #, c-format msgid "%d key bindings added or redefined for context \"%s\":" -msgstr "%d Tastenbelegungen, die für den Kontext \"%s\" hinzugefügt oder verändert wurden:" +msgstr "" +"%d Tastenbelegungen, die für den Kontext \"%s\" hinzugefügt oder verändert " +"wurden:" #. TRANSLATORS: first "%d" is number of keys #, c-format @@ -563,7 +609,9 @@ msgstr "%d Tastenbelegungen, die für Kontext \"%s\" entfernt wurden:" #, c-format msgid "No key binding added, redefined or removed for context \"%s\"" -msgstr "Es sind für Kontext \"%s\" weder Tastenbelegungen hinzugefügt, verändert noch gelöscht worden" +msgstr "" +"Es sind für Kontext \"%s\" weder Tastenbelegungen hinzugefügt, verändert " +"noch gelöscht worden" #, c-format msgid "%sUnable to bind key \"%s\"" @@ -607,12 +655,15 @@ msgstr "Keine Taste gefunden" #, c-format msgid "" -"%sIt is not safe to bind key \"%s\" because it does not start with a ctrl or meta code (tip: use alt-k to " -"find key codes); if you want to bind this key anyway, turn off option weechat.look.key_bind_safe" +"%sIt is not safe to bind key \"%s\" because it does not start with a ctrl or " +"meta code (tip: use alt-k to find key codes); if you want to bind this key " +"anyway, turn off option weechat.look.key_bind_safe" msgstr "" -"%sEs ist nicht ratsam, die \"%s\"-Taste mit einer Funktion zu belegen, da diese Taste weder mit Strg noch " -"Meta zusammen genutzt wird (Tipp: nutze Alt+k, um einen Tastencode anzeigen zu lassen); soll diese Taste " -"wirklich genutzt werden, so muss die Einstellung weechat.look.key_bind_safe deaktiviert werden" +"%sEs ist nicht ratsam, die \"%s\"-Taste mit einer Funktion zu belegen, da " +"diese Taste weder mit Strg noch Meta zusammen genutzt wird (Tipp: nutze " +"Alt+k, um einen Tastencode anzeigen zu lassen); soll diese Taste wirklich " +"genutzt werden, so muss die Einstellung weechat.look.key_bind_safe " +"deaktiviert werden" #, c-format msgid "%sContext \"%s\" not found" @@ -624,7 +675,9 @@ msgstr "Standardtastenbelegungen für Kontext \"%s\" wiederhergestellt" #, c-format msgid "%sArgument \"-yes\" is required for keys reset (security reason)" -msgstr "%sDas Argument \"-yes\" ist, aus Sicherheitsgründen, zum Zurücksetzen der Tastenbelegung notwendig" +msgstr "" +"%sDas Argument \"-yes\" ist, aus Sicherheitsgründen, zum Zurücksetzen der " +"Tastenbelegung notwendig" #, c-format msgid "%d new key added" @@ -829,8 +882,11 @@ msgid "%sUnable to set option \"%s\" for proxy \"%s\"" msgstr "%sEinstellung \"%s\" kann für den Proxy \"%s\" nicht gesetzt werden" #, c-format -msgid "%sYou must confirm /%s command with extra argument \"-yes\" (see /help %s)" -msgstr "%sDer Befehl /%s muss mit dem Argument \"-yes\" ausgeführt werden (siehe /help %s)" +msgid "" +"%sYou must confirm /%s command with extra argument \"-yes\" (see /help %s)" +msgstr "" +"%sDer Befehl /%s muss mit dem Argument \"-yes\" ausgeführt werden (siehe /" +"help %s)" #, c-format msgid "Options reloaded from %s" @@ -870,8 +926,11 @@ msgid "%sFailed to decrypt data (wrong passphrase?)" msgstr "%sFehler beim Entschlüsseln der Daten (falsche Passphrase?)" #, c-format -msgid "%sYou must decrypt data still encrypted before doing any operation on secured data or passphrase" -msgstr "%sDie Daten müssen zuerst entschlüsselt werden, bevor man diese nutzen kann" +msgid "" +"%sYou must decrypt data still encrypted before doing any operation on " +"secured data or passphrase" +msgstr "" +"%sDie Daten müssen zuerst entschlüsselt werden, bevor man diese nutzen kann" #, c-format msgid "%sPassphrase is too long (max: %d chars)" @@ -890,12 +949,14 @@ msgid "Passphrase added" msgstr "Passphrase hinzugefügt" msgid "" -"Important: an external program is configured to read the passphrase on startup (option sec.crypt." -"passphrase_command); you must ensure this program returns the new passphrase you just defined" +"Important: an external program is configured to read the passphrase on " +"startup (option sec.crypt.passphrase_command); you must ensure this program " +"returns the new passphrase you just defined" msgstr "" -"Wichtig: Ein externes Programm ist so konfiguriert, dass die Passphrase beim Start gelesen wird (Option " -"sec.crypt.passphrase_command). Sie müssen sicherstellen, dass dieses Programm die neue Passphrase " -"zurückgibt, die Sie gerade definiert haben" +"Wichtig: Ein externes Programm ist so konfiguriert, dass die Passphrase beim " +"Start gelesen wird (Option sec.crypt.passphrase_command). Sie müssen " +"sicherstellen, dass dieses Programm die neue Passphrase zurückgibt, die Sie " +"gerade definiert haben" #, c-format msgid "Secured data \"%s\" set" @@ -916,10 +977,12 @@ msgid "default: " msgstr "Standardwert: " #, c-format -msgid "%sOption \"%s\" not found (tip: you can use wildcard \"*\" in option to see a sublist)" +msgid "" +"%sOption \"%s\" not found (tip: you can use wildcard \"*\" in option to see " +"a sublist)" msgstr "" -"%sEinstellung \"%s\" nicht gefunden (Tipp: Der Platzhalter \"*\" kann verwendet werden, um sich eine " -"Teilliste anzeigen zu lassen)" +"%sEinstellung \"%s\" nicht gefunden (Tipp: Der Platzhalter \"*\" kann " +"verwendet werden, um sich eine Teilliste anzeigen zu lassen)" msgid "No option found" msgstr "Keine Einstellungen gefunden" @@ -928,7 +991,9 @@ msgstr "Keine Einstellungen gefunden" msgid "%s%d%s option with value changed (matching with \"%s\")" msgid_plural "%s%d%s options with value changed (matching with \"%s\")" msgstr[0] "%s%d%s Einstellungen mit abweichendem Wert (Suchmuster: \"%s\")" -msgstr[1] "%s%d%s Einstellungen, bei denen die Werte abweichend sind (Suchmuster: \"%s\")" +msgstr[1] "" +"%s%d%s Einstellungen, bei denen die Werte abweichend sind (Suchmuster: " +"\"%s\")" #, c-format msgid "%s%d%s option (matching with \"%s\")" @@ -1001,18 +1066,23 @@ msgid "%d option(s) reset, %d option(s) removed" msgstr "%d Einstellung(en) wieder hergestellt, %d Einstellung(en) entfernt" #, c-format -msgid "%sCan't upgrade: there is one or more background process (hook type 'process' or 'connect')" +msgid "" +"%sCan't upgrade: there is one or more background process (hook type " +"'process' or 'connect')" msgstr "" -"%sUpgrade nicht möglich: Ein- oder mehrere Hintergrundprozesse laufen noch (Hook-Typ 'process' oder " -"'connect')" +"%sUpgrade nicht möglich: Ein- oder mehrere Hintergrundprozesse laufen noch " +"(Hook-Typ 'process' oder 'connect')" #, c-format msgid "%sCan't upgrade: WeeChat binary \"%s\" does not exist" msgstr "%sUpgrade nicht möglich: WeeChat-Binärcode \"%s\" existiert nicht" #, c-format -msgid "%sCan't upgrade: WeeChat binary \"%s\" does not have execute permissions" -msgstr "%sUpgrade nicht möglich: WeeChat-Binärcode \"%s\" besitzt nicht die notwendigen Rechte" +msgid "" +"%sCan't upgrade: WeeChat binary \"%s\" does not have execute permissions" +msgstr "" +"%sUpgrade nicht möglich: WeeChat-Binärcode \"%s\" besitzt nicht die " +"notwendigen Rechte" #, c-format msgid "%sNo binary specified" @@ -1028,7 +1098,8 @@ msgstr "%sSitzung kann nicht in eine Datei gespeichert werden" #, c-format msgid "***** Error: exec failed (program: \"%s\"), exiting WeeChat" -msgstr "***** Fehler: Ausführung schlug fehl (Programm: \"%s\"), WeeChat wird beendet" +msgstr "" +"***** Fehler: Ausführung schlug fehl (Programm: \"%s\"), WeeChat wird beendet" #. TRANSLATORS: "%s" after "started on" is a date #, c-format @@ -1043,14 +1114,16 @@ msgstr[1] "Tage" #. TRANSLATORS: "%s%s" after "started on" is a date #, c-format msgid "WeeChat uptime: %s%d %s%s %s%02d%s:%s%02d%s:%s%02d%s, started on %s%s" -msgstr "WeeChat-Laufzeit: %s%d %s%s %s%02d%s:%s%02d%s:%s%02d%s, gestartet am %s%s" +msgstr "" +"WeeChat-Laufzeit: %s%d %s%s %s%02d%s:%s%02d%s:%s%02d%s, gestartet am %s%s" msgid "compiled on" msgstr "kompiliert am" #, c-format msgid "Upgraded %d %s, first start: %s, last start: %s" -msgstr "Es wurde %d %s ein Upgrade durchgeführt, erster Start: %s, letzter Start: %s" +msgstr "" +"Es wurde %d %s ein Upgrade durchgeführt, erster Start: %s, letzter Start: %s" # nicht als Zeitangabe, sondern wie oft etwas passiert #. TRANSLATORS: text is: "upgraded xx times" @@ -1067,14 +1140,20 @@ msgid "%sInvalid window number: \"%s\"" msgstr "%sUngültige Fensternummer: \"%s\"" #, c-format -msgid "%sCan not merge windows, there's no other window with same size near current one" +msgid "" +"%sCan not merge windows, there's no other window with same size near current " +"one" msgstr "" -"%sFenster können nicht nicht zusammengefügt werden. Es existiert kein Fenster mit derselben Größe, neben " -"dem aktuellen Fenster" +"%sFenster können nicht nicht zusammengefügt werden. Es existiert kein " +"Fenster mit derselben Größe, neben dem aktuellen Fenster" #, c-format -msgid "%sCan not close window, there's no other window with same size near current one" -msgstr "%sFenster kann nicht geschlossen werden. Es existiert kein weiteres Fenster mit derselben Größe" +msgid "" +"%sCan not close window, there's no other window with same size near current " +"one" +msgstr "" +"%sFenster kann nicht geschlossen werden. Es existiert kein weiteres Fenster " +"mit derselben Größe" msgid "set or remove away status" msgstr "Abwesenheitsstatus setzen oder entfernen" @@ -1086,20 +1165,24 @@ msgid "" " -all: set or remove away status on all connected servers\n" "message: message for away (if no message is given, away status is removed)" msgstr "" -" -all: Abwesenheitsstatus auf allen verbundenen Server setzen oder entfernen\n" -"message: Abwesenheitsnachricht (ohne Angabe einer Nachricht wird der Abwesenheitszustand entfernt)" +" -all: Abwesenheitsstatus auf allen verbundenen Server setzen oder " +"entfernen\n" +"message: Abwesenheitsnachricht (ohne Angabe einer Nachricht wird der " +"Abwesenheitszustand entfernt)" msgid "manage bars" msgstr "Infobars verwalten" msgid "" -"list|listfull|listitems || add [,] [," -"...] || default [input|title|status|nicklist] || del |-all || set