...
 
Commits (3)
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
......@@ -56,7 +56,7 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
......@@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
......@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
......
This diff is collapsed.
......@@ -16,6 +16,7 @@ SUBDIRS = aniemoticons \
cyrillize \
debug \
ejabberd \
filters \
floatingcontact \
floatinglog \
georoster \
......@@ -63,6 +64,6 @@ install-doc:
# Update Tkabber plugins from Fossil repository
up:
test -f .fslckout -o -f _FOSSIL_ && fossil update
test -f .fslckout -o -f _FOSSIL_ && fossil pull && fossil update
.PHONY: install install-bin install-doc up
......@@ -4,7 +4,9 @@ To install the desired plugins copy the plugin directories to
$HOME/.tkabber/plugins (on UNIX), to %APPDATA%\Tkabber\plugins (on Windows),
or to $HOME/Library/Application Support/Tkabber (on MacOS X) directory.
Tkabber will automatically load the plugins when it's started.
Tkabber will automatically load the plugins when it's started. To actually
use them you'll have to enable the desired plugins in Tkabber plugins
management interface.
The plugins that you will surely want to try are: Chess, OTR,
and Whiteboard.
......@@ -67,6 +69,9 @@ debug
ejabberd
Utility to check your Ejabberd Jabber server remotely.
filters
Provides support for long time obsolete Jabberd 1.4 mod_filter rules.
floatingcontact
Allows roster items to float in separate small windows.
......@@ -179,4 +184,3 @@ unixkeys
whiteboard
Shared whiteboard, allows two contacts or a whole chatroom to draw
collaboratively.
# $Id$
# aniemoticons.tcl --
#
# This file is a part of Aniemoticons plugin for the Tkabber XMPP
# client. This plugin replaces the ::plugins::emoticons::create_image
# and ::plugins::emoticons::delete_image by the animated GIFs aware
# procedures. The plugin can be loaded and unloaded dynamically.
package require msgcat
......@@ -6,13 +11,15 @@ namespace eval aniemoticons {
::msgcat::mcload [file join [file dirname [info script]] msgs]
if {![::plugins::is_registered aniemoticons]} {
::plugins::register aniemoticons \
-namespace [namespace current] \
-source [info script] \
-description [::msgcat::mc "Whether the animated GIFs support plugin is loaded."] \
-loadcommand [namespace code load] \
-unloadcommand [namespace code unload]
return
::plugins::register aniemoticons \
-namespace [namespace current] \
-source [info script] \
-description [::msgcat::mc "Whether the animated\
GIFs support plugin\
is loaded."] \
-loadcommand [namespace code load] \
-unloadcommand [namespace code unload]
return
}
}
......@@ -21,20 +28,22 @@ namespace eval :: {
}
proc aniemoticons::load {} {
rename ::plugins::emoticons::create_image ::plugins::emoticons::create_image:anigif
rename ::plugins::emoticons::delete_image ::plugins::emoticons::delete_image:anigif
rename ::plugins::emoticons::create_image \
::plugins::emoticons::create_image:anigif
rename ::plugins::emoticons::delete_image \
::plugins::emoticons::delete_image:anigif
proc ::plugins::emoticons::create_image {name file} {
if {[catch {::anigif::anigif $name $file} res]} {
image create photo $name -file $file
return $name
} else {
return $res
}
if {[catch {::anigif::anigif $name $file} res]} {
image create photo $name -file $file
return $name
} else {
return $res
}
}
proc ::plugins::emoticons::delete_image {name} {
::anigif::destroy $name
::anigif::destroy $name
}
::plugins::emoticons::on_theme_changed
......@@ -42,20 +51,25 @@ proc aniemoticons::load {} {
}
proc aniemoticons::unload {} {
if {[llength [info procs ::plugins::emoticons::create_image:anigif]] == 0 || \
[llength [info procs ::plugins::emoticons::delete_image:anigif]] == 0} {
return
if {[llength [info procs \
::plugins::emoticons::create_image:anigif]] == 0 || \
[llength [info procs \
::plugins::emoticons::delete_image:anigif]] == 0} {
return
}
rename ::plugins::emoticons::create_image ""
rename ::plugins::emoticons::delete_image ""
rename ::plugins::emoticons::create_image:anigif ::plugins::emoticons::create_image
rename ::plugins::emoticons::delete_image:anigif ::plugins::emoticons::delete_image
rename ::plugins::emoticons::create_image:anigif \
::plugins::emoticons::create_image
rename ::plugins::emoticons::delete_image:anigif \
::plugins::emoticons::delete_image
foreach name [image names] {
::anigif::stop $name
::anigif::stop $name
}
namespace delete ::anigif
}
# vim:ts=8:sw=4:sts=4:et
......@@ -25,7 +25,7 @@
# A delay of 0 renders as fast as possible, per the GIF specification.
# This is currently set to 40 ms to approximate the IE default.
# If you experience a problem with a compressed gif, try uncompressing
# it. Search the web for gifsicle.
# it. Search the web for gifsicle.
#
# ############################## HISTORY #################################
#
......@@ -39,7 +39,7 @@
# You can no longer set the delay manually.
# 1.0: Moved all anigif variables to the anigif namespace
# 0.9: Initial release
#
#
namespace eval ::anigif {
variable image_number 0
......@@ -47,51 +47,52 @@ namespace eval ::anigif {
proc ::anigif::anigif2 {img list delay {idx 0}} {
if {$idx >= [llength $list]} {
set idx 0
if {$::anigif::img(repeat,$img) == 0} {
# Non-repeating GIF
::anigif::stop $img
return
}
set idx 0
if {$::anigif::img(repeat,$img) == 0} {
# Non-repeating GIF
::anigif::stop $img
return
}
}
set disposal_idx $idx
set disposal_idx $idx
incr disposal_idx -1
if {$disposal_idx <= 0} {
set disposal_idx 0
set disposal_idx 0
}
if {$idx == 0} {
set dispflag "010"
set dispflag "010"
} else {
set dispflag [lindex $::anigif::img(disposal,$img) $disposal_idx]
set dispflag [lindex $::anigif::img(disposal,$img) $disposal_idx]
}
switch -- "$dispflag" {
"000" {
# Do nothing
}
"100" {
# Do not dispose
}
"010" {
# Restore to background
$::anigif::img(curimage,$img) blank
}
"110" {
# Restore to previous - not supported
# As recommended, since this is not supported, it is set to blank
[set ::anigif::img(curimage,$img)] blank
}
default { puts "no match: $dispflag" }
"000" {
# Do nothing
}
"100" {
# Do not dispose
}
"010" {
# Restore to background
$::anigif::img(curimage,$img) blank
}
"110" {
# Restore to previous - not supported
# As recommended, since this is not supported, it is set to blank
[set ::anigif::img(curimage,$img)] blank
}
default { puts "no match: $dispflag" }
}
$::anigif::img(curimage,$img) copy [lindex $list $idx]
if {[lindex $delay $idx] == 0} {
::anigif::stop $img
return
::anigif::stop $img
return
}
# # # update
set ::anigif::img(asdf,$img) [list ::anigif::anigif2 $img $list]
set ::anigif::img(loop,$img) \
[after [lindex $delay $idx] \
[list eval $::anigif::img(asdf,$img) [list $delay [expr {$idx + 1}]]]]
[list eval $::anigif::img(asdf,$img) \
[list $delay [expr {$idx + 1}]]]]
set ::anigif::img(idx,$img) [incr idx]
}
......@@ -119,47 +120,47 @@ proc ::anigif::anigif {img fnam {idx 0}} {
set start [string first "\x21\xFF\x0B" $data]
if {$start < 0} {
set repeat 0
set repeat 0
} else {
set repeat 1
set repeat 1
}
# Find Control Records
set start [string first "\x21\xF9\x04" $data]
while {![catch {image create photo xpic$n$img \
-file $fnam \
-format [list gif89 -index $n]}]} {
set stop [expr $start + 7]
set record [string range $data $start $stop]
binary scan $record @4s thisdelay
if {[info exists thisdelay]} {
# Change to unsigned integer
#set thisdelay [expr {$thisdelay & 0xFF}];
binary scan $record @3b5 disposalval
set disposalval [string range $disposalval 2 end]
lappend images pic$n$img
image create photo pic$n$img
pic$n$img copy xpic$n$img
image delete xpic$n$img
lappend disposal $disposalval
# Convert hundreths to thousandths for after
set thisdelay [expr {$thisdelay * 10}]
# If 0, set to fastest (25 ms min to seem to match browser default)
if {$thisdelay == 0} {set thisdelay 40}
lappend delay $thisdelay
unset thisdelay
incr n
}
if {($start >= 0) && ($stop >= 0)} {
set start [string first "\x21\xF9\x04" $data [expr {$stop + 1}]]
} else {
break
}
-file $fnam \
-format [list gif89 -index $n]}]} {
set stop [expr $start + 7]
set record [string range $data $start $stop]
binary scan $record @4s thisdelay
if {[info exists thisdelay]} {
# Change to unsigned integer
#set thisdelay [expr {$thisdelay & 0xFF}];
binary scan $record @3b5 disposalval
set disposalval [string range $disposalval 2 end]
lappend images pic$n$img
image create photo pic$n$img
pic$n$img copy xpic$n$img
image delete xpic$n$img
lappend disposal $disposalval
# Convert hundreths to thousandths for after
set thisdelay [expr {$thisdelay * 10}]
# If 0, set to fastest (25 ms min to seem to match browser default)
if {$thisdelay == 0} {set thisdelay 40}
lappend delay $thisdelay
unset thisdelay
incr n
}
if {($start >= 0) && ($stop >= 0)} {
set start [string first "\x21\xF9\x04" $data [expr {$stop + 1}]]
} else {
break
}
}
set ::anigif::img(repeat,$img) $repeat
set ::anigif::img(delay,$img) $delay
......@@ -176,37 +177,39 @@ proc ::anigif::anigif {img fnam {idx 0}} {
proc ::anigif::stop {img} {
catch {
after cancel $::anigif::img(loop,$img)
after cancel $::anigif::img(loop,$img)
}
}
# TODO
proc ::anigif::restart {img {idx -1}} {
if {$idx == -1} {
if {[lindex $::anigif::img(delay,$img) $idx] < 0} {
set idx 0
} else {
set idx $::anigif::img(idx,$img)
}
if {[lindex $::anigif::img(delay,$img) $idx] < 0} {
set idx 0
} else {
set idx $::anigif::img(idx,$img)
}
}
catch {
::anigif::stop $img
eval $::anigif::img(asdf,$img) [list $::anigif::img(delay,$img) $idx]
::anigif::stop $img
eval $::anigif::img(asdf,$img) [list $::anigif::img(delay,$img) $idx]
}
}
proc ::anigif::destroy {img} {
catch {
::anigif::stop $img
foreach imagename [image names] {
if {[regexp {^pic\d+(.*)} $imagename -> tail] && [string equal $tail $img]} {
image delete $imagename
}
}
image delete $img
array unset ::anigif::img *,$img
::anigif::stop $img
foreach imagename [image names] {
if {[regexp {^pic\d+(.*)} $imagename -> tail] && \
[string equal $tail $img]} {
image delete $imagename
}
}
image delete $img
array unset ::anigif::img *,$img
}
}
package provide anigif 2.0
# vim:ts=8:sw=4:sts=4:et
# de.msg --
#
# German messages for Aniemoticons Tkabber plugin.
#
# Author: Roger Sondermann
# Last-Modified: 15.03.2009
# German messages file
# Roger Sondermann 15.03.2009
::msgcat::mcset de "Whether the animated GIFs support plugin is loaded." \
"Animierte-GIFs-Plugin laden."
::msgcat::mcset de "Whether the animated GIFs support plugin is loaded." "Animierte-GIFs-Plugin laden."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
# ru.msg --
#
# Russian messages for Aniemoticons Tkabber plugin.
#
# Author: Sergei Golovan <sgolovan@nes.ru>
::msgcat::mcset ru "Whether the animated GIFs support plugin is loaded." \
"Загружено ли расширение обеспечивающее поддержку анимационных GIFов."
# vim:ft=tcl:ts=8:sw=4:sts=4:noet
# vim:ft=tcl:ts=8:sw=4:sts=4:et
# uk.msg --
#
# Ukrainian messages for Aniemoticons Tkabber plugin.
#
# Author: Sergei Golovan <sgolovan@nes.ru>
::msgcat::mcset uk "Whether the animated GIFs support plugin is loaded." \
"Чи завантажене розширення для підтримки анімаційних GIFів."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
$Id$
"Attention line" -- chat plugin for Tkabber.
......@@ -92,7 +91,7 @@ parameters:
is added above and below the attention line by the text widget
which draws the attention line.)
The default value is 1.
* Chat.attentionLineColor -- color of the attention line. Can
be specified in any form described in [4].
The default value is "red".
......
$Id$
* Remove att. line when a buffer marked as read loses focus
instead of moving it to the bottom may be?
......
This diff is collapsed.
# de.msg --
#
# German messages for Attention line Tkabber plugin.
#
# Author: Roger Sondermann
# Last-Modified: 18.02.2009
# German messages file
# Roger Sondermann 18.02.2009
::msgcat::mcset de "Attention Line chat plugin options. This plugin draws\
horizontal line separating read and unread messages in chat\
windows." "Optionen für das Aufmerksamkeits-Linien-Plugin.\nDieses\
zeichnet in Chat-Fenstern eine horizontale Linie zur Trennung\
gelesener und ungelesener Nachrichten."
::msgcat::mcset de "Plugins options." "Optionen für Plugins."
::msgcat::mcset de "Remove the attention line after it was expired from its\
chat window." "Aufmerksamkeits-Linie entfernen, nachdem sie\
verfallen ist."
::msgcat::mcset de "Time (in milliseconds) after which unread messages in\
the currently active chat window are considered read and the attention\
line is considered expired." "Zeitraum nach dem ungelesene Nachrichten\
im aktiven Chat-Fenster als gelesen und die Aufmerksamkeits-Linie als\
verfallen betrachtet wird (in Millisekunden)."
::msgcat::mcset de "Whether the Attention Line plugin is loaded." \
"Aufmerksamkeits-Linien-Plugin laden."
::msgcat::mcset de "Attention Line chat plugin options. This plugin draws horizontal line separating read and unread messages in chat windows." "Optionen fr das Aufmerksamkeits-Linien-Plugin.\nDieses zeichnet in Chat-Fenstern eine horizontale Linie zur Trennung gelesener und ungelesener Nachrichten."
::msgcat::mcset de "Plugins options." "Optionen fr Plugins."
::msgcat::mcset de "Remove the attention line after it was expired from its chat window." "Aufmerksamkeits-Linie entfernen, nachdem sie verfallen ist."
::msgcat::mcset de "Time (in milliseconds) after which unread messages in the currently active chat window are considered read and the attention line is considered expired." "Zeitraum nach dem ungelesene Nachrichten im aktiven Chat-Fenster als gelesen und die Aufmerksamkeits-Linie als verfallen betrachtet wird (in Millisekunden)."
::msgcat::mcset de "Whether the Attention Line plugin is loaded." "Aufmerksamkeits-Linien-Plugin laden."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
::msgcat::mcset es "Attention Line chat plugin options. This plugin draws horizontal line separating read and unread messages in chat windows." "Opciones del plugin de charla Attention Line. Este plugin dibuja una línea horizontal que separa los mensajes viejos leídos de los nuevos mensajes aún no leídos en la ventana de charla."
# es.msg --
#
# Spanish messages for Attention line Tkabber plugin.
#
# Author: Badlop
::msgcat::mcset es "Attention Line chat plugin options. This plugin draws\
horizontal line separating read and unread messages in chat windows." \
"Opciones del plugin de charla Attention Line. Este plugin dibuja una\
línea horizontal que separa los mensajes viejos leídos de los nuevos\
mensajes aún no leídos en la ventana de charla."
::msgcat::mcset es "Plugins options." "Opciones de plugins."
::msgcat::mcset es "Remove the attention line after it was expired from its chat window." "Borra la línea de atención de la ventana de charla cuando expire."
::msgcat::mcset es "Time (in milliseconds) after which unread messages in the currently active chat window are considered read and the attention line is considered expired." "Tiempo (en milisegundos) desde que un mensaje no leído en la ventana de charla activa se considera leído y se borra la línea de atención se considera expirada."
::msgcat::mcset es "Whether the Attention Line plugin is loaded." "Cargar el plugin Attention Line."
::msgcat::mcset es "Remove the attention line after it was expired from its\
chat window." "Borra la línea de atención de la ventana de charla\
cuando expire."
::msgcat::mcset es "Time (in milliseconds) after which unread messages in the\
currently active chat window are considered read and the attention\
line is considered expired." "Tiempo (en milisegundos) desde que un\
mensaje no leído en la ventana de charla activa se considera leído y\
se borra la línea de atención se considera expirada."
::msgcat::mcset es "Whether the Attention Line plugin is loaded." \
"Cargar el plugin Attention Line."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
# Polish messages file for attline plugin
# Author: Irek Chmielowiec
# Contact: xmpp:irek@chrome.pl :: mailto:irek.ch@gmail.com
# Please notify me of errors or incoherencies
# pl.msg --
#
# Polish messages for Attention line Tkabber plugin.
#
# Author: Irek Chmielowiec <irek.ch@gmail.com>
::msgcat::mcset pl "Attention Line chat plugin options. This plugin draws horizontal line separating read and unread messages in chat windows." "Ustawienia wtyczki separatora aktywności. Wtyczka ta wstawia wstawia poziomą linię oddzielającą przeczytane i nieprzeczytane wiadomości w rozmowie."
::msgcat::mcset pl "Attention Line chat plugin options. This plugin draws\
horizontal line separating read and unread messages in chat windows." \
"Ustawienia wtyczki separatora aktywności. Wtyczka ta wstawia wstawia\
poziomą linię oddzielającą przeczytane i nieprzeczytane wiadomości w\
rozmowie."
::msgcat::mcset pl "Plugins options." "Ustawienia wtyczek."
::msgcat::mcset pl "Remove the attention line after it was expired from its chat window." "Usuń separator nieaktywności po tym jak stracił ważność w oknie rozmowy."
::msgcat::mcset pl "Time (in milliseconds) after which unread messages in the currently active chat window are considered read and the attention line is considered expired." "Czas (w milisekundach), po którym nieprzeczytane wiadomości w aktywnym oknie rozmowy zostaną uznane za przeczytane i separator starci ważność."
::msgcat::mcset pl "Whether the Attention Line plugin is loaded." "Załaduj wtyczkę separatora nieaktywności."
::msgcat::mcset pl "Remove the attention line after it was expired from its\
chat window." "Usuń separator nieaktywności po tym jak stracił ważność\
w oknie rozmowy."
::msgcat::mcset pl "Time (in milliseconds) after which unread messages in the\
currently active chat window are considered read and the attention\
line is considered expired." "Czas (w milisekundach), po którym\
nieprzeczytane wiadomości w aktywnym oknie rozmowy zostaną uznane za\
przeczytane i separator starci ważność."
::msgcat::mcset pl "Whether the Attention Line plugin is loaded." \
"Załaduj wtyczkę separatora nieaktywności."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
# ru.msg --
#
# Russian messages for Attention line Tkabber plugin.
#
# Author: Sergei Golovan <sgolovan@nes.ru>
::msgcat::mcset ru \
"Attention Line chat plugin options. This plugin draws horizontal\
line separating read and unread messages in chat windows." \
"Настройки расширения Attention Line. Это расширение отделяет непрочитанные\
сообщения в окнах разговора от прочитанных горизонтальной линией."
"Attention Line chat plugin options. This plugin draws horizontal\
line separating read and unread messages in chat windows." \
"Настройки расширения Attention Line. Это расширение отделяет\
непрочитанные сообщения в окнах разговора от прочитанных\
горизонтальной линией."
::msgcat::mcset ru "Plugins options." "Параметры расширений."
::msgcat::mcset ru "Remove the attention line after it was expired from its chat window." \
"Удалять линию, разделяющую сообщения по истечении времени её действия."
::msgcat::mcset ru "Remove the attention line after it was expired from its\
chat window." "Удалять линию, разделяющую сообщения по истечении\
времени её действия."
::msgcat::mcset ru \
"Time (in milliseconds) after which unread messages in the currently\
active chat window are considered read and the attention line is considered expired." \
"Время (в миллисекундах) по истечении которого сообщения в активном окне разговора\
считаются прочитанными, и разделительная линия считается недействующей."
"Time (in milliseconds) after which unread messages in the currently\
active chat window are considered read and the attention line is\
considered expired." "Время (в миллисекундах) по истечении которого\
сообщения в активном окне разговора считаются прочитанными, и\
разделительная линия считается недействующей."
::msgcat::mcset ru "Whether the Attention Line plugin is loaded." \
"Загружено ли расширение Attention Line."
# vim:ft=tcl:ts=8:sw=4:sts=4:noet
# vim:ft=tcl:ts=8:sw=4:sts=4:et
::msgcat::mcset uk \
"Attention Line chat plugin options. This plugin draws horizontal\
line separating read and unread messages in chat windows." \
"Налаштування плагіну Attention Line. Цей плагін відділяє непрочитані\
повідомлення в вікнах розмов від прочитаних горизонтальною лінією."
::msgcat::mcset uk "Plugins options." "Параметри плагінів."
::msgcat::mcset uk "Remove the attention line after it was expired from its chat window." \
"Видалити лінію, що відділяє повідомлення після закінчення часу її дії."
::msgcat::mcset uk \
"Time (in milliseconds) after which unread messages in the currently\
active chat window are considered read and the attention line is considered expired." \
"Час (в мілісекундах), після закінчення якого повідомлення в активному вікні розмови\
вважаються прочитаними, і роздільна лінія вважається недіючою."
::msgcat::mcset uk "Whether the Attention Line plugin is loaded." \
"Чи завантажений плагін Attention Line."
# uk.msg --
#
# Ukrainian messages for Attention line Tkabber plugin.
#
# Author: Sergei Golovan <sgolovan@nes.ru>
::msgcat::mcset uk \
"Attention Line chat plugin options. This plugin draws horizontal\
line separating read and unread messages in chat windows." \
"Налаштування плагіну Attention Line. Цей плагін відділяє непрочитані\
повідомлення в вікнах розмов від прочитаних горизонтальною лінією."
::msgcat::mcset uk "Plugins options." "Параметри плагінів."
::msgcat::mcset uk "Remove the attention line after it was expired from its\
chat window." "Видалити лінію, що відділяє повідомлення після\
закінчення часу її дії."
::msgcat::mcset uk \
"Time (in milliseconds) after which unread messages in the currently\
active chat window are considered read and the attention line is\
considered expired." "Час (в мілісекундах), після закінчення якого\
повідомлення в активному вікні розмови вважаються прочитаними, і\
роздільна лінія вважається недіючою."
::msgcat::mcset uk "Whether the Attention Line plugin is loaded." \
"Чи завантажений плагін Attention Line."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
This diff is collapsed.
This diff is collapsed.
# uk.msg --
#
# Ukrainian messages for the Battleship Tkabber plugin.
#
# Author: Sergei Golovan <sgolovan@nes.ru>
::msgcat::mcset uk "Plugins options." "Налаштування розширень."
::msgcat::mcset uk "Show last move by default." \
"За замовчуванням показувати останній хід."
::msgcat::mcset uk "You" "Ви"
::msgcat::mcset uk "Opponent" "Опонент"
::msgcat::mcset uk "Battleship plugin options." \
"Налаштування розширення Морський бій."
::msgcat::mcset uk "Battleship pixmaps theme." "Тема фігурок кораблів."
::msgcat::mcset uk "Show tooltips with short instructions." \
"Показувати спливаючі підказки до елементів інтерфейсу."
::msgcat::mcset uk "Battleship Invitation" "Запрошення зіграти у морський бій"
::msgcat::mcset uk "Sending Battleship game invitation to %s (%s)" \
"Надсилаємо запрошення зіграти у морський бій з %s (%s)"
::msgcat::mcset uk "I want to move first" "Хочу ходити першим"
::msgcat::mcset uk "I want to move second" "Хочу ходити другим"
::msgcat::mcset uk "Cancel invitation" "Відмінити запрошення"
::msgcat::mcset uk "%s (%s) has refused Battleship invitation: %s" \
"%s (%s) відмовився грати у морський бій: %s"
::msgcat::mcset uk "Battleship Invitation from %s" \
"Запрошення зіграти у морський бій з %s"
::msgcat::mcset uk "Battleship game invitation from %s (%s) is received." \
"Отримане запрошення зіграти у морський бій з %s (%s)"
::msgcat::mcset uk "%s wants to move first." "%s хоче ходити першим."
::msgcat::mcset uk "%s wants to move second." "%s хоче ходити другим."
::msgcat::mcset uk "Agree to play" "Згодитися грати"
::msgcat::mcset uk "Refuse to play" "Відмовитися грати"
::msgcat::mcset uk "Battleship with %s" "Морський бій з %s"
::msgcat::mcset uk "Show last move" "Показувати останній хід"
::msgcat::mcset uk "Move: " "Хід: "
::msgcat::mcset uk "Propose a draw" "Запропонувати нічию"
::msgcat::mcset uk "Accept the draw proposal" "Прийняти запропоновану нічию"
::msgcat::mcset uk "Resign the game" "Здати партію"
::msgcat::mcset uk "History" "Запис партії"
::msgcat::mcset uk "Battleship..." "Морський бій..."
::msgcat::mcset uk "Opponent wins" "Опонент виграв"
::msgcat::mcset uk "You win" "Ви виграли"
::msgcat::mcset uk "Opponent wins (You resigned)" \
"Опонент виграв (Ви здалися)"
::msgcat::mcset uk "You win (Opponent resigned)" \
"Ви виграли (Опонент здався)"
::msgcat::mcset uk "Impossible draw" "Неможлива нічия"
::msgcat::mcset uk "Draw (You accepted)" "Нічия (Ви прийняли)"
::msgcat::mcset uk "Draw (Opponent accepted)" "Нічия (Опонент прийняв)"
::msgcat::mcset uk "Press button and make move if you want to propose draw" \
"Натисніть кнопку і зробіть хід, якщо хочете запропонувати нічию"
::msgcat::mcset uk "Press button if you want to accept the draw proposal" \
"Натисніть кнопку, якщо хочете прийняти запропонованц нічию"
::msgcat::mcset uk "Press button if you want to resign" \
"Натисніть кнопку, якщо хочете здатися"
::msgcat::mcset uk "\n\n Opponent proposes a draw\n\n" \
"\n\n Опонент пропонує нічию\n\n"
::msgcat::mcset uk "\n\n Opponent rejected move:\n %s\n\n" \
"\n\n Опонент відкинув хід:\n %s\n\n"
::msgcat::mcset uk "Games" "Ігри"
::msgcat::mcset uk "Freeze ships position" "Зафіксувати положення кораблів"
::msgcat::mcset uk "My ships" "Мої кораблі"
::msgcat::mcset uk "Opponent (after all parties freeze boards)" \
"Опонент (після того, як усі зафіксують свої дошки)"
::msgcat::mcset uk "Opponent ships" "Кораблі опонента"
::msgcat::mcset uk "Whether the Battleship plugin is loaded." \
"Чи завантажене розширення Морський бій."
::msgcat::mcset uk "You (after all parties freeze boards)" \
"Ви (після того, як усі зафіксують свої дошки)"
::msgcat::mcset uk "\n\n Opponent rejected board:\n %s\n\n" \
"\n\n Опонент не прийняв дошку:\n %s\n\n"
::msgcat::mcset uk "\n\n Opponent returned inconrrect hit answer" \
"\n\n Опонент повернув неправильну відповідь 'вцілив'"
::msgcat::mcset uk "\n\n Opponent returned incorrect answer" \
"\n\n Опонент повернув неправильну відповідь"
::msgcat::mcset uk "\n\n Opponent returned incorrect cell seed" \
"\n\n Опонент повернув неправильний сід клітинки"
::msgcat::mcset uk "\n\n Opponent returned incorrect destroy answer" \
"\n\n Опонент повернув неправильну відповідь 'вбив'"
::msgcat::mcset uk "\n\n Opponent sent incorrect cell column" \
"\n\n Опонент прислав неправильний стовпець"
::msgcat::mcset uk "\n\n Opponent sent incorrect cell row" \
"\n\n Опонент прислав неправильний рядок"
::msgcat::mcset uk "\n\n Opponent sent incorrect cell seed" \
"\n\n Опонент прислав неправильний сід клітинки"
::msgcat::mcset uk "\n\n Opponent sent incorrect number of cells" \
"\n\n Опонент прислав неправильну кількість клітинок"
::msgcat::mcset uk "\n\n Opponent rejected accepted draw:\n %s\n\n" \
"\n\n Опонент відкинув прийняття нічиєї:\n %s\n\n"
::msgcat::mcset uk "\n\n Opponent sent illegal board" \
"\n\n Опонент прислав дошку, яка не узгоджується з правилами"
::msgcat::mcset uk "\nDrag and drop ships to desired locations, then click\
the 'Freeze ships position' button.\nRight mouse button switches\
horizontal and vertical ship orientation." "\nПересуньте кораблі,\
куди завгодно, потім натисніть кнопку 'Зафіксувати положення\
кораблів'.\nПрава кнопка миші переключає вертикальне і\
горизонтальне положення корабля."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
<?xml version='1.0' encoding='UTF-8'?>
<!-- $Id$ -->
<icondef>
<meta>
<name>Copybook</name>
......@@ -65,3 +64,5 @@
</icon>
</icondef>
<!-- vim:ts=8:sw=4:sts=4:et
-->
# $Id$
Short protocol description for the Battleship Tkabber plugin.
Request:
......@@ -25,20 +25,20 @@ Seed MUST NOT be the same for different board cells.
<iq type='set' to='a@b.c' id='id2'>
<board xmlns='games:board' type='battleship' id='123'>
<cell row='0' col='0' hash='3ebe9d6974e3a2815271553605b3d3b74008e8d4'/>
<cell row='0' col='1' hash='abc4481f0927f3c4a004314dc9c43999ed14d4f6'/>
<cell row='0' col='2' hash='7f1afdcdad4c980952580f85e35c21b6d7ba13ca'/>
<cell row='0' col='3' hash='4e14237c1458cfb3e755e30ff99bfab9dd883752'/>
...
<cell row='1' col='6' hash='97e471491d08463424b97ea495218a67cfc339ca'/>
...
<cell row='9' col='9' hash='79a2cecfcda630a268e955ccc3f60edec952b375'/>
<ship length='5' hash='1212312312312312312312312312313212121'/>
<ship length='4' hash='3423423423423423423423423423423423423'/>
<ship length='3' hash='3423423423423423423423423423423423423'/>
<ship length='2' hash='3423423423423423423423423423423423423'/>
<ship length='2' hash='3423423423423423423423423423423423423'/>
<ship length='1' hash='3423423423423423423423423423423423423'/>
<cell row='0' col='0' hash='3ebe9d6974e3a2815271553605b3d3b74008e8d4'/>
<cell row='0' col='1' hash='abc4481f0927f3c4a004314dc9c43999ed14d4f6'/>
<cell row='0' col='2' hash='7f1afdcdad4c980952580f85e35c21b6d7ba13ca'/>
<cell row='0' col='3' hash='4e14237c1458cfb3e755e30ff99bfab9dd883752'/>
...
<cell row='1' col='6' hash='97e471491d08463424b97ea495218a67cfc339ca'/>
...
<cell row='9' col='9' hash='79a2cecfcda630a268e955ccc3f60edec952b375'/>
<ship length='5' hash='1212312312312312312312312312313212121'/>
<ship length='4' hash='3423423423423423423423423423423423423'/>
<ship length='3' hash='3423423423423423423423423423423423423'/>
<ship length='2' hash='3423423423423423423423423423423423423'/>
<ship length='2' hash='3423423423423423423423423423423423423'/>
<ship length='1' hash='3423423423423423423423423423423423423'/>
</board>
</iq>
......@@ -50,7 +50,7 @@ Move:
<iq type='set' to='x@y.z' id='id3'>
<turn xmlns='games:board' type='battleship' id='123'>
<shot row='1' col='6'/>
<shot row='1' col='6'/>
</turn>
</iq>
......@@ -62,7 +62,7 @@ the cell to check the result.
<iq type='result' to='a@b.c' id='id3'>
<turn xmlns='games:board' type='battleship' id='123'>
<shot result='miss' seed='qwerty'/>
<shot result='miss' seed='qwerty'/>
</turn>
</iq>
......@@ -72,7 +72,7 @@ or:
<iq type='result' to='a@b.c' id='id3'>
<turn xmlns='games:board' type='battleship' id='123'>
<shot result='hit' seed='qwerty'/>
<shot result='hit' seed='qwerty'/>
</turn>
</iq>
......@@ -80,7 +80,7 @@ or (some ship is destroyed):
<iq type='result' to='a@b.c' id='id3'>
<turn xmlns='games:board' type='battleship' id='123'>
<shot result='destroy' seed='qwerty'/>
<shot result='destroy' seed='qwerty'/>
</turn>
</iq>
......@@ -88,8 +88,8 @@ Proposing draw (if you want to terminate game before someone wins):
<iq type='set' to='a@b.c' id='id4'>
<turn xmlns='games:board' type='battleship' id='123'>
<shot row='1' col='7'/>
<draw/>
<shot row='1' col='7'/>
<draw/>
</turn>
</iq>
......@@ -99,7 +99,7 @@ Accepting draw proposal:
<iq type='set' to='a@b.c' id='id5'>
<turn xmlns='games:board' type='battleship' id='123'>
<accept/>
<accept/>
</turn>
</iq>
......@@ -107,7 +107,7 @@ Resigning:
<iq type='set' to='a@b.c' id='id6'>
<turn xmlns='games:board' type='battleship' id='123'>
<resign/>
<resign/>
</turn>
</iq>
......@@ -123,14 +123,14 @@ resigned, or game was tied) both players MUST send uncovered boards with seeds:
<iq type='set' to='a@b.c' id='id7'>
<board xmlns='games:board' type='battleship' id='123'>
<cell row='0' col='0' ship='true' seed='qwert1'/>
<cell row='0' col='1' ship='false' seed='qwert2'/>
<cell row='0' col='2' ship='false' seed='qwert3'/>
<cell row='0' col='3' ship='false' seed='qwert4'/>
...
<cell row='1' col='6' ship='false' seed='qwerty'/>
...
<cell row='9' col='9' ship='true' seed='qwert12'/>
<cell row='0' col='0' ship='true' seed='qwert1'/>
<cell row='0' col='1' ship='false' seed='qwert2'/>
<cell row='0' col='2' ship='false' seed='qwert3'/>
<cell row='0' col='3' ship='false' seed='qwert4'/>
...
<cell row='1' col='6' ship='false' seed='qwerty'/>
...
<cell row='9' col='9' ship='true' seed='qwert12'/>
</board>
</iq>
......@@ -140,6 +140,3 @@ Response:
if the board is consistent with the initial hashes. Otherwise client should
return error 'Not Acceptable'
This diff is collapsed.
# ru.msg --
#
# Russian messages for the Bulls & Cows Tkabber plugin.
#
# Author: Sergei Golovan
::msgcat::mcset ru "Whether the 'Bulls & Cows' plugin is loaded. The\
plugin implements game variant where players guess Russian\
words instead of numbers as usual." "Загружено ли расширение\
'Быки и коровы'. В этом расширении реализован вариант игры, в\
котором гроки угадывают пятибуквенное русское слово."
plugin implements game variant where players guess Russian\
words instead of numbers as usual." "Загружено ли расширение\
'Быки и коровы'. В этом расширении реализован вариант игры, в\
котором игроки угадывают пятибуквенное русское слово."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
# uk.msg --
#
# Ukrainian messages for the Bulls & Cows Tkabber plugin.
#
# Author: Sergei Golovan
::msgcat::mcset uk "Whether the 'Bulls & Cows' plugin is loaded. The\
plugin implements game variant where players guess Russian\
words instead of numbers as usual." \
"Чи завантажене розширення 'Бики та корови'. Це розширення є\
грою, де гравці вгадують слово російською мовою, складене з\
п’ятьох літер."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
This diff is collapsed.
This diff is collapsed.
# de.msg --
#
# German messages for the Browser Tkabber plugin.
#
# Author: Roger Sondermann
# Last-Modified: 23.02.2009
# German messages file
# Roger Sondermann 23.02.2009
::msgcat::mcset de "Add conference..." "Konferenz hinzufügen..."
::msgcat::mcset de "Add conference..." "Konferenz hinzufügen..."
::msgcat::mcset de "Browse error: %s" "Durchsuchen-Fehler: %s"
::msgcat::mcset de "Browse" "Durchsuchen"
::msgcat::mcset de "Browser" "Jabber-Browser"
......@@ -12,9 +15,12 @@
::msgcat::mcset de "Jabber Browser" "Jabber-Browser"
::msgcat::mcset de "Join group..." "Konferenz beitreten..."
::msgcat::mcset de "List of browsed JIDs." "Liste durchsuchter JIDs."
::msgcat::mcset de "Number of children:" "Anzahl Einträge:"
::msgcat::mcset de "Number of children:" "Anzahl Einträge:"
::msgcat::mcset de "Service Discovery" "Service-Discovery"
::msgcat::mcset de "Sort items by JID" "Nach JID sortieren"
::msgcat::mcset de "Sort items by name" "Nach Namen sortieren"
::msgcat::mcset de "Version:" "Version:"
::msgcat::mcset de "Whether the Jabber Browser plugin is loaded." "Jabber-Browser-Plugin laden."
::msgcat::mcset de "Whether the Jabber Browser plugin is loaded." \
"Jabber-Browser-Plugin laden."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
# es.msg --
#
# Spanish messages for the Browser Tkabber plugin.
#
# Author: Badlop
::msgcat::mcset es "Add conference..." "Añadir sala..."
::msgcat::mcset es "Browse error: %s" "Error navegando: %s"
::msgcat::mcset es "Browse" "Navegar"
......@@ -13,4 +19,7 @@
::msgcat::mcset es "Sort items by JID" "Ordenar elementos por JID"
::msgcat::mcset es "Sort items by name" "Ordenar elementos por nombre"
::msgcat::mcset es "Version:" "Versión:"
::msgcat::mcset es "Whether the Jabber Browser plugin is loaded." "Cargar el plugin Jabber Browser."
::msgcat::mcset es "Whether the Jabber Browser plugin is loaded." \
"Cargar el plugin Jabber Browser."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
# Polish messages file for browser plugin
# Author: Irek Chmielowiec
# Contact: xmpp:irek@chrome.pl :: mailto:irek.ch@gmail.com
# Please notify me of errors or incoherencies
# pl.msg --
#
# Polish messages for the Browser Tkabber plugin.
#
# Author: Irek Chmielowiec <irek.ch@gmail.com>
# browser.tcl
::msgcat::mcset pl "Add conference..." "Dodaj konferencję..."
::msgcat::mcset pl "Browse" "Przeglądaj"
::msgcat::mcset pl "Browse error: %s" "Błąd przeglądania: %s"
......@@ -15,7 +15,10 @@
::msgcat::mcset pl "Join group..." "Dołącz do konferencji..."
::msgcat::mcset pl "List of browsed JIDs." "Lista przeglądanych JabberID"
::msgcat::mcset pl "Number of children:" "Ilość elementów:"
::msgcat::mcset pl "Service Discovery" "Przeglądarka usług (protokół‚ Discovery)"
::msgcat::mcset pl "Service Discovery" "Przeglądarka usług (protokół‚\
Discovery)"
::msgcat::mcset pl "Sort items by JID" "Sortuj według JID"
::msgcat::mcset pl "Sort items by name" "Sortuj według nazwy"
::msgcat::mcset pl "Version:" "Wersja:"
# vim:ft=tcl:ts=8:sw=4:sts=4:et
# $Id$
# ru.msg --
#
# Russian messages for the Browser Tkabber plugin.
#
# Author: Sergei Golovan <sgolovan@nes.ru>
::msgcat::mcset ru "Add conference..." "Добавить конференцию..."
::msgcat::mcset ru "Browse" "Просмотреть"
::msgcat::mcset ru "Browse error: %s" "Ошибка просмотра: %s"
......@@ -15,5 +20,7 @@
::msgcat::mcset ru "Sort items by JID" "Сортировать по JID"
::msgcat::mcset ru "Sort items by name" "Сортировать по имени"
::msgcat::mcset ru "Version:" "Версия:"
::msgcat::mcset ru "Whether the Jabber Browser plugin is loaded."\
"Загружено ли расширение Jabber Browser."
::msgcat::mcset ru "Whether the Jabber Browser plugin is loaded." \
"Загружено ли расширение Jabber Browser."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
# uk.msg --
#
# Ukrainian messages for the Browser Tkabber plugin.
#
# Author: Sergei Golovan <sgolovan@nes.ru>
::msgcat::mcset uk "Add conference..." "Додати конференцію..."
::msgcat::mcset uk "Browse" "Переглянути"
::msgcat::mcset uk "Browse error: %s" "Помилка перегляду: %s"
::msgcat::mcset uk "Browser" "Перегляд"
::msgcat::mcset uk "Description:" "Опис:"
::msgcat::mcset uk "Discover service" "Оглянути можливості"
::msgcat::mcset uk "Jabber Browser" "Перегляд служб"
::msgcat::mcset uk "JID:"
::msgcat::mcset uk "Join group..." "Приєднатися до групи..."
::msgcat::mcset uk "List of browsed JIDs." "Список переглянутих JID."
::msgcat::mcset uk "Number of children:" "Число гілок:"
# Using translation from Tkabber itself
#::msgcat::mcset uk "Service Discovery" "Огляд служб"
::msgcat::mcset uk "Sort items by JID" "Сортувати за JID"
::msgcat::mcset uk "Sort items by name" "Сортувати за им’ям"
::msgcat::mcset uk "Version:" "Версія:"
::msgcat::mcset uk "Whether the Jabber Browser plugin is loaded." \
"Чи завантажене розширення Jabber Browser."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
......@@ -2,10 +2,10 @@ Checkers Plugin for Tkabber
Installation:
Just put all checkers directory to $HOME/.tkabber/plugins (on UNIX),
to %APPDATA%\Tkabber\plugins (on Windows), or to $HOME/Library/Application Support/Tkabber
(on MacOS X) directory. Then after Tkabber restart new submenu "Games"
with "Checkers" option will appear in roster user context menu.
to %APPDATA%\Tkabber\plugins (on Windows), or to
$HOME/Library/Application Support/Tkabber (on MacOS X) directory. Then after
Tkabber restart new submenu "Games" with "Checkers" option will appear in
roster user context menu.
Checkers rules included in distribution are taken from
http://ourworld.compuserve.com/homepages/Arthur_H_Olsen/checkers.htm
This diff is collapsed.
# es.msg --
#
# Spanish messages for the Checkers Tkabber plugin.
#
# Author: Badlop
::msgcat::mcset es " (Opponent)" " (Oponente)"
::msgcat::mcset es " (You)" " (Tu)"
::msgcat::mcset es "%s (%s) has refused checkers invitation: %s" "%s (%s) ha rechazado la invitación: %s"
::msgcat::mcset es "%s (%s) has refused checkers invitation: %s" "%s (%s) ha\
rechazado la invitación: %s"
::msgcat::mcset es "%s wants play %s." "%s quiere jugar %s."
::msgcat::mcset es "%s wants play black." "%s quiere jugar con las negras."
::msgcat::mcset es "%s wants play white." "%s quiere jugar con las blancas."
::msgcat::mcset es "%s with %s" "%s con %s"
::msgcat::mcset es "Accept opponent illegal moves (useful for debugging)." "Aceptar movimientos ilegales del oponente (útil para depuración)."
::msgcat::mcset es "Accept opponent illegal moves (useful for debugging)." \
"Aceptar movimientos ilegales del oponente (útil para depuración)."
::msgcat::mcset es "Accept the draw proposal" "Aceptar la propuesta de empate"
::msgcat::mcset es "Agree to play" "Aceptar la invitación"
::msgcat::mcset es "Allow illegal moves (useful for debugging)." "Permitir movimientos ilegales (útil para depuración)."
::msgcat::mcset es "Allow illegal moves (useful for debugging)." "Permitir\
movimientos ilegales (útil para depuración)."
::msgcat::mcset es "Black" "Negra"
::msgcat::mcset es "Brazilian checkers" "Damas brasileñas"
::msgcat::mcset es "Cancel invitation" "Cancelar la invitación"
::msgcat::mcset es "Checkers Invitation from %s" "Invitación a las Damas de %s"
::msgcat::mcset es "Checkers Invitation" "Invitación a las Damas"
::msgcat::mcset es "Checkers figures theme." "Tipo de figuras."
::msgcat::mcset es "Checkers game invitation from %s (%s) is received." "Se ha recibido una invitación de %s (%s) para jugar a las damas."
::msgcat::mcset es "Checkers plugin options." "Opciones del plugin de las Damas."
::msgcat::mcset es "Checkers game invitation from %s (%s) is received." \
"Se ha recibido una invitación de %s (%s) para jugar a las damas."
::msgcat::mcset es "Checkers plugin options." "Opciones del plugin de las\
Damas."
::msgcat::mcset es "Checkers..." "Damas..."
::msgcat::mcset es "Default game variant." "Variante del juego por defecto."
::msgcat::mcset es "Draw (Opponent accepted)" "Empate (el oponente aceptó)"
::msgcat::mcset es "Draw (You accepted)" "Empate (aceptaste)"
::msgcat::mcset es "Flip board view when playing black (Russian, Spanish, Italian) or white (Straight, Pool, Brazilian) by default." "Rotar por defecto el tablero si juegas con las negras (rusas, españolas, italianas) o las blancas (Straight, Pool, brasileñas)."
::msgcat::mcset es "Flip board view when playing black (Russian, Spanish,\
Italian) or white (Straight, Pool, Brazilian) by default." "Rotar\
por defecto el tablero si juegas con las negras (rusas, españolas,\
italianas) o las blancas (Straight, Pool, brasileñas)."
::msgcat::mcset es "Flip view" "Rotar tablero"
::msgcat::mcset es "Games" "Juegos"
::msgcat::mcset es "History" "Historia"
......@@ -29,28 +43,43 @@
::msgcat::mcset es "I want play white" "Quiero jugar con las blancas"
::msgcat::mcset es "Italian checkers" "Damas italianas"
::msgcat::mcset es "Move: " "Movimiento: "
::msgcat::mcset es "Opponent wins (You resigned)" "El oponente gana (te rendiste)"
::msgcat::mcset es "Opponent wins (You resigned)" "El oponente gana (te\
rendiste)"
::msgcat::mcset es "Opponent wins" "El oponente gana"
::msgcat::mcset es "Plugins options." "Opciones de plugins."
::msgcat::mcset es "Pool checkers" "Damas Pool"
::msgcat::mcset es "Press button and make move if you want propose draw" "Pulsa el botón y haz un movimiento si quieres proponer un empate"
::msgcat::mcset es "Press button if you want accept the draw proposal" "Pulsa el botón si quieres aceptar la propuesta de empate"
::msgcat::mcset es "Press button if you want resign" "Pulsa el botón si quieres rendirte"
::msgcat::mcset es "Press button and make move if you want propose draw" \
"Pulsa el botón y haz un movimiento si quieres proponer un empate"
::msgcat::mcset es "Press button if you want accept the draw proposal" \
"Pulsa el botón si quieres aceptar la propuesta de empate"
::msgcat::mcset es "Press button if you want resign" "Pulsa el botón si\
quieres rendirte"
::msgcat::mcset es "Propose a draw" "Proponer un empate"
::msgcat::mcset es "Refuse to play" "Rechazar la invitación"
::msgcat::mcset es "Resign the game" "Rendirte"
::msgcat::mcset es "Russian checkers" "Damas rusas"
::msgcat::mcset es "Sending checkers game invitation to %s (%s)" "Enviando invitación para jugar a las damas a %s (%s)"
::msgcat::mcset es "Show last move by default." "Mostrar el último movimiento por defecto."
::msgcat::mcset es "Sending checkers game invitation to %s (%s)" "Enviando\
invitación para jugar a las damas a %s (%s)"
::msgcat::mcset es "Show last move by default." "Mostrar el último movimiento\
por defecto."
::msgcat::mcset es "Show last move" "Mostrar el último movimiento"
::msgcat::mcset es "Show tooltips with short instructions." "Mostrar pequeñas instrucciones de ayuda."
::msgcat::mcset es "Sound to play after opponent's turn" "Sonido a reproducir cuando el oponente haya movido"
::msgcat::mcset es "Show tooltips with short instructions." "Mostrar pequeñas\
instrucciones de ayuda."
::msgcat::mcset es "Sound to play after opponent's turn" "Sonido a reproducir\
cuando el oponente haya movido"
::msgcat::mcset es "Spanish checkers" "Damas españolas"
::msgcat::mcset es "Straight checkers (English draughts)" "Damas Straight (inglesas)"
::msgcat::mcset es "Straight checkers (English draughts)" "Damas Straight\
(inglesas)"
::msgcat::mcset es "Straight checkers" "Damas Straight"
::msgcat::mcset es "Whether the Checkers plugin is loaded." "Cargar el plugin Checkers."
::msgcat::mcset es "Whether the Checkers plugin is loaded." "Cargar el\
plugin Checkers."
::msgcat::mcset es "White" "Blanca"
::msgcat::mcset es "You win (Opponent resigned)" "Tu ganas (el oponente se rindió)"
::msgcat::mcset es "You win (Opponent resigned)" "Tu ganas (el oponente\
se rindió)"
::msgcat::mcset es "You win" "Tu ganas"
::msgcat::mcset es "\n\n Opponent proposes a draw\n\n" "\n\n El oponente propone un empate \n\n"
::msgcat::mcset es "\n\n Opponent rejected move:\n %s\n\n" "\n\n El oponente rechazó el movimiento:\n %s\n\n"
::msgcat::mcset es "\n\n Opponent proposes a draw\n\n" \
"\n\n El oponente propone un empate \n\n"
::msgcat::mcset es "\n\n Opponent rejected move:\n %s\n\n" \
"\n\n El oponente rechazó el movimiento:\n %s\n\n"
# vim:ft=tcl:ts=8:sw=4:sts=4:et
This diff is collapsed.
This diff is collapsed.
# ru.msg --
#
# Russian messages for the Checkers Tkabber plugin.
#
# Author: Sergei Golovan <sgolovan@nes.ru>
::msgcat::mcset ru "Plugins options." "Параметры расширений."
::msgcat::mcset ru "Show last move by default." "По умолчанию показывать последний ход."
::msgcat::mcset ru "Show last move by default." \
"По умолчанию показывать последний ход."
::msgcat::mcset ru " (You)" " (Вы)"
::msgcat::mcset ru " (Opponent)" " (Оппонент)"
::msgcat::mcset ru "Flip view" "Развернуть доску"
::msgcat::mcset ru "Checkers plugin options." "Параметры расширения Шашки."
::msgcat::mcset ru "Checkers figures theme." "Внешний вид шашек."
::msgcat::mcset ru "Show tooltips with short instructions." "Показывать всплывающие подсказки к элементам интерфейса."
::msgcat::mcset ru "Allow illegal moves (useful for debugging)." "Разрешать неправильные ходы (используется при отладке)."
::msgcat::mcset ru "Accept opponent illegal moves (useful for debugging)." "Принимать неправильные ходы от оппонента (используется при отладке)."
::msgcat::mcset ru "Show tooltips with short instructions." \
"Показывать всплывающие подсказки к элементам интерфейса."
::msgcat::mcset ru "Allow illegal moves (useful for debugging)." \
"Разрешать неправильные ходы (используется при отладке)."
::msgcat::mcset ru "Accept opponent illegal moves (useful for debugging)." \
"Принимать неправильные ходы от оппонента (используется при отладке)."
::msgcat::mcset ru "Checkers Invitation" "Приглашение сыграть в шашки"
::msgcat::mcset ru "Sending checkers game invitation to %s (%s)" "Посылаем приглашение сыграть в шашки с %s (%s)"
::msgcat::mcset ru "Sending checkers game invitation to %s (%s)" \
"Посылаем приглашение сыграть в шашки с %s (%s)"
::msgcat::mcset ru "I want play white" "Хочу играть белыми"
::msgcat::mcset ru "I want play black" "Хочу играть чёрными"
::msgcat::mcset ru "Cancel invitation" "Отменить приглашение"
::msgcat::mcset ru "%s (%s) has refused checkers invitation: %s" "%s (%s) отказался играть в шашки: %s"
::msgcat::mcset ru "Checkers Invitation from %s" "Приглашение сыграть в шашки с %s"
::msgcat::mcset ru "Checkers game invitation from %s (%s) is received." "Получено приглашение сыграть в шашки с %s (%s)"
::msgcat::mcset ru "%s (%s) has refused checkers invitation: %s" \
"%s (%s) отказался играть в шашки: %s"
::msgcat::mcset ru "Checkers Invitation from %s" \
"Приглашение сыграть в шашки с %s"
::msgcat::mcset ru "Checkers game invitation from %s (%s) is received." \
"Получено приглашение сыграть в шашки с %s (%s)"
::msgcat::mcset ru "%s wants play white." "%s хочет играть белыми"
::msgcat::mcset ru "%s wants play black." "%s хочет играть чёрными"
::msgcat::mcset ru "Agree to play" "Согласиться играть"
......@@ -32,17 +45,25 @@
::msgcat::mcset ru "Black" "Чёрные"
::msgcat::mcset ru "Opponent wins" "Оппонент выиграл"
::msgcat::mcset ru "You win" "Вы выиграли"
::msgcat::mcset ru "Opponent wins (You resigned)" "Оппонент выиграл (Вы сдались)"
::msgcat::mcset ru "You win (Opponent resigned)" "Вы выиграли (Оппонент сдался)"
::msgcat::mcset ru "Opponent wins (You resigned)" \
"Оппонент выиграл (Вы сдались)"
::msgcat::mcset ru "You win (Opponent resigned)" \
"Вы выиграли (Оппонент сдался)"
::msgcat::mcset ru "Draw (You accepted)" "Ничья (Вы приняли)"
::msgcat::mcset ru "Draw (Opponent accepted)" "Ничья (Оппонент принял)"
::msgcat::mcset ru "Press button and make move if you want propose draw" "Нажмите кнопку и сделайте ход, если хотите предложить ничью"
::msgcat::mcset ru "Press button if you want accept the draw proposal" "Нажмите кнопку, если хотите принять предложенную ничью"
::msgcat::mcset ru "Press button if you want resign" "Нажмите кнопку, если хотите сдаться"
::msgcat::mcset ru "\n\n Opponent proposes a draw\n\n" "\n\n Оппонент предлагает ничью\n\n"
::msgcat::mcset ru "\n\n Opponent rejected move:\n %s\n\n" "\n\n Оппонент отверг ход:\n %s\n\n"
::msgcat::mcset ru "Press button and make move if you want propose draw" \
"Нажмите кнопку и сделайте ход, если хотите предложить ничью"
::msgcat::mcset ru "Press button if you want accept the draw proposal" \
"Нажмите кнопку, если хотите принять предложенную ничью"
::msgcat::mcset ru "Press button if you want resign" \
"Нажмите кнопку, если хотите сдаться"
::msgcat::mcset ru "\n\n Opponent proposes a draw\n\n" \
"\n\n Оппонент предлагает ничью\n\n"
::msgcat::mcset ru "\n\n Opponent rejected move:\n %s\n\n" \
"\n\n Оппонент отверг ход:\n %s\n\n"
::msgcat::mcset ru "Games" "Игры"
::msgcat::mcset ru "Straight checkers (English draughts)" "Чекерс (английские шашки)"
::msgcat::mcset ru "Straight checkers (English draughts)" \
"Чекерс (английские шашки)"
::msgcat::mcset ru "Russian checkers" "Русские шашки"
::msgcat::mcset ru "Pool checkers" "Пул-чекерс"
::msgcat::mcset ru "Spanish checkers" "Испанские шашки"
......@@ -50,8 +71,16 @@
::msgcat::mcset ru "Straight checkers" "Чекерс"
::msgcat::mcset ru "Brazilian checkers" "Бразильские шашки"
::msgcat::mcset ru "Default game variant." "Вариант игры в шашки по умолчанию."
::msgcat::mcset ru "Flip board view when playing black (Russian, Spanish, Italian) or white (Straight, Pool, Brazilian) by default." "Разворачивать доску по умолчанию при игре чёрными (русские, испанские, итальянские шашки) или белыми (чекерс, пул-чекерс, бразильские шашки)."
::msgcat::mcset ru "Flip board view when playing black (Russian, Spanish,\
Italian) or white (Straight, Pool, Brazilian) by default." \
"Разворачивать доску по умолчанию при игре чёрными (русские,\
испанские, итальянские шашки) или белыми (чекерс, пул-чекерс,\
бразильские шашки)."
::msgcat::mcset ru "%s wants play %s." "%s хочет играть в %s"
::msgcat::mcset ru "%s with %s" "%s с %s"
::msgcat::mcset ru "Sound to play after opponent's turn" "Звук, который проигрывается после хода оппонента"
::msgcat::mcset ru "Whether the Checkers plugin is loaded." "Загружено ли расширение Шашки."
::msgcat::mcset ru "Sound to play after opponent's turn" \
"Звук, который проигрывается после хода оппонента"
::msgcat::mcset ru "Whether the Checkers plugin is loaded." \
"Загружено ли расширение Шашки."
# vim:ft=tcl:ts=8:sw=4:sts=4:et
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.