###
SUBDIRS = po
-xboard_LDADD = -lm @FRONTEND_LIBS@ @X_LIBS@ @LIBINTL@ @CAIRO_LIBS@
+xboard_LDADD = -ldl -lm @FRONTEND_LIBS@ @X_LIBS@ @LIBINTL@ @CAIRO_LIBS@
EXTRA_DIST = pixmaps themes png sounds winboard \
xboard.texi gpl.texinfo texi2man texinfo.tex xboard.man xboard.desktop xboard-config.desktop \
GITVERSION=$(shell sh -c 'git describe --dirty --always 2>/dev/null')
AM_CPPFLAGS=-DINFODIR='"$(infodir)"' @X_CFLAGS@ @CAIRO_CFLAGS@ @FRONTEND_CFLAGS@ -DSYSCONFDIR='"$(sysconfdir)"' \
- -DLOCALEDIR='"$(localedir)"' -DSVGDIR='"$(svgdir)"' -D__GIT_VERSION='"$(GITVERSION)"' $(headers)
+ -DLOCALEDIR='"$(localedir)"' -DSVGDIR='"$(svgdir)"' -D__GIT_VERSION='"$(GITVERSION)"' \
+ -DCONFIGURE_OPTIONS='"@CONFIGURE_OPTIONS@"' -DDATADIR='"$(datadir)/games/xboard"' $(headers)
ACLOCAL_AMFLAGS = -I m4
### icon files
-icondir = $(datadir)/icons/hicolor/48x48/apps
+icondir = @ICONSDIR@
dist_icon_DATA = xboard.png
-svgicondir = $(datadir)/icons/hicolor/scalable/apps
+svgicondir = @SVGICONSDIR@
dist_svgicon_DATA = xboard.svg
### desktop files for KDE and gnome
-Applicationsdir = $(datadir)/applications
+Applicationsdir = @DESKTOPDIR@
Applications_DATA = xboard.desktop xboard-fen-viewer.desktop xboard-pgn-viewer.desktop xboard-tourney.desktop xboard-config.desktop
### mime file
-mimedir = $(datadir)/mime/packages
+mimedir = @MIMEDIR@
mime_DATA = xboard.xml
+gamedatadir = @GAMEDATADIR@
+
### directory and files for svgs
-svgdir = $(datadir)/games/xboard/themes/default
+svgdir = $(gamedatadir)/themes/default
dist_svg_DATA = svg/icon_white.svg svg/icon_black.svg \
svg/BlackAdvisor.svg svg/WhiteAdvisor.svg \
svg/BlackArchbishop.svg svg/WhiteArchbishop.svg \
svg/BlackQueen.svg svg/WhiteQueen.svg \
svg/BlackRook.svg svg/WhiteRook.svg \
svg/BlackUnicorn.svg svg/WhiteUnicorn.svg \
+ svg/BlackSword.svg svg/WhiteSword.svg \
+ svg/BlackHSword.svg svg/WhiteHSword.svg \
+ svg/BlackLeopard.svg svg/WhiteLeopard.svg \
+ svg/BlackLion.svg svg/WhiteLion.svg \
+ svg/BlackPromoBishop.svg svg/WhitePromoBishop.svg \
+ svg/BlackPromoRook.svg svg/WhitePromoRook.svg \
+ svg/BlackPromoHorse.svg svg/WhitePromoHorse.svg \
+ svg/BlackPromoDragon.svg svg/WhitePromoDragon.svg \
+ svg/BlackPromoSword.svg svg/WhitePromoSword.svg \
+ svg/BlackPromoHSword.svg svg/WhitePromoHSword.svg \
+ svg/BlackHCrown.svg svg/WhiteHCrown.svg \
+ svg/BlackDolphin.svg svg/WhiteDolphin.svg \
+ svg/BlackClaw.svg svg/WhiteClaw.svg \
svg/eo_Analyzing.svg svg/eo_Black.svg \
svg/eo_Clear.svg svg/eo_Ponder.svg \
svg/eo_Thinking.svg svg/eo_Unknown.svg \
svg/eo_White.svg
-shogidir = $(datadir)/games/xboard/themes/shogi
+shogidir = $(gamedatadir)/themes/shogi
dist_shogi_DATA = \
themes/shogi/WhiteGold.svg themes/shogi/WhiteCrownedBishop.svg\
themes/shogi/WhiteBishop.svg themes/shogi/WhiteKing.svg\
themes/shogi/BlackRook.svg themes/shogi/BlackCrownedRook.svg\
themes/shogi/BlackAdvisor.svg themes/shogi/BlackGoldSilver.svg
-xiangqidir = $(datadir)/games/xboard/themes/xiangqi
+xiangqidir = $(gamedatadir)/themes/xiangqi
dist_xiangqi_DATA = themes/xiangqi/BlackAdvisor.svg themes/xiangqi/WhiteAdvisor.svg \
themes/xiangqi/BlackCanon.svg themes/xiangqi/WhiteCanon.svg \
themes/xiangqi/BlackElephant.svg themes/xiangqi/WhiteElephant.svg \
themes/xiangqi/BlackPawn.svg themes/xiangqi/WhitePawn.svg \
themes/xiangqi/BlackRook.svg themes/xiangqi/WhiteRook.svg
+### directory and files for themes (and other) configuration files
+
+themesdir = $(datadir)/games/xboard/themes/conf
+dist_themes_DATA = conf/shogi conf/xq conf/chu conf/ics conf/mini conf/mini.fen conf/sho conf/sho.fen
+
### directory and files for pixmaps
-pixmapsdir = $(datadir)/games/xboard/pixmaps/textures
-dist_pixmaps_DATA = pixmaps/cross32.xpm pixmaps/cross48.xpm pixmaps/board32.xpm pixmaps/board48.xpm pixmaps/ini32.xpm pixmaps/ini48.xpm
+pixmapsdir = $(gamedatadir)/pixmaps/textures
+dist_pixmaps_DATA = pixmaps/cross32.png pixmaps/cross48.png pixmaps/board32.png pixmaps/board48.png pixmaps/ini32.png pixmaps/ini48.png
### directory and files for pngs
-pngdir = $(datadir)/games/xboard/themes/textures
+pngdir = $(gamedatadir)/themes/textures
dist_png_DATA = png/hatch.png png/wood_d.png png/wood_l.png png/xqboard.png
### directory and files for sound files
-soundsdir = $(datadir)/games/xboard/sounds
+soundsdir = $(gamedatadir)/sounds
dist_sounds_DATA = \
sounds/cymbal.wav sounds/pop2.wav sounds/slap.wav sounds/ding1.wav sounds/laser.wav \
- sounds/woodthunk.wav sounds/gong.wav sounds/penalty.wav sounds/honkhonk.wav sounds/phone.wav
+ sounds/woodthunk.wav sounds/gong.wav sounds/penalty.wav sounds/honkhonk.wav sounds/phone.wav sounds/roar.wav
### set correct dir in xboard.conf
$(XDG_DESKTOP_MENU) install --mode system --novendor xboard-fen-viewer.desktop;\
$(XDG_DESKTOP_MENU) install --mode system --novendor xboard-tourney.desktop;\
$(XDG_DESKTOP_MENU) install --mode system --novendor xboard-config.desktop;\
- $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/board32.xpm application-x-chess-pgn;\
- $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/cross32.xpm application-x-xboard-trn;\
- $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/ini32.xpm application-x-xboard-opt;\
- $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/board48.xpm application-x-chess-pgn;\
- $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/cross48.xpm application-x-xboard-trn;\
- $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/ini48.xpm application-x-xboard-opt;\
+ $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/board32.png application-x-chess-pgn;\
+ $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/cross32.png application-x-xboard-trn;\
+ $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/ini32.png application-x-xboard-opt;\
+ $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/board48.png application-x-chess-pgn;\
+ $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/cross48.png application-x-xboard-trn;\
+ $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/ini48.png application-x-xboard-opt;\
fi
endif
$(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-fen-viewer.desktop;\
$(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-tourney.desktop;\
$(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-config.desktop;\
- $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 board32.xpm application-x-chess-pgn;\
- $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 cross32.xpm application-x-xboard-trn;\
- $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 ini32.xpm application-x-xboard-opt;\
- $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 board48.xpm application-x-chess-pgn;\
- $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 cross48.xpm application-x-xboard-trn;\
- $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 ini48.xpm application-x-xboard-opt;\
+ $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 board32.png application-x-chess-pgn;\
+ $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 cross32.png application-x-xboard-trn;\
+ $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 ini32.png application-x-xboard-opt;\
+ $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 board48.png application-x-chess-pgn;\
+ $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 cross48.png application-x-xboard-trn;\
+ $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 ini48.png application-x-xboard-opt;\
fi
endif
typedef enum {
ArgString, ArgInt, ArgFloat, ArgBoolean, ArgTrue, ArgFalse, ArgNone,
ArgColor, ArgAttribs, ArgFilename, ArgBoardSize, ArgFont, ArgCommSettings,
- ArgSettingsFilename, ArgBackupSettingsFile, ArgTwo,
+ ArgSettingsFilename, ArgBackupSettingsFile, ArgTwo, ArgInstall, ArgMaster,
ArgX, ArgY, ArgZ // [HGM] placement: for window-placement options stored relative to main window
} ArgType;
IcsTextMenuEntry icsTextMenuEntry[ICS_TEXT_MENU_SIZE];
int junk;
+unsigned int saveDate;
+unsigned int dateStamp;
Boolean singleList;
+Boolean autoClose;
char *homeDir;
char *firstEngineLine;
char *secondEngineLine;
{ "loadGameFile", ArgFilename, (void *) &appData.loadGameFile, FALSE, INVALID },
{ "", ArgNone, NULL, FALSE, INVALID },
/* keyword arguments */
+ { "saveDate", ArgInt, (void *) &saveDate, TRUE, 0 },
+ { "date", ArgInt, (void *) &dateStamp, FALSE, 0 },
+ { "autoClose", ArgTrue, (void *) &autoClose, FALSE, FALSE },
JAWS_ARGS
{ "whitePieceColor", ArgColor, (void *) 0, TRUE, (ArgIniType) WHITE_PIECE_COLOR },
{ "wpc", ArgColor, (void *) 0, FALSE, INVALID },
{ "soundSeek", ArgFilename, (void *) &appData.soundSeek, TRUE, (ArgIniType) "" },
{ "soundMove", ArgFilename, (void *) &appData.soundMove, TRUE, (ArgIniType) "" },
{ "soundBell", ArgFilename, (void *) &appData.soundBell, TRUE, (ArgIniType) SOUND_BELL },
+ { "soundRoar", ArgFilename, (void *) &appData.soundRoar, TRUE, (ArgIniType) "" },
{ "soundIcsWin", ArgFilename, (void *) &appData.soundIcsWin, TRUE, (ArgIniType) "" },
{ "soundIcsLoss", ArgFilename, (void *) &appData.soundIcsLoss, TRUE, (ArgIniType) "" },
{ "soundIcsDraw", ArgFilename, (void *) &appData.soundIcsDraw, TRUE, (ArgIniType) "" },
{ "secondChessProgramNames", ArgString, (void *) &secondChessProgramNames,
!XBOARD, (ArgIniType) SCP_NAMES },
{ "themeNames", ArgString, (void *) &appData.themeNames, !XBOARD, (ArgIniType) "native -upf false -ub false -ubt false -pid \"\"\n" },
+ { "addMasterOption", ArgMaster, NULL, FALSE, INVALID },
+ { "installEngine", ArgInstall, (void *) &firstChessProgramNames, FALSE, (ArgIniType) "" },
{ "initialMode", ArgString, (void *) &appData.initialMode, FALSE, (ArgIniType) "" },
{ "mode", ArgString, (void *) &appData.initialMode, FALSE, INVALID },
{ "variant", ArgString, (void *) &appData.variant, FALSE, (ArgIniType) "normal" },
{ "useBorder", ArgBoolean, (void *) &appData.useBorder, TRUE, (ArgIniType) FALSE },
{ "ub", ArgBoolean, (void *) &appData.useBorder, FALSE, INVALID },
{ "border", ArgFilename, (void *) &appData.border, TRUE, (ArgIniType) "" },
+ { "finger", ArgFilename, (void *) &appData.finger, FALSE, (ArgIniType) "" },
// [HGM] tournament options
{ "tourneyFile", ArgFilename, (void *) &appData.tourneyFile, FALSE, (ArgIniType) "" },
{ "topLevel", ArgBoolean, (void *) &appData.topLevel, XBOARD, (ArgIniType) TOPLEVEL },
{ "dialogColor", ArgString, (void *) &appData.dialogColor, XBOARD, (ArgIniType) "" },
{ "buttonColor", ArgString, (void *) &appData.buttonColor, XBOARD, (ArgIniType) "" },
+ { "firstDrawDepth", ArgInt, (void *) &appData.drawDepth[0], FALSE, (ArgIniType) 0 },
+ { "secondDrawDepth", ArgInt, (void *) &appData.drawDepth[1], FALSE, (ArgIniType) 0 },
#if ZIPPY
{ "zippyTalk", ArgBoolean, (void *) &appData.zippyTalk, FALSE, (ArgIniType) ZIPPY_TALK },
exit(2);
}
+void
+AppendToSettingsFile (char *line)
+{
+ char buf[MSG_SIZ];
+ FILE *f;
+ int c;
+ if(f = fopen(SETTINGS_FILE, "r")) {
+ do {
+ int i = 0;
+ while((buf[i] = c = fgetc(f)) != '\n' && c != EOF) if(i < MSG_SIZ-1) i++;
+ buf[i] = NULLCHAR;
+ if(!strcmp(line, buf)) return; // line occurs
+ } while(c != EOF);
+ // line did not occur; add it
+ fclose(f);
+ if(f = fopen(SETTINGS_FILE, "a")) {
+ TimeMark now;
+ GetTimeMark(&now);
+ fprintf(f, "-date %10lu\n%s\n", now.sec, line);
+ fclose(f);
+ }
+ }
+}
+
int
ValidateInt(char *s)
{
}
if (ok) {
f = fopen(fullname, "r");
+#ifdef DATADIR
+ if(f == NULL && *fullname != '/') { // when a relative name did not work
+ MySearchPath(DATADIR "/themes/conf", name, fullname); // also look in standard place
+ f = fopen(fullname, "r");
+ }
+#endif
if (f != NULL) {
if (addr != NULL) {
ASSIGN(*addr, fullname);
ParseCommPortSettings(argValue);
break;
+ case ArgMaster:
+ AppendToSettingsFile(argValue);
+ break;
+
+ case ArgInstall:
+ q = *(char **) ad->argLoc;
+ if((saveDate == 0 || saveDate - dateStamp < 0) && !strstr(q, argValue) ) {
+ int l = strlen(q) + strlen(argValue);
+ *(char **) ad->argLoc = malloc(l+2);
+ snprintf(*(char **) ad->argLoc, l+2, "%s%s\n", q, argValue);
+ free(q);
+ }
+ break;
+
case ArgNone:
ExitArgError(_("Unrecognized argument %s"), argValue, TRUE);
break;
appData.savePositionFile = strdup(buf);
}
+ if(autoClose) { // was called for updating settingsfile only
+ if(saveSettingsOnExit) SaveSettings(settingsFileName);
+ exit(0);
+ }
+
/* Finish initialization for fonts and sounds */
CreateFonts();
ArgDescriptor *ad;
char dir[MSG_SIZ], buf[MSG_SIZ];
int mps = appData.movesPerSession;
+ TimeMark now;
+
+ if (!MainWindowUp() && !autoClose) return;
- if (!MainWindowUp()) return;
+ GetTimeMark(&now); saveDate = now.sec;
GetCurrentDirectory(MSG_SIZ, dir);
if(MySearchPath(installDir, name, buf)) {
case ArgNone:
case ArgBackupSettingsFile:
case ArgSettingsFilename: ;
+ case ArgMaster: ;
+ case ArgInstall: ;
}
}
fclose(f);
#ifdef WIN32
#include <windows.h>
-int flock(int f, int code);
-#define LOCK_EX 2
-#define SLASH '\\'
+ int flock(int f, int code);
+# define LOCK_EX 2
+# define SLASH '\\'
+
+# ifdef ARC_64BIT
+# define EGBB_NAME "egbbdll64.dll"
+# else
+# define EGBB_NAME "egbbdll.dll"
+# endif
#else
-#include <sys/file.h>
-#define SLASH '/'
+# include <sys/file.h>
+# define SLASH '/'
+
+# include <dlfcn.h>
+# ifdef ARC_64BIT
+# define EGBB_NAME "egbbso64.so"
+# else
+# define EGBB_NAME "egbbso.so"
+# endif
+ // kludge to allow Windows code in back-end by converting it to corresponding Linux code
+# define CDECL
+# define HMODULE void *
+# define LoadLibrary(x) dlopen(x, RTLD_LAZY)
+# define GetProcAddress dlsym
#endif
static void ExcludeClick P((int index));
void ToggleSecond P((void));
void PauseEngine P((ChessProgramState *cps));
-static int NonStandardBoardSize P((void));
+static int NonStandardBoardSize P((VariantClass v, int w, int h, int s));
#ifdef WIN32
extern void ConsoleCreate();
extern int chatCount;
int chattingPartner;
char marker[BOARD_RANKS][BOARD_FILES]; /* [HGM] marks for target squares */
+char legal[BOARD_RANKS][BOARD_FILES]; /* [HGM] legal target squares */
char lastMsg[MSG_SIZ];
ChessSquare pieceSweep = EmptySquare;
ChessSquare promoSweep = EmptySquare, defaultPromoChoice;
int promoDefaultAltered;
int keepInfo = 0; /* [HGM] to protect PGN tags in auto-step game analysis */
+static int initPing = -1;
/* States for ics_getting_history */
#define H_FALSE 0
case VariantShatranj:
case VariantCourier:
case VariantMakruk:
+ case VariantASEAN:
case VariantGrand:
flags &= ~F_ALL_CASTLE_OK;
break;
BlackKing, BlackMan, BlackKnight, BlackRook }
};
+ChessSquare aseanArray[2][BOARD_FILES] = { /* [HGM] (movGen knows about Shatranj Q and P) */
+ { WhiteRook, WhiteKnight, WhiteMan, WhiteFerz,
+ WhiteKing, WhiteMan, WhiteKnight, WhiteRook },
+ { BlackRook, BlackKnight, BlackMan, BlackFerz,
+ BlackKing, BlackMan, BlackKnight, BlackRook }
+};
+
+ChessSquare lionArray[2][BOARD_FILES] = {
+ { WhiteRook, WhiteLion, WhiteBishop, WhiteQueen,
+ WhiteKing, WhiteBishop, WhiteKnight, WhiteRook },
+ { BlackRook, BlackLion, BlackBishop, BlackQueen,
+ BlackKing, BlackBishop, BlackKnight, BlackRook }
+};
+
#if (BOARD_FILES>=10)
ChessSquare ShogiArray[2][BOARD_FILES] = {
BlackMarshall, BlackAngel, BlackBishop, BlackKnight, EmptySquare }
};
+ChessSquare ChuChessArray[2][BOARD_FILES] = {
+ { WhiteMan, WhiteKnight, WhiteBishop, WhiteCardinal, WhiteLion,
+ WhiteQueen, WhiteDragon, WhiteBishop, WhiteKnight, WhiteMan },
+ { BlackMan, BlackKnight, BlackBishop, BlackDragon, BlackQueen,
+ BlackLion, BlackCardinal, BlackBishop, BlackKnight, BlackMan }
+};
+
#ifdef GOTHIC
ChessSquare GothicArray[2][BOARD_FILES] = {
{ WhiteRook, WhiteKnight, WhiteBishop, WhiteQueen, WhiteMarshall,
{ BlackRook, BlackKnight, BlackAlfil, BlackBishop, BlackMan, BlackKing,
BlackFerz, BlackWazir, BlackBishop, BlackAlfil, BlackKnight, BlackRook }
};
+ChessSquare ChuArray[6][BOARD_FILES] = {
+ { WhiteLance, WhiteUnicorn, WhiteMan, WhiteFerz, WhiteWazir, WhiteKing,
+ WhiteAlfil, WhiteWazir, WhiteFerz, WhiteMan, WhiteUnicorn, WhiteLance },
+ { BlackLance, BlackUnicorn, BlackMan, BlackFerz, BlackWazir, BlackAlfil,
+ BlackKing, BlackWazir, BlackFerz, BlackMan, BlackUnicorn, BlackLance },
+ { WhiteCannon, EmptySquare, WhiteBishop, EmptySquare, WhiteNightrider, WhiteMarshall,
+ WhiteAngel, WhiteNightrider, EmptySquare, WhiteBishop, EmptySquare, WhiteCannon },
+ { BlackCannon, EmptySquare, BlackBishop, EmptySquare, BlackNightrider, BlackAngel,
+ BlackMarshall, BlackNightrider, EmptySquare, BlackBishop, EmptySquare, BlackCannon },
+ { WhiteFalcon, WhiteSilver, WhiteRook, WhiteCardinal, WhiteDragon, WhiteLion,
+ WhiteQueen, WhiteDragon, WhiteCardinal, WhiteRook, WhiteSilver, WhiteFalcon },
+ { BlackFalcon, BlackSilver, BlackRook, BlackCardinal, BlackDragon, BlackQueen,
+ BlackLion, BlackDragon, BlackCardinal, BlackRook, BlackSilver, BlackFalcon }
+};
#else // !(BOARD_FILES>=12)
#define CourierArray CapablancaArray
+#define ChuArray CapablancaArray
#endif // !(BOARD_FILES>=12)
/* [HGM] debug */
cps->debug = FALSE;
+ cps->drawDepth = appData.drawDepth[n];
cps->supportsNPS = UNKNOWN;
cps->memSize = FALSE;
cps->maxCores = FALSE;
cps->scoreIsAbsolute = appData.scoreIsAbsolute[n]; /* [AS] */
cps->isUCI = appData.isUCI[n]; /* [AS] */
cps->hasOwnBookUCI = appData.hasOwnBookUCI[n]; /* [AS] */
+ cps->highlight = 0;
if (appData.protocolVersion[n] > PROTOVER
|| appData.protocolVersion[n] < 1)
void
Load (ChessProgramState *cps, int i)
{
- char *p, *q, buf[MSG_SIZ], command[MSG_SIZ], buf2[MSG_SIZ];
+ char *p, *q, buf[MSG_SIZ], command[MSG_SIZ], buf2[MSG_SIZ], buf3[MSG_SIZ], jar;
if(engineLine && engineLine[0]) { // an engine was selected from the combo box
snprintf(buf, MSG_SIZ, "-fcp %s", engineLine);
SwapEngines(i); // kludge to parse -f* / -first* like it is -s* / -second*
p[-1] = SLASH;
if(SLASH == '/' && p - engineName > 1) *(p -= 2) = '.'; // for XBoard use ./exeName as command after split!
} else { ASSIGN(appData.directory[i], "."); }
+ jar = (strstr(p, ".jar") == p + strlen(p) - 4);
if(params[0]) {
if(strchr(p, ' ') && !strchr(p, '"')) snprintf(buf2, MSG_SIZ, "\"%s\"", p), p = buf2; // quote if it contains spaces
snprintf(command, MSG_SIZ, "%s %s", p, params);
p = command;
}
+ if(jar) { snprintf(buf3, MSG_SIZ, "java -jar %s", p); p = buf3; }
ASSIGN(appData.chessProgram[i], p);
appData.isUCI[i] = isUCI;
appData.protocolVersion[i] = v1 ? 1 : PROTOVER;
case VariantCapablanca: /* [HGM] should work */
case VariantCourier: /* [HGM] initial forced moves not implemented */
case VariantShogi: /* [HGM] could still mate with pawn drop */
+ case VariantChu: /* [HGM] experimental */
case VariantKnightmate: /* [HGM] should work */
case VariantCylinder: /* [HGM] untested */
case VariantFalcon: /* [HGM] untested */
case Variant3Check: /* should work except for win condition */
case VariantShatranj: /* should work except for all win conditions */
case VariantMakruk: /* should work except for draw countdown */
+ case VariantASEAN : /* should work except for draw countdown */
case VariantBerolina: /* might work if TestLegality is off */
case VariantCapaRandom: /* should work */
case VariantJanus: /* should work */
case VariantSChess: /* S-Chess, should work */
case VariantGrand: /* should work */
case VariantSpartan: /* should work */
+ case VariantLion: /* should work */
+ case VariantChuChess: /* should work */
break;
}
}
NextTourneyGame(-1, &dummy);
ReserveGame(-1, 0);
if(nextGame <= appData.matchGames) {
- DisplayNote(_("You restarted an already completed tourney\nOne more cycle will now be added to it\nGames commence in 10 sec"));
+ DisplayNote(_("You restarted an already completed tourney.\nOne more cycle will now be added to it.\nGames commence in 10 sec."));
matchMode = mode;
ScheduleDelayedEvent(NextMatchGame, 10000);
return;
char buf[MSG_SIZ];
int err, len;
+ if(!appData.icsActive && !appData.noChessProgram && !appData.matchMode && // mode involves only first engine
+ !strcmp(appData.variant, "normal") && // no explicit variant request
+ appData.NrRanks == -1 && appData.NrFiles == -1 && appData.holdingsSize == -1 && // no size overrides requested
+ !SupportedVariant(first.variants, VariantNormal, 8, 8, 0, first.protocolVersion, "") && // but 'normal' won't work with engine
+ !SupportedVariant(first.variants, VariantFischeRandom, 8, 8, 0, first.protocolVersion, "") ) { // nor will Chess960
+ char c, *q = first.variants, *p = strchr(q, ',');
+ if(p) *p = NULLCHAR;
+ if(StringToVariant(q) != VariantUnknown) { // the engine can play a recognized variant, however
+ int w, h, s;
+ if(sscanf(q, "%dx%d+%d_%c", &w, &h, &s, &c) == 4) // get size overrides the engine needs with it (if any)
+ appData.NrFiles = w, appData.NrRanks = h, appData.holdingsSize = s, q = strchr(q, '_') + 1;
+ ASSIGN(appData.variant, q); // fake user requested the first variant played by the engine
+ Reset(TRUE, FALSE); // and re-initialize
+ }
+ if(p) *p = ',';
+ }
+
InitChessProgram(&first, startedFromSetupPosition);
if(!appData.noChessProgram) { /* [HGM] tidy: redo program version to use name from myname feature */
return retbuf;
}
+char engineVariant[MSG_SIZ];
char *variantNames[] = VARIANT_NAMES;
char *
VariantName (VariantClass v)
{
+ if(v == VariantUnknown || *engineVariant) return engineVariant;
return variantNames[v];
}
found = TRUE;
} else
for (i=0; i<sizeof(variantNames)/sizeof(char*); i++) {
- if (StrCaseStr(e, variantNames[i])) {
+ if (p = StrCaseStr(e, variantNames[i])) {
+ if(p && i >= VariantShogi && isalpha(p[strlen(variantNames[i])])) continue;
v = (VariantClass) i;
found = TRUE;
break;
} else {
char tmp[MSG_SIZ];
if(gameMode == IcsObserving) // restore original ICS messages
+ /* TRANSLATORS: to 'kibitz' is to send a message to all players and the game observers */
snprintf(tmp, MSG_SIZ, "%s kibitzes: %s", star_match[0], parse);
else
+ /* TRANSLATORS: to 'kibitz' is to send a message to all players and the game observers */
snprintf(tmp, MSG_SIZ, _("your opponent kibitzes: %s"), parse);
SendToPlayer(tmp, strlen(tmp));
}
default:
break;
case MT_CHECK:
- if(gameInfo.variant != VariantShogi)
+ if(!IS_SHOGI(gameInfo.variant))
strcat(parseList[moveNum - 1], "+");
break;
case MT_CHECKMATE:
char buf[MSG_SIZ];
if(moveList[moveNum][1] == '@' && moveList[moveNum][0] == '@') {
+ if(gameInfo.variant == VariantLion || gameInfo.variant == VariantChuChess || gameInfo.variant == VariantChu) {
+ sprintf(buf, "%s@@@@\n", cps->useUsermove ? "usermove " : "");
+ SendToProgram(buf, cps);
+ return;
+ }
// null move in variant where engine does not understand it (for analysis purposes)
SendBoard(cps, moveNum + 1); // send position after move in stead.
return;
}
else SendToProgram(moveList[moveNum], cps);
} else
+ if(moveList[moveNum][4] == ';') { // [HGM] lion: move is double-step over intermediate square
+ snprintf(buf, MSG_SIZ, "%c%d%c%d,%c%d%c%d\n", moveList[moveNum][0], moveList[moveNum][1] - '0', // convert to two moves
+ moveList[moveNum][5], moveList[moveNum][6] - '0',
+ moveList[moveNum][5], moveList[moveNum][6] - '0',
+ moveList[moveNum][2], moveList[moveNum][3] - '0');
+ SendToProgram(buf, cps);
+ } else
if(BOARD_HEIGHT > 10) { // [HGM] big: convert ranks to double-digit where needed
if(moveList[moveNum][1] == '@' && (BOARD_HEIGHT < 16 || moveList[moveNum][0] <= 'Z')) { // drop move
if(moveList[moveNum][0]== '@') snprintf(buf, MSG_SIZ, "@@@@\n"); else
break;
case WhitePromotion:
case BlackPromotion:
- if(gameInfo.variant == VariantShatranj || gameInfo.variant == VariantCourier || gameInfo.variant == VariantMakruk)
+ if(gameInfo.variant == VariantShatranj || gameInfo.variant == VariantCourier ||
+ gameInfo.variant == VariantMakruk || gameInfo.variant == VariantASEAN)
snprintf(user_move, MSG_SIZ, "%c%c%c%c=%c\n",
AAA + fromX, ONE + fromY, AAA + toX, ONE + toY,
PieceToChar(WhiteFerz));
SendToICS(ics_prefix);
SendToICS(buf);
if(startedFromSetupPosition || backwardMostMove != 0) {
- fen = PositionToFEN(backwardMostMove, NULL);
+ fen = PositionToFEN(backwardMostMove, NULL, 1);
if(ics_type == ICS_ICC) { // on ICC we can simply send a complete FEN to set everything
snprintf(buf, MSG_SIZ,"loadfen %s\n", fen);
SendToICS(buf);
SendToICS(ics_type == ICS_ICC ? "tag result Game in progress\n" : "commit\n");
}
+int killX = -1, killY = -1; // [HGM] lion: used for passing e.p. capture square to MakeMove
+
void
CoordsToComputerAlgebraic (int rf, int ff, int rt, int ft, char promoChar, char move[7])
{
if (promoChar == 'x' || promoChar == NULLCHAR) {
sprintf(move, "%c%c%c%c\n",
AAA + ff, ONE + rf, AAA + ft, ONE + rt);
+ if(killX >= 0 && killY >= 0) sprintf(move+4, ";%c%c\n", AAA + killX, ONE + killY);
} else {
sprintf(move, "%c%c%c%c%c\n",
AAA + ff, ONE + rf, AAA + ft, ONE + rt, promoChar);
}
-static int lastX, lastY, selectFlag, dragging;
+static int lastX, lastY, lastLeftX, lastLeftY, selectFlag;
+int dragging;
+static ClickType lastClickType;
+
+int
+Partner (ChessSquare *p)
+{ // change piece into promotion partner if one shogi-promotes to the other
+ int stride = gameInfo.variant == VariantChu ? 22 : 11;
+ ChessSquare partner;
+ partner = (*p/stride & 1 ? *p - stride : *p + stride);
+ if(PieceToChar(*p) != '+' && PieceToChar(partner) != '+') return 0;
+ *p = partner;
+ return 1;
+}
void
Sweep (int step)
{
ChessSquare king = WhiteKing, pawn = WhitePawn, last = promoSweep;
+ static int toggleFlag;
if(gameInfo.variant == VariantKnightmate) king = WhiteUnicorn;
if(gameInfo.variant == VariantSuicide || gameInfo.variant == VariantGiveaway) king = EmptySquare;
if(promoSweep >= BlackPawn) king = WHITE_TO_BLACK king, pawn = WHITE_TO_BLACK pawn;
if(gameInfo.variant == VariantSpartan && pawn == BlackPawn) pawn = BlackLance, king = EmptySquare;
- if(fromY != BOARD_HEIGHT-2 && fromY != 1) pawn = EmptySquare;
+ if(fromY != BOARD_HEIGHT-2 && fromY != 1 && gameInfo.variant != VariantChuChess) pawn = EmptySquare;
+ if(!step) toggleFlag = Partner(&last); // piece has shogi-promotion
do {
- promoSweep -= step;
+ if(step && !(toggleFlag && Partner(&promoSweep))) promoSweep -= step;
if(promoSweep == EmptySquare) promoSweep = BlackPawn; // wrap
else if((int)promoSweep == -1) promoSweep = WhiteKing;
else if(promoSweep == BlackPawn && step < 0) promoSweep = WhitePawn;
else if(promoSweep == WhiteKing && step > 0) promoSweep = BlackKing;
if(!step) step = -1;
} while(PieceToChar(promoSweep) == '.' || PieceToChar(promoSweep) == '~' || promoSweep == pawn ||
- appData.testLegality && (promoSweep == king ||
- gameInfo.variant == VariantShogi && promoSweep != PROMOTED last && last != PROMOTED promoSweep && last != promoSweep));
+ !toggleFlag && PieceToChar(promoSweep) == '+' || // skip promoted versions of other
+ appData.testLegality && (promoSweep == king || gameInfo.variant != VariantChuChess &&
+ (promoSweep == WhiteLion || promoSweep == BlackLion)));
if(toX >= 0) {
int victim = boards[currentMove][toY][toX];
boards[currentMove][toY][toX] = promoSweep;
case WhiteNonPromotion:
case BlackNonPromotion:
case NormalMove:
+ case FirstLeg:
case WhiteCapturesEnPassant:
case BlackCapturesEnPassant:
case WhiteKingSideCastle:
if (appData.testLegality) {
return (*moveType != IllegalMove);
} else {
- return !(*fromX == *toX && *fromY == *toY) && boards[moveNum][*fromY][*fromX] != EmptySquare &&
+ return !(*fromX == *toX && *fromY == *toY && killX < 0) && boards[moveNum][*fromY][*fromX] != EmptySquare &&
+ // [HGM] lion: if this is a double move we are less critical
WhiteOnMove(moveNum) == (boards[moveNum][*fromY][*fromX] < BlackPawn);
}
InitPosition (int redraw)
{
ChessSquare (* pieces)[BOARD_FILES];
- int i, j, pawnRow, overrule,
+ int i, j, pawnRow=1, pieceRows=1, overrule,
oldx = gameInfo.boardWidth,
oldy = gameInfo.boardHeight,
oldh = gameInfo.holdingsWidth;
case VariantMakruk:
pieces = makrukArray;
nrCastlingRights = 0;
- startedFromSetupPosition = TRUE;
SetCharTable(pieceToChar, "PN.R.M....SKpn.r.m....sk");
break;
+ case VariantASEAN:
+ pieces = aseanArray;
+ nrCastlingRights = 0;
+ SetCharTable(pieceToChar, "PN.R.Q....BKpn.r.q....bk");
+ break;
case VariantTwoKings:
pieces = twoKingsArray;
break;
nrCastlingRights = 0;
SetCharTable(pieceToChar, "PNBRLS...G.++++++Kpnbrls...g.++++++k");
break;
+ case VariantChu:
+ pieces = ChuArray; pieceRows = 3;
+ gameInfo.boardWidth = 12;
+ gameInfo.boardHeight = 12;
+ nrCastlingRights = 0;
+ SetCharTable(pieceToChar, "P.BRQSEXOGCATHD.VMLIFN+.++.++++++++++.+++++K"
+ "p.brqsexogcathd.vmlifn+.++.++++++++++.+++++k");
+ break;
case VariantCourier:
pieces = CourierArray;
gameInfo.boardWidth = 12;
pieces = SpartanArray;
SetCharTable(pieceToChar, "PNBRQ................K......lwg.....c...h..k");
break;
+ case VariantLion:
+ pieces = lionArray;
+ SetCharTable(pieceToChar, "PNBRQ................LKpnbrq................lk");
+ break;
+ case VariantChuChess:
+ pieces = ChuChessArray;
+ gameInfo.boardWidth = 10;
+ gameInfo.boardHeight = 10;
+ SetCharTable(pieceToChar, "PNBRQ.....M.+++......LKpnbrq.....m.+++......lk");
+ break;
case VariantFairy:
pieces = fairyArray;
SetCharTable(pieceToChar, "PNBRQFEACWMOHIJGDVLSUKpnbrqfeacwmohijgdvlsuk");
pawnRow = gameInfo.boardHeight - 7; /* seems to work in all common variants */
if(pawnRow < 1) pawnRow = 1;
- if(gameInfo.variant == VariantMakruk || gameInfo.variant == VariantGrand) pawnRow = 2;
+ if(gameInfo.variant == VariantMakruk || gameInfo.variant == VariantASEAN ||
+ gameInfo.variant == VariantGrand || gameInfo.variant == VariantChuChess) pawnRow = 2;
+ if(gameInfo.variant == VariantChu) pawnRow = 3;
/* User pieceToChar list overrules defaults */
if(appData.pieceToCharTable != NULL)
initialPosition[i][j] = s;
if(j < BOARD_LEFT || j >= BOARD_RGHT || overrule) continue;
- initialPosition[gameInfo.variant == VariantGrand][j] = pieces[0][j-gameInfo.holdingsWidth];
+ initialPosition[gameInfo.variant == VariantGrand || gameInfo.variant == VariantChuChess][j] = pieces[0][j-gameInfo.holdingsWidth];
initialPosition[pawnRow][j] = WhitePawn;
initialPosition[BOARD_HEIGHT-pawnRow-1][j] = gameInfo.variant == VariantSpartan ? BlackLance : BlackPawn;
if(gameInfo.variant == VariantXiangqi) {
}
}
}
- if(gameInfo.variant == VariantGrand) {
+ if(gameInfo.variant == VariantChu) {
+ if(j == (BOARD_WIDTH-2)/3 || j == BOARD_WIDTH - (BOARD_WIDTH+1)/3)
+ initialPosition[pawnRow+1][j] = WhiteCobra,
+ initialPosition[BOARD_HEIGHT-pawnRow-2][j] = BlackCobra;
+ for(i=1; i<pieceRows; i++) {
+ initialPosition[i][j] = pieces[2*i][j-gameInfo.holdingsWidth];
+ initialPosition[BOARD_HEIGHT-1-i][j] = pieces[2*i+1][j-gameInfo.holdingsWidth];
+ }
+ }
+ if(gameInfo.variant == VariantGrand || gameInfo.variant == VariantChuChess) {
if(j==BOARD_LEFT || j>=BOARD_RGHT-1) {
initialPosition[0][j] = WhiteRook;
initialPosition[BOARD_HEIGHT-1][j] = BlackRook;
}
}
- initialPosition[BOARD_HEIGHT-1-(gameInfo.variant == VariantGrand)][j] = pieces[1][j-gameInfo.holdingsWidth];
+ initialPosition[BOARD_HEIGHT-1-(gameInfo.variant == VariantGrand || gameInfo.variant == VariantChuChess)][j] = pieces[1][j-gameInfo.holdingsWidth];
}
+ if(gameInfo.variant == VariantChuChess) initialPosition[0][BOARD_WIDTH/2] = WhiteKing, initialPosition[BOARD_HEIGHT-1][BOARD_WIDTH/2-1] = BlackKing;
if( (gameInfo.variant == VariantShogi) && !overrule ) {
j=BOARD_LEFT+1;
char message[MSG_SIZ];
if (cps->useSetboard) {
- char* fen = PositionToFEN(moveNum, cps->fenOverride);
+ char* fen = PositionToFEN(moveNum, cps->fenOverride, 1);
snprintf(message, MSG_SIZ,"setboard %s\n", fen);
SendToProgram(message, cps);
free(fen);
DefaultPromoChoice (int white)
{
ChessSquare result;
- if(gameInfo.variant == VariantShatranj || gameInfo.variant == VariantCourier || gameInfo.variant == VariantMakruk)
+ if(gameInfo.variant == VariantShatranj || gameInfo.variant == VariantCourier ||
+ gameInfo.variant == VariantMakruk || gameInfo.variant == VariantASEAN)
result = WhiteFerz; // no choice
else if(gameInfo.variant == VariantSuicide || gameInfo.variant == VariantGiveaway)
result= WhiteKing; // in Suicide Q is the last thing we want
/* [HGM] rewritten IsPromotion to only flag promotions that offer a choice */
/* [HGM] add Shogi promotions */
int promotionZoneSize=1, highestPromotingPiece = (int)WhitePawn;
- ChessSquare piece;
+ ChessSquare piece, partner;
ChessMove moveType;
Boolean premove;
return FALSE;
piece = boards[currentMove][fromY][fromX];
- if(gameInfo.variant == VariantShogi) {
+ if(gameInfo.variant == VariantChu) {
+ int p = piece >= BlackPawn ? BLACK_TO_WHITE piece : piece;
+ promotionZoneSize = BOARD_HEIGHT/3;
+ highestPromotingPiece = (p >= WhiteLion || PieceToChar(piece + 22) == '.') ? WhitePawn : WhiteLion;
+ } else if(gameInfo.variant == VariantShogi || gameInfo.variant == VariantChuChess) {
promotionZoneSize = BOARD_HEIGHT/3;
- highestPromotingPiece = (int)WhiteFerz;
- } else if(gameInfo.variant == VariantMakruk || gameInfo.variant == VariantGrand) {
+ highestPromotingPiece = (int)WhiteAlfil;
+ } else if(gameInfo.variant == VariantMakruk || gameInfo.variant == VariantGrand || gameInfo.variant == VariantChuChess) {
promotionZoneSize = 3;
}
if((int)piece >= BlackPawn) {
if(toY >= promotionZoneSize && fromY >= promotionZoneSize)
return FALSE;
+ if(fromY < promotionZoneSize && gameInfo.variant == VariantChuChess) return FALSE;
highestPromotingPiece = WHITE_TO_BLACK highestPromotingPiece;
} else {
if( toY < BOARD_HEIGHT - promotionZoneSize &&
fromY < BOARD_HEIGHT - promotionZoneSize) return FALSE;
+ if(fromY >= BOARD_HEIGHT - promotionZoneSize && gameInfo.variant == VariantChuChess)
+ return FALSE;
}
if( (int)piece > highestPromotingPiece ) return FALSE; // non-promoting piece
}
// we either have a choice what to promote to, or (in Shogi) whether to promote
- if(gameInfo.variant == VariantShatranj || gameInfo.variant == VariantCourier || gameInfo.variant == VariantMakruk) {
- *promoChoice = PieceToChar(BlackFerz); // no choice
+ if(gameInfo.variant == VariantShatranj || gameInfo.variant == VariantCourier ||
+ gameInfo.variant == VariantMakruk || gameInfo.variant == VariantASEAN) {
+ ChessSquare p=BlackFerz; // no choice
+ while(p < EmptySquare) { //but make sure we use piece that exists
+ *promoChoice = PieceToChar(p++);
+ if(*promoChoice != '.') break;
+ }
return FALSE;
}
// no sense asking what we must promote to if it is going to explode...
}
// give caller the default choice even if we will not make it
*promoChoice = ToLower(PieceToChar(defaultPromoChoice));
- if(gameInfo.variant == VariantShogi) *promoChoice = (defaultPromoChoice == piece ? '=' : '+');
+ partner = piece; // pieces can promote if the pieceToCharTable says so
+ if(IS_SHOGI(gameInfo.variant)) *promoChoice = (defaultPromoChoice == piece && sweepSelect ? '=' : '+'); // obsolete?
+ else if(Partner(&partner)) *promoChoice = (defaultPromoChoice == piece && sweepSelect ? NULLCHAR : '+');
if( sweepSelect && gameInfo.variant != VariantGreat
&& gameInfo.variant != VariantGrand
&& gameInfo.variant != VariantSuper) return FALSE;
gameMode == IcsPlayingBlack && WhiteOnMove(currentMove);
if(appData.testLegality && !premove) {
moveType = LegalityTest(boards[currentMove], PosFlags(currentMove),
- fromY, fromX, toY, toX, gameInfo.variant == VariantShogi ? '+' : NULLCHAR);
+ fromY, fromX, toY, toX, IS_SHOGI(gameInfo.variant) || gameInfo.variant == VariantChuChess ? '+' : NULLCHAR);
+ if(moveType == IllegalMove) *promoChoice = NULLCHAR; // could be the fact we promoted was illegal
if(moveType != WhitePromotion && moveType != BlackPromotion)
return FALSE;
}
}
void
+MarkByFEN(char *fen)
+{
+ int r, f;
+ if(!appData.markers || !appData.highlightDragging) return;
+ for(r=0; r<BOARD_HEIGHT; r++) for(f=BOARD_LEFT; f<BOARD_RGHT; f++) legal[r][f] = 0;
+ r=BOARD_HEIGHT-1; f=BOARD_LEFT;
+ while(*fen) {
+ int s = 0;
+ marker[r][f] = 0;
+ if(*fen == 'M') legal[r][f] = 2; else // request promotion choice
+ if(*fen >= 'A' && *fen <= 'Z') legal[r][f] = 1; else
+ if(*fen >= 'a' && *fen <= 'z') *fen += 'A' - 'a';
+ if(*fen == '/' && f > BOARD_LEFT) f = BOARD_LEFT, r--; else
+ if(*fen == 'T') marker[r][f++] = 0; else
+ if(*fen == 'Y') marker[r][f++] = 1; else
+ if(*fen == 'G') marker[r][f++] = 3; else
+ if(*fen == 'B') marker[r][f++] = 4; else
+ if(*fen == 'C') marker[r][f++] = 5; else
+ if(*fen == 'M') marker[r][f++] = 6; else
+ if(*fen == 'W') marker[r][f++] = 7; else
+ if(*fen == 'D') marker[r][f++] = 8; else
+ if(*fen == 'R') marker[r][f++] = 2; else {
+ while(*fen <= '9' && *fen >= '0') s = 10*s + *fen++ - '0';
+ f += s; fen -= s>0;
+ }
+ while(f >= BOARD_RGHT) f -= BOARD_RGHT - BOARD_LEFT, r--;
+ if(r < 0) break;
+ fen++;
+ }
+ DrawPosition(TRUE, NULL);
+}
+
+static char baseMarker[BOARD_RANKS][BOARD_FILES], baseLegal[BOARD_RANKS][BOARD_FILES];
+
+void
Mark (Board board, int flags, ChessMove kind, int rf, int ff, int rt, int ft, VOIDSTAR closure)
{
typedef char Markers[BOARD_RANKS][BOARD_FILES];
Markers *m = (Markers *) closure;
- if(rf == fromY && ff == fromX)
+ if(rf == fromY && ff == fromX && (killX < 0 && !(rt == rf && ft == ff) || abs(ft-killX) < 2 && abs(rt-killY) < 2))
(*m)[rt][ft] = 1 + (board[rt][ft] != EmptySquare
|| kind == WhiteCapturesEnPassant
- || kind == BlackCapturesEnPassant);
+ || kind == BlackCapturesEnPassant) + 3*(kind == FirstLeg && killX < 0);
else if(flags & F_MANDATORY_CAPTURE && board[rt][ft] != EmptySquare) (*m)[rt][ft] = 3;
}
+static int hoverSavedValid;
+
void
MarkTargetSquares (int clear)
{
- int x, y;
- if(clear) // no reason to ever suppress clearing
- for(x=0; x<BOARD_WIDTH; x++) for(y=0; y<BOARD_HEIGHT; y++) marker[y][x] = 0;
- if(!appData.markers || !appData.highlightDragging || appData.icsActive && gameInfo.variant < VariantShogi ||
- !appData.testLegality || gameMode == EditPosition) return;
- if(!clear) {
+ int x, y, sum=0;
+ if(clear) { // no reason to ever suppress clearing
+ for(x=0; x<BOARD_WIDTH; x++) for(y=0; y<BOARD_HEIGHT; y++) sum += marker[y][x], marker[y][x] = 0;
+ hoverSavedValid = 0;
+ if(!sum) return; // nothing was cleared,no redraw needed
+ } else {
int capt = 0;
+ if(!appData.markers || !appData.highlightDragging || appData.icsActive && gameInfo.variant < VariantShogi ||
+ !appData.testLegality || gameMode == EditPosition) return;
GenLegal(boards[currentMove], PosFlags(currentMove), Mark, (void*) marker, EmptySquare);
if(PosFlags(0) & F_MANDATORY_CAPTURE) {
for(x=0; x<BOARD_WIDTH; x++) for(y=0; y<BOARD_HEIGHT; y++) if(marker[y][x]>1) capt++;
int
CanPromote (ChessSquare piece, int y)
{
+ int zone = (gameInfo.variant == VariantChuChess ? 3 : 1);
if(gameMode == EditPosition) return FALSE; // no promotions when editing position
// some variants have fixed promotion piece, no promotion at all, or another selection mechanism
- if(gameInfo.variant == VariantShogi || gameInfo.variant == VariantXiangqi ||
+ if(IS_SHOGI(gameInfo.variant) || gameInfo.variant == VariantXiangqi ||
gameInfo.variant == VariantSuper || gameInfo.variant == VariantGreat ||
gameInfo.variant == VariantShatranj || gameInfo.variant == VariantCourier ||
- gameInfo.variant == VariantMakruk) return FALSE;
- return (piece == BlackPawn && y == 1 ||
- piece == WhitePawn && y == BOARD_HEIGHT-2 ||
+ gameInfo.variant == VariantMakruk || gameInfo.variant == VariantASEAN) return FALSE;
+ return (piece == BlackPawn && y <= zone ||
+ piece == WhitePawn && y >= BOARD_HEIGHT-1-zone ||
piece == BlackLance && y == 1 ||
piece == WhiteLance && y == BOARD_HEIGHT-2 );
}
void
+HoverEvent (int xPix, int yPix, int x, int y)
+{
+ static int oldX = -1, oldY = -1, oldFromX = -1, oldFromY = -1;
+ int r, f;
+ if(!first.highlight) return;
+ if(fromX != oldFromX || fromY != oldFromY) oldX = oldY = -1; // kludge to fake entry on from-click
+ if(x == oldX && y == oldY) return; // only do something if we enter new square
+ oldFromX = fromX; oldFromY = fromY;
+ if(oldX == -1 && oldY == -1 && x == fromX && y == fromY) { // record markings after from-change
+ for(r=0; r<BOARD_HEIGHT; r++) for(f=BOARD_LEFT; f<BOARD_RGHT; f++)
+ baseMarker[r][f] = marker[r][f], baseLegal[r][f] = legal[r][f];
+ hoverSavedValid = 1;
+ } else if(oldX != x || oldY != y) {
+ // [HGM] lift: entered new to-square; redraw arrow, and inform engine
+ if(hoverSavedValid) // don't restore markers that are supposed to be cleared
+ for(r=0; r<BOARD_HEIGHT; r++) for(f=BOARD_LEFT; f<BOARD_RGHT; f++)
+ marker[r][f] = baseMarker[r][f], legal[r][f] = baseLegal[r][f];
+ if((marker[y][x] == 2 || marker[y][x] == 6) && legal[y][x]) {
+ char buf[MSG_SIZ];
+ snprintf(buf, MSG_SIZ, "hover %c%d\n", x + AAA, y + ONE - '0');
+ SendToProgram(buf, &first);
+ }
+ oldX = x; oldY = y;
+// SetHighlights(fromX, fromY, x, y);
+ }
+}
+
+void ReportClick(char *action, int x, int y)
+{
+ char buf[MSG_SIZ]; // Inform engine of what user does
+ int r, f;
+ if(action[0] == 'l') // mark any target square of a lifted piece as legal to-square, clear markers
+ for(r=0; r<BOARD_HEIGHT; r++) for(f=BOARD_LEFT; f<BOARD_RGHT; f++) legal[r][f] = 1, marker[r][f] = 0;
+ if(!first.highlight || gameMode == EditPosition) return;
+ snprintf(buf, MSG_SIZ, "%s %c%d%s\n", action, x+AAA, y+ONE-'0', controlKey && action[0]=='p' ? "," : "");
+ SendToProgram(buf, &first);
+}
+
+void
LeftClick (ClickType clickType, int xPix, int yPix)
{
int x, y;
prevClickTime = lastClickTime; GetTimeMark(&lastClickTime);
if (clickType == Press) ErrorPopDown();
+ lastClickType = clickType, lastLeftX = xPix, lastLeftY = yPix; // [HGM] alien: remember state
x = EventToSquare(xPix, BOARD_WIDTH);
y = EventToSquare(yPix, BOARD_HEIGHT);
if(gameMode == AnalyzeMode && (pausing || controlKey) && first.excludeMoves) { // use pause state to exclude moves
doubleClick = TRUE; gatingPiece = boards[currentMove][y][x];
}
- fromX = x; fromY = y; toX = toY = -1;
+ fromX = x; fromY = y; toX = toY = killX = killY = -1;
if(!appData.oneClick || !OnlyMove(&x, &y, FALSE) ||
// even if only move, we treat as normal when this would trigger a promotion popup, to allow sweep selection
appData.sweepSelect && CanPromote(boards[currentMove][fromY][fromX], fromY) && originalY != y) {
/* First square */
if (OKToStartUserMove(fromX, fromY)) {
second = 0;
+ ReportClick("lift", x, y);
MarkTargetSquares(0);
if(gameMode == EditPosition && controlKey) gatingPiece = boards[currentMove][fromY][fromX];
DragPieceBegin(xPix, yPix, FALSE); dragging = 1;
fromP = boards[currentMove][fromY][fromX];
toP = boards[currentMove][y][x];
frc = gameInfo.variant == VariantFischeRandom || gameInfo.variant == VariantCapaRandom || gameInfo.variant == VariantSChess;
- if ((WhitePawn <= fromP && fromP <= WhiteKing &&
+ if( (killX < 0 || x != fromX || y != fromY) && // [HGM] lion: do not interpret igui as deselect!
+ ((WhitePawn <= fromP && fromP <= WhiteKing &&
WhitePawn <= toP && toP <= WhiteKing &&
!(fromP == WhiteKing && toP == WhiteRook && frc) &&
!(fromP == WhiteRook && toP == WhiteKing && frc)) ||
(BlackPawn <= fromP && fromP <= BlackKing &&
BlackPawn <= toP && toP <= BlackKing &&
!(fromP == BlackRook && toP == BlackKing && frc) && // allow also RxK as FRC castling
- !(fromP == BlackKing && toP == BlackRook && frc))) {
+ !(fromP == BlackKing && toP == BlackRook && frc)))) {
/* Clicked again on same color piece -- changed his mind */
second = (x == fromX && y == fromY);
+ killX = killY = -1;
if(second && gameMode == AnalyzeMode && SubtractTimeMarks(&lastClickTime, &prevClickTime) < 200) {
second = FALSE; // first double-click rather than scond click
doubleClick = first.excludeMoves; // used by UserMoveEvent to recognize exclude moves
else gatingPiece = doubleClick ? fromP : EmptySquare;
fromX = x;
fromY = y; dragging = 1;
+ ReportClick("lift", x, y);
MarkTargetSquares(0);
DragPieceBegin(xPix, yPix, FALSE);
if(appData.sweepSelect && CanPromote(piece = boards[currentMove][y][x], y)) {
if(x < BOARD_LEFT || x >= BOARD_RGHT) return;
}
- if (clickType == Release && x == fromX && y == fromY) {
+ if (clickType == Release && x == fromX && y == fromY && killX < 0) {
DragPieceEnd(xPix, yPix); dragging = 0;
if(clearFlag) {
// a deferred attempt to click-click move an empty square on top of a piece
clearFlag = 0;
+ if(gameMode != EditPosition && !appData.testLegality && !legal[y][x] && (x != killX || y != killY) && !sweepSelecting) {
+ if(dragging) DragPieceEnd(xPix, yPix), dragging = 0;
+ DisplayMessage(_("only marked squares are legal"),"");
+ DrawPosition(TRUE, NULL);
+ return; // ignore to-click
+ }
+
/* we now have a different from- and (possibly off-board) to-square */
/* Completed move */
if(!sweepSelecting) {
toX = x;
toY = y;
- } else sweepSelecting = 0; // this must be the up-click corresponding to the down-click that started the sweep
+ }
+
+ piece = boards[currentMove][fromY][fromX];
saveAnimate = appData.animate;
if (clickType == Press) {
+ if(gameInfo.variant == VariantChuChess && piece != WhitePawn && piece != BlackPawn) defaultPromoChoice = piece;
if(gameMode == EditPosition && boards[currentMove][fromY][fromX] == EmptySquare) {
// must be Edit Position mode with empty-square selected
fromX = x; fromY = y; DragPieceBegin(xPix, yPix, FALSE); dragging = 1; // consider this a new attempt to drag
if(x >= BOARD_LEFT && x < BOARD_RGHT) clearFlag = 1; // and defer click-click move of empty-square to up-click
return;
}
- if(HasPromotionChoice(fromX, fromY, toX, toY, &promoChoice, FALSE)) {
+ if(dragging == 2) { // [HGM] lion: just turn buttonless drag into normal drag, and let release to the job
+ return;
+ }
+ if(x == killX && y == killY) { // second click on this square, which was selected as first-leg target
+ killX = killY = -1; // this informs us no second leg is coming, so treat as to-click without intermediate
+ } else
+ if(marker[y][x] == 5) return; // [HGM] lion: to-click on cyan square; defer action to release
+ if(legal[y][x] == 2 || HasPromotionChoice(fromX, fromY, toX, toY, &promoChoice, FALSE)) {
if(appData.sweepSelect) {
- ChessSquare piece = boards[currentMove][fromY][fromX];
promoSweep = defaultPromoChoice;
- if(PieceToChar(PROMOTED piece) == '+') promoSweep = PROMOTED piece;
+ if(gameInfo.variant != VariantChuChess && PieceToChar(CHUPROMOTED piece) == '+') promoSweep = CHUPROMOTED piece;
selectFlag = 0; lastX = xPix; lastY = yPix;
Sweep(0); // Pawn that is going to promote: preview promotion piece
sweepSelecting = 1;
} else {
ClearHighlights();
}
+ } else if(sweepSelecting) { // this must be the up-click corresponding to the down-click that started the sweep
+ sweepSelecting = 0; appData.animate = FALSE; // do not animate, a selected piece already on to-square
+ if (appData.animate || appData.highlightLastMove) {
+ SetHighlights(fromX, fromY, toX, toY);
+ } else {
+ ClearHighlights();
+ }
} else {
#if 0
// [HGM] this must be done after the move is made, as with arrow it could lead to a board redraw with piece still on from square
ClearHighlights();
}
#endif
+ if(gameInfo.variant == VariantChuChess && piece != WhitePawn && piece != BlackPawn) defaultPromoChoice = piece;
+ if(marker[y][x] == 5) { // [HGM] lion: this was the release of a to-click or drag on a cyan square
+ dragging *= 2; // flag button-less dragging if we are dragging
+ MarkTargetSquares(1);
+ if(x == killX && y == killY) killX = killY = -1; else {
+ killX = x; killY = y; //remeber this square as intermediate
+ ReportClick("put", x, y); // and inform engine
+ ReportClick("lift", x, y);
+ MarkTargetSquares(0);
+ return;
+ }
+ }
DragPieceEnd(xPix, yPix); dragging = 0;
/* Don't animate move and drag both */
appData.animate = FALSE;
// off-board moves should not be highlighted
if(x < 0 || y < 0) ClearHighlights();
+ else ReportClick("put", x, y);
if(gatingPiece != EmptySquare && gameInfo.variant == VariantSChess) promoChoice = ToLower(PieceToChar(gatingPiece));
DisplayMessage("Click in holdings to choose piece", "");
return;
}
- PromotionPopUp();
+ PromotionPopUp(promoChoice);
} else {
int oldMove = currentMove;
UserMoveEvent(fromX, fromY, toX, toY, promoChoice);
return 0;
}
+typedef int (CDECL *PPROBE_EGBB) (int player, int *piece, int *square);
+typedef int (CDECL *PLOAD_EGBB) (char *path, int cache_size, int load_options);
+static int egbbCode[] = { 6, 5, 4, 3, 2, 1 };
+
+static int
+BitbaseProbe ()
+{
+ int pieces[10], squares[10], cnt=0, r, f, res;
+ static int loaded;
+ static PPROBE_EGBB probeBB;
+ if(!appData.testLegality) return 10;
+ if(BOARD_HEIGHT != 8 || BOARD_RGHT-BOARD_LEFT != 8) return 12;
+ if(gameInfo.holdingsSize && gameInfo.variant != VariantSuper && gameInfo.variant != VariantSChess) return 12;
+ if(loaded == 2 && forwardMostMove < 2) loaded = 0; // retry on new game
+ for(r=0; r<BOARD_HEIGHT; r++) for(f=BOARD_LEFT; f<BOARD_RGHT; f++) {
+ ChessSquare piece = boards[forwardMostMove][r][f];
+ int black = (piece >= BlackPawn);
+ int type = piece - black*BlackPawn;
+ if(piece == EmptySquare) continue;
+ if(type != WhiteKing && type > WhiteQueen) return 12; // unorthodox piece
+ if(type == WhiteKing) type = WhiteQueen + 1;
+ type = egbbCode[type];
+ squares[cnt] = r*(BOARD_RGHT - BOARD_LEFT) + f - BOARD_LEFT;
+ pieces[cnt] = type + black*6;
+ if(++cnt > 5) return 11;
+ }
+ pieces[cnt] = squares[cnt] = 0;
+ // probe EGBB
+ if(loaded == 2) return 13; // loading failed before
+ if(loaded == 0) {
+ loaded = 2; // prepare for failure
+ char *p, *path = strstr(appData.egtFormats, "scorpio:"), buf[MSG_SIZ];
+ HMODULE lib;
+ PLOAD_EGBB loadBB;
+ if(!path) return 13; // no egbb installed
+ strncpy(buf, path + 8, MSG_SIZ);
+ if(p = strchr(buf, ',')) *p = NULLCHAR; else p = buf + strlen(buf);
+ snprintf(p, MSG_SIZ - strlen(buf), "%c%s", SLASH, EGBB_NAME);
+ lib = LoadLibrary(buf);
+ if(!lib) { DisplayError(_("could not load EGBB library"), 0); return 13; }
+ loadBB = (PLOAD_EGBB) GetProcAddress(lib, "load_egbb_xmen");
+ probeBB = (PPROBE_EGBB) GetProcAddress(lib, "probe_egbb_xmen");
+ if(!loadBB || !probeBB) { DisplayError(_("wrong EGBB version"), 0); return 13; }
+ p[1] = NULLCHAR; loadBB(buf, 64*1028, 2); // 2 = SMART_LOAD
+ loaded = 1; // success!
+ }
+ res = probeBB(forwardMostMove & 1, pieces, squares);
+ return res > 0 ? 1 : res < 0 ? -1 : 0;
+}
+
char *
SendMoveToBookUser (int moveNr, ChessProgramState *cps, int initial)
{ // [HGM] book: this routine intercepts moves to simulate book replies
char *bookHit = NULL;
+ if(cps->drawDepth && BitbaseProbe() == 0) { // [HG} egbb: reduce depth in drawn position
+ char buf[MSG_SIZ];
+ snprintf(buf, MSG_SIZ, "sd %d\n", cps->drawDepth);
+ SendToProgram(buf, cps);
+ }
//first determine if the incoming move brings opponent into his book
if(appData.usePolyglotBook && (cps == &first ? !appData.firstHasOwnBookUCI : !appData.secondHasOwnBookUCI))
bookHit = ProbeBook(moveNr+1, appData.polyglotBook); // returns move
void
HandleMachineMove (char *message, ChessProgramState *cps)
{
+ static char firstLeg[20];
char machineMove[MSG_SIZ], buf1[MSG_SIZ*10], buf2[MSG_SIZ];
char realname[MSG_SIZ];
int fromX, fromY, toX, toY;
ChessMove moveType;
- char promoChar;
+ char promoChar, roar;
char *p, *pv=buf1;
int machineWhite, oldError;
char *bookHit;
}
if(cps->alphaRank) AlphaRank(machineMove, 4);
+
+ // [HGM] lion: (some very limited) support for Alien protocol
+ killX = killY = -1;
+ if(machineMove[strlen(machineMove)-1] == ',') { // move ends in coma: non-final leg of composite move
+ safeStrCpy(firstLeg, machineMove, 20); // just remember it for processing when second leg arrives
+ return;
+ } else if(firstLeg[0]) { // there was a previous leg;
+ // only support case where same piece makes two step (and don't even test that!)
+ char buf[20], *p = machineMove+1, *q = buf+1, f;
+ safeStrCpy(buf, machineMove, 20);
+ while(isdigit(*q)) q++; // find start of to-square
+ safeStrCpy(machineMove, firstLeg, 20);
+ while(isdigit(*p)) p++;
+ safeStrCpy(p, q, 20); // glue to-square of second leg to from-square of first, to process over-all move
+ sscanf(buf, "%c%d", &f, &killY); killX = f - AAA; killY -= ONE - '0'; // pass intermediate square to MakeMove in global
+ firstLeg[0] = NULLCHAR;
+ }
+
if (!ParseOneMove(machineMove, forwardMostMove, &moveType,
&fromX, &fromY, &toX, &toY, &promoChar)) {
/* Machine move could not be parsed; ignore it. */
snprintf(buf1, MSG_SIZ*10, _("Illegal move \"%s\" from %s machine"),
machineMove, _(cps->which));
DisplayMoveError(buf1);
- snprintf(buf1, MSG_SIZ*10, "Xboard: Forfeit due to invalid move: %s (%c%c%c%c) res=%d",
- machineMove, fromX+AAA, fromY+ONE, toX+AAA, toY+ONE, moveType);
+ snprintf(buf1, MSG_SIZ*10, "Xboard: Forfeit due to invalid move: %s (%c%c%c%c via %c%c) res=%d",
+ machineMove, fromX+AAA, fromY+ONE, toX+AAA, toY+ONE, killX+AAA, killY+ONE, moveType);
if (gameMode == TwoMachinesPlay) {
GameEnds(machineWhite ? BlackWins : WhiteWins,
buf1, GE_XBOARD);
MakeMove(fromX, fromY, toX, toY, promoChar);/*updates forwardMostMove*/
+ /* Test suites abort the 'game' after one move */
+ if(*appData.finger) {
+ static FILE *f;
+ char *fen = PositionToFEN(backwardMostMove, NULL, 0); // no counts in EPD
+ if(!f) f = fopen(appData.finger, "w");
+ if(f) fprintf(f, "%s bm %s;\n", fen, parseList[backwardMostMove]), fflush(f);
+ else { DisplayFatalError("Bad output file", errno, 0); return; }
+ free(fen);
+ GameEnds(GameUnfinished, NULL, GE_XBOARD);
+ }
+
/* [AS] Adjudicate game if needed (note: remember that forwardMostMove now points past the last move) */
if( gameMode == TwoMachinesPlay && adjudicateLossThreshold != 0 && forwardMostMove >= adjudicateLossPlies ) {
int count = 0;
cps->other->maybeThinking = TRUE;
}
+ roar = (killX >= 0 && IS_LION(boards[forwardMostMove][toY][toX]));
+
ShowMove(fromX, fromY, toX, toY); /*updates currentMove*/
if (!pausing && appData.ringBellAfterMoves) {
- RingBell();
+ if(!roar) RingBell();
}
/*
}
if (!strncmp(message, "setup ", 6) &&
- (!appData.testLegality || gameInfo.variant == VariantFairy || NonStandardBoardSize())
+ (!appData.testLegality || gameInfo.variant == VariantFairy || gameInfo.variant == VariantUnknown ||
+ NonStandardBoardSize(gameInfo.variant, gameInfo.boardWidth, gameInfo.boardHeight, gameInfo.holdingsSize))
) { // [HGM] allow first engine to define opening position
- int dummy, s=6; char buf[MSG_SIZ];
+ int dummy, w, h, hand, s=6; char buf[MSG_SIZ], varName[MSG_SIZ];
if(appData.icsActive || forwardMostMove != 0 || cps != &first) return;
+ *buf = NULLCHAR;
if(sscanf(message, "setup (%s", buf) == 1) s = 8 + strlen(buf), buf[s-9] = NULLCHAR, SetCharTable(pieceToChar, buf);
if(startedFromSetupPosition) return;
- if(sscanf(message+s, "%dx%d+%d", &dummy, &dummy, &dummy) == 3) while(message[s] && message[s++] != ' '); // for compatibility with Alien Edition
- ParseFEN(boards[0], &dummy, message+s);
+ dummy = sscanf(message+s, "%dx%d+%d_%s", &w, &h, &hand, varName);
+ if(dummy >= 3) {
+ while(message[s] && message[s++] != ' ');
+ if(BOARD_HEIGHT != h || BOARD_WIDTH != w + 4*(hand != 0) || gameInfo.holdingsSize != hand ||
+ dummy == 4 && gameInfo.variant != StringToVariant(varName) ) { // engine wants to change board format or variant
+ appData.NrFiles = w; appData.NrRanks = h; appData.holdingsSize = hand;
+ if(dummy == 4) gameInfo.variant = StringToVariant(varName); // parent variant
+ InitPosition(1); // calls InitDrawingSizes to let new parameters take effect
+ if(*buf) SetCharTable(pieceToChar, buf); // do again, for it was spoiled by InitPosition
+ }
+ }
+ ParseFEN(boards[0], &dummy, message+s, FALSE);
DrawPosition(TRUE, boards[0]);
startedFromSetupPosition = TRUE;
return;
GameEnds(GameUnfinished, "Engine aborts game", GE_XBOARD);
- if (!ParseFEN(initial_position, &blackPlaysFirst, message + 9)) {
+ if (!ParseFEN(initial_position, &blackPlaysFirst, message + 9, FALSE)) {
DisplayError(_("Bad FEN received from engine"), 0);
return ;
} else {
}
}
if (sscanf(message, "pong %d", &cps->lastPong) == 1) {
+ if(initPing == cps->lastPong) {
+ if(gameInfo.variant == VariantUnknown) {
+ DisplayError(_("Engine did not send setup for non-standard variant"), 0);
+ *engineVariant = NULLCHAR; appData.variant = VariantNormal; // back to normal as error recovery?
+ GameEnds(GameUnfinished, NULL, GE_XBOARD);
+ }
+ initPing = -1;
+ }
+ return;
+ }
+ if(!strncmp(message, "highlight ", 10)) {
+ if(appData.testLegality && appData.markers) return;
+ MarkByFEN(message+10); // [HGM] alien: allow engine to mark board squares
+ return;
+ }
+ if(!strncmp(message, "click ", 6)) {
+ char f, c=0; int x, y; // [HGM] alien: allow engine to finish user moves (i.e. engine-driven one-click moving)
+ if(appData.testLegality || !appData.oneClick) return;
+ sscanf(message+6, "%c%d%c", &f, &y, &c);
+ x = f - 'a' + BOARD_LEFT, y -= ONE - '0';
+ if(flipView) x = BOARD_WIDTH-1 - x; else y = BOARD_HEIGHT-1 - y;
+ x = x*squareSize + (x+1)*lineGap + squareSize/2;
+ y = y*squareSize + (y+1)*lineGap + squareSize/2;
+ f = first.highlight; first.highlight = 0; // kludge to suppress lift/put in response to own clicks
+ if(lastClickType == Press) // if button still down, fake release on same square, to be ready for next click
+ LeftClick(Release, lastLeftX, lastLeftY);
+ controlKey = (c == ',');
+ LeftClick(Press, x, y);
+ LeftClick(Release, x, y);
+ first.highlight = f;
return;
}
/*
DisplayInformation(_("Machine accepts your draw offer"));
GameEnds(GameIsDrawn, "Draw agreed", GE_XBOARD);
} else {
- DisplayInformation(_("Machine offers a draw\nSelect Action / Draw to agree"));
+ DisplayInformation(_("Machine offers a draw.\nSelect Action / Draw to accept."));
}
}
}
if(f = fopen(buf, "w")) { // export PV to applicable PV file
fprintf(f, "%5.2f/%-2d %s", curscore/100., plylev, pv);
fclose(f);
- } else DisplayError(_("failed writing PV"), 0);
+ }
+ else
+ /* TRANSLATORS: PV = principal variation, the variation the chess engine thinks is the best for everyone */
+ DisplayError(_("failed writing PV"), 0);
}
tempStats.depth = plylev;
case WhiteNonPromotion:
case BlackNonPromotion:
case NormalMove:
+ case FirstLeg:
case WhiteCapturesEnPassant:
case BlackCapturesEnPassant:
case WhiteKingSideCastle:
default:
break;
case MT_CHECK:
- if(gameInfo.variant != VariantShogi)
+ if(!IS_SHOGI(gameInfo.variant))
strcat(parseList[boardIndex - 1], "+");
break;
case MT_CHECKMATE:
ApplyMove (int fromX, int fromY, int toX, int toY, int promoChar, Board board)
{
ChessSquare captured = board[toY][toX], piece, king; int p, oldEP = EP_NONE, berolina = 0;
- int promoRank = gameInfo.variant == VariantMakruk || gameInfo.variant == VariantGrand ? 3 : 1;
+ int promoRank = gameInfo.variant == VariantMakruk || gameInfo.variant == VariantGrand || gameInfo.variant == VariantChuChess ? 3 : 1;
/* [HGM] compute & store e.p. status and castling rights for new position */
/* we can always do that 'in place', now pointers to these rights are passed to ApplyMove */
}
piece = board[toY][toX] = (ChessSquare) fromX;
} else {
+ ChessSquare victim;
int i;
- if( board[toY][toX] != EmptySquare )
+ if( killX >= 0 && killY >= 0 ) // [HGM] lion: Lion trampled over something
+ victim = board[killY][killX],
+ board[killY][killX] = EmptySquare,
board[EP_STATUS] = EP_CAPTURE;
+ if( board[toY][toX] != EmptySquare ) {
+ board[EP_STATUS] = EP_CAPTURE;
+ if( (fromX != toX || fromY != toY) && // not igui!
+ (captured == WhiteLion && board[fromY][fromX] != BlackLion ||
+ captured == BlackLion && board[fromY][fromX] != WhiteLion ) ) { // [HGM] lion: Chu Lion-capture rules
+ board[EP_STATUS] = EP_IRON_LION; // non-Lion x Lion: no counter-strike allowed
+ }
+ }
+
if( board[fromY][fromX] == WhiteLance || board[fromY][fromX] == BlackLance ) {
if( gameInfo.variant != VariantSuper && gameInfo.variant != VariantShogi )
board[EP_STATUS] = EP_PAWN_MOVE; // Lance is Pawn-like in most variants
board[toY][toX+1] = board[fromY][BOARD_LEFT];
board[fromY][BOARD_LEFT] = EmptySquare;
} else if ((board[fromY][fromX] == WhitePawn && gameInfo.variant != VariantXiangqi ||
- board[fromY][fromX] == WhiteLance && gameInfo.variant != VariantSuper && gameInfo.variant != VariantShogi)
+ board[fromY][fromX] == WhiteLance && gameInfo.variant != VariantSuper && gameInfo.variant != VariantChu)
&& toY >= BOARD_HEIGHT-promoRank && promoChar // defaulting to Q is done elsewhere
) {
/* white pawn promotion */
board[fromY][0] = EmptySquare;
board[toY][2] = BlackRook;
} else if ((board[fromY][fromX] == BlackPawn && gameInfo.variant != VariantXiangqi ||
- board[fromY][fromX] == BlackLance && gameInfo.variant != VariantSuper && gameInfo.variant != VariantShogi)
+ board[fromY][fromX] == BlackLance && gameInfo.variant != VariantSuper && gameInfo.variant != VariantChu)
&& toY < promoRank && promoChar
) {
/* black pawn promotion */
board[fromY][fromX+1] = EmptySquare;
}
} else {
- board[toY][toX] = board[fromY][fromX];
+ ChessSquare piece = board[fromY][fromX]; // [HGM] lion: allow for igui (where from == to)
board[fromY][fromX] = EmptySquare;
+ board[toY][toX] = piece;
}
}
board[toY][toX] = EmptySquare;
}
}
+
if(gameInfo.variant == VariantSChess && promoChar != NULLCHAR && promoChar != '=' && piece != WhitePawn && piece != BlackPawn) {
board[fromY][fromX] = CharToPiece(piece < BlackPawn ? ToUpper(promoChar) : ToLower(promoChar)); // S-Chess gating
} else
if(promoChar == '+') {
/* [HGM] Shogi-style promotions, to piece implied by original (Might overwrite ordinary Pawn promotion) */
- board[toY][toX] = (ChessSquare) (PROMOTED piece);
+ board[toY][toX] = (ChessSquare) (CHUPROMOTED piece);
+ if(gameInfo.variant == VariantChuChess && (piece == WhiteKnight || piece == BlackKnight))
+ board[toY][toX] = piece + WhiteLion - WhiteKnight; // adjust Knight promotions to Lion
} else if(!appData.testLegality && promoChar != NULLCHAR && promoChar != '=') { // without legality testing, unconditionally believe promoChar
ChessSquare newPiece = CharToPiece(piece < BlackPawn ? ToUpper(promoChar) : ToLower(promoChar));
if((newPiece <= WhiteMan || newPiece >= BlackPawn && newPiece <= BlackMan) // unpromoted piece specified
board[BOARD_HEIGHT-1-k][0] = EmptySquare;
}
}
-
}
/* Updates forwardMostMove */
void
MakeMove (int fromX, int fromY, int toX, int toY, int promoChar)
{
+ int x = toX, y = toY;
+ char *s = parseList[forwardMostMove];
+ ChessSquare p = boards[forwardMostMove][toY][toX];
// forwardMostMove++; // [HGM] bare: moved downstream
+ if(killX >= 0 && killY >= 0) x = killX, y = killY; // [HGM] lion: make SAN move to intermediate square, if there is one
(void) CoordsToAlgebraic(boards[forwardMostMove],
PosFlags(forwardMostMove),
- fromY, fromX, toY, toX, promoChar,
- parseList[forwardMostMove]);
+ fromY, fromX, y, x, promoChar,
+ s);
+ if(killX >= 0 && killY >= 0)
+ sprintf(s + strlen(s), "%c%c%d", p == EmptySquare || toX == fromX && toY == fromY ? '-' : 'x', toX + AAA, toY + ONE - '0');
if(serverMoves != NULL) { /* [HGM] write moves on file for broadcasting (should be separate routine, really) */
int timeLeft; static int lastLoadFlag=0; int king, piece;
default:
break;
case MT_CHECK:
- if(gameInfo.variant != VariantShogi)
+ if(!IS_SHOGI(gameInfo.variant))
strcat(parseList[forwardMostMove - 1], "+");
break;
case MT_CHECKMATE:
strcat(parseList[forwardMostMove - 1], "#");
break;
}
-
}
/* Updates currentMove if not pausing */
currentMove = forwardMostMove;
}
+ killX = killY = -1; // [HGM] lion: used up
+
if (instant) return;
DisplayMove(currentMove - 1);
}
static int
-NonStandardBoardSize ()
-{
- /* [HGM] Awkward testing. Should really be a table */
- int overruled = gameInfo.boardWidth != 8 || gameInfo.boardHeight != 8 || gameInfo.holdingsSize != 0;
- if( gameInfo.variant == VariantXiangqi )
- overruled = gameInfo.boardWidth != 9 || gameInfo.boardHeight != 10 || gameInfo.holdingsSize != 0;
- if( gameInfo.variant == VariantShogi )
- overruled = gameInfo.boardWidth != 9 || gameInfo.boardHeight != 9 || gameInfo.holdingsSize != 7;
- if( gameInfo.variant == VariantBughouse || gameInfo.variant == VariantCrazyhouse )
- overruled = gameInfo.boardWidth != 8 || gameInfo.boardHeight != 8 || gameInfo.holdingsSize != 5;
- if( gameInfo.variant == VariantCapablanca || gameInfo.variant == VariantCapaRandom ||
- gameInfo.variant == VariantGothic || gameInfo.variant == VariantFalcon || gameInfo.variant == VariantJanus )
- overruled = gameInfo.boardWidth != 10 || gameInfo.boardHeight != 8 || gameInfo.holdingsSize != 0;
- if( gameInfo.variant == VariantCourier )
- overruled = gameInfo.boardWidth != 12 || gameInfo.boardHeight != 8 || gameInfo.holdingsSize != 0;
- if( gameInfo.variant == VariantSuper )
- overruled = gameInfo.boardWidth != 8 || gameInfo.boardHeight != 8 || gameInfo.holdingsSize != 8;
- if( gameInfo.variant == VariantGreat )
- overruled = gameInfo.boardWidth != 10 || gameInfo.boardHeight != 8 || gameInfo.holdingsSize != 8;
- if( gameInfo.variant == VariantSChess )
- overruled = gameInfo.boardWidth != 8 || gameInfo.boardHeight != 8 || gameInfo.holdingsSize != 7;
- if( gameInfo.variant == VariantGrand )
- overruled = gameInfo.boardWidth != 10 || gameInfo.boardHeight != 10 || gameInfo.holdingsSize != 7;
- return overruled;
+NonStandardBoardSize (VariantClass v, int boardWidth, int boardHeight, int holdingsSize)
+{
+ int width = 8, height = 8, holdings = 0; // most common sizes
+ if( v == VariantUnknown || *engineVariant) return 0; // engine-defined name never needs prefix
+ // correct the deviations default for each variant
+ if( v == VariantXiangqi ) width = 9, height = 10;
+ if( v == VariantShogi ) width = 9, height = 9, holdings = 7;
+ if( v == VariantBughouse || v == VariantCrazyhouse) holdings = 5;
+ if( v == VariantCapablanca || v == VariantCapaRandom ||
+ v == VariantGothic || v == VariantFalcon || v == VariantJanus )
+ width = 10;
+ if( v == VariantCourier ) width = 12;
+ if( v == VariantSuper ) holdings = 8;
+ if( v == VariantGreat ) width = 10, holdings = 8;
+ if( v == VariantSChess ) holdings = 7;
+ if( v == VariantGrand ) width = 10, height = 10, holdings = 7;
+ if( v == VariantChuChess) width = 10, height = 10;
+ if( v == VariantChu ) width = 12, height = 12;
+ return boardWidth >= 0 && boardWidth != width || // -1 is default,
+ boardHeight >= 0 && boardHeight != height || // and thus by definition OK
+ holdingsSize >= 0 && holdingsSize != holdings;
+}
+
+char variantError[MSG_SIZ];
+
+char *
+SupportedVariant (char *list, VariantClass v, int boardWidth, int boardHeight, int holdingsSize, int proto, char *engine)
+{ // returns error message (recognizable by upper-case) if engine does not support the variant
+ char *p, *variant = VariantName(v);
+ static char b[MSG_SIZ];
+ if(NonStandardBoardSize(v, boardWidth, boardHeight, holdingsSize)) { /* [HGM] make prefix for non-standard board size. */
+ snprintf(b, MSG_SIZ, "%dx%d+%d_%s", boardWidth, boardHeight,
+ holdingsSize, variant); // cook up sized variant name
+ /* [HGM] varsize: try first if this deviant size variant is specifically known */
+ if(StrStr(list, b) == NULL) {
+ // specific sized variant not known, check if general sizing allowed
+ if(proto != 1 && StrStr(list, "boardsize") == NULL) {
+ snprintf(variantError, MSG_SIZ, "Board size %dx%d+%d not supported by %s",
+ boardWidth, boardHeight, holdingsSize, engine);
+ return NULL;
+ }
+ /* [HGM] here we really should compare with the maximum supported board size */
+ }
+ } else snprintf(b, MSG_SIZ,"%s", variant);
+ if(proto == 1) return b; // for protocol 1 we cannot check and hope for the best
+ p = StrStr(list, b);
+ while(p && (p != list && p[-1] != ',' || p[strlen(b)] && p[strlen(b)] != ',') ) p = StrStr(p+1, b);
+ if(p == NULL) {
+ // occurs not at all in list, or only as sub-string
+ snprintf(variantError, MSG_SIZ, _("Variant %s not supported by %s"), b, engine);
+ if(p = StrStr(list, b)) { // handle requesting parent variant when only size-overridden is supported
+ int l = strlen(variantError);
+ char *q;
+ while(p != list && p[-1] != ',') p--;
+ q = strchr(p, ',');
+ if(q) *q = NULLCHAR;
+ snprintf(variantError + l, MSG_SIZ - l, _(", but %s is"), p);
+ if(q) *q= ',';
+ }
+ return NULL;
+ }
+ return b;
}
void
InitChessProgram (ChessProgramState *cps, int setup)
/* setup needed to setup FRC opening position */
{
- char buf[MSG_SIZ], b[MSG_SIZ];
+ char buf[MSG_SIZ], *b;
if (appData.noChessProgram) return;
hintRequested = FALSE;
bookRequested = FALSE;
if (gameInfo.variant != VariantNormal &&
gameInfo.variant != VariantLoadable
/* [HGM] also send variant if board size non-standard */
- || gameInfo.boardWidth != 8 || gameInfo.boardHeight != 8 || gameInfo.holdingsSize != 0
- ) {
- char *v = VariantName(gameInfo.variant);
- if (cps->protocolVersion != 1 && StrStr(cps->variants, v) == NULL) {
- /* [HGM] in protocol 1 we have to assume all variants valid */
- snprintf(buf, MSG_SIZ, _("Variant %s not supported by %s"), v, cps->tidy);
- DisplayFatalError(buf, 0, 1);
+ || gameInfo.boardWidth != 8 || gameInfo.boardHeight != 8 || gameInfo.holdingsSize != 0) {
+
+ b = SupportedVariant(cps->variants, gameInfo.variant, gameInfo.boardWidth,
+ gameInfo.boardHeight, gameInfo.holdingsSize, cps->protocolVersion, cps->tidy);
+ if (b == NULL) {
+ DisplayFatalError(variantError, 0, 1);
return;
}
- if(NonStandardBoardSize()) { /* [HGM] make prefix for non-standard board size. */
- snprintf(b, MSG_SIZ, "%dx%d+%d_%s", gameInfo.boardWidth, gameInfo.boardHeight,
- gameInfo.holdingsSize, VariantName(gameInfo.variant)); // cook up sized variant name
- /* [HGM] varsize: try first if this defiant size variant is specifically known */
- if(StrStr(cps->variants, b) == NULL) {
- // specific sized variant not known, check if general sizing allowed
- if (cps->protocolVersion != 1) { // for protocol 1 we cannot check and hope for the best
- if(StrStr(cps->variants, "boardsize") == NULL) {
- snprintf(buf, MSG_SIZ, "Board size %dx%d+%d not supported by %s",
- gameInfo.boardWidth, gameInfo.boardHeight, gameInfo.holdingsSize, cps->tidy);
- DisplayFatalError(buf, 0, 1);
- return;
- }
- /* [HGM] here we really should compare with the maximum supported board size */
- }
- }
- } else snprintf(b, MSG_SIZ,"%s", VariantName(gameInfo.variant));
snprintf(buf, MSG_SIZ, "variant %s\n", b);
SendToProgram(buf, cps);
}
SendToProgram("easy\n", cps);
}
if (cps->usePing) {
- snprintf(buf, MSG_SIZ, "ping %d\n", ++cps->lastPing);
+ snprintf(buf, MSG_SIZ, "ping %d\n", initPing = ++cps->lastPing);
SendToProgram(buf, cps);
}
cps->initDone = TRUE;
SWAP(fenOverride, p)
SWAP(NPS, h)
SWAP(accumulateTC, h)
+ SWAP(drawDepth, h)
SWAP(host, p)
}
result, resultDetails ? resultDetails : "(null)", whosays);
}
- fromX = fromY = -1; // [HGM] abort any move the user is entering.
+ fromX = fromY = killX = killY = -1; // [HGM] abort any move the user is entering. // [HGM] lion
if(pausing) PauseEvent(); // can happen when we abort a paused game (New Game or Quit)
PlayIcsUnfinishedSound();
}
}
+ if(appData.quitNext) { ExitEvent(0); return; }
} else if (gameMode == EditGame ||
gameMode == PlayFromGameFile ||
gameMode == AnalyzeMode ||
if(currentlyInitializedVariant != gameInfo.variant) {
char buf[MSG_SIZ];
// [HGM] variantswitch: make engine aware of new variant
- if(cps->protocolVersion > 1 && StrStr(cps->variants, VariantName(gameInfo.variant)) == NULL)
+ if(!SupportedVariant(cps->variants, gameInfo.variant, gameInfo.boardWidth,
+ gameInfo.boardHeight, gameInfo.holdingsSize, cps->protocolVersion, ""))
return; // [HGM] refrain from feeding moves altogether if variant is unsupported!
snprintf(buf, MSG_SIZ, "variant %s\n", VariantName(gameInfo.variant));
SendToProgram(buf, cps);
lastHint[0] = NULLCHAR;
ClearGameInfo(&gameInfo);
gameInfo.variant = StringToVariant(appData.variant);
+ if(gameInfo.variant == VariantNormal && strcmp(appData.variant, "normal")) gameInfo.variant = VariantUnknown;
ics_user_moved = ics_clock_paused = FALSE;
ics_getting_history = H_FALSE;
ics_gamenum = -1;
ClearPremoveHighlights();
gotPremove = FALSE;
alarmSounded = FALSE;
+ killX = killY = -1; // [HGM] lion
GameEnds(EndOfFile, NULL, GE_PLAYER);
if(appData.serverMovesName != NULL) {
case WhiteNonPromotion:
case BlackNonPromotion:
case NormalMove:
+ case FirstLeg:
case WhiteKingSideCastle:
case WhiteQueenSideCastle:
case BlackKingSideCastle:
toX = currentMoveString[2] - AAA;
toY = currentMoveString[3] - ONE;
promoChar = currentMoveString[4];
+ if(promoChar == ';') promoChar = NULLCHAR;
break;
case WhiteDrop:
thinkOutput[0] = NULLCHAR;
MakeMove(fromX, fromY, toX, toY, promoChar);
+ killX = killY = -1; // [HGM] lion: used up
currentMove = forwardMostMove;
return TRUE;
}
for(next = WhitePawn; next<EmptySquare; next++) keys[next] = random()>>8 ^ random()<<6 ^random()<<20;
initDone = TRUE;
}
- if(lg->gameInfo.fen) ParseFEN(boards[scratch], &btm, lg->gameInfo.fen);
+ if(lg->gameInfo.fen) ParseFEN(boards[scratch], &btm, lg->gameInfo.fen, FALSE);
else CopyBoard(boards[scratch], initialPosition); // default start position
if(lg->moves) {
turn = btm + 1;
case WhiteNonPromotion:
case BlackNonPromotion:
case NormalMove:
+ case FirstLeg:
case WhiteKingSideCastle:
case WhiteQueenSideCastle:
case BlackKingSideCastle:
if (gameMode != BeginningOfGame) {
Reset(FALSE, TRUE);
}
+ killX = killY = -1; // [HGM] lion: in case we did not Reset
gameFileFP = f;
if (lastLoadGameFP != NULL && lastLoadGameFP != f) {
break;
case NormalMove:
+ case FirstLeg:
/* Only a NormalMove can be at the start of a game
* without a position diagram. */
if (lastLoadGameStart == EndOfFile ) {
if (gameInfo.fen != NULL) {
Board initial_position;
startedFromSetupPosition = TRUE;
- if (!ParseFEN(initial_position, &blackPlaysFirst, gameInfo.fen)) {
+ if (!ParseFEN(initial_position, &blackPlaysFirst, gameInfo.fen, TRUE)) {
Reset(TRUE, TRUE);
DisplayError(_("Bad FEN position in file"), 0);
return FALSE;
AnalyzeFileEvent();
}
+ if(gameInfo.result == GameUnfinished && gameInfo.resultDetails && appData.clockMode) {
+ long int w, b; // [HGM] adjourn: restore saved clock times
+ char *p = strstr(gameInfo.resultDetails, "(Clocks:");
+ if(p && sscanf(p+8, "%ld,%ld", &w, &b) == 2) {
+ timeRemaining[0][forwardMostMove] = whiteTimeRemaining = 1000*w + 500;
+ timeRemaining[1][forwardMostMove] = blackTimeRemaining = 1000*b + 500;
+ }
+ }
+
if(creatingBook) return TRUE;
if (!matchMode && pos > 0) {
ToNrEvent(pos); // [HGM] no autoplay if selected on position
}
if (fenMode) {
- if (!ParseFEN(initial_position, &blackPlaysFirst, line)) {
+ if (!ParseFEN(initial_position, &blackPlaysFirst, line, TRUE)) {
DisplayError(_("Bad FEN position in file"), 0);
return FALSE;
}
if(appData.numberTag && matchMode) fprintf(f, "[Number \"%d\"]\n", nextGame+1); // [HGM] number tag
if (backwardMostMove > 0 || startedFromSetupPosition) {
- char *fen = PositionToFEN(backwardMostMove, NULL);
+ char *fen = PositionToFEN(backwardMostMove, NULL, 1);
fprintf(f, "[FEN \"%s\"]\n[SetUp \"1\"]\n", fen);
fprintf(f, "\n{--------------\n");
PrintPosition(f, backwardMostMove);
/* Print result */
if (gameInfo.resultDetails != NULL &&
gameInfo.resultDetails[0] != NULLCHAR) {
- fprintf(f, "{%s} %s\n\n", gameInfo.resultDetails,
- PGNResult(gameInfo.result));
+ char buf[MSG_SIZ], *p = gameInfo.resultDetails;
+ if(gameInfo.result == GameUnfinished && appData.clockMode &&
+ (gameMode == MachinePlaysWhite || gameMode == MachinePlaysBlack || gameMode == TwoMachinesPlay)) // [HGM] adjourn: save clock settings
+ snprintf(buf, MSG_SIZ, "%s (Clocks: %ld, %ld)", p, whiteTimeRemaining/1000, blackTimeRemaining/1000), p = buf;
+ fprintf(f, "{%s} %s\n\n", p, PGNResult(gameInfo.result));
} else {
fprintf(f, "%s\n\n", PGNResult(gameInfo.result));
}
PrintPosition(f, currentMove);
fprintf(f, "--------------]\n");
} else {
- fen = PositionToFEN(currentMove, NULL);
+ fen = PositionToFEN(currentMove, NULL, 1);
fprintf(f, "%s\n", fen);
free(fen);
}
case MachinePlaysWhite:
case MachinePlaysBlack:
if (WhiteOnMove(forwardMostMove) == (gameMode == MachinePlaysWhite)) {
- DisplayError(_("Wait until your turn,\nor select Move Now"), 0);
+ DisplayError(_("Wait until your turn,\nor select 'Move Now'."), 0);
return;
}
/* fall through */
}
if(WaitForEngine(&second, TwoMachinesEventIfReady)) return; // (if needed:) started up second engine, so wait for features
- if(second.protocolVersion >= 2 && !strstr(second.variants, VariantName(gameInfo.variant))) {
+ if(!SupportedVariant(second.variants, gameInfo.variant, gameInfo.boardWidth,
+ gameInfo.boardHeight, gameInfo.holdingsSize, second.protocolVersion, second.tidy)) {
startingEngine = FALSE;
DisplayError("second engine does not play this", 0);
return;
{
char buf[MSG_SIZ];
ChessSquare piece = boards[0][y][x];
+ static Board erasedBoard, currentBoard, menuBoard, nullBoard;
+ static int lastVariant;
if (gameMode != EditPosition && gameMode != IcsExamining) return;
switch (selection) {
case ClearBoard:
+ CopyBoard(currentBoard, boards[0]);
+ CopyBoard(menuBoard, initialPosition);
if (gameMode == IcsExamining && ics_type == ICS_FICS) {
SendToICS(ics_prefix);
SendToICS("bsetup clear\n");
SendToICS(ics_prefix);
SendToICS("clearboard\n");
} else {
+ int nonEmpty = 0;
for (x = 0; x < BOARD_WIDTH; x++) { ChessSquare p = EmptySquare;
if(x == BOARD_LEFT-1 || x == BOARD_RGHT) p = (ChessSquare) 0; /* [HGM] holdings */
for (y = 0; y < BOARD_HEIGHT; y++) {
SendToICS(buf);
}
} else {
+ if(boards[0][y][x] != p) nonEmpty++;
boards[0][y][x] = p;
}
}
+ menuBoard[1][x] = menuBoard[BOARD_HEIGHT-2][x] = p;
+ }
+ if(gameMode != IcsExamining) { // [HGM] editpos: cycle trough boards
+ for(x = BOARD_LEFT; x < BOARD_RGHT; x++) { // create 'menu board' by removing duplicates
+ ChessSquare p = menuBoard[0][x];
+ for(y = x + 1; y < BOARD_RGHT; y++) if(menuBoard[0][y] == p) menuBoard[0][y] = EmptySquare;
+ p = menuBoard[BOARD_HEIGHT-1][x];
+ for(y = x + 1; y < BOARD_RGHT; y++) if(menuBoard[BOARD_HEIGHT-1][y] == p) menuBoard[BOARD_HEIGHT-1][y] = EmptySquare;
+ }
+ DisplayMessage("Clicking clock again restores position", "");
+ if(gameInfo.variant != lastVariant) lastVariant = gameInfo.variant, CopyBoard(erasedBoard, boards[0]);
+ if(!nonEmpty) { // asked to clear an empty board
+ CopyBoard(boards[0], menuBoard);
+ } else
+ if(CompareBoards(currentBoard, menuBoard)) { // asked to clear an empty board
+ CopyBoard(boards[0], initialPosition);
+ } else
+ if(CompareBoards(currentBoard, initialPosition) && !CompareBoards(currentBoard, erasedBoard)
+ && !CompareBoards(nullBoard, erasedBoard)) {
+ CopyBoard(boards[0], erasedBoard);
+ } else
+ CopyBoard(erasedBoard, currentBoard);
+
}
}
if (gameMode == EditPosition) {
if(gameInfo.variant == VariantShatranj ||
gameInfo.variant == VariantXiangqi ||
gameInfo.variant == VariantCourier ||
+ gameInfo.variant == VariantASEAN ||
gameInfo.variant == VariantMakruk )
selection = (ChessSquare)((int)selection - (int)WhiteQueen + (int)WhiteFerz);
goto defaultlabel;
case MachinePlaysWhite:
case MachinePlaysBlack:
if (WhiteOnMove(forwardMostMove) == (gameMode == MachinePlaysWhite)) {
- DisplayError(_("Wait until your turn,\nor select Move Now"), 0);
+ DisplayError(_("Wait until your turn,\nor select 'Move Now'."), 0);
return;
}
if (forwardMostMove < 2) return;
switch (gameMode) {
case MachinePlaysWhite:
if (WhiteOnMove(forwardMostMove)) {
- DisplayError(_("Wait until your turn"), 0);
+ DisplayError(_("Wait until your turn."), 0);
return;
}
break;
case BeginningOfGame:
case MachinePlaysBlack:
if (!WhiteOnMove(forwardMostMove)) {
- DisplayError(_("Wait until your turn"), 0);
+ DisplayError(_("Wait until your turn."), 0);
return;
}
break;
switch (gameMode) {
case MachinePlaysWhite:
if (WhiteOnMove(forwardMostMove)) {
- DisplayError(_("Wait until your turn"), 0);
+ DisplayError(_("Wait until your turn."), 0);
return;
}
break;
case BeginningOfGame:
case MachinePlaysBlack:
if (!WhiteOnMove(forwardMostMove)) {
- DisplayError(_("Wait until your turn"), 0);
+ DisplayError(_("Wait until your turn."), 0);
return;
}
break;
SendToProgram(message, cps);
}
+char *
+EngineDefinedVariant (ChessProgramState *cps, int n)
+{ // return name of n-th unknown variant that engine supports
+ static char buf[MSG_SIZ];
+ char *p, *s = cps->variants;
+ if(!s) return NULL;
+ do { // parse string from variants feature
+ VariantClass v;
+ p = strchr(s, ',');
+ if(p) *p = NULLCHAR;
+ v = StringToVariant(s);
+ if(v == VariantNormal && strcmp(s, "normal") && !strstr(s, "_normal")) v = VariantUnknown; // garbage is recognized as normal
+ if(v == VariantUnknown) { // non-standard variant in list of engine-supported variants
+ if(--n < 0) safeStrCpy(buf, s, MSG_SIZ);
+ }
+ if(p) *p++ = ',';
+ if(n < 0) return buf;
+ } while(s = p);
+ return NULL;
+}
+
int
BoolFeature (char **p, char *name, int *loc, ChessProgramState *cps)
{
/* End of additions by Tord */
/* [HGM] added features: */
+ if (BoolFeature(&p, "highlight", &cps->highlight, cps)) continue;
if (BoolFeature(&p, "debug", &cps->debug, cps)) continue;
if (BoolFeature(&p, "nps", &cps->supportsNPS, cps)) continue;
if (IntFeature(&p, "level", &cps->maxNrOfSessions, cps)) continue;
ChessMove moveType;
// [HGM] FENedit
- if(gameMode == EditPosition && ParseFEN(board, &n, move) ) {
+ if(gameMode == EditPosition && ParseFEN(board, &n, move, TRUE) ) {
EditPositionPasteFEN(move);
return;
}
char *
-PositionToFEN (int move, char *overrideCastling)
+PositionToFEN (int move, char *overrideCastling, int moveCounts)
{
int i, j, fromX, fromY, toX, toY;
int whiteToPlay;
*p++ = '+';
piece = (ChessSquare)(DEMOTED piece);
}
- *p++ = PieceToChar(piece);
+ *p++ = (piece == DarkSquare ? '*' : PieceToChar(piece));
if(p[-1] == '~') {
/* [HGM] flag promoted pieces as '<promoted>~' (Crazyhouse) */
p[-1] = PieceToChar((ChessSquare)(DEMOTED piece));
}
if(gameInfo.variant != VariantShogi && gameInfo.variant != VariantXiangqi &&
- gameInfo.variant != VariantShatranj && gameInfo.variant != VariantCourier && gameInfo.variant != VariantMakruk ) {
+ gameInfo.variant != VariantShatranj && gameInfo.variant != VariantCourier &&
+ gameInfo.variant != VariantMakruk && gameInfo.variant != VariantASEAN ) {
/* En passant target square */
if (move > backwardMostMove) {
fromX = moveList[move - 1][0] - AAA;
}
}
- /* [HGM] find reversible plies */
+ if(moveCounts)
{ int i = 0, j=move;
+ /* [HGM] find reversible plies */
if (appData.debugMode) { int k;
fprintf(debugFP, "write FEN 50-move: %d %d %d\n", initialRulePlies, forwardMostMove, backwardMostMove);
for(k=backwardMostMove; k<=forwardMostMove; k++)
if( j == backwardMostMove ) i += initialRulePlies;
sprintf(p, "%d ", i);
p += i>=100 ? 4 : i >= 10 ? 3 : 2;
- }
- /* Fullmove number */
- sprintf(p, "%d", (move / 2) + 1);
+
+ /* Fullmove number */
+ sprintf(p, "%d", (move / 2) + 1);
+ } else *--p = NULLCHAR;
return StrSave(buf);
}
Boolean
-ParseFEN (Board board, int *blackPlaysFirst, char *fen)
+ParseFEN (Board board, int *blackPlaysFirst, char *fen, Boolean autoSize)
{
- int i, j;
+ int i, j, k, w=0;
char *p, c;
int emptycount, virgin[BOARD_FILES];
ChessSquare piece;
p = fen;
- /* [HGM] by default clear Crazyhouse holdings, if present */
- if(gameInfo.holdingsWidth) {
- for(i=0; i<BOARD_HEIGHT; i++) {
- board[i][0] = EmptySquare; /* black holdings */
- board[i][BOARD_WIDTH-1] = EmptySquare; /* white holdings */
- board[i][1] = (ChessSquare) 0; /* black counts */
- board[i][BOARD_WIDTH-2] = (ChessSquare) 0; /* white counts */
- }
- }
-
/* Piece placement data */
for (i = BOARD_HEIGHT - 1; i >= 0; i--) {
j = 0;
for (;;) {
- if (*p == '/' || *p == ' ' || (*p == '[' && i == 0) ) {
- if (*p == '/') p++;
+ if (*p == '/' || *p == ' ' || *p == '[' ) {
+ if(j > w) w = j;
emptycount = gameInfo.boardWidth - j;
while (emptycount--)
board[i][(j++)+gameInfo.holdingsWidth] = EmptySquare;
+ if (*p == '/') p++;
+ else if(autoSize) { // we stumbled unexpectedly into end of board
+ for(k=i; k<BOARD_HEIGHT; k++) { // too few ranks; shift towards bottom
+ for(j=0; j<BOARD_WIDTH; j++) board[k-i][j] = board[k][j];
+ }
+ appData.NrRanks = gameInfo.boardHeight - i; i=0;
+ }
break;
#if(BOARD_FILES >= 10)
} else if(*p=='x' || *p=='X') { /* [HGM] X means 10 */
while (emptycount--)
board[i][(j++)+gameInfo.holdingsWidth] = EmptySquare;
#endif
+ } else if (*p == '*') {
+ board[i][(j++)+gameInfo.holdingsWidth] = DarkSquare; p++;
} else if (isdigit(*p)) {
emptycount = *p++ - '0';
while(isdigit(*p)) emptycount = 10*emptycount + *p++ - '0'; /* [HGM] allow > 9 */
if(*p=='+') {
piece = CharToPiece(*++p);
if(piece == EmptySquare) return FALSE; /* unknown piece */
- piece = (ChessSquare) (PROMOTED piece ); p++;
+ piece = (ChessSquare) (CHUPROMOTED piece ); p++;
if(PieceToChar(piece) != '+') return FALSE; /* unpromotable piece */
} else piece = CharToPiece(*p++);
}
while (*p == '/' || *p == ' ') p++;
+ if(autoSize) appData.NrFiles = w, InitPosition(TRUE);
+
+ /* [HGM] by default clear Crazyhouse holdings, if present */
+ if(gameInfo.holdingsWidth) {
+ for(i=0; i<BOARD_HEIGHT; i++) {
+ board[i][0] = EmptySquare; /* black holdings */
+ board[i][BOARD_WIDTH-1] = EmptySquare; /* white holdings */
+ board[i][1] = (ChessSquare) 0; /* black counts */
+ board[i][BOARD_WIDTH-2] = (ChessSquare) 0; /* white counts */
+ }
+ }
+
/* [HGM] look for Crazyhouse holdings here */
while(*p==' ') p++;
if( gameInfo.holdingsWidth && p[-1] == '/' || *p == '[') {
/* read e.p. field in games that know e.p. capture */
if(gameInfo.variant != VariantShogi && gameInfo.variant != VariantXiangqi &&
- gameInfo.variant != VariantShatranj && gameInfo.variant != VariantCourier && gameInfo.variant != VariantMakruk ) {
+ gameInfo.variant != VariantShatranj && gameInfo.variant != VariantCourier &&
+ gameInfo.variant != VariantMakruk && gameInfo.variant != VariantASEAN ) {
if(*p=='-') {
p++; board[EP_STATUS] = EP_NONE;
} else {
if (fen != NULL) {
Board initial_position;
- if (!ParseFEN(initial_position, &blackPlaysFirst, fen)) {
+ if (!ParseFEN(initial_position, &blackPlaysFirst, fen, TRUE)) {
DisplayError(_("Bad FEN position in clipboard"), 0);
return ;
} else {
extern Boolean bookUp;
extern int tinyLayout, smallLayout;
extern Boolean mcMode;
+extern int dragging;
+extern char variantError[];
void MarkMenuItem P((char *menuRef, int state));
char *CmailMsg P((void));
/* Tord: Added the useFEN960 parameter in PositionToFEN() below */
-char *PositionToFEN P((int move, char* useFEN960));
+char *PositionToFEN P((int move, char* useFEN960, int moveCounts));
void AlphaRank P((char *s, int n)); /* [HGM] Shogi move preprocessor */
void EditPositionPasteFEN P((char *fen));
void TimeDelay P((long ms));
void EditBookEvent P((void));
Boolean DisplayBook P((int moveNr));
void SaveToBook P((char *text));
+void HoverEvent P((int hiX, int hiY, int x, int y));
int PackGame P((Board board));
-Boolean ParseFEN P((Board board, int *blackPlaysFirst, char *fen));
+Boolean ParseFEN P((Board board, int *blackPlaysFirst, char *fen, Boolean autoSize));
void ApplyMove P((int fromX, int fromY, int toX, int toY, int promoChar, Board board));
void PackMove P((int fromX, int fromY, int toX, int toY, ChessSquare promoPiece));
void ics_printf P((char *format, ...));
int debug; /* [HGM] ignore engine debug lines starting with '#' */
int maxNrOfSessions; /* [HGM] secondary TC: max args in 'level' command */
int accumulateTC; /* [HGM] secondary TC: how to handle extra sessions */
+ int drawDepth; /* [HGM] egbb: search depth to play egbb draws */
int nps; /* [HGM] nps: factor for node count to replace time */
int supportsNPS;
int alphaRank; /* [HGM] shogi: engine uses shogi-type coordinates */
char *egtFormats; /* [HGM] EGT: supported tablebase formats */
int bookSuspend; /* [HGM] book: go was deferred because of book hit */
int pause; /* [HGM] pause: 1=supports it, 2=actually paused */
+ int highlight; /* [HGM] engine wants to get lift and put commands */
int nrOptions; /* [HGM] options: remembered option="..." features */
#define MAX_OPTIONS 200
Option option[MAX_OPTIONS];
extern char *recentEngines;
extern char *comboLine;
extern Boolean partnerUp, twoBoards;
+extern char engineVariant[];
+char *EngineDefinedVariant P((ChessProgramState *cps, int n));
void SettingsPopUp P((ChessProgramState *cps)); // [HGM] really in front-end, but CPS not known in frontend.h
int WaitForEngine P((ChessProgramState *cps, DelayedEventCallback x));
void Load P((ChessProgramState *cps, int n));
void MakeEngineOutputTitle P((void));
void LoadTheme P((void));
void CreateBookEvent P((void));
+char *SupportedVariant P((char *list, VariantClass v, int w, int h, int s, int proto, char *engine));
/* A point in time */
typedef struct {
AnimateMove (Board board, int fromX, int fromY, int toX, int toY)
{
ChessSquare piece;
- int hop;
+ int hop, x = toX, y = toY;
Pnt start, finish, mid;
Pnt frames[kFactor * 2 + 1];
int nFrames, startColor, endColor;
+ if(killX >= 0 && IS_LION(board[fromY][fromX])) Roar();
+
/* Are we animating? */
if (!appData.animate || appData.blindfold)
return;
piece = board[fromY][fromX];
if (piece >= EmptySquare) return;
+ if(killX >= 0) toX = killX, toY = killY; // [HGM] lion: first to kill square
+
+again:
+
#if DONT_HOP
hop = FALSE;
#else
/* Be sure end square is redrawn */
damage[0][toY][toX] |= True;
+
+ if(toX != x || toY != y) { fromX = toX; fromY = toY; toX = x; toY = y; goto again; } // second leg
}
void
snprintf(tString, 3, "%d", piece);
align = 4; // holdings count in upper-left corner
}
+ if(piece == DarkSquare) square_color = 2;
if(square_color == 2 || appData.blindfold) piece = EmptySquare;
if (do_flash && piece != EmptySquare && appData.flashCount > 0) {
outside world in ASCII. In a similar way, the different rank numbering
systems (starting at rank 0 or 1) are implemented by redefining '1'.
*/
-#define BOARD_RANKS 11 /* [HGM] for in declarations */
+#define BOARD_RANKS 17 /* [HGM] for in declarations */
#define BOARD_FILES 16 /* [HGM] for in declarations */
#define BOARD_HEIGHT (gameInfo.boardHeight) /* [HGM] made user adjustable */
#define BOARD_WIDTH (gameInfo.boardWidth + 2*gameInfo.holdingsWidth)
#define VIRGIN (BOARD_RANKS-2) /* [HGM] pieces not moved */
#define EP_STATUS CASTLING][(BOARD_FILES-2) /* [HGM] in upper rank */
#define HOLDINGS_SET CASTLING][(BOARD_FILES-1) /* [HGM] in upper-right corner*/
-#define ONE ('1'-(BOARD_HEIGHT>9)) /* [HGM] foremost board rank */
+#define ONE ('1'-(BOARD_HEIGHT==10)) /* [HGM] foremost board rank */
#define AAA ('a'-BOARD_LEFT) /* [HGM] leftmost board file */
#define VIRGIN_W 1 /* [HGM] flags in Board[VIRGIN][X] */
#define VIRGIN_B 2
WhitePawn, WhiteKnight, WhiteBishop, WhiteRook, WhiteQueen,
WhiteFerz, WhiteAlfil, WhiteAngel, WhiteMarshall, WhiteWazir, WhiteMan,
WhiteCannon, WhiteNightrider, WhiteCardinal, WhiteDragon, WhiteGrasshopper,
- WhiteSilver, WhiteFalcon, WhiteLance, WhiteCobra, WhiteUnicorn, WhiteKing,
+ WhiteSilver, WhiteFalcon, WhiteLance, WhiteCobra, WhiteUnicorn, WhiteLion,
+ WhiteTokin, WhiteDagger, WhitePCardinal, WhitePDragon, WhiteCat,
+ WhitePSword, WhiteMonarch, WhiteMother, WhiteNothing, WhitePRook, WhitePDagger,
+ WhiteDolphin, WhiteStag, WhiteHorned, WhiteEagle, WhiteSword,
+ WhiteCrown, WhiteHCrown, WhiteHorse, WhiteDrunk, WhitePBishop, WhiteKing,
BlackPawn, BlackKnight, BlackBishop, BlackRook, BlackQueen,
BlackFerz, BlackAlfil, BlackAngel, BlackMarshall, BlackWazir, BlackMan,
BlackCannon, BlackNightrider, BlackCardinal, BlackDragon, BlackGrasshopper,
- BlackSilver, BlackFalcon, BlackLance, BlackCobra, BlackUnicorn, BlackKing,
- EmptySquare,
+ BlackSilver, BlackFalcon, BlackLance, BlackCobra, BlackUnicorn, BlackLion,
+ BlackTokin, BlackDagger, BlackPCardinal, BlackPDragon, BlackCat,
+ BlackPSword, BlackMonarch, BlackMother, BlackNothing, BlackPRook, BlackPDagger,
+ BlackDolphin, BlackStag, BlackHorned, BlackEagle, BlackSword,
+ BlackCrown, BlackHCrown, BlackHorse, BlackDrunk, BlackPBishop, BlackKing,
+ EmptySquare, DarkSquare,
NoRights, // [HGM] gamestate: for castling rights hidden in board[CASTLING]
ClearBoard, WhitePlay, BlackPlay, PromotePiece, DemotePiece /*for use on EditPosition menus*/
} ChessSquare;
#define PROMOTED (int)WhiteDragon - (int)WhiteRook + (int)
#define DEMOTED (int)WhiteRook - (int)WhiteDragon + (int)
#define SHOGI (int)EmptySquare + (int)
+#define CHUPROMOTED ((int)WhitePDragon - (int)WhiteDragon)*(gameInfo.variant == VariantChu) + PROMOTED
+#define IS_SHOGI(V) ((V) == VariantShogi || (V) == VariantChu)
+#define IS_LION(V) ((V) == WhiteLion || (V) == BlackLion)
typedef ChessSquare Board[BOARD_RANKS][BOARD_FILES];
WhitePromotion, WhiteNonPromotion,
BlackPromotion, BlackNonPromotion,
WhiteCapturesEnPassant, BlackCapturesEnPassant,
- WhiteDrop, BlackDrop,
+ WhiteDrop, BlackDrop, FirstLeg,
NormalMove, AmbiguousMove, IllegalMove, ImpossibleMove,
WhiteWins, BlackWins, GameIsDrawn, GameUnfinished,
GNUChessGame, XBoardGame, MoveNumberOne, Open, Close, Nothing,
} ColorClass;
typedef enum {
- SoundMove, SoundBell, SoundAlarm, SoundIcsWin, SoundIcsLoss,
+ SoundMove, SoundBell, SoundRoar, SoundAlarm, SoundIcsWin, SoundIcsLoss,
SoundIcsDraw, SoundIcsUnfinished, NSoundClasses
} SoundClass;
Variant35, /* Temporary name for possible future ICC wild 35 */
Variant36, /* Temporary name for possible future ICC wild 36 */
VariantShogi, /* [HGM] added variants */
+ VariantChu,
VariantXiangqi,
VariantCourier,
VariantGothic,
VariantGreat,
VariantTwilight,
VariantMakruk,
+ VariantASEAN,
VariantSChess,
VariantGrand,
VariantSpartan,
+ VariantLion,
+ VariantChuChess,
VariantUnknown /* Catchall for other unknown variants */
} VariantClass;
"wild35", \
"wild36", \
"shogi", \
+ "chu", \
"xiangqi", \
"courier", \
"gothic", \
"great",\
"twilight",\
"makruk",\
+ "asean",\
"seirawan",\
"grand",\
"spartan",\
+ "lion",\
+ "chuchess",\
"unknown" \
}
char *soundSeek;
char *soundMove; // [HGM] IMPORTANT: order must be as in SoundClass
char *soundBell;
+ char *soundRoar;
char *soundIcsAlarm;
char *soundIcsWin;
char *soundIcsLoss;
int zippyShortGame; /* [HGM] aborter */
#endif
Boolean lowTimeWarning; /* [HGM] low time */
+ Boolean quitNext;
char *lowTimeWarningColor;
char *serverFileName;
char *serverMovesName;
+ char *finger;
Boolean suppressLoadMoves;
int serverPause;
int timeOdds[ENGINES];
+ int drawDepth[ENGINES];
int timeOddsMode;
int accumulateTC[ENGINES];
int NPS[ENGINES];
--- /dev/null
+;
+; settings for oriental Chu-Shogi theme
+;
+-variant chu
+;
+; pieces: supplied chu-shogi svg's, and flip them in flipView
+;
+-pid ~~/themes/chu
+-flipBlack true
+-trueColors true
+;
+; board: no checkering (both w. and w.o. texture)
+;
+-liteBackTextureFile "~~/themes/textures/wood_l.png"
+-darkBackTextureFile "~~/themes/textures/wood_l.png"
+-lightSquareColor #FF8040
+-darkSquareColor #FF8040
+;
+; detour under-promotion is less convenient when non-pawns promote
+;
+-sweepPromotions false
+;
+; legality testing must be on for double-moves to work, no adjudication
+;
+-testLegality true
+-trivialDraws false
+-materialDraws false
+;
+; make the Lion roar on double captures
+;
+-roarSound roar.wav
+;
+; redefine default engine
+;
+-fcp hachu
+-scp hachu
+;
+; set up own persistence file, used for this theme only
+;
+-settingsFile ~/.xboard-chu-rc
+-saveSettingsFile ~/.xboard-chu-rc
+
--- /dev/null
+;
+; settings for Internet Chess Server client
+;
+-ics
+;
+; set up own persistence file, used for ICS play
+;
+-settingsFile ~/.xboard-ics-rc
+-saveSettingsFile ~/.xboard-ics-rc
+
--- /dev/null
+;
+; additional settings for Judkins Shogi
+;
+-variant shogi
+;
+; size overrides
+;
+-boardWidth 6
+-boardHeight 6
+-holdingsSize 6
+;
+; remove L from piece set
+;
+-pieceToCharTable "PNBR.S...G.++++.+Kpnbr.s...g.++++.+k"
+;
+; provide initial position
+;
+-loadPositionFile "~~/themes/conf/judkins.fen"
+
--- /dev/null
+rbnsgk/6p/6/6/P5/KGSNBR w 0 1
+
--- /dev/null
+;
+; additional settings for mini-Shogi
+;
+-variant shogi
+;
+; size overrides
+;
+-boardWidth 5
+-boardHeight 5
+-holdingsSize 5
+;
+; remove L and N from piece set
+;
+-pieceToCharTable "P.BR.S...G.+.++.+Kp.br.s...g.+.++.+k"
+;
+; redefine default engine
+;
+-fcp gnuminishogi
+-scp gnuminishogi
+;
+; provide initial position
+;
+-loadPositionFile "~~/themes/conf/mini.fen"
+
--- /dev/null
+rbsgk/4p/5/P4/KGSBR w 0 1
+
--- /dev/null
+;
+; additional settings for Sho Shogi
+;
+-variant shogi
+;
+; size overrides
+;
+-boardWidth 9
+-boardHeight 9
+-holdingsSize 0
+;
+; add Elephant to piece set
+;
+-pieceToCharTable "PNBRLSE..G.+++++++Kpnbrlse..g.+++++++k"
+;
+; provide initial position
+;
+-loadPositionFile "~~/themes/conf/sho.fen"
+;
+; must play with legality testing off, for +E and mate
+;
+-testLegality false
+;
+; redefine default engine
+;
+-fcp hachu
+-scp hachu
+
--- /dev/null
+lnsgkgsnl/1r2e2b1/ppppppppp/9/9/9/PPPPPPPPP/1B2E2R1/LNSGKGSNL w 0 1
+
--- /dev/null
+;
+; settings for oriental Shogi theme
+;
+-variant shogi
+;
+; pieces: supplied shogi svg's, and flip them in flipView
+;
+-pid ~~/themes/shogi
+-flipBlack true
+-trueColors true
+;
+; board: no checkering (both w. and w.o. texture)
+;
+-liteBackTextureFile "~~/themes/textures/wood_l.png"
+-darkBackTextureFile "~~/themes/textures/wood_l.png"
+-lightSquareColor #FF8040
+-darkSquareColor #FF8040
+;
+; detour under-promotion is less convenient when non-pawns promote
+;
+-sweepPromotions false
+;
+; no adjudication
+;
+-trivialDraws false
+-materialDraws false
+;
+; common non-compliant notations
+;
+-colorNickNames "sg"
+;
+; redefine default engine
+;
+-fcp gnushogi
+-scp gnushogi
+;
+; set up own persistence file, used for this theme only
+;
+-settingsFile ~/.xboard-shogi-rc
+-saveSettingsFile ~/.xboard-shogi-rc
+
--- /dev/null
+;
+; settings for oriental Xiangqi theme
+;
+-variant xiangqi
+;
+; pieces: supplied xiangqi svg's
+;
+-pid ~~/themes/xiangqi
+-trueColors true
+;
+; board: supplied board bitmap
+;
+-liteBackTextureFile "~~/themes/textures/xqboard.png"
+-darkBackTextureFile "~~/themes/textures/xqboard.png"
+;
+; suppress square boundaries and highlight with arrow instead
+;
+-overrideLineGap 0
+-highlightMovesWithArrow true
+;
+; define common non-compliant notations
+;
+-pieceNickNames ".N...MB..G..n...mb..g."
+-colorNickNames "r."
+;
+; set up own persistence file, used for this theme only
+;
+-settingsFile ~/.xboard-xiangqi-rc
+-saveSettingsFile ~/.xboard-xiangqi-rc
+
--- /dev/null
+;
+; settings for oriental Xiangqi theme
+;
+-variant xiangqi
+;
+; pieces: supplied xiangqi svg's
+;
+-pid ~~/themes/xiangqi
+-trueColors true
+;
+; board: supplied board bitmap
+;
+-useBoardTexture true
+-liteBackTextureFile "~~/themes/textures/xqboard.png"
+-darkBackTextureFile "~~/themes/textures/xqboard.png"
+;
+; suppress square boundaries and highlight with arrow instead
+;
+-overrideLineGap 0
+-highlightMoveWithArrow true
+;
+; define common non-compliant notations
+;
+-pieceNickNames ".N...MB..G..n...mb..g."
+-colorNickNames "r."
+;
+; set default engines
+;
+-fcp maxqi
+-scp maxqi
+;
+; set up own persistence file, used for this theme only
+;
+-settingsFile ~/.xboard-xiangqi-rc
+-saveSettingsFile ~/.xboard-xiangqi-rc
+
dnl| the standard version of xboard.
dnl| define second argument as VERSION.PATCHLEVEL. e.g. 4.4.0j
-AC_INIT([xboard],[4.7.2],[bug-xboard@gnu.org])
+AC_INIT([xboard],[master-20130828],[bug-xboard@gnu.org])
dnl| need this to be able to compile some files in a subdir (filebrowser)
AM_INIT_AUTOMAKE([subdir-objects])
AH_TEMPLATE([X_WCHAR],[template])
AH_TEMPLATE([ATTENTION],[template])
AH_TEMPLATE([DEFINED_SYS_ERRLIST],[template])
-AH_TEMPLATE([HAVE_LIBXPM],[template])
AH_TEMPLATE([USE_XAW3D],[template])
AH_TEMPLATE([X_LOCALE],[template])
AC_ARG_WITH([gtk],
[AS_HELP_STRING([--with-gtk],[use GTK front-end (experimental)])],
- [with_GTK=yes],
- [with_GTK=no])
+ [with_GTK=$withval],
+ [with_GTK="no"])
AC_ARG_WITH([Xaw3d],
[AS_HELP_STRING([--with-Xaw3d],[use Xaw3d front-end (not fully supported anymore)])],
- [with_Xaw3d=yes],
- [with_Xaw3d=no])
+ [with_Xaw3d="$withval"],
+ [with_Xaw3d="no"])
AC_ARG_WITH([Xaw],
[AS_HELP_STRING([--with-Xaw],[use Xaw front-end (default)])],
- [with_Xaw=yes],
- [with_Xaw=no])
+ [with_Xaw="$withval"],
+ [with_Xaw="yes"])
+
+AC_ARG_WITH([iconsdir],
+ [AS_HELP_STRING([--with-iconsdir=DIR],
+ [path where icons get installed (default: $datadir/icons/hicolor/48x48/apps)])],
+ [ICONSDIR="$withval"],
+ [ICONSDIR='$(datadir)/icons/hicolor/48x48/apps'])
+
+AC_ARG_WITH([svgiconsdir],
+ [AS_HELP_STRING([--with-svgiconsdir=DIR],
+ [path where svg icons get installed (default: $datadir/icons/hicolor/scalable/apps)])],
+ [SVGICONSDIR="$withval"],
+ [SVGICONSDIR='$(datadir)/icons/hicolor/scalable/apps'])
+
+AC_ARG_WITH([desktopdir],
+ [AS_HELP_STRING([--with-desktopdir=DIR],
+ [path where desktop files get installed (default: $datadir/applications)])],
+ [DESKTOPDIR="$withval"],
+ [DESKTOPDIR='$(datadir)/applications'])
+
+AC_ARG_WITH([mimedir],
+ [AS_HELP_STRING([--with-mimedir=DIR],
+ [path where mime files get installed (default: $datadir/mime/packages)])],
+ [MIMEDIR="$withval"],
+ [MIMEDIR='$(datadir)/mime/packages'])
+
+AC_ARG_WITH([gamedatadir],
+ [AS_HELP_STRING([--with-gamedatadir=DIR],
+ [path where game data files get installed (default: $datadir/games/xboard)])],
+ [GAMEDATADIR="$withval"],
+ [GAMEDATADIR='$(datadir)/games/xboard'])
+
+AC_SUBST(ICONSDIR)
+AC_SUBST(SVGICONSDIR)
+AC_SUBST(DESKTOPDIR)
+AC_SUBST(MIMEDIR)
+AC_SUBST(GAMEDATADIR)
dnl | check for libraries
if test x"$with_GTK" = x"yes" ; then
PKG_CHECK_MODULES([GTK], [ gtk+-2.0 >= 2.16.0 gmodule-2.0 ])
FRONTEND_CFLAGS=$GTK_CFLAGS
FRONTEND_LIBS=$GTK_LIBS
+ with_Xaw="no"
fi
if test x"$with_GTK" = x"no" ; then
dnl | make results available in Makefile.am
AM_CONDITIONAL([withGTK], [test x"$with_GTK" = x"yes"])
-AM_CONDITIONAL([withXaw], [test x"$with_Xaw3d" = x"yes"])
-AM_CONDITIONAL([withXaw], [test x"$with_Xaw" = x"yes"])
+AM_CONDITIONAL([withXaw], [test x"$with_Xaw3d" = x"yes" || test x"$with_Xaw" = x"yes"])
AC_SUBST(FRONTEND_CFLAGS)
;;
esac
-AC_ARG_ENABLE( [xpm],
- [AS_HELP_STRING([--enable-xpm],[libXpm will be used if found (default)])],
- [enable_xpm="$enableval"],
- [enable_xpm="yes"])
-
-if test x"$enable_xpm" != "xno"; then
- save_cflags="$CFLAGS"
- save_cppflags="$CPPFLAGS"
- CFLAGS="$CFLAGS $X_CFLAGS"
- CPPFLAGS="$CPPFLAGS $X_CFLAGS"
- AC_CHECK_HEADERS(X11/xpm.h)
- CFLAGS="$save_cflags"
- CPPFLAGS="$save_cppflags"
- if test "$ac_cv_header_X11_xpm_h" = "yes"; then
- save_ldflags="$LDFLAGS"
- LDFLAGS="$LDFLAGS $X_LIBS"
- AC_CHECK_LIB(Xpm, XpmReadFileToPixmap,
- [X_PRE_LIBS="-lXpm $X_PRE_LIBS"; AC_DEFINE(HAVE_LIBXPM)], [],
- [$X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
- LDFLAGS="$save_ldflags"
- fi
-fi
-
AC_SUBST(PRE_XMULIB)
AC_SUBST(POST_XMULIB)
AC_SUBST(CONF_CFLAGS)
AC_SUBST(XDG_ICON_RESOURCE)
fi
+dnl create a string with configure options that can be passed to the
+dnl program, good for bug reports and version printout, see output below
+CONFIGURE_OPTIONS="prefix=$prefix; datarootdir=$datarootdir; \
+datadir=$datadir; gamedatadir=$GAMEDATADIR; desktopdir=$DESKTOPDIR; \
+mimedir=$MIMEDIR; iconsdir=$ICONSDIR; svgiconsdir=$SVGICONSDIR; infodir=$infodir; \
+sysconfigdir=$sysconfigdir; update_mimedb=$enable_mimedb; NLS=$USE_NLS; \
+GKT=$with_GTK; Xaw3d=$with_Xaw3d; Xaw=$with_Xaw; \
+ptys=$enable_ptys; zippy=$enable_zippy; sigint=$enable_sigint"
+
+AC_SUBST(CONFIGURE_OPTIONS)
+
dnl | output Makefile
AC_CONFIG_FILES([Makefile cmail po/Makefile.in])
AC_CONFIG_COMMANDS([test-stamp-h],[test -z "$CONFIG_HEADERS" || date > stamp-h])
echo ""
echo " prefix: $prefix "
echo " datarootdir: $datarootdir "
-echo " datadir: $datadir (icons will go in \$datadir/icons/hicolor/...)"
-echo " (bitmaps will go in \$datadir/games/xboard/...)"
+echo " datadir: $datadir "
+echo " gamedatadir: $GAMEDATADIR "
+echo " desktopdir: $DESKTOPDIR "
+echo " mimedir: $MIMEDIR "
+echo " iconsdir: $ICONSDIR "
+echo " svgiconsdir: $SVGICONSDIR "
echo " infodir: $infodir (info files will go here)"
echo " sysconfdir: $sysconfdir (xboard.conf will go here)"
echo ""
echo " Xaw3d: $with_Xaw3d"
echo " Xaw: $with_Xaw"
echo ""
-echo " xpm: $enable_xpm"
echo " ptys: $enable_ptys"
echo " zippy: $enable_zippy"
echo " sigint: $enable_sigint"
if(x < opts[i].min) x = opts[i].min;
if(opts[i].type == Fractional)
*(float*) opts[i].target = x; // engines never have float options!
- else if(opts[i].value != x) {
- opts[i].value = x;
+ else {
if(currentCps) {
+ if(opts[i].value != x) { // only to engine if changed
snprintf(buf, MSG_SIZ, "option %s=%.0f\n", opts[i].name, x);
SendToProgram(buf, currentCps);
+ }
} else *(int*) opts[i].target = x;
+ opts[i].value = x;
}
break;
case CheckBox:
case SaveButton:
case Label:
case Break:
+ case -1:
break;
}
if(opts[i].type == EndMark) break;
static Option matchOptions[] = {
{ 0, 0, 0, NULL, (void*) &tfName, ".trn", NULL, FileName, N_("Tournament file: ") },
+{ 0, 0, 0, NULL, NULL, "", NULL, Label, N_("For concurrent playing of tourney with multiple XBoards:") },
{ 0, 0, 0, NULL, (void*) &appData.roundSync, "", NULL, CheckBox, N_("Sync after round") },
-{ 0, SAME_ROW|LL, 0, NULL, NULL, "", NULL, Label, N_(" (for concurrent playing of a single") },
{ 0, 0, 0, NULL, (void*) &appData.cycleSync, "", NULL, CheckBox, N_("Sync after cycle") },
-{ 0, SAME_ROW|LL, 0, NULL, NULL, "", NULL, Label, N_(" tourney with multiple XBoards)") },
{ 0, LR, 175, NULL, NULL, "", NULL, Label, N_("Tourney participants:") },
{ 0, SAME_ROW|RR, 175, NULL, NULL, "", NULL, Label, N_("Select Engine:") },
{ 150, T_VSCRL | T_FILL | T_WRAP,
ASSIGN(tfName, appData.tourneyFile[0] ? appData.tourneyFile : MakeName(appData.defName));
ASSIGN(engineName, appData.participants);
ASSIGN(engineMnemonic[0], "");
- GenericPopUp(matchOptions, _("Match Options"), TransientDlg, BoardWindow, MODAL, 0);
+ GenericPopUp(matchOptions, _("Tournament Options"), TransientDlg, BoardWindow, MODAL, 0);
}
// ------------------------------------------- General Options --------------------------------------------------
{ 0, 0, 0, NULL, (void*) &appData.autoCallFlag, "", NULL, CheckBox, N_("Auto Flag") },
{ 0, 0, 0, NULL, (void*) &appData.autoFlipView, "", NULL, CheckBox, N_("Auto Flip View") },
{ 0, 0, 0, NULL, (void*) &appData.blindfold, "", NULL, CheckBox, N_("Blindfold") },
+/* TRANSLATORS: the drop menu is used to drop a piece, e.g. during bughouse or editing a position */
{ 0, 0, 0, NULL, (void*) &appData.dropMenu, "", NULL, CheckBox, N_("Drop Menu") },
{ 0, 0, 0, NULL, (void*) &appData.variations, "", NULL, CheckBox, N_("Enable Variation Trees") },
{ 0, 0, 0, NULL, (void*) &appData.hideThinkingFromHuman, "", NULL, CheckBox, N_("Hide Thinking from Human") },
static void Pick P((int n));
static char warning[MSG_SIZ];
+static int ranksTmp, filesTmp, sizeTmp;
static Option variantDescriptors[] = {
-{ VariantNormal, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("normal")},
-{ VariantMakruk, SAME_ROW, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("makruk")},
+{ VariantNormal, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("Normal")},
+{ VariantMakruk, SAME_ROW, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("Makruk")},
{ VariantFischeRandom, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("FRC")},
-{ VariantShatranj,SAME_ROW,135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("shatranj")},
-{ VariantWildCastle, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("wild castle")},
-{ VariantKnightmate,SAME_ROW,135,NULL,(void*) &Pick, "#FFFFFF", NULL, Button, N_("knightmate")},
-{ VariantNoCastle, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("no castle")},
-{ VariantCylinder,SAME_ROW,135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("cylinder *")},
+{ VariantShatranj,SAME_ROW,135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("Shatranj")},
+{ VariantWildCastle, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("Wild castle")},
+{ VariantKnightmate,SAME_ROW,135,NULL,(void*) &Pick, "#FFFFFF", NULL, Button, N_("Knightmate")},
+{ VariantNoCastle, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("No castle")},
+{ VariantCylinder,SAME_ROW,135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("Cylinder *")},
{ Variant3Check, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("3-checks")},
{ VariantBerolina,SAME_ROW,135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("berolina *")},
{ VariantAtomic, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("atomic")},
{ VariantTwoKings,SAME_ROW,135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("two kings")},
+{ -1, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_(" ")}, // dummy, to have good alignment
+{ VariantSpartan,SAME_ROW, 135, NULL, (void*) &Pick, "#FF0000", NULL, Button, N_("Spartan")},
{ 0, 0, 0, NULL, NULL, NULL, NULL, Label, N_("Board size ( -1 = default for selected variant):")},
-{ 0, -1, BOARD_RANKS-1, NULL, (void*) &appData.NrRanks, "", NULL, Spin, N_("Number of Board Ranks:") },
-{ 0, -1, BOARD_FILES, NULL, (void*) &appData.NrFiles, "", NULL, Spin, N_("Number of Board Files:") },
-{ 0, -1, BOARD_RANKS-1, NULL, (void*) &appData.holdingsSize, "", NULL, Spin, N_("Holdings Size:") },
+{ 0, -1, BOARD_RANKS-1, NULL, (void*) &ranksTmp, "", NULL, Spin, N_("Number of Board Ranks:") },
+{ 0, -1, BOARD_FILES, NULL, (void*) &filesTmp, "", NULL, Spin, N_("Number of Board Files:") },
+{ 0, -1, BOARD_RANKS-1, NULL, (void*) &sizeTmp, "", NULL, Spin, N_("Holdings Size:") },
{ 0, 0, 275, NULL, NULL, NULL, NULL, Label, warning },
-{ 0, 0, 275, NULL, NULL, NULL, NULL, Label, "Variants marked with * can only be played\nwith legality testing off"},
+{ 0, 0, 275, NULL, NULL, NULL, NULL, Label, N_("Variants marked with * can only be played\nwith legality testing off.")},
{ 0, SAME_ROW, 0, NULL, NULL, NULL, NULL, Break, ""},
-{ VariantFairy, 0, 135, NULL, (void*) &Pick, "#BFBFBF", NULL, Button, N_("fairy")},
+{ VariantASEAN, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("ASEAN")},
{ VariantGreat, SAME_ROW, 135, NULL, (void*) &Pick, "#BFBFFF", NULL, Button, N_("Great Shatranj (10x8)")},
{ VariantSChess, 0, 135, NULL, (void*) &Pick, "#FFBFBF", NULL, Button, N_("Seirawan")},
-{ VariantFalcon, SAME_ROW, 135, NULL, (void*) &Pick, "#BFBFFF", NULL, Button, N_("falcon (10x8)")},
+{ VariantFalcon, SAME_ROW, 135, NULL, (void*) &Pick, "#BFBFFF", NULL, Button, N_("Falcon (10x8)")},
{ VariantSuper, 0, 135, NULL, (void*) &Pick, "#FFBFBF", NULL, Button, N_("Superchess")},
{ VariantCapablanca,SAME_ROW,135,NULL,(void*) &Pick, "#BFBFFF", NULL, Button, N_("Capablanca (10x8)")},
-{ VariantCrazyhouse, 0, 135, NULL, (void*) &Pick, "#FFBFBF", NULL, Button, N_("crazyhouse")},
+{ VariantCrazyhouse, 0, 135, NULL, (void*) &Pick, "#FFBFBF", NULL, Button, N_("Crazyhouse")},
{ VariantGothic, SAME_ROW, 135, NULL, (void*) &Pick, "#BFBFFF", NULL, Button, N_("Gothic (10x8)")},
-{ VariantBughouse, 0, 135, NULL, (void*) &Pick, "#FFBFBF", NULL, Button, N_("bughouse")},
-{ VariantJanus, SAME_ROW, 135, NULL, (void*) &Pick, "#BFBFFF", NULL, Button, N_("janus (10x8)")},
-{ VariantSuicide, 0, 135, NULL, (void*) &Pick, "#FFFFBF", NULL, Button, N_("suicide")},
+{ VariantBughouse, 0, 135, NULL, (void*) &Pick, "#FFBFBF", NULL, Button, N_("Bughouse")},
+{ VariantJanus, SAME_ROW, 135, NULL, (void*) &Pick, "#BFBFFF", NULL, Button, N_("Janus (10x8)")},
+{ VariantSuicide, 0, 135, NULL, (void*) &Pick, "#FFFFBF", NULL, Button, N_("Suicide")},
{ VariantCapaRandom,SAME_ROW,135,NULL,(void*) &Pick, "#BFBFFF", NULL, Button, N_("CRC (10x8)")},
{ VariantGiveaway, 0, 135, NULL, (void*) &Pick, "#FFFFBF", NULL, Button, N_("give-away")},
{ VariantGrand, SAME_ROW, 135, NULL, (void*) &Pick, "#5070FF", NULL, Button, N_("grand (10x10)")},
{ VariantLosers, 0, 135, NULL, (void*) &Pick, "#FFFFBF", NULL, Button, N_("losers")},
{ VariantShogi, SAME_ROW, 135, NULL, (void*) &Pick, "#BFFFFF", NULL, Button, N_("shogi (9x9)")},
-{ VariantSpartan, 0, 135, NULL, (void*) &Pick, "#FF0000", NULL, Button, N_("Spartan")},
+{ VariantFairy, 0, 135, NULL, (void*) &Pick, "#BFBFBF", NULL, Button, N_("fairy")},
{ VariantXiangqi, SAME_ROW,135, NULL, (void*) &Pick, "#BFFFFF", NULL, Button, N_("xiangqi (9x10)")},
-{ -1, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_(" ")}, // dummy, to have good alignment
+{ VariantLion, 0, 135, NULL, (void*) &Pick, "#BFBFBF", NULL, Button, N_("mighty lion")},
{ VariantCourier, SAME_ROW,135, NULL, (void*) &Pick, "#BFFFBF", NULL, Button, N_("courier (12x8)")},
+{ VariantChuChess, 0, 135, NULL, (void*) &Pick, "#BFBFBF", NULL, Button, N_("chu chess (10x10)")},
+{ VariantChu, SAME_ROW, 135, NULL, (void*) &Pick, "#BFFFBF", NULL, Button, N_("chu shogi (12x12)")},
+//{ -1, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_(" ")}, // dummy, to have good alignment
+// optional buttons for engine-defined variants
+{ VariantUnknown, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, -1, NULL },
+{ VariantUnknown, SAME_ROW,135, NULL, (void*) &Pick, "#FFFFFF", NULL, -1, NULL },
+{ VariantUnknown, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, -1, NULL },
+{ VariantUnknown, SAME_ROW,135, NULL, (void*) &Pick, "#FFFFFF", NULL, -1, NULL },
+{ VariantUnknown, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, -1, NULL },
+{ VariantUnknown, SAME_ROW,135, NULL, (void*) &Pick, "#FFFFFF", NULL, -1, NULL },
+{ VariantUnknown, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, -1, NULL },
+{ VariantUnknown, SAME_ROW,135, NULL, (void*) &Pick, "#FFFFFF", NULL, -1, NULL },
+{ VariantUnknown, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, -1, NULL },
+{ VariantUnknown, SAME_ROW,135, NULL, (void*) &Pick, "#FFFFFF", NULL, -1, NULL },
+{ VariantUnknown, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, -1, NULL },
+{ VariantUnknown, SAME_ROW,135, NULL, (void*) &Pick, "#FFFFFF", NULL, -1, NULL },
{ 0, NO_OK, 0, NULL, NULL, "", NULL, EndMark , "" }
};
Pick (int n)
{
VariantClass v = variantDescriptors[n].value;
+ if(v == VariantUnknown) safeStrCpy(engineVariant, variantDescriptors[n].name, MSG_SIZ); else *engineVariant = NULLCHAR;
+ GenericReadout(variantDescriptors, -1); // read new ranks and file settings
if(!appData.noChessProgram) {
- char *name = VariantName(v), buf[MSG_SIZ];
- if (first.protocolVersion > 1 && StrStr(first.variants, name) == NULL) {
- /* [HGM] in protocol 2 we check if variant is suported by engine */
- snprintf(buf, MSG_SIZ, _("Variant %s not supported by %s"), name, first.tidy);
- DisplayError(buf, 0);
+ char buf[MSG_SIZ];
+ if (!SupportedVariant(first.variants, v, filesTmp, ranksTmp, sizeTmp, first.protocolVersion, first.tidy)) {
+ DisplayError(variantError, 0);
return; /* ignore OK if first engine does not support it */
} else
- if (second.initDone && second.protocolVersion > 1 && StrStr(second.variants, name) == NULL) {
- snprintf(buf, MSG_SIZ, _("Warning: second engine (%s) does not support this!"), second.tidy);
+ if (second.initDone &&
+ !SupportedVariant(second.variants, v, filesTmp, ranksTmp, sizeTmp, second.protocolVersion, second.tidy)) {
+ snprintf(buf, MSG_SIZ, _("Warning: second engine (%s) does not support this!"), second.tidy);
DisplayError(buf, 0); /* use of second engine is optional; only warn user */
}
}
- GenericReadout(variantDescriptors, -1); // make sure ranks and file settings are read
-
gameInfo.variant = v;
appData.variant = VariantName(v);
shuffleOpenings = FALSE; /* [HGM] shuffle: possible shuffle reset when we switch */
startedFromPositionFile = FALSE; /* [HGM] loadPos: no longer valid in new variant */
+ appData.NrRanks = ranksTmp;
+ appData.NrFiles = filesTmp;
+ appData.holdingsSize = sizeTmp;
appData.pieceToCharTable = NULL;
appData.pieceNickNames = "";
appData.colorNickNames = "";
void
NewVariantProc ()
{
- if(appData.noChessProgram) sprintf(warning, _("Only bughouse is not available in viewer mode")); else
- sprintf(warning, _("All variants not supported by first engine\n(currently %s) are disabled"), first.tidy);
+ static int start;
+ int i, last;
+ char buf[MSG_SIZ];
+ ranksTmp = filesTmp = sizeTmp = -1; // prefer defaults over actual settings
+ if(appData.noChessProgram) sprintf(warning, _("Only bughouse is not available in viewer mode.")); else
+ sprintf(warning, _("All variants not supported by the first engine\n(currently %s) are disabled."), first.tidy);
+ if(!start) while(variantDescriptors[start].type != -1) start++; // locate first spare
+ last = -1;
+ for(i=0; variantDescriptors[start+i].type != EndMark; i++) { // create buttons for engine-defined variants
+ char *v = EngineDefinedVariant(&first, i);
+ if(v) {
+ last = i;
+ ASSIGN(variantDescriptors[start+i].name, v);
+ variantDescriptors[start+i].type = Button;
+ } else variantDescriptors[start+i].type = -1;
+ }
+ if(!(last&1)) { // odd number, add filler
+ ASSIGN(variantDescriptors[start+last+1].name, " ");
+ variantDescriptors[start+last+1].type = Button;
+ variantDescriptors[start+last+1].value = -1;
+ }
+ safeStrCpy(buf, engineVariant, MSG_SIZ); *engineVariant = NULLCHAR; // yeghh...
GenericPopUp(variantDescriptors, _("New Variant"), TransientDlg, BoardWindow, MODAL, 0);
+ safeStrCpy(engineVariant, buf, MSG_SIZ); // must temporarily clear to avoid enabling all variant buttons
}
//------------------------------------------- Common Engine Options -------------------------------------
{ 0, 0, 0, NULL, (void*) &appData.seekGraph, "", NULL, CheckBox, N_("Seek Graph") },
{ 0, 0, 0, NULL, (void*) &appData.autoRefresh, "", NULL, CheckBox, N_("Auto-Refresh Seek Graph") },
{ 0, 0, 0, NULL, (void*) &appData.autoBox, "", NULL, CheckBox, N_("Auto-InputBox PopUp") },
+{ 0, 0, 0, NULL, (void*) &appData.quitNext, "", NULL, CheckBox, N_("Quit after game") },
{ 0, 0, 0, NULL, (void*) &appData.premove, "", NULL, CheckBox, N_("Premove") },
{ 0, 0, 0, NULL, (void*) &appData.premoveWhite, "", NULL, CheckBox, N_("Premove for White") },
{ 0, 0, 0, NULL, (void*) &appData.premoveWhiteText, "", NULL, TextBox, N_("First White Move:") },
N_("Penalty"),
N_("Phone"),
N_("Pop"),
+ N_("Roar"),
N_("Slap"),
N_("Wood Thunk"),
NULL,
"penalty.wav",
"phone.wav",
"pop2.wav",
+ "roar.wav",
"slap.wav",
"woodthunk.wav",
NULL,
{ 0, 0, 0, NULL, (void*) &appData.soundTell, (char*) soundFiles, soundNames, ComboBox, N_("Tell:") },
{ 0, 0, 0, NULL, (void*) &appData.soundKibitz, (char*) soundFiles, soundNames, ComboBox, N_("Kibitz:") },
{ 0, 0, 0, NULL, (void*) &appData.soundRequest, (char*) soundFiles, soundNames, ComboBox, N_("Request:") },
+{ 0, 0, 0, NULL, (void*) &appData.soundRoar, (char*) soundFiles, soundNames, ComboBox, N_("Lion roar:") },
{ 0, 0, 0, NULL, (void*) &appData.soundSeek, (char*) soundFiles, soundNames, ComboBox, N_("Seek:") },
{ 0, SAME_ROW, 0, NULL, NULL, "", NULL, EndMark , "" }
};
{ 0, 0, 0, NULL, (void*) &appData.upsideDown, "", NULL, CheckBox, N_("Flip Pieces Shogi Style (Colored buttons restore default)") },
//{ 0, 0, 0, NULL, (void*) &appData.allWhite, "", NULL, CheckBox, N_("Use Outline Pieces for Black") },
{ 0, 0, 0, NULL, (void*) &appData.monoMode, "", NULL, CheckBox, N_("Mono Mode") },
-{ 0,-1, 5, NULL, (void*) &appData.overrideLineGap, "", NULL, Spin, N_("Line Gap ( -1 = default for board size):") },
+{ 0,-1, 5, NULL, (void*) &appData.overrideLineGap, "", NULL, Spin, N_("Line Gap (-1 = default for board size):") },
{ 0, 0, 0, NULL, (void*) &appData.useBitmaps, "", NULL, CheckBox, N_("Use Board Textures") },
{ 0, 0, 0, NULL, (void*) &appData.liteBackTextureFile, ".png", NULL, FileName, N_("Light-Squares Texture File:") },
{ 0, 0, 0, NULL, (void*) &appData.darkBackTextureFile, ".png", NULL, FileName, N_("Dark-Squares Texture File:") },
static int
NewTagsCallback (int n)
{
- ReplaceTags(tagsText, &gameInfo);
+ if(!bookUp) ReplaceTags(tagsText, &gameInfo);
return 1;
}
changeTags (int n)
{
GenericReadout(tagsOptions, 1);
- if(bookUp) SaveToBook(tagsText); else
+ if(bookUp) SaveToBook(tagsText), DisplayBook(currentMove); else
ReplaceTags(tagsText, &gameInfo);
}
ClearHighlights();
return;
}
+ if(promoChar == '=' && !IS_SHOGI(gameInfo.variant)) promoChar = NULLCHAR;
UserMoveEvent(fromX, fromY, toX, toY, promoChar);
if (!appData.highlightLastMove || gotPremove) ClearHighlights();
}
void
-PromotionPopUp ()
+PromotionPopUp (char choice)
{ // choice depends on variant: prepare dialog acordingly
count = 8;
- SetPromo(_("Cancel"), --count, 0); // Beware: GenericPopUp cannot handle user buttons named "cancel" (lowe case)!
- if(gameInfo.variant != VariantShogi) {
+ SetPromo(_("Cancel"), --count, -1); // Beware: GenericPopUp cannot handle user buttons named "cancel" (lowe case)!
+ if(choice != '+') {
if (!appData.testLegality || gameInfo.variant == VariantSuicide ||
gameInfo.variant == VariantSpartan && !WhiteOnMove(currentMove) ||
gameInfo.variant == VariantGiveaway) {
SetPromo(_("Chancellor"), --count, 'c');
}
SetPromo(_("Queen"), --count, 'q');
+ if(gameInfo.variant == VariantChuChess)
+ SetPromo(_("Lion"), --count, 'l');
}
} else // [HGM] shogi
{
Exp (int n, int x, int y)
{
static int but1, but3, oldW, oldH;
- int menuNr = -3, sizing;
+ int menuNr = -3, sizing, f, r;
if(n == 0) { // motion
if(SeekGraphClick(Press, x, y, 1)) return NULL;
- if(but1 && !PromoScroll(x, y)) DragPieceMove(x, y);
+ if((but1 || dragging == 2) && !PromoScroll(x, y)) DragPieceMove(x, y);
if(but3) MovePV(x, y, lineGap + BOARD_HEIGHT * (squareSize + lineGap));
+ if(appData.highlightDragging) {
+ f = EventToSquare(x, BOARD_WIDTH); if ( flipView && f >= 0) f = BOARD_WIDTH - 1 - f;
+ r = EventToSquare(y, BOARD_HEIGHT); if (!flipView && r >= 0) r = BOARD_HEIGHT - 1 - r;
+ HoverEvent(x, y, f, r);
+ }
return NULL;
}
if(n != 10 && PopDown(PromoDlg)) fromX = fromY = -1; // user starts fiddling with board when promotion dialog is up
".trn",
".bin",
".wav",
-".xpm",
".ini",
".log",
"",
for(p=0; p<=(int)WhiteKing; p++)
pngPieceBitmaps[i][p] = pngPieceBitmaps2[i][p]; // defaults
if(v == VariantShogi) {
- pngPieceBitmaps[i][(int)WhiteCannon] = pngPieceBitmaps2[i][(int)WhiteKing+1];
+ pngPieceBitmaps[i][(int)WhiteCannon] = pngPieceBitmaps2[i][(int)WhiteTokin];
pngPieceBitmaps[i][(int)WhiteNightrider] = pngPieceBitmaps2[i][(int)WhiteKing+2];
- pngPieceBitmaps[i][(int)WhiteSilver] = pngPieceBitmaps2[i][(int)WhiteKing+3];
- pngPieceBitmaps[i][(int)WhiteGrasshopper] = pngPieceBitmaps2[i][(int)WhiteKing+4];
+ pngPieceBitmaps[i][(int)WhiteGrasshopper] = pngPieceBitmaps2[i][(int)WhiteKing+3];
+ pngPieceBitmaps[i][(int)WhiteSilver] = pngPieceBitmaps2[i][(int)WhiteKing+4];
pngPieceBitmaps[i][(int)WhiteQueen] = pngPieceBitmaps2[i][(int)WhiteLance];
+ pngPieceBitmaps[i][(int)WhiteFalcon] = pngPieceBitmaps2[i][(int)WhiteMonarch]; // for Sho Shogi
}
#ifdef GOTHIC
if(v == VariantGothic) {
pngPieceBitmaps[i][(int)WhiteAngel] = pngPieceBitmaps2[i][(int)WhiteFalcon];
pngPieceBitmaps[i][(int)WhiteMarshall] = pngPieceBitmaps2[i][(int)WhiteAlfil];
}
+ if(v == VariantChuChess) {
+ pngPieceBitmaps[i][(int)WhiteNightrider] = pngPieceBitmaps2[i][(int)WhiteLion];
+ }
+ if(v == VariantChu) {
+ pngPieceBitmaps[i][(int)WhiteNightrider] = pngPieceBitmaps2[i][(int)WhiteKing+1];
+ pngPieceBitmaps[i][(int)WhiteUnicorn] = pngPieceBitmaps2[i][(int)WhiteCat];
+ pngPieceBitmaps[i][(int)WhiteSilver] = pngPieceBitmaps2[i][(int)WhiteSword];
+ pngPieceBitmaps[i][(int)WhiteFalcon] = pngPieceBitmaps2[i][(int)WhiteDagger];
+ }
}
}
char *pngPieceNames[] = // must be in same order as internal piece encoding
{ "Pawn", "Knight", "Bishop", "Rook", "Queen", "Advisor", "Elephant", "Archbishop", "Marshall", "Gold", "Commoner",
- "Canon", "Nightrider", "CrownedBishop", "CrownedRook", "Princess", "Chancellor", "Hawk", "Lance", "Cobra", "Unicorn", "King",
- "GoldKnight", "GoldLance", "GoldPawn", "GoldSilver", NULL
+ "Canon", "Nightrider", "CrownedBishop", "CrownedRook", "Princess", "Chancellor", "Hawk", "Lance", "Cobra", "Unicorn", "Lion",
+ "GoldPawn", "HSword", "PromoHorse", "PromoDragon", "Leopard", "PromoSword", "Prince", "Phoenix", "Kylin", "PromoRook", "PromoHSword",
+ "Dolphin", "Chancellor", "Unicorn", "Hawk", "Sword", "Princess", "HCrown", "Knight", "Elephant", "PromoBishop", "King",
+ "Claw", "GoldKnight", "GoldLance", "GoldSilver", NULL
};
+char *backupPiece[] = { "King", "Queen", "Lion" }; // pieces that map on other when not kanji
+
RsvgHandle *
-LoadSVG (char *dir, int color, int piece)
+LoadSVG (char *dir, int color, int piece, int retry)
{
char buf[MSG_SIZ];
RsvgHandle *svg=svgPieces[color][piece];
cairo_surface_t *img;
cairo_t *cr;
- snprintf(buf, MSG_SIZ, "%s/%s%s.svg", dir, color ? "Black" : "White", pngPieceNames[piece]);
+ snprintf(buf, MSG_SIZ, "%s/%s%s.svg", dir, color ? "Black" : "White",
+ retry ? backupPiece[piece - WhiteMonarch] : pngPieceNames[piece]);
if(svg || *dir && (svg = rsvg_handle_new_from_file(buf, &svgerror))) {
return svg;
}
+ if(!retry && piece >= WhiteMonarch && piece <= WhiteNothing) // pieces that are only different in kanji sets
+ return LoadSVG(dir, color, piece, 1);
if(svgerror)
g_error_free(svgerror);
return NULL;
g_type_init ();
- svgPieces[color][piece] = LoadSVG("", color, piece); // this fills pngPieceImages if we had cached svg with bitmap of wanted size
+ svgPieces[color][piece] = LoadSVG("", color, piece, 0); // this fills pngPieceImages if we had cached svg with bitmap of wanted size
if(!pngPieceImages[color][piece]) { // we don't have cached bitmap (implying we did not have cached svg)
if(*appData.pieceDirectory) { // user specified piece directory
snprintf(buf, MSG_SIZ, "%s/%s%s.png", appData.pieceDirectory, color ? "Black" : "White", pngPieceNames[piece]);
img = cairo_image_surface_create_from_png (buf); // try if there are png pieces there
if(cairo_surface_status(img) != CAIRO_STATUS_SUCCESS) { // there were not
- svgPieces[color][piece] = LoadSVG(appData.pieceDirectory, color, piece); // so try if he has svg there
+ svgPieces[color][piece] = LoadSVG(appData.pieceDirectory, color, piece, 0); // so try if he has svg there
} else pngPieceImages[color][piece] = img;
}
}
if(!pngPieceImages[color][piece]) { // we still did not manage to acquire a piece bitmap
static int warned = 0;
- if(!(svgPieces[color][piece] = LoadSVG(SVGDIR, color, piece)) && !warned) { // try to fall back on installed svg
- char *msg = _("No default pieces installed\nSelect your own -pieceImageDirectory");
+ if(!(svgPieces[color][piece] = LoadSVG(SVGDIR, color, piece, 0)) && !warned) { // try to fall back on installed svg
+ char *msg = _("No default pieces installed!\nSelect your own using '-pieceImageDirectory'.");
printf("%s\n", msg); // give up
DisplayError(msg, 0);
warned = 1; // prevent error message being repeated for each piece type
cairo_destroy (cr);
}
+static char *markerColor[8] = { "#FFFF00", "#FF0000", "#00FF00", "#0000FF", "#00FFFF", "#FF00FF", "#FFFFFF", "#000000" };
+
void
DoDrawDot (cairo_surface_t *cs, int marker, int x, int y, int r)
{
cairo_stroke_preserve(cr);
SetPen(cr, 2, marker == 2 ? "#FFFFFF" : "#000000", 0);
} else {
- SetPen(cr, 2, marker == 2 ? "#FF0000" : "#FFFF00", 0);
+ SetPen(cr, 2, markerColor[marker-1], 0);
}
cairo_fill(cr);
<tr><td>unknown</td><td>Unknown variant (not supported)</td></tr>\r
</table>\r
\r
+As of XBoard 4.8, engines can define arbitrary variant names; see the "feature" and "setup" commands in <a href="#9">section 9</a>.\r
</dd>\r
\r
<dt>quit</dt>\r
Obviously in variants that cannot be described by a FEN for normal Chess,\r
e.g. because the board is not 8x8, other pieces then PNBRQK participate, \r
there are holdings that need to be specified, etc., \r
-xboard will use a FEN format that is standard or suitable for that varant.\r
+xboard will use a FEN format that is standard or suitable for that variant.\r
In particular, in FRC or CRC, WinBoard will use Shredder-FEN or X-FEN standard,\r
i.e. it can use the rook-file indicator letter to represent a castling right \r
(like HAha) whenever it wants, but if it uses KQkq, this will always refer \r
than leaving the default in place, so that the user will get an\r
appropriate error message if he tries to play a variant that your\r
engine does not support.</span>\r
+<span class="version47">As of XBoard 4.8 a variant name not known to the GUI will be\r
+considered an engine-defined variant.\r
+The user will be given the opportunity to select such variants,\r
+but when this happens, the engine should define its meaning\r
+in detail with the aid of a "setup" command defined below,\r
+in order to avoid an error.</span>\r
<br />\r
<span class="version43">If your engine can play variants on a deviating board size,\r
like capablanca on an 8x8 board, or capablanca crazyhouse,\r
-it can list them amongst the variants with a prefix spcifying board size plus\r
+it can list them amongst the variants with a prefix specifying board size plus\r
holdings size, like 8x8+0_capablanca or 10x8+7_capablanca.\r
If it is capable of playing any variant with an arbitrary board size,\r
it should list "boardsize" as one of the variants.\r
</dl>\r
</dd>\r
\r
+<dt>setup FEN</dt>\r
+<dt>setup (PIECETOCHAR) FEN</dt>\r
+<dt>setup (PIECETOCHAR) WxH+S_PARENTVARIANT FEN</dt>\r
+<dd>The engine can optionally send a setup command to the GUI in reply\r
+to the variant command.\r
+In the simplest form this sends the FEN of the initial position.\r
+This can be used to implement engines for non-standard variants\r
+that only differ from standard variants through the initial position.\r
+(E.g. many of the 'wild' boards you can play on an ICS.)\r
+Whether the GUI should obey or ignore this command depends on the situation.\r
+Normally it would ignore it in variants where it knows the standard initial position\r
+and legality testing is on, or when the user specified an initial position.\r
+In other cases it will use the FEN sent by the first engine\r
+for setting up the initial position, as if it was an externally supplied position.\r
+Such a position will always be sent to a second engine that might be involved,\r
+and any setup commands received from the latter will always be ignored.\r
+(This to allow for shuffle games, where the two engines might pick different setups.)\r
+When no initial position is known, such as for 'catch-all' variants like fairy,\r
+or whenever the board width is overruled to a non-standard value,\r
+the FEN will be used as default initial position even when legality testing is on.\r
+</dd>\r
+<dd>Optionally the meaning of the piece ID letters in the FEN can be defined\r
+between parentheses; this will be interpreted as if it was the value of a\r
+-pieceToCharTable command-line option, mapping letters to GUI piece types.\r
+Also optionally behind that, the setup command can specify board width W,\r
+board height H and holdings size S, as well as a 'parent variant'.\r
+This is typically done in response to a variant command with a non-standard name,\r
+about which the GUI is not supposed to know anything at all.\r
+The engine can then specify board size, participating pieces, initial setup,\r
+and other rule details (inherited from the parent variant),\r
+saving the user the trouble to configure the GUI for this non-standard variant.\r
+Example:\r
+<pre>\r
+ setup (PN.RQKpn.rqk) 6x6+0_fairy rnqknr/pppppp/6/6/PPPPPP/RNQKNR w - - 0 1\r
+</pre>\r
+could be used by an engine for Los-Alamos Chess in response to 'variant losalamos',\r
+and would automatically switch the GUI to this variant as soon as the user\r
+selected it from the GUI menu.\r
+The PIECETOCHAR element would ensure a Bishop would not be accepted as promotion choice. \r
+</dd>\r
\r
<dt>Illegal move: MOVE</dt>\r
<dt>Illegal move (REASON): MOVE</dt>\r
void PopUpMoveDialog P((char first));
void RingBell P((void));
+int Roar P((void));
void PlayIcsWinSound P((void));
void PlayIcsLossSound P((void));
void PlayIcsDrawSound P((void));
void PlayIcsUnfinishedSound P((void));
void PlayAlarmSound P((void));
void PlayTellSound P((void));
-void PlaySoundFile P((char *name));
+int PlaySoundFile P((char *name));
void PlaySoundByColor P((void));
void EchoOn P((void));
void EchoOff P((void));
void CancelDelayedEvent P((void));
// [HGM] mouse: next six used by mouse handler, which was moved to backend
extern int fromX, fromY, toX, toY;
-void PromotionPopUp P((void));
+void PromotionPopUp P((char choice));
void DragPieceBegin P((int x, int y, Boolean instantly));
void DragPieceEnd P((int x, int y));
void DragPieceMove P((int x, int y));
} while (cm == PGNTag || cm == Comment);
if(1) {
int btm=0;
- if(currentListGame->gameInfo.fen) ParseFEN(boards[scratch], &btm, currentListGame->gameInfo.fen);
+ if(currentListGame->gameInfo.fen) ParseFEN(boards[scratch], &btm, currentListGame->gameInfo.fen, FALSE);
else CopyBoard(boards[scratch], initialPosition);
plyNr = (btm != 0);
currentListGame->moves = PackGame(boards[scratch]);
// redefine some defaults
# undef ICS_LOGON
# undef SYSCONFDIR
+# undef DATADIR
# define ICS_LOGON "Library/Preferences/XboardICS.conf"
# define SYSCONFDIR "../etc"
# define DATADIR dataDir
case ArgTwo:
case ArgNone:
case ArgCommSettings:
+ default:
break;
}
return p;
debugFP = stderr;
if(argc > 1 && (!strcmp(argv[1], "-v" ) || !strcmp(argv[1], "--version" ))) {
- printf("%s version %s\n", PACKAGE_NAME, PACKAGE_VERSION);
+ printf("%s version %s\n\n configure options: %s\n", PACKAGE_NAME, PACKAGE_VERSION, CONFIGURE_OPTIONS);
exit(0);
}
if(accelerator_mods & GDK_CONTROL_MASK) { // in OSX use Meta where Linux uses Ctrl
accelerator_mods &= ~GDK_CONTROL_MASK; // clear Ctrl flag
accelerator_mods |= GDK_META_MASK; // set Meta flag
- }
+ }
#endif
gtk_widget_add_accelerator (GTK_WIDGET(entry), "activate",GtkAccelerators,
accelerator_key, accelerator_mods, GTK_ACCEL_VISIBLE);
gtkosx_application_set_menu_bar(theApp, GTK_MENU_SHELL(menuBar));
gtkosx_application_insert_app_menu_item(theApp, GTK_MENU_ITEM(helpMenu[8].handle), 0); // hack
gtkosx_application_sync_menubar(theApp);
- }
+ }
#endif
break;
case BoxEnd:
static char *selected_fen_position=NULL;
if(gameMode == EditPosition) EditPositionDone(TRUE);
if (selected_fen_position) free(selected_fen_position);
- selected_fen_position = (char *)PositionToFEN(currentMove, NULL);
+ selected_fen_position = (char *)PositionToFEN(currentMove, NULL, 1);
if (!selected_fen_position) return;
CopySomething(selected_fen_position);
}
MenuItem fileMenu[] = {
{N_("New Game"), "<Ctrl>n", "NewGame", ResetGameEvent},
- {N_("New Shuffle Game ..."), NULL, "NewShuffleGame", ShuffleMenuProc},
- {N_("New Variant ..."), "<Alt><Shift>v", "NewVariant", NewVariantProc},// [HGM] variant: not functional yet
+ {N_("New Shuffle Game..."), NULL, "NewShuffleGame", ShuffleMenuProc},
+ {N_("New Variant..."), "<Alt><Shift>v", "NewVariant", NewVariantProc},// [HGM] variant: not functional yet
{"----", NULL, NULL, NothingProc},
{N_("Load Game"), "<Ctrl>o", "LoadGame", LoadGameProc, CHECK},
{N_("Load Position"), "<Ctrl><Shift>o", "LoadPosition", LoadPositionProc},
};
MenuItem engineMenu[100] = {
- {N_("Load New 1st Engine ..."), NULL, "LoadNew1stEngine", LoadEngine1Proc},
- {N_("Load New 2nd Engine ..."), NULL, "LoadNew2ndEngine", LoadEngine2Proc},
+ {N_("Load New 1st Engine..."), NULL, "LoadNew1stEngine", LoadEngine1Proc},
+ {N_("Load New 2nd Engine..."), NULL, "LoadNew2ndEngine", LoadEngine2Proc},
{"----", NULL, NULL, NothingProc},
- {N_("Engine #1 Settings ..."), NULL, "Engine#1Settings", FirstSettingsProc},
- {N_("Engine #2 Settings ..."), NULL, "Engine#2Settings", SecondSettingsProc},
+ {N_("Engine #1 Settings..."), NULL, "Engine#1Settings", FirstSettingsProc},
+ {N_("Engine #2 Settings..."), NULL, "Engine#2Settings", SecondSettingsProc},
{"----", NULL, NULL, NothingProc},
{N_("Hint"), NULL, "Hint", HintEvent},
{N_("Book"), NULL, "Book", BookEvent},
MenuItem optionsMenu[] = {
#ifdef OPTIONSDIALOG
- {N_("General ..."), NULL, "General", OptionsProc},
+ {N_("General..."), NULL, "General", OptionsProc},
#endif
- {N_("Time Control ..."), "<Alt><Shift>t", "TimeControl", TimeControlProc},
- {N_("Common Engine ..."), "<Alt><Shift>u", "CommonEngine", UciMenuProc},
- {N_("Adjudications ..."), "<Alt><Shift>j", "Adjudications", EngineMenuProc},
- {N_("ICS ..."), NULL, "ICS", IcsOptionsProc},
- {N_("Match ..."), NULL, "Match", MatchOptionsProc},
- {N_("Load Game ..."), NULL, "LoadGame", LoadOptionsProc},
- {N_("Save Game ..."), NULL, "SaveGame", SaveOptionsProc},
- {N_("Game List ..."), NULL, "GameList", GameListOptionsProc},
- {N_("Sounds ..."), NULL, "Sounds", SoundOptionsProc},
+ {N_("Time Control..."), "<Alt><Shift>t", "TimeControl", TimeControlProc},
+ {N_("Common Engine..."), "<Alt><Shift>u", "CommonEngine", UciMenuProc},
+ {N_("Adjudications..."), "<Alt><Shift>j", "Adjudications", EngineMenuProc},
+ {N_("ICS..."), NULL, "ICS", IcsOptionsProc},
+ {N_("Tournament..."), NULL, "Match", MatchOptionsProc},
+ {N_("Load Game..."), NULL, "LoadGame", LoadOptionsProc},
+ {N_("Save Game..."), NULL, "SaveGame", SaveOptionsProc},
+ {N_("Game List..."), NULL, "GameList", GameListOptionsProc},
+ {N_("Sounds..."), NULL, "Sounds", SoundOptionsProc},
{"----", NULL, NULL, NothingProc},
#ifndef OPTIONSDIALOG
{N_("Always Queen"), "<Ctrl><Shift>q", "AlwaysQueen", AlwaysQueenProc},
(int) piece2 < (int) EmptySquare);
}
#else
-#define SameColor(piece1, piece2) (piece1 < EmptySquare && piece2 < EmptySquare && (piece1 < BlackPawn) == (piece2 < BlackPawn))
+#define SameColor(piece1, piece2) (piece1 < EmptySquare && piece2 < EmptySquare && (piece1 < BlackPawn) == (piece2 < BlackPawn) || piece1 == DarkSquare || piece2 == DarkSquare)
#endif
char pieceToChar[] = {
return TRUE;
}
+// [HGM] move generation now based on hierarchy of subroutines for rays and combinations of rays
+
+void
+SlideForward (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ int i, rt, ft = ff;
+ for (i = 1;; i++) {
+ rt = rf + i;
+ if (rt >= BOARD_HEIGHT) break;
+ if (SameColor(board[rf][ff], board[rt][ft])) break;
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+ if (board[rt][ft] != EmptySquare) break;
+ }
+}
+
+void
+SlideBackward (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ int i, rt, ft = ff;
+ for (i = 1;; i++) {
+ rt = rf - i;
+ if (rt < 0) break;
+ if (SameColor(board[rf][ff], board[rt][ft])) break;
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+ if (board[rt][ft] != EmptySquare) break;
+ }
+}
+
+void
+SlideVertical (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ SlideForward(board, flags, rf, ff, callback, closure);
+ SlideBackward(board, flags, rf, ff, callback, closure);
+}
+
+void
+SlideSideways (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ int i, s, rt = rf, ft;
+ for(s = -1; s <= 1; s+= 2) {
+ for (i = 1;; i++) {
+ ft = ff + i*s;
+ if (ft < BOARD_LEFT || ft >= BOARD_RGHT) break;
+ if (SameColor(board[rf][ff], board[rt][ft])) break;
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+ if (board[rt][ft] != EmptySquare) break;
+ }
+ }
+}
+
+void
+SlideDiagForward (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ int i, s, rt, ft;
+ for(s = -1; s <= 1; s+= 2) {
+ for (i = 1;; i++) {
+ rt = rf + i;
+ ft = ff + i * s;
+ if (rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT) break;
+ if (SameColor(board[rf][ff], board[rt][ft])) break;
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+ if (board[rt][ft] != EmptySquare) break;
+ }
+ }
+}
+
+void
+SlideDiagBackward (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ int i, s, rt, ft;
+ for(s = -1; s <= 1; s+= 2) {
+ for (i = 1;; i++) {
+ rt = rf - i;
+ ft = ff + i * s;
+ if (rt < 0 || ft < BOARD_LEFT || ft >= BOARD_RGHT) break;
+ if (SameColor(board[rf][ff], board[rt][ft])) break;
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+ if (board[rt][ft] != EmptySquare) break;
+ }
+ }
+}
+
+void
+Rook (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ SlideVertical(board, flags, rf, ff, callback, closure);
+ SlideSideways(board, flags, rf, ff, callback, closure);
+}
+
+void
+Bishop (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ SlideDiagForward(board, flags, rf, ff, callback, closure);
+ SlideDiagBackward(board, flags, rf, ff, callback, closure);
+}
+
+void
+Sting (Board board, int flags, int rf, int ff, int dy, int dx, MoveCallback callback, VOIDSTAR closure)
+{ // Lion-like move of Horned Falcon and Souring Eagle
+ int ft = ff + dx, rt = rf + dy;
+ if (rt < 0 || rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT) return;
+ if (!SameColor(board[rf][ff], board[rt][ft]))
+ callback(board, flags, board[rt][ft] != EmptySquare ? FirstLeg : NormalMove, rf, ff, rt, ft, closure);
+ ft += dx; rt += dy;
+ if (rt < 0 || rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT) return;
+ if (!SameColor(board[rf][ff], board[rt][ft]))
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+}
+
+void
+StepForward (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ int ft = ff, rt = rf + 1;
+ if (rt >= BOARD_HEIGHT) return;
+ if (SameColor(board[rf][ff], board[rt][ft])) return;
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+}
+
+void
+StepBackward (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ int ft = ff, rt = rf - 1;
+ if (rt < 0) return;
+ if (SameColor(board[rf][ff], board[rt][ft])) return;
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+}
+
+void
+StepSideways (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ int ft, rt = rf;
+ ft = ff + 1;
+ if (!(rt >= BOARD_HEIGHT || ft >= BOARD_RGHT) && !SameColor(board[rf][ff], board[rt][ft]))
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+ ft = ff - 1;
+ if (!(rt >= BOARD_HEIGHT || ft < BOARD_LEFT) && !SameColor(board[rf][ff], board[rt][ft]))
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+}
+
+void
+StepDiagForward (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ int ft, rt = rf + 1;
+ if (rt >= BOARD_HEIGHT) return;
+ ft = ff + 1;
+ if (!(rt >= BOARD_HEIGHT || ft >= BOARD_RGHT) && !SameColor(board[rf][ff], board[rt][ft]))
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+ ft = ff - 1;
+ if (!(rt >= BOARD_HEIGHT || ft < BOARD_LEFT) && !SameColor(board[rf][ff], board[rt][ft]))
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+}
+
+void
+StepDiagBackward (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ int ft, rt = rf - 1;
+ if(rt < 0) return;
+ ft = ff + 1;
+ if (!(rt < 0 || ft >= BOARD_RGHT) && !SameColor(board[rf][ff], board[rt][ft]))
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+ ft = ff - 1;
+ if (!(rt < 0 || ft < BOARD_LEFT) && !SameColor(board[rf][ff], board[rt][ft]))
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+}
+
+void
+StepVertical (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ StepForward(board, flags, rf, ff, callback, closure);
+ StepBackward(board, flags, rf, ff, callback, closure);
+}
+
+void
+Ferz (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ StepDiagForward(board, flags, rf, ff, callback, closure);
+ StepDiagBackward(board, flags, rf, ff, callback, closure);
+}
+
+void
+Wazir (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ StepVertical(board, flags, rf, ff, callback, closure);
+ StepSideways(board, flags, rf, ff, callback, closure);
+}
+
+void
+Knight (Board board, int flags, int rf, int ff, MoveCallback callback, VOIDSTAR closure)
+{
+ int i, j, s, rt, ft;
+ for (i = -1; i <= 1; i += 2)
+ for (j = -1; j <= 1; j += 2)
+ for (s = 1; s <= 2; s++) {
+ rt = rf + i*s;
+ ft = ff + j*(3-s);
+ if (!(rt < 0 || rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT)
+ && ( gameInfo.variant != VariantXiangqi || board[rf+i*(s-1)][ff+j*(2-s)] == EmptySquare)
+ && !SameColor(board[rf][ff], board[rt][ft]))
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+ }
+}
/* Call callback once for each pseudo-legal move in the given
position, except castling moves. A move is pseudo-legal if it is
int rf, ff;
int i, j, d, s, fs, rs, rt, ft, m;
int epfile = (signed char)board[EP_STATUS]; // [HGM] gamestate: extract ep status from board
- int promoRank = gameInfo.variant == VariantMakruk || gameInfo.variant == VariantGrand ? 3 : 1;
+ int promoRank = gameInfo.variant == VariantMakruk || gameInfo.variant == VariantGrand || gameInfo.variant == VariantChuChess ? 3 : 1;
for (rf = 0; rf < BOARD_HEIGHT; rf++)
for (ff = BOARD_LEFT; ff < BOARD_RGHT; ff++) {
if(PieceToChar(piece) == '~')
piece = (ChessSquare) ( DEMOTED piece );
if(filter != EmptySquare && piece != filter) continue;
- if(gameInfo.variant == VariantShogi)
+ if(IS_SHOGI(gameInfo.variant))
piece = (ChessSquare) ( SHOGI piece );
switch ((int)piece) {
case BlackUnicorn:
case WhiteKnight:
case BlackKnight:
- mounted:
for (i = -1; i <= 1; i += 2)
for (j = -1; j <= 1; j += 2)
for (s = 1; s <= 2; s++) {
/* Gold General (and all its promoted versions) . First do the */
/* diagonal forward steps, then proceed as normal Wazir */
- case SHOGI WhiteWazir:
case SHOGI (PROMOTED WhitePawn):
+ if(gameInfo.variant == VariantShogi) goto WhiteGold;
+ case SHOGI (PROMOTED BlackPawn):
+ if(gameInfo.variant == VariantShogi) goto BlackGold;
+ SlideVertical(board, flags, rf, ff, callback, closure);
+ break;
+
case SHOGI (PROMOTED WhiteKnight):
- case SHOGI (PROMOTED WhiteQueen):
- case SHOGI (PROMOTED WhiteFerz):
- for (s = -1; s <= 1; s += 2) {
- if (rf < BOARD_HEIGHT-1 && ff + s >= BOARD_LEFT && ff + s < BOARD_RGHT &&
- !SameColor(board[rf][ff], board[rf + 1][ff + s])) {
- callback(board, flags, NormalMove,
- rf, ff, rf + 1, ff + s, closure);
- }
- }
- goto finishGold;
+ if(gameInfo.variant == VariantShogi) goto WhiteGold;
+ case SHOGI BlackDrunk:
+ case SHOGI BlackAlfil:
+ Ferz(board, flags, rf, ff, callback, closure);
+ StepSideways(board, flags, rf, ff, callback, closure);
+ StepBackward(board, flags, rf, ff, callback, closure);
+ break;
- case SHOGI BlackWazir:
- case SHOGI (PROMOTED BlackPawn):
case SHOGI (PROMOTED BlackKnight):
+ if(gameInfo.variant == VariantShogi) goto BlackGold;
+ case SHOGI WhiteDrunk:
+ case SHOGI WhiteAlfil:
+ Ferz(board, flags, rf, ff, callback, closure);
+ StepSideways(board, flags, rf, ff, callback, closure);
+ StepForward(board, flags, rf, ff, callback, closure);
+ break;
+
+
+ case SHOGI WhiteStag:
+ case SHOGI BlackStag:
+ if(gameInfo.variant == VariantShogi) goto BlackGold;
+ SlideVertical(board, flags, rf, ff, callback, closure);
+ Ferz(board, flags, rf, ff, callback, closure);
+ StepSideways(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI (PROMOTED WhiteQueen):
+ case SHOGI WhiteTokin:
+ case SHOGI WhiteWazir:
+ WhiteGold:
+ StepDiagForward(board, flags, rf, ff, callback, closure);
+ Wazir(board, flags, rf, ff, callback, closure);
+ break;
+
case SHOGI (PROMOTED BlackQueen):
- case SHOGI (PROMOTED BlackFerz):
- for (s = -1; s <= 1; s += 2) {
- if (rf > 0 && ff + s >= BOARD_LEFT && ff + s < BOARD_RGHT &&
- !SameColor(board[rf][ff], board[rf - 1][ff + s])) {
- callback(board, flags, NormalMove,
- rf, ff, rf - 1, ff + s, closure);
- }
- }
+ case SHOGI BlackTokin:
+ case SHOGI BlackWazir:
+ BlackGold:
+ StepDiagBackward(board, flags, rf, ff, callback, closure);
+ Wazir(board, flags, rf, ff, callback, closure);
+ break;
case WhiteWazir:
case BlackWazir:
- finishGold:
- for (d = 0; d <= 1; d++)
- for (s = -1; s <= 1; s += 2) {
- rt = rf + s * d;
- ft = ff + s * (1 - d);
- if (!(rt < 0 || rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT)
- && !SameColor(board[rf][ff], board[rt][ft]) &&
- (gameInfo.variant != VariantXiangqi || InPalace(rt, ft) ) )
- callback(board, flags, NormalMove,
- rf, ff, rt, ft, closure);
- }
- break;
+ Wazir(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI WhiteMarshall:
+ case SHOGI BlackMarshall:
+ Ferz(board, flags, rf, ff, callback, closure);
+ for (d = 0; d <= 1; d++)
+ for (s = -2; s <= 2; s += 4) {
+ rt = rf + s * d;
+ ft = ff + s * (1 - d);
+ if (rt < 0 || rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT) continue;
+ if (!SameColor(board[rf][ff], board[rt][ft]) )
+ callback(board, flags, NormalMove, rf, ff, rt, ft, closure);
+ }
+ break;
+
+ case SHOGI WhiteAngel:
+ case SHOGI BlackAngel:
+ Wazir(board, flags, rf, ff, callback, closure);
case WhiteAlfil:
case BlackAlfil:
&& !SameColor(board[rf][ff], board[rt][ft]))
callback(board, flags, NormalMove,
rf, ff, rt, ft, closure);
- if(gameInfo.variant == VariantShatranj || gameInfo.variant == VariantCourier
- || gameInfo.variant == VariantXiangqi) continue; // classical Alfil
+ if(gameInfo.variant == VariantShatranj || gameInfo.variant == VariantCourier ||
+ gameInfo.variant == VariantChu || gameInfo.variant == VariantXiangqi) continue; // classical Alfil
rt = rf + rs; // in unknown variant we assume Modern Elephant, which can also do one step
ft = ff + fs;
if (!(rt < 0 || rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT)
/* Make Dragon-Horse also do Dababba moves outside Shogi, for better disambiguation in variant Fairy */
case WhiteCardinal:
case BlackCardinal:
+ if(gameInfo.variant == VariantChuChess) goto DragonHorse;
for (d = 0; d <= 1; d++) // Dababba moves that Rook cannot do
for (s = -2; s <= 2; s += 4) {
rt = rf + s * d;
/* Shogi Dragon Horse has to continue with Wazir after Bishop */
case SHOGI WhiteCardinal:
case SHOGI BlackCardinal:
- m++;
+ case SHOGI WhitePCardinal:
+ case SHOGI BlackPCardinal:
+ DragonHorse:
+ Bishop(board, flags, rf, ff, callback, closure);
+ Wazir(board, flags, rf, ff, callback, closure);
+ break;
/* Capablanca Archbishop continues as Knight */
case WhiteAngel:
case BlackAngel:
- m++;
+ Knight(board, flags, rf, ff, callback, closure);
/* Shogi Bishops are ordinary Bishops */
case SHOGI WhiteBishop:
case SHOGI BlackBishop:
+ case SHOGI WhitePBishop:
+ case SHOGI BlackPBishop:
case WhiteBishop:
case BlackBishop:
- for (rs = -1; rs <= 1; rs += 2)
- for (fs = -1; fs <= 1; fs += 2)
- for (i = 1;; i++) {
- rt = rf + (i * rs);
- ft = ff + (i * fs);
- if (rt < 0 || rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT) break;
- if (SameColor(board[rf][ff], board[rt][ft])) break;
- callback(board, flags, NormalMove,
- rf, ff, rt, ft, closure);
- if (board[rt][ft] != EmptySquare) break;
- }
- if(m==1) goto mounted;
- if(m==2) goto finishGold;
- /* Bishop falls through */
- break;
+ Bishop(board, flags, rf, ff, callback, closure);
+ break;
/* Shogi Lance is unlike anything, and asymmetric at that */
case SHOGI WhiteQueen:
+ if(gameInfo.variant == VariantChu) goto doQueen;
for(i = 1;; i++) {
rt = rf + i;
ft = ff;
break;
case SHOGI BlackQueen:
+ if(gameInfo.variant == VariantChu) goto doQueen;
for(i = 1;; i++) {
rt = rf - i;
ft = ff;
/* Make Dragon-King Dababba & Rook-like outside Shogi, for better disambiguation in variant Fairy */
case WhiteDragon:
case BlackDragon:
+ if(gameInfo.variant == VariantChuChess) goto DragonKing;
for (d = 0; d <= 1; d++) // Dababba moves that Rook cannot do
for (s = -2; s <= 2; s += 4) {
rt = rf + s * d;
/* Shogi Dragon King has to continue as Ferz after Rook moves */
case SHOGI WhiteDragon:
case SHOGI BlackDragon:
+ case SHOGI WhitePDragon:
+ case SHOGI BlackPDragon:
+ DragonKing:
+ Rook(board, flags, rf, ff, callback, closure);
+ Ferz(board, flags, rf, ff, callback, closure);
+ break;
m++;
/* Capablanca Chancellor sets flag to continue as Knight */
case WhiteMarshall:
case BlackMarshall:
- m++;
- m += (gameInfo.variant == VariantSpartan); // in Spartan Chess Chancellor is used for Dragon King.
+ Rook(board, flags, rf, ff, callback, closure);
+ if(gameInfo.variant == VariantSpartan) // in Spartan Chess Chancellor is used for Dragon King.
+ Ferz(board, flags, rf, ff, callback, closure);
+ else
+ Knight(board, flags, rf, ff, callback, closure);
+ break;
/* Shogi Rooks are ordinary Rooks */
case SHOGI WhiteRook:
case SHOGI BlackRook:
+ case SHOGI WhitePRook:
+ case SHOGI BlackPRook:
case WhiteRook:
case BlackRook:
doRook:
- for (d = 0; d <= 1; d++)
- for (s = -1; s <= 1; s += 2)
- for (i = 1;; i++) {
- rt = rf + (i * s) * d;
- ft = ff + (i * s) * (1 - d);
- if (rt < 0 || rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT) break;
- if (SameColor(board[rf][ff], board[rt][ft])) break;
- callback(board, flags, NormalMove,
- rf, ff, rt, ft, closure);
- if (board[rt][ft] != EmptySquare || i == rookRange) break;
- }
- if(m==1) goto mounted;
- if(m==2) goto finishSilver;
- break;
+ Rook(board, flags, rf, ff, callback, closure);
+ break;
case WhiteQueen:
case BlackQueen:
- for (rs = -1; rs <= 1; rs++)
- for (fs = -1; fs <= 1; fs++) {
- if (rs == 0 && fs == 0) continue;
- for (i = 1;; i++) {
- rt = rf + (i * rs);
- ft = ff + (i * fs);
- if (rt < 0 || rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT) break;
- if (SameColor(board[rf][ff], board[rt][ft])) break;
- callback(board, flags, NormalMove,
- rf, ff, rt, ft, closure);
- if (board[rt][ft] != EmptySquare) break;
- }
- }
- break;
+ case SHOGI WhiteMother:
+ case SHOGI BlackMother:
+ doQueen:
+ Rook(board, flags, rf, ff, callback, closure);
+ Bishop(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI WhitePawn:
+ StepForward(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI BlackPawn:
+ StepBackward(board, flags, rf, ff, callback, closure);
+ break;
- /* Shogi Pawn and Silver General: first the Pawn move, */
- /* then the General continues like a Ferz */
case WhiteMan:
- if(gameInfo.variant != VariantMakruk) goto commoner;
- case SHOGI WhitePawn:
+ if(gameInfo.variant != VariantMakruk && gameInfo.variant != VariantASEAN) goto commoner;
case SHOGI WhiteFerz:
- if (rf < BOARD_HEIGHT-1 &&
- !SameColor(board[rf][ff], board[rf + 1][ff]) )
- callback(board, flags, NormalMove,
- rf, ff, rf + 1, ff, closure);
- if(piece != SHOGI WhitePawn) goto finishSilver;
- break;
+ Ferz(board, flags, rf, ff, callback, closure);
+ StepForward(board, flags, rf, ff, callback, closure);
+ break;
case BlackMan:
- if(gameInfo.variant != VariantMakruk) goto commoner;
- case SHOGI BlackPawn:
+ if(gameInfo.variant != VariantMakruk && gameInfo.variant != VariantASEAN) goto commoner;
case SHOGI BlackFerz:
- if (rf > 0 &&
- !SameColor(board[rf][ff], board[rf - 1][ff]) )
- callback(board, flags, NormalMove,
- rf, ff, rf - 1, ff, closure);
- if(piece == SHOGI BlackPawn) break;
+ StepBackward(board, flags, rf, ff, callback, closure);
case WhiteFerz:
case BlackFerz:
- finishSilver:
/* [HGM] support Shatranj pieces */
- for (rs = -1; rs <= 1; rs += 2)
- for (fs = -1; fs <= 1; fs += 2) {
- rt = rf + rs;
- ft = ff + fs;
- if (rt < 0 || rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT) continue;
- if (!SameColor(board[rf][ff], board[rt][ft]) &&
- (gameInfo.variant != VariantXiangqi || InPalace(rt, ft) ) )
- callback(board, flags, NormalMove,
- rf, ff, rt, ft, closure);
- }
- break;
+ Ferz(board, flags, rf, ff, callback, closure);
+ break;
case WhiteSilver:
case BlackSilver:
- m++; // [HGM] superchess: use for Centaur
+ Knight(board, flags, rf, ff, callback, closure); // [HGM] superchess: use for Centaur
+
commoner:
+ case SHOGI WhiteMonarch:
+ case SHOGI BlackMonarch:
case SHOGI WhiteKing:
case SHOGI BlackKing:
case WhiteKing:
case BlackKing:
-// walking:
- for (i = -1; i <= 1; i++)
- for (j = -1; j <= 1; j++) {
- if (i == 0 && j == 0) continue;
- rt = rf + i;
- ft = ff + j;
- if (rt < 0 || rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT) continue;
- if (SameColor(board[rf][ff], board[rt][ft])) continue;
- callback(board, flags, NormalMove,
- rf, ff, rt, ft, closure);
- }
- if(m==1) goto mounted;
- break;
+ Ferz(board, flags, rf, ff, callback, closure);
+ Wazir(board, flags, rf, ff, callback, closure);
+ break;
case WhiteNightrider:
case BlackNightrider:
break;
Amazon:
- /* First do Bishop,then continue like Chancellor */
- for (rs = -1; rs <= 1; rs += 2)
- for (fs = -1; fs <= 1; fs += 2)
- for (i = 1;; i++) {
- rt = rf + (i * rs);
- ft = ff + (i * fs);
- if (rt < 0 || rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT) break;
- if (SameColor(board[rf][ff], board[rt][ft])) break;
- callback(board, flags, NormalMove,
- rf, ff, rt, ft, closure);
- if (board[rt][ft] != EmptySquare) break;
- }
- m++;
- goto doRook;
+ Bishop(board, flags, rf, ff, callback, closure);
+ Rook(board, flags, rf, ff, callback, closure);
+ Knight(board, flags, rf, ff, callback, closure);
+ break;
// Use Lance as Berolina / Spartan Pawn.
case WhiteLance:
}
break;
+ case SHOGI WhiteNothing:
+ case SHOGI BlackNothing:
+ case SHOGI WhiteLion:
+ case SHOGI BlackLion:
+ case WhiteLion:
+ case BlackLion:
+ for(rt = rf - 2; rt <= rf + 2; rt++) for(ft = ff - 2; ft <= ff + 2; ft++) {
+ if (rt < 0 || rt >= BOARD_HEIGHT || ft < BOARD_LEFT || ft >= BOARD_RGHT) continue;
+ if (!(ff == ft && rf == rt) && SameColor(board[rf][ff], board[rt][ft])) continue;
+ callback(board, flags, (rt-rf)*(rt-rf) + (ff-ft)*(ff-ft) < 3 && board[rt][ft] != EmptySquare ? FirstLeg : NormalMove,
+ rf, ff, rt, ft, closure);
+ }
+ break;
+
+ case SHOGI WhiteFalcon:
+ case SHOGI BlackFalcon:
+ case SHOGI WhitePDagger:
+ case SHOGI BlackPDagger:
+ SlideSideways(board, flags, rf, ff, callback, closure);
+ StepVertical(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI WhiteCobra:
+ case SHOGI BlackCobra:
+ StepVertical(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI (PROMOTED WhiteFerz):
+ if(gameInfo.variant == VariantShogi) goto WhiteGold;
+ case SHOGI (PROMOTED BlackFerz):
+ if(gameInfo.variant == VariantShogi) goto BlackGold;
+ case SHOGI WhitePSword:
+ case SHOGI BlackPSword:
+ SlideVertical(board, flags, rf, ff, callback, closure);
+ StepSideways(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI WhiteUnicorn:
+ case SHOGI BlackUnicorn:
+ Ferz(board, flags, rf, ff, callback, closure);
+ StepVertical(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI WhiteMan:
+ StepDiagForward(board, flags, rf, ff, callback, closure);
+ StepVertical(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI BlackMan:
+ StepDiagBackward(board, flags, rf, ff, callback, closure);
+ StepVertical(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI WhiteHCrown:
+ case SHOGI BlackHCrown:
+ Bishop(board, flags, rf, ff, callback, closure);
+ SlideSideways(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI WhiteCrown:
+ case SHOGI BlackCrown:
+ Bishop(board, flags, rf, ff, callback, closure);
+ SlideVertical(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI WhiteHorned:
+ Sting(board, flags, rf, ff, 1, 0, callback, closure);
+ callback(board, flags, NormalMove, rf, ff, rf, ff, closure);
+ if(killX >= 0) break;
+ Bishop(board, flags, rf, ff, callback, closure);
+ SlideSideways(board, flags, rf, ff, callback, closure);
+ SlideBackward(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI BlackHorned:
+ Sting(board, flags, rf, ff, -1, 0, callback, closure);
+ callback(board, flags, NormalMove, rf, ff, rf, ff, closure);
+ if(killX >= 0) break;
+ Bishop(board, flags, rf, ff, callback, closure);
+ SlideSideways(board, flags, rf, ff, callback, closure);
+ SlideForward(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI WhiteEagle:
+ Sting(board, flags, rf, ff, 1, 1, callback, closure);
+ Sting(board, flags, rf, ff, 1, -1, callback, closure);
+ callback(board, flags, NormalMove, rf, ff, rf, ff, closure);
+ if(killX >= 0) break;
+ Rook(board, flags, rf, ff, callback, closure);
+ SlideDiagBackward(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI BlackEagle:
+ Sting(board, flags, rf, ff, -1, 1, callback, closure);
+ Sting(board, flags, rf, ff, -1, -1, callback, closure);
+ callback(board, flags, NormalMove, rf, ff, rf, ff, closure);
+ if(killX >= 0) break;
+ Rook(board, flags, rf, ff, callback, closure);
+ SlideDiagForward(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI WhiteDolphin:
+ case SHOGI BlackHorse:
+ SlideDiagBackward(board, flags, rf, ff, callback, closure);
+ SlideVertical(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI BlackDolphin:
+ case SHOGI WhiteHorse:
+ SlideDiagForward(board, flags, rf, ff, callback, closure);
+ SlideVertical(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI WhiteLance:
+ SlideForward(board, flags, rf, ff, callback, closure);
+ break;
+
+ case SHOGI BlackLance:
+ SlideBackward(board, flags, rf, ff, callback, closure);
+ break;
+
case WhiteFalcon: // [HGM] wild: for wildcards, self-capture symbolizes move to anywhere
case BlackFalcon:
case WhiteCobra:
if(rFilter >= 0 && rFilter != rt || fFilter >= 0 && fFilter != ft) return; // [HGM] speed: ignore moves with wrong to-square
+ if (board[EP_STATUS] == EP_IRON_LION && (board[rt][ft] == WhiteLion || board[rt][ft] == BlackLion)) return; //[HGM] lion
+
if (!(flags & F_IGNORE_CHECK) ) {
int check, promo = (gameInfo.variant == VariantSpartan && kind == BlackPromotion);
if(promo) {
cl->check++;
xqCheckers[rf][ff] = xqCheckers[EP_STATUS] & 1; // remember who is checking (if status == 1)
}
+ if( board[EP_STATUS] == EP_ROYAL_LION && (board[rt][ft] == WhiteLion || board[rt][ft] == BlackLion)
+ && (gameInfo.variant != VariantLion || board[rf][ff] != WhiteKing && board[rf][ff] != BlackKing) )
+ cl->check++; // [HGM] lion: forbidden counterstrike against Lion equated to putting yourself in check
}
{
CheckTestClosure cl;
ChessSquare king = flags & F_WHITE_ON_MOVE ? WhiteKing : BlackKing;
- ChessSquare captured = EmptySquare;
+ ChessSquare captured = EmptySquare, ep, trampled;
/* Suppress warnings on uninitialized variables */
if(gameInfo.variant == VariantXiangqi)
king = flags & F_WHITE_ON_MOVE ? WhiteWazir : BlackWazir;
if(gameInfo.variant == VariantKnightmate)
king = flags & F_WHITE_ON_MOVE ? WhiteUnicorn : BlackUnicorn;
+ if(gameInfo.variant == VariantChu) { // strictly speaking this is not needed, as Chu officially has no check
+ int r, f, k = king, royals=0, prince = flags & F_WHITE_ON_MOVE ? WhiteMonarch : BlackMonarch;
+ for(r=0; r<BOARD_HEIGHT; r++) for(f=BOARD_LEFT; f<BOARD_RGHT; f++) {
+ if(board[r][f] == k || board[r][f] == prince) {
+ if(++royals > 1) return FALSE; // no check if we have two royals (ignores double captureby Lion!)
+ king = board[r][f]; // remember hich one we had
+ }
+ }
+ }
if (rt >= 0) {
if (enPassant) {
captured = board[rf][ft];
board[rf][ft] = EmptySquare;
} else {
- captured = board[rt][ft];
+ captured = board[rt][ft];
+ if(killX >= 0) { trampled = board[killY][killX]; board[killY][killX] = EmptySquare; }
}
if(rf == DROP_RANK) board[rt][ft] = ff; else { // [HGM] drop
board[rt][ft] = board[rf][ff];
board[rf][ff] = EmptySquare;
}
+ ep = board[EP_STATUS];
+ if( captured == WhiteLion || captured == BlackLion ) { // [HGM] lion: Chu Lion-capture rules
+ ChessSquare victim = killX < 0 ? EmptySquare : trampled;
+ if( (board[rt][ft] == WhiteLion || board[rt][ft] == BlackLion) && // capturer is Lion
+ (ff - ft > 1 || ft - ff > 1 || rf - rt > 1 || rt - rf > 1) && // captures from a distance
+ (victim == EmptySquare || victim == WhitePawn || victim == BlackPawn) ) // no or worthless 'bridge'
+ board[EP_STATUS] = EP_ROYAL_LION; // on distant Lion x Lion victim must not be pseudo-legally protected
+ }
}
/* For compatibility with ICS wild 9, we scan the board in the
board[rf][ft] = captured;
board[rt][ft] = EmptySquare;
} else {
+ if(killX >= 0) board[killY][killX] = trampled;
board[rt][ft] = captured;
}
+ board[EP_STATUS] = ep;
}
return cl.fking < BOARD_RGHT ? cl.check : 1000; // [HGM] atomic: return 1000 if we have no king
}
+int
+HasLion (Board board, int flags)
+{
+ int lion = F_WHITE_ON_MOVE & flags ? WhiteLion : BlackLion;
+ int r, f;
+ for(r=0; r<BOARD_HEIGHT; r++) for(f=BOARD_LEFT; f<BOARD_RGHT; f++)
+ if(board[r][f] == lion) return 1;
+ return 0;
+}
+
ChessMove
LegalDrop (Board board, int flags, ChessSquare piece, int rt, int ft)
{ // [HGM] put drop legality testing in separate routine for clarity
if(board[BOARD_HEIGHT-1-PieceToNumber(CharToPiece(ToLower(promoChar)))][1] == 0) return ImpossibleMove;
}
} else
+ if(gameInfo.variant == VariantChu) {
+ if(cl.kind != NormalMove || promoChar == NULLCHAR || promoChar == '=') return cl.kind;
+ if(promoChar != '+')
+ return CharToPiece(promoChar) == EmptySquare ? ImpossibleMove : IllegalMove;
+ if(PieceToChar(CHUPROMOTED board[rf][ff]) != '+') return ImpossibleMove;
+ return flags & F_WHITE_ON_MOVE ? WhitePromotion : BlackPromotion;
+ } else
if(gameInfo.variant == VariantShogi) {
/* [HGM] Shogi promotions. '=' means defer */
if(rf != DROP_RANK && cl.kind == NormalMove) {
}
} else
if (promoChar != NULLCHAR) {
+ if(cl.kind == NormalMove && promoChar == '+') { // allow shogi-style promotion is pieceToChar specifies them
+ ChessSquare piece = board[rf][ff];
+ if(piece < BlackPawn ? piece > WhiteMan : piece > BlackMan) return ImpossibleMove; // already promoted
+ // should test if in zone, really
+ if(gameInfo.variant == VariantChuChess && (piece == WhiteKnight || piece == BlackKnight) && HasLion(board, flags))
+ return IllegalMove;
+ if(PieceToChar(PROMOTED piece) == '+') return flags & F_WHITE_ON_MOVE ? WhitePromotion : BlackPromotion;
+ } else
if(promoChar == '=') cl.kind = IllegalMove; else // [HGM] shogi: no deferred promotion outside Shogi
if (cl.kind == WhitePromotion || cl.kind == BlackPromotion) {
ChessSquare piece = CharToPiece(flags & F_WHITE_ON_MOVE ? ToUpper(promoChar) : ToLower(promoChar));
if(piece == EmptySquare)
cl.kind = ImpossibleMove; // non-existing piece
- if(gameInfo.variant == VariantSpartan && cl.kind == BlackPromotion ) {
+ if(gameInfo.variant == VariantChuChess && promoChar == 'l' && HasLion(board, flags)) {
+ cl.kind = IllegalMove; // no two Lions
+ } else if(gameInfo.variant == VariantSpartan && cl.kind == BlackPromotion ) {
if(promoChar != PieceToChar(BlackKing)) {
if(CheckTest(board, flags, rf, ff, rt, ft, FALSE)) cl.kind = IllegalMove; // [HGM] spartan: only promotion to King was possible
if(piece == BlackLance) cl.kind = ImpossibleMove;
- } else { // promotion to King allowed only if we do not haave two yet
+ } else { // promotion to King allowed only if we do not have two yet
int r, f, kings = 0;
for(r=0; r<BOARD_HEIGHT; r++) for(f=BOARD_LEFT; f<BOARD_RGHT; f++) kings += (board[r][f] == BlackKing);
if(kings == 2) cl.kind = IllegalMove;
else if(gameInfo.variant == VariantGiveaway) return MT_STEALMATE; // no check exists, stalemated = win
return inCheck ? MT_CHECKMATE
- : (gameInfo.variant == VariantXiangqi || gameInfo.variant == VariantShatranj || gameInfo.variant == VariantShogi) ?
+ : (gameInfo.variant == VariantXiangqi || gameInfo.variant == VariantShatranj || IS_SHOGI(gameInfo.variant)) ?
MT_STAINMATE : MT_STALEMATE;
}
}
if(board[BOARD_HEIGHT-1-PieceToNumber(CharToPiece(ToLower(c)))][1] == 0) closure->kind = ImpossibleMove;
}
} else
+ if(gameInfo.variant == VariantChu) {
+ if(c == '+') closure->kind = (flags & F_WHITE_ON_MOVE ? WhitePromotion : BlackPromotion); // for now, accept any
+ } else
if(gameInfo.variant == VariantShogi) {
/* [HGM] Shogi promotions. On input, '=' means defer, '+' promote. Afterwards, c is set to '+' for promotions, NULL other */
if(closure->rfIn != DROP_RANK && closure->kind == NormalMove) {
} else
if (closure->kind == WhitePromotion || closure->kind == BlackPromotion) {
if(c == NULLCHAR) { // missing promoChar on mandatory promotion; use default for variant
- if(gameInfo.variant == VariantShatranj || gameInfo.variant == VariantCourier || gameInfo.variant == VariantMakruk)
+ if(gameInfo.variant == VariantShatranj || gameInfo.variant == VariantCourier ||
+ gameInfo.variant == VariantMakruk || gameInfo.variant == VariantASEAN)
c = PieceToChar(BlackFerz);
else if(gameInfo.variant == VariantGreat)
c = PieceToChar(BlackMan);
else
c = PieceToChar(BlackQueen);
} else if(c == '=') closure->kind = IllegalMove; // no deferral outside Shogi
+ else if(c == 'l' && gameInfo.variant == VariantChuChess && HasLion(board, flags)) closure->kind = IllegalMove;
+ } else if (c == '+') { // '+' outside shogi, check if pieceToCharTable enabled it
+ ChessSquare p = closure->piece;
+ if(p > WhiteMan && p < BlackPawn || p > BlackMan || PieceToChar(PROMOTED p) != '+')
+ closure->kind = ImpossibleMove; // used on non-promotable piece
+ else if(gameInfo.variant == VariantChuChess && HasLion(board, flags)) closure->kind = IllegalMove;
} else if (c != NULLCHAR) closure->kind = IllegalMove;
closure->promoChar = ToLower(c); // this can be NULLCHAR! Note we keep original promoChar even if illegal.
/* Use promotion suffix style "=Q" */
*outp = NULLCHAR;
if (promoChar != NULLCHAR) {
- if(gameInfo.variant == VariantShogi) {
+ if(IS_SHOGI(gameInfo.variant)) {
/* [HGM] ... but not in Shogi! */
*outp++ = promoChar == '=' ? '=' : '+';
} else {
*/
if( c == '~' || c == '+') {
/* [HGM] print nonexistent piece as its demoted version */
- piece = (ChessSquare) (DEMOTED piece);
+ piece = (ChessSquare) (DEMOTED piece - 11*(gameInfo.variant == VariantChu));
}
if(c=='+') *outp++ = c;
*outp++ = ToUpper(PieceToChar(piece));
if(rt+ONE <= '9')
*outp++ = rt + ONE;
else { *outp++ = (rt+ONE-'0')/10 + '0';*outp++ = (rt+ONE-'0')%10 + '0'; }
- if (gameInfo.variant == VariantShogi) {
+ if (IS_SHOGI(gameInfo.variant)) {
/* [HGM] in Shogi non-pawns can promote */
*outp++ = promoChar; // Don't bother to correct move type, return value is never used!
}
- else if (gameInfo.variant != VariantSuper && promoChar &&
+ else if (gameInfo.variant == VariantChuChess && promoChar ||
+ gameInfo.variant != VariantSuper && promoChar &&
(piece == WhiteLance || piece == BlackLance) ) { // Lance sometimes represents Pawn
*outp++ = '=';
*outp++ = ToUpper(promoChar);
#define F_MANDATORY_CAPTURE 0x200
/* Special epfile values. [HGM] positive values are non-reversible moves! */
-#define EP_NONE (-4) /* [HGM] Tricky! order matters: */
-#define EP_UNKNOWN (-1) /* >= EP_UNKNOWN spils rep-draw */
+#define EP_NONE (-6) /* [HGM] Tricky! order matters: */
+#define EP_UNKNOWN (-1) /* >= EP_UNKNOWN spoils rep-draw */
#define EP_CAPTURE (-2) /* <= EP_NONE is reversible move */
#define EP_PAWN_MOVE (-3)
+#define EP_IRON_LION (-4)
+#define EP_ROYAL_LION (-5)
#define EP_REP_DRAW (-15)
#define EP_RULE_DRAW (-14)
#define EP_INSUF_DRAW (-13)
int rf, int ff, int rt, int ft,
int promoChar, char out[MOVE_LEN]));
-extern int quickFlag;
+extern int quickFlag, killX, killY;
int MemoProc P((Option *opt, int n, int x, int y, char *text, int index));
Option engoutOptions[] = {
-{ 0, LL|T2T, 17, NULL, NULL, NULL, NULL, Icon, " " },
-{ 0, L2L|T2T|SAME_ROW, 163, NULL, NULL, NULL, NULL, Label, N_("engine name") },
+{ 0, LL|T2T, 18, NULL, NULL, NULL, NULL, Icon, " " },
+{ 0, L2L|T2T|SAME_ROW, 162, NULL, NULL, NULL, NULL, Label, N_("engine name") },
{ 0, T2T|SAME_ROW, 30, NULL, NULL, NULL, NULL, Icon, " " },
+/* TRANSLATORS: noun, as in "the move Nf3"*/
{ 0, R2R|T2T|SAME_ROW, 188, NULL, NULL, NULL, NULL, Label, N_("move") },
{ 0, RR|T2T|SAME_ROW, 80, NULL, NULL, NULL, NULL, Label, N_("NPS") },
{200, T_VSCRL | T_TOP, 500, NULL, (void*) &mem1, "", (char**) MemoProc, TextBox, "" },
{ 0, 0, 0, NULL, NULL, "", NULL, Break , "" },
-{ 0, LL|T2T, 17, NULL, NULL, NULL, NULL, Icon, " " },
-{ 0, L2L|T2T|SAME_ROW, 163, NULL, NULL, NULL, NULL, Label, N_("engine name") },
+{ 0, LL|T2T, 18, NULL, NULL, NULL, NULL, Icon, " " },
+{ 0, L2L|T2T|SAME_ROW, 162, NULL, NULL, NULL, NULL, Label, N_("engine name") },
{ 0, T2T|SAME_ROW, 30, NULL, NULL, NULL, NULL, Icon, " " },
+/* TRANSLATORS: noun, as in "the move Nf3"*/
{ 0, R2R|T2T|SAME_ROW, 188, NULL, NULL, NULL, NULL, Label, N_("move") },
{ 0, RR|T2T|SAME_ROW, 80, NULL, NULL, NULL, NULL, Label, N_("NPS") },
{200, T_VSCRL | T_TOP, 500, NULL, (void*) &mem2, "", (char**) MemoProc, TextBox, "" },
{
char *start = *p;
if(**p == 'e' && (Match("ep", p) || Match("e.p.", p))) { *p = start; return NULLCHAR; } // non-compliant e.p. suffix is no promoChar!
- if(**p == '+' && gameInfo.variant == VariantShogi) { (*p)++; return '+'; }
+ if(**p == '+' && IS_SHOGI(gameInfo.variant)) { (*p)++; return '+'; }
if(**p == '=' || (gameInfo.variant == VariantSChess) && **p == '/') (*p)++; // optional = (or / for Seirawan gating)
if(**p == '(' && (*p)[2] == ')' && isalpha( (*p)[1] )) { (*p) += 3; return ToLower((*p)[-2]); }
- if(isalpha(**p)) return ToLower(*(*p)++);
- if(*p != start) return '='; // must be the optional =
+ if(isalpha(**p) && **p != 'x') return ToLower(*(*p)++); // reserve 'x' for multi-leg captures?
+ if(*p != start) return **p == '+' ? *(*p)++ : '='; // must be the optional = (or =+)
return NULLCHAR; // no suffix detected
}
} else if(n == 1 && type[0] == NUMERIC && coord[0] > 1) { while(**p == '.') (*p)++; return Nothing; } // fast exit for move numbers
if(n == 4 && type[2] != type[3] && // we have a valid to-square (kludge: type[3] can be NOTHING on fxg type move)
(piece || !promoted) && // promoted indicator only valid on named piece type
- (type[2] == ALPHABETIC || gameInfo.variant == VariantShogi)) { // in Shogi also allow alphabetic rank
+ (type[2] == ALPHABETIC || IS_SHOGI(gameInfo.variant))) { // in Shogi also allow alphabetic rank
DisambiguateClosure cl;
int fromX, fromY, toX, toY;
if(piece) {
cl.pieceIn = CharToPiece(wom ? piece : ToLower(piece));
if(cl.pieceIn == EmptySquare) return ImpossibleMove; // non-existent piece
- if(promoted) cl.pieceIn = (ChessSquare) (PROMOTED cl.pieceIn);
+ if(promoted) cl.pieceIn = (ChessSquare) (CHUPROMOTED cl.pieceIn);
} else cl.pieceIn = EmptySquare;
if(separator == '@' || separator == '*') { // drop move. We only get here without from-square or promoted piece
fromY = DROP_RANK; fromX = cl.pieceIn;
fromY = (currentMoveString[1] = coord[1] + '0') - ONE;
currentMoveString[4] = cl.promoCharIn = PromoSuffix(p);
currentMoveString[5] = NULLCHAR;
+ if(!cl.promoCharIn && (**p == '-' || **p == 'x')) { // Lion-type multi-leg move
+ currentMoveString[5] = (killX = toX) + AAA; // what we thought was to-square is in fact kill-square
+ currentMoveString[6] = (killY = toY) + ONE; // append it as suffix behind long algebraic move
+ currentMoveString[4] = ';';
+ currentMoveString[7] = NULLCHAR;
+ // read new to-square (VERY non-robust! Assumes correct (non-alpha-rank) syntax, and messes up on errors)
+ toX = cl.ftIn = (currentMoveString[2] = *++*p) - AAA; ++*p;
+ toY = cl.rtIn = (currentMoveString[3] = Number(p) + '0') - ONE;
+ }
if(type[0] != NOTHING && type[1] != NOTHING && type[3] != NOTHING) { // fully specified.
+ ChessSquare realPiece = boards[yyboardindex][fromY][fromX];
// Note that Disambiguate does not work for illegal moves, but flags them as impossible
if(piece) { // check if correct piece indicated
- ChessSquare realPiece = boards[yyboardindex][fromY][fromX];
if(PieceToChar(realPiece) == '~') realPiece = (ChessSquare) (DEMOTED realPiece);
if(!(appData.icsActive && PieceToChar(realPiece) == '+') && // trust ICS if it moves promoted pieces
piece && realPiece != cl.pieceIn) return ImpossibleMove;
+ } else if(!separator && **p == '+') { // could be a protocol move, where bare '+' suffix means shogi-style promotion
+ if(realPiece < (wom ? WhiteCannon : BlackCannon) && PieceToChar(PROMOTED realPiece) == '+') // seems to be that
+ currentMoveString[4] = cl.promoCharIn = *(*p)++; // append promochar after all
}
result = LegalityTest(boards[yyboardindex], PosFlags(yyboardindex), fromY, fromX, toY, toX, cl.promoCharIn);
if (currentMoveString[4] == NULLCHAR) { // suppy missing mandatory promotion character
currentMoveString[0] = cl.ff + AAA;
currentMoveString[1] = cl.rf + ONE;
currentMoveString[3] = cl.rt + ONE;
+ if(killX < 0) // [HGM] lion: do not overwrite kill-square suffix
currentMoveString[4] = cl.promoChar;
if((cl.kind == WhiteCapturesEnPassant || cl.kind == BlackCapturesEnPassant) && (Match("ep", p) || Match("e.p.", p)));
+++ /dev/null
-/* XPM */\r
-static char *ANALYZE_14[] = {\r
-/* columns rows colors chars-per-pixel */\r
-"14 14 3 1",\r
-" c white",\r
-"* c black",\r
-". c None",\r
-/* pixels */\r
-"....... ....",\r
-"..... ... ..",\r
-".... ....... .",\r
-".... .. .... .",\r
-"... .. ..... ",\r
-"... ......... ",\r
-"... ......... ",\r
-".... ....... .",\r
-".... ....... .",\r
-"... . ... ..",\r
-".. . .. ....",\r
-". . ..........",\r
-" ...........",\r
-".............."\r
-};\r
+++ /dev/null
-/* XPM */\r
-static char *BLACK_14[] = {\r
-/* columns rows colors chars-per-pixel */\r
-"14 14 3 1",\r
-" c white",\r
-"* c black",\r
-". c None",\r
-/* pixels */\r
-".....****.....",\r
-"...** **...",\r
-"..* *..",\r
-".* *.",\r
-".* *.",\r
-"* *",\r
-"* *",\r
-"* *",\r
-"* *",\r
-".* *.",\r
-".* *.",\r
-"..* *..",\r
-"...** **...",\r
-".....****....."\r
-};\r
+++ /dev/null
-/* XPM */\r
-static char *CLEAR_14[] = {\r
-/* columns rows colors chars-per-pixel */\r
-"14 14 3 1",\r
-" c white",\r
-"* c black",\r
-". c None",\r
-/* pixels */\r
-"..............",\r
-"..............",\r
-"..............",\r
-"..............",\r
-"..............",\r
-"..............",\r
-"..............",\r
-"..............",\r
-"..............",\r
-"..............",\r
-"..............",\r
-"..............",\r
-"..............",\r
-".............."\r
-};\r
+++ /dev/null
-/* XPM */\r
-static char *PONDER_14[] = {\r
-/* columns rows colors chars-per-pixel */\r
-"14 14 3 1",\r
-" c white",\r
-"* c black",\r
-". c None",\r
-/* pixels */\r
-".... .. ....",\r
-".. ... .. ..",\r
-". .......... .",\r
-" .......... ..",\r
-" ........... .",\r
-". .......... ",\r
-".. .......... ",\r
-". .......... .",\r
-".. ....... ..",\r
-"... .. .. ...",\r
-".. . .. ....",\r
-". ..........",\r
-" .............",\r
-".............."\r
-};\r
+++ /dev/null
-/* XPM */\r
-static char *THINK_14[] = {\r
-/* columns rows colors chars-per-pixel */\r
-"14 14 3 1",\r
-" c white",\r
-"* c black",\r
-". c None",\r
-/* pixels */\r
-"..... ......",\r
-"... ... ....",\r
-".. ... ... ...",\r
-". .... .... ..",\r
-". .... .... ..",\r
-" ..... ..... .",\r
-" .... .. .",\r
-" ..... ..... .",\r
-". ......... ..",\r
-". ......... ..",\r
-".. ....... ...",\r
-"... ... ....",\r
-"..... ......",\r
-".............."\r
-};\r
+++ /dev/null
-/* XPM */\r
-static char *UNKNOWN_14[] = {\r
-/* columns rows colors chars-per-pixel */\r
-"14 14 3 1",\r
-" c white",\r
-"* c black",\r
-". c None",\r
-/* pixels */\r
-".....****.....",\r
-"...** **...",\r
-"..* . . *..",\r
-".* . . . . *.",\r
-".* . . . . *.",\r
-"* . . . . . *",\r
-"* . . . . . *",\r
-"* . . . . . *",\r
-"* . . . . . *",\r
-".* . . . . *.",\r
-".* . . . . *.",\r
-"..* . . *..",\r
-"...** **...",\r
-".....****....."\r
-};\r
+++ /dev/null
-/* XPM */\r
-static char *WHITE_14[] = {\r
-/* columns rows colors chars-per-pixel */\r
-"14 14 3 1",\r
-" c white",\r
-"* c black",\r
-". c None",\r
-/* pixels */\r
-".....****.....",\r
-"...** **...",\r
-"..* .... *..",\r
-".* ........ *.",\r
-".* ........ *.",\r
-"* .......... *",\r
-"* .......... *",\r
-"* .......... *",\r
-"* .......... *",\r
-".* ........ *.",\r
-".* ........ *.",\r
-"..* .... *..",\r
-"...** **...",\r
-".....****....."\r
-};\r
+++ /dev/null
-/* XPM */
-static char *board__[] = {
-/* columns rows colors chars-per-pixel */
-"32 32 4 1",
-" c #000000",
-". c #FFFF00",
-"X c #808080",
-"o c #FFFFFF",
-/* pixels */
-"X.X. X.X. X.X. X.X. ",
-".XoX .XoX .XoX .XoX ",
-"X.X. X.X. X.X. X.X. ",
-"oX.X oX.X oX.X oX.X ",
-" X.X. X.X. X.X. X.X.",
-" .XoX .XoX .XoX .XoX",
-" X.X. X.X. X.X. X.X.",
-" oX.X oX.X oX.X oX.X",
-"X.X. X.X. X.X. X.X. ",
-".XoX .XoX .XoX .XoX ",
-"X.X. X.X. X.X. X.X. ",
-"oX.X oX.X oX.X oX.X ",
-" X.X. X.X. X.X. X.X.",
-" .XoX .XoX .XoX .XoX",
-" X.X. X.X. X.X. X.X.",
-" oX.X oX.X oX.X oX.X",
-"X.X. X.X. X.X. X.X. ",
-".XoX .XoX .XoX .XoX ",
-"X.X. X.X. X.X. X.X. ",
-"oX.X oX.X oX.X oX.X ",
-" X.X. X.X. X.X. X.X.",
-" .XoX .XoX .XoX .XoX",
-" X.X. X.X. X.X. X.X.",
-" oX.X oX.X oX.X oX.X",
-"X.X. X.X. X.X. X.X. ",
-".XoX .XoX .XoX .XoX ",
-"X.X. X.X. X.X. X.X. ",
-"oX.X oX.X oX.X oX.X ",
-" X.X. X.X. X.X. X.X.",
-" .XoX .XoX .XoX .XoX",
-" X.X. X.X. X.X. X.X.",
-" oX.X oX.X oX.X oX.X"
-};
+++ /dev/null
-/* XPM */
-static char *board__[] = {
-/* columns rows colors chars-per-pixel */
-"48 48 4 1",
-" c #000000",
-". c #FFFF00",
-"X c #808080",
-"o c #FFFFFF",
-/* pixels */
-"X.X.X. X.X.X. X.X.X. X.X.X. ",
-".XoX.X .XoX.X .XoX.X .XoX.X ",
-"X.X.X. X.X.X. X.X.X. X.X.X. ",
-"oX.XoX oX.XoX oX.XoX oX.XoX ",
-"X.X.X. X.X.X. X.X.X. X.X.X. ",
-".XoX.X .XoX.X .XoX.X .XoX.X ",
-" X.X.X. X.X.X. X.X.X. X.X.X.",
-" .XoX.X .XoX.X .XoX.X .XoX.X",
-" X.X.X. X.X.X. X.X.X. X.X.X.",
-" oX.XoX oX.XoX oX.XoX oX.XoX",
-" X.X.X. X.X.X. X.X.X. X.X.X.",
-" .XoX.X .XoX.X .XoX.X .XoX.X",
-"X.X.X. X.X.X. X.X.X. X.X.X. ",
-".XoX.X .XoX.X .XoX.X .XoX.X ",
-"X.X.X. X.X.X. X.X.X. X.X.X. ",
-"oX.XoX oX.XoX oX.XoX oX.XoX ",
-"X.X.X. X.X.X. X.X.X. X.X.X. ",
-".XoX.X .XoX.X .XoX.X .XoX.X ",
-" X.X.X. X.X.X. X.X.X. X.X.X.",
-" .XoX.X .XoX.X .XoX.X .XoX.X",
-" X.X.X. X.X.X. X.X.X. X.X.X.",
-" oX.XoX oX.XoX oX.XoX oX.XoX",
-" X.X.X. X.X.X. X.X.X. X.X.X.",
-" .XoX.X .XoX.X .XoX.X .XoX.X",
-"X.X.X. X.X.X. X.X.X. X.X.X. ",
-".XoX.X .XoX.X .XoX.X .XoX.X ",
-"X.X.X. X.X.X. X.X.X. X.X.X. ",
-"oX.XoX oX.XoX oX.XoX oX.XoX ",
-"X.X.X. X.X.X. X.X.X. X.X.X. ",
-".XoX.X .XoX.X .XoX.X .XoX.X ",
-" X.X.X. X.X.X. X.X.X. X.X.X.",
-" .XoX.X .XoX.X .XoX.X .XoX.X",
-" X.X.X. X.X.X. X.X.X. X.X.X.",
-" oX.XoX oX.XoX oX.XoX oX.XoX",
-" X.X.X. X.X.X. X.X.X. X.X.X.",
-" .XoX.X .XoX.X .XoX.X .XoX.X",
-"X.X.X. X.X.X. X.X.X. X.X.X. ",
-".XoX.X .XoX.X .XoX.X .XoX.X ",
-"X.X.X. X.X.X. X.X.X. X.X.X. ",
-"oX.XoX oX.XoX oX.XoX oX.XoX ",
-"X.X.X. X.X.X. X.X.X. X.X.X. ",
-".XoX.X .XoX.X .XoX.X .XoX.X ",
-" X.X.X. X.X.X. X.X.X. X.X.X.",
-" .XoX.X .XoX.X .XoX.X .XoX.X",
-" X.X.X. X.X.X. X.X.X. X.X.X.",
-" oX.XoX oX.XoX oX.XoX oX.XoX",
-" X.X.X. X.X.X. X.X.X. X.X.X.",
-" .XoX.X .XoX.X .XoX.X .XoX.X",
-};
+++ /dev/null
-/* XPM */
-static char *cross[] = {
-/* columns rows colors chars-per-pixel */
-"32 32 4 1",
-" c #000000",
-". c #FF0000",
-"X c #0000FF",
-"o c #FFFFFF",
-/* pixels */
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"X oooooooooooooooooooooooooX",
-"X oo.ooooooooooooooooooooooX",
-"X o...ooooooo...oooooooooooX",
-"X oo.ooooooooooooooooooooooX",
-"X oooooooooooooooooooooooooX",
-"Xooooo ooooooooooooooooooooX",
-"Xooooo oooooooooooo.oooooooX",
-"Xo...o ooooooooooo...ooooooX",
-"Xooooo oooooooooooo.oooooooX",
-"Xooooo ooooooooooooooooooooX",
-"Xoooooooooo oooooooooooooooX",
-"Xoooooooooo o...oooooooooooX",
-"Xoooooooooo oooooooooooo.ooX",
-"Xoooooooooo o...ooooooo...oX",
-"Xoooooooooo oooooooooooo.ooX",
-"Xooooooooooooooo ooooooooooX",
-"Xoo.oooooooo...o ooooooooooX",
-"Xo...ooooooooooo ooooooooooX",
-"Xoo.oooooooo...o ooooooooooX",
-"Xooooooooooooooo ooooooooooX",
-"Xoooooooooooooooooooo oooooX",
-"Xoooooooooooooooooooo oo.ooX",
-"Xoooooo...ooooooooooo o...oX",
-"Xoooooooooooooooooooo oo.ooX",
-"Xoooooooooooooooooooo oooooX",
-"Xooooooooooooooooooooooooo X",
-"Xooooooooooo...ooooooooooo X",
-"Xooooooooooooooooooooo...o X",
-"Xooooooooooooooooooooooooo X",
-"Xooooooooooooooooooooooooo X",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
-};
+++ /dev/null
-/* XPM */
-static char *cross[] = {
-/* columns rows colors chars-per-pixel */
-"48 48 4 1",
-" c #000000",
-". c #FF0000",
-"X c #0000FF",
-"o c #FFFFFF",
-/* pixels */
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXooooooooooooooooooooooooooooooooooooooooooooXX",
-"XXo ooooooooooooooooooooooooooooooooooooXX",
-"XXo ooo.ooooooooooooooooooooooooooooooooXX",
-"XXo ooo.ooooooooooooooooooooooooooooooooXX",
-"XXo o.....ooooooooo.....ooooooooooooooooXX",
-"XXo ooo.ooooooooooooooooooooooooooooooooXX",
-"XXo ooo.ooooooooooooooooooooooooooooooooXX",
-"XXo ooooooooooooooooooooooooooooooooooooXX",
-"XXoooooooo oooooooooooooooooooooooooooooXX",
-"XXoooooooo ooooooooooooooooo.oooooooooooXX",
-"XXoooooooo ooooooooooooooooo.oooooooooooXX",
-"XXoo.....o ooooooooooooooo.....oooooooooXX",
-"XXoooooooo ooooooooooooooooo.oooooooooooXX",
-"XXoooooooo ooooooooooooooooo.oooooooooooXX",
-"XXoooooooo oooooooooooooooooooooooooooooXX",
-"XXooooooooooooooo ooooooooooooooooooooooXX",
-"XXooooooooooooooo ooooooooooooooooo.ooooXX",
-"XXooooooooooooooo o.....ooooooooooo.ooooXX",
-"XXooooooooooooooo ooooooooooooooo.....ooXX",
-"XXooooooooooooooo o.....ooooooooooo.ooooXX",
-"XXooooooooooooooo ooooooooooooooooo.ooooXX",
-"XXooooooooooooooo ooooooooooooooooooooooXX",
-"XXoooooooooooooooooooooo oooooooooooooooXX",
-"XXoooo.ooooooooooooooooo oooooooooooooooXX",
-"XXoooo.ooooooooooo.....o oooooooooooooooXX",
-"XXoo.....ooooooooooooooo oooooooooooooooXX",
-"XXoooo.ooooooooooo.....o oooooooooooooooXX",
-"XXoooo.ooooooooooooooooo oooooooooooooooXX",
-"XXoooooooooooooooooooooo oooooooooooooooXX",
-"XXooooooooooooooooooooooooooooo ooooooooXX",
-"XXooooooooooooooooooooooooooooo ooo.ooooXX",
-"XXooooooooooooooooooooooooooooo ooo.ooooXX",
-"XXooooooooo.....ooooooooooooooo o.....ooXX",
-"XXooooooooooooooooooooooooooooo ooo.ooooXX",
-"XXooooooooooooooooooooooooooooo ooo.ooooXX",
-"XXooooooooooooooooooooooooooooo ooooooooXX",
-"XXoooooooooooooooooooooooooooooooooooo oXX",
-"XXoooooooooooooooooooooooooooooooooooo oXX",
-"XXoooooooooooooooooooooooooooooooooooo oXX",
-"XXoooooooooooooooo.....ooooooooo.....o oXX",
-"XXoooooooooooooooooooooooooooooooooooo oXX",
-"XXoooooooooooooooooooooooooooooooooooo oXX",
-"XXoooooooooooooooooooooooooooooooooooo oXX",
-"XXooooooooooooooooooooooooooooooooooooooooooooXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
-};
+++ /dev/null
-/* XPM */
-static char *nld33[] = {
-/* columns rows colors chars-per-pixel */
-"32 32 3 1",
-" c black",
-". c transparent",
-"X c white",
-/* pixels */
-"................................",
-"................................",
-"................................",
-"......... ... ................",
-"......... X . XX ...............",
-"......... XX XX .............",
-"......... X XX XX ...........",
-"......... X XXXXXXXXX .........",
-"........ XXXXXXXXXXXXX ........",
-"........ X XXXXXXXXXXX .......",
-"....... X XXXXXXXXXXXXXX ......",
-"....... X XXXXXXXX XXXXX ......",
-"...... XXXXXXXXXXX XXXXXX .....",
-"...... XXXXXXXXXXX XXXXXX .....",
-"..... XXXXXXXXXXXX XXXXXXX ....",
-"..... XXXXXXXXXXX XXXXXXXX ....",
-".... XXXXXXXXXX XXXXXXXX ....",
-".... XXXXXXXXX .. XXXXXXXXX ...",
-"... X XXXXXX ... XXXXXXXXX ...",
-"... X XXXXX .... XXXXXXXXXX ...",
-"... XXX XX ..... XXXXXXXXXX ...",
-"... XXX X ..... XXXXXXXXXXXX ...",
-".... ..... XXXXXXXXXXXXX ..",
-"............. XXXXXXXXXXXXXX ..",
-"............ XXXXXXXXXXXXXXX ..",
-"........... XXXXXXXXXXXXXXXX ..",
-"........... XXXXXXXXXXXXXXXX ..",
-".......... XXXXXXXXXXXXXXXXX ..",
-".......... XXXXXXXXXXXXXXXXX ..",
-".......... ..",
-"................................",
-"................................"
-};
+++ /dev/null
-/* XPM */
-static char *nld49[] = {
-/* columns rows colors chars-per-pixel */
-"48 48 3 1",
-" c black",
-". c transparent",
-"X c whit",
-/* pixels */
-"................................................",
-"................................................",
-"................................................",
-"............ ........ ..........................",
-"............ ..... X .........................",
-"............ XX .... XX ........................",
-"............ XXX .. XXX ........................",
-"............ XXXX XXX .....................",
-"............. XX X XXX XXX ..................",
-"............ XX XXXXXXXXXXXXXX ................",
-"........... XXXXXXXXXXXXXXXXXXXX ...............",
-".......... XXXXXXXXXXXXXXXXXXXXXX .............",
-".......... XXXXXXXXXXXXXXXXXXXXXXX ............",
-"......... XXXXX XXXXXXXXXXXXXXXXXXX ...........",
-"......... XXX XXXXXXXXXXXXXXXXXXXXX ..........",
-"......... XXX XXXXXXXXXXXXXXXXXXXXXXX ..........",
-"......... XX XXXXXXXXXXXXXXXXXXXXXXXX .........",
-"........ XXXXXXXXXXXXXXXX XXXXXXXXXXXX ........",
-"........ XXXXXXXXXXXXXXXX XXXXXXXXXXXX ........",
-"........ XXXXXXXXXXXXXXXX XXXXXXXXXXXXX .......",
-"....... XXXXXXXXXXXXXXXXX XXXXXXXXXXXXX .......",
-"....... XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX .......",
-"...... XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX ......",
-"..... XXXXXXXXXXXXXXXXX . XXXXXXXXXXXXXX ......",
-"..... XXXXXXXXXXXXXXXX .. XXXXXXXXXXXXXXX ......",
-".... XXXXXXXXXXXXXXX ... XXXXXXXXXXXXXXX .....",
-".... XXXXXXXXXXXXXX ..... XXXXXXXXXXXXXXX .....",
-"... XX XXXXXXXXX ...... XXXXXXXXXXXXXXX .....",
-"... XX XXXXXXXXX ....... XXXXXXXXXXXXXXXXX .....",
-"... XXXXXXXXXXX ........ XXXXXXXXXXXXXXXXX ....",
-"... XXXXXX XXX ........ XXXXXXXXXXXXXXXXXX ....",
-"... XXXXX XXX ........ XXXXXXXXXXXXXXXXXXX ....",
-".... XXXX XX ........ XXXXXXXXXXXXXXXXXXXX ....",
-"..... X ........ XXXXXXXXXXXXXXXXXXXXX ....",
-".......... ....... XXXXXXXXXXXXXXXXXXXXXXX ....",
-".................. XXXXXXXXXXXXXXXXXXXXXXXX ...",
-".................. XXXXXXXXXXXXXXXXXXXXXXXX ...",
-"................. XXXXXXXXXXXXXXXXXXXXXXXXX ...",
-"................ XXXXXXXXXXXXXXXXXXXXXXXXXX ...",
-"............... XXXXXXXXXXXXXXXXXXXXXXXXXXX ...",
-"............... XXXXXXXXXXXXXXXXXXXXXXXXXXX ...",
-".............. XXXXXXXXXXXXXXXXXXXXXXXXXXXX ...",
-".............. XXXXXXXXXXXXXXXXXXXXXXXXXXXX ...",
-".............. XXXXXXXXXXXXXXXXXXXXXXXXXXXX ...",
-".............. ....",
-"................................................",
-"................................................",
-"................................................"
-};
# whitespace separated list of translated languages goes below
# note: zh translations are untested; xboard fails to create a fontset for them
-da de es it ru tr uk vi zh_CN zh_HK zh_TW
+da de es it nl ru tr uk vi zh_CN zh_HK zh_TW
msgstr ""
"Project-Id-Version: GNU xboard 4.6.0.20120304\n"
"Report-Msgid-Bugs-To: bug-xboard@gnu.org\n"
-"POT-Creation-Date: 2013-08-28 21:49-0700\n"
+"POT-Creation-Date: 2013-08-28 22:03-0700\n"
"PO-Revision-Date: 2012-03-06 12:27+0100\n"
"Last-Translator: Byrial Ole Jensen <byrial@vip.cybercity.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"X-Generator: Lokalize 1.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: args.h:820
+#: args.h:821
#, c-format
msgid "%s in settings file\n"
msgstr "%s i indstillingsfil\n"
-#: args.h:830
+#: args.h:831
#, c-format
msgid "Bad integer value %s"
msgstr "Forkert heltalsværdi %s"
-#: args.h:923 args.h:1164
+#: args.h:924 args.h:1165
#, c-format
msgid "Unrecognized argument %s"
msgstr "Ikke genkendt argument %s"
-#: args.h:954
+#: args.h:955
#, c-format
msgid "No value provided for argument %s"
msgstr "Ingen værdi givet for argumentet %s"
-#: args.h:1014
+#: args.h:1015
#, c-format
msgid "Incomplete \\ escape in value for %s"
msgstr "Ukomplet \\-undvigesekvens i værdi for %s"
-#: args.h:1119
+#: args.h:1120
#, c-format
msgid "Failed to open indirection file %s"
msgstr "Åbning af inkluderet fil \"%s\" mislykkedes"
-#: args.h:1136
+#: args.h:1137
#, c-format
msgid "Unrecognized boolean argument value %s"
msgstr "Ikke genkendt boolesk argumentværdi %s"
#. TRANSLATORS: "first" is the first of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:744
+#: backend.c:753
msgid "first"
msgstr "første"
#. TRANSLATORS: "second" is the second of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:747
+#: backend.c:756
msgid "second"
msgstr "det andet"
-#: backend.c:827
+#: backend.c:837
#, c-format
msgid "protocol version %d not supported"
msgstr "protokolversion %d er ikke understøttet"
-#: backend.c:933
+#: backend.c:943
msgid "You did not specify the engine executable"
msgstr "Du angav ikke et kørbart skakprogram"
-#: backend.c:989
+#: backend.c:999
#, c-format
msgid "bad timeControl option %s"
msgstr "forkert timeControl-tilvalg %s"
-#: backend.c:1004
+#: backend.c:1014
#, c-format
msgid "bad searchTime option %s"
msgstr "forkert searchTime-tilvalg %s"
-#: backend.c:1110
+#: backend.c:1120
#, c-format
msgid "Variant %s supported only in ICS mode"
msgstr "Varianten %s er kun understøttet i ICS-tilstand"
-#: backend.c:1128
+#: backend.c:1138
#, c-format
msgid "Unknown variant name %s"
msgstr "Ukendt variantnavn %s"
-#: backend.c:1375
+#: backend.c:1386
msgid "Starting chess program"
msgstr "Starter skakprogram"
-#: backend.c:1398
+#: backend.c:1409
msgid "Bad game file"
msgstr "Fejl i partifil"
-#: backend.c:1405
+#: backend.c:1416
msgid "Bad position file"
msgstr "Fejl i stillingsfil"
-#: backend.c:1419
+#: backend.c:1430
msgid "Pick new game"
msgstr "Vælg nyt spil"
# cycle = runde?
-#: backend.c:1488
+#: backend.c:1499
msgid ""
"You restarted an already completed tourney\n"
"One more cycle will now be added to it\n"
"En mere cyklus vil nu blive tilføjet\n"
"Partierne starter om 10 sekunder"
-#: backend.c:1495
+#: backend.c:1506
#, c-format
msgid "All games in tourney '%s' are already played or playing"
msgstr "Alle partier i turneringen \"%s\" er allerede færdige eller i gang"
-#: backend.c:1502
+#: backend.c:1513
msgid "Can't have a match with no chess programs"
msgstr "Kan ikke have en match uden skakprogrammer"
-#: backend.c:1539
+#: backend.c:1550
#, c-format
msgid "Could not open comm port %s"
msgstr "Kunne ikke åbne seriel port %s"
-#: backend.c:1542
+#: backend.c:1553
#, c-format
msgid "Could not connect to host %s, port %s"
msgstr "Kunne ikke forbinde til vært %s, port %s"
-#: backend.c:1598
+#: backend.c:1609
#, c-format
msgid "Unknown initialMode %s"
msgstr "Ukendt initialMode %s"
-#: backend.c:1624
+#: backend.c:1635
msgid "AnalyzeFile mode requires a game file"
msgstr "AnalyzeFile-tilstand kræver en partifil"
-#: backend.c:1651
+#: backend.c:1662
msgid "Analysis mode requires a chess engine"
msgstr "Analysetilstand kræver et skakprogram"
-#: backend.c:1655
+#: backend.c:1666
msgid "Analysis mode does not work with ICS mode"
msgstr "Analysetilstand virker ikke sammen med ICS-tilstand"
-#: backend.c:1666
+#: backend.c:1677
msgid "MachineWhite mode requires a chess engine"
msgstr "MachineWhite-tilstand kræver et skakprogram"
-#: backend.c:1671
+#: backend.c:1682
msgid "MachineWhite mode does not work with ICS mode"
msgstr "MachineWhite-tilstand virker ikke sammen med ICS-tilstand"
-#: backend.c:1678
+#: backend.c:1689
msgid "MachineBlack mode requires a chess engine"
msgstr "MachineBlack-tilstand kræver et skakprogram"
-#: backend.c:1683
+#: backend.c:1694
msgid "MachineBlack mode does not work with ICS mode"
msgstr "MachineBlack-tilstand virker ikke sammen med ICS-tilstand"
-#: backend.c:1690
+#: backend.c:1701
msgid "TwoMachines mode requires a chess engine"
msgstr "TwoMachines-tilstand kræver et skakprogram"
-#: backend.c:1695
+#: backend.c:1706
msgid "TwoMachines mode does not work with ICS mode"
msgstr "TwoMachines-tilstand virker ikke sammen med ICS-tilstand"
-#: backend.c:1706
+#: backend.c:1717
msgid "Training mode requires a game file"
msgstr "Træningstilstand kræver en partifil"
-#: backend.c:1869 backend.c:1924 backend.c:1947 backend.c:2346
+#: backend.c:1880 backend.c:1935 backend.c:1958 backend.c:2357
msgid "Error writing to ICS"
msgstr "Fejl ved skrivning til ICS"
-#: backend.c:1884
+#: backend.c:1895
msgid "Error reading from keyboard"
msgstr "Fejl ved læsning fra tastatur"
-#: backend.c:1887
+#: backend.c:1898
msgid "Got end of file from keyboard"
msgstr "Fik filafslutning fra tastatur"
-#: backend.c:2192
+#: backend.c:2203
#, c-format
msgid "Unknown wild type %d"
msgstr "Ukendt vild type %d"
-#: backend.c:2263 usystem.c:329
+#: backend.c:2274 usystem.c:329
msgid "Error writing to display"
msgstr "Fejl ved skrivning til skærm"
-#: backend.c:3019
+#: backend.c:3030
#, c-format
msgid "your opponent kibitzes: %s"
msgstr "din modstander kommenterer: %s"
-#: backend.c:3548
+#: backend.c:3559
msgid "Error gathering move list: two headers"
msgstr "Fejl ved tolkning af trækliste: to teksthoveder"
-#: backend.c:3595
+#: backend.c:3606
msgid "Error gathering move list: nested"
msgstr "Fejl ved tolkning af trækliste: indlejret"
-#: backend.c:3699 backend.c:4117 backend.c:4321 backend.c:4880 backend.c:4884
-#: backend.c:6900 backend.c:12082 backend.c:13797 backend.c:13874
-#: backend.c:13920 backend.c:13926 backend.c:13931 backend.c:13936
+#: backend.c:3710 backend.c:4128 backend.c:4332 backend.c:4891 backend.c:4895
+#: backend.c:6919 backend.c:12213 backend.c:13928 backend.c:14005
+#: backend.c:14051 backend.c:14057 backend.c:14062 backend.c:14067
msgid "vs."
msgstr "–"
-#: backend.c:3827
+#: backend.c:3838
msgid "Illegal move (rejected by ICS)"
msgstr "Ulovligt træk (afvist af ICS)"
-#: backend.c:4165
+#: backend.c:4176
msgid "Connection closed by ICS"
msgstr "Forbindelse lukket af ICS"
-#: backend.c:4167
+#: backend.c:4178
msgid "Error reading from ICS"
msgstr "Fejl ved læsning fra ICS"
-#: backend.c:4244
+#: backend.c:4255
#, c-format
msgid ""
"Failed to parse board string:\n"
"Fortolkning af brætstreng mislykkedes:\n"
"\"%s\""
-#: backend.c:4253 backend.c:9755
+#: backend.c:4264 backend.c:9885
msgid "Game too long; increase MAX_MOVES and recompile"
msgstr "Parti for langt; forøg MAX_MOVES og genoversæt"
-#: backend.c:4372
+#: backend.c:4383
msgid "Error gathering move list: extra board"
msgstr "Fejl ved tolkning af trækliste: ekstra bræt"
-#: backend.c:4804 backend.c:4826
+#: backend.c:4815 backend.c:4837
#, c-format
msgid "Couldn't parse move \"%s\" from ICS"
msgstr "Kunne ikke fortolke \"%s\" fra ICS"
-#: backend.c:5063
+#: backend.c:5074
#, c-format
msgid "say Internal error; bad moveType %d (%d,%d-%d,%d)"
msgstr "say Intern fejl; forkert moveType%d (%d,%d-%d,%d)"
-#: backend.c:5133
+#: backend.c:5145
msgid "You cannot do this while you are playing or observing"
msgstr "Du kan ikke gøre dette, mens du spiller eller observerer"
-#: backend.c:6029
+#: backend.c:6046
msgid "Recompile to support this BOARD_RANKS or BOARD_FILES!"
msgstr "Genoversæt for at understøtte denne BOARD_RANKS eller BOARD_FILES!"
-#: backend.c:6491
+#: backend.c:6510
msgid "You are playing Black"
msgstr "Du spiller sort"
-#: backend.c:6500 backend.c:6527
+#: backend.c:6519 backend.c:6546
msgid "You are playing White"
msgstr "Du spiller hvid"
-#: backend.c:6509 backend.c:6535 backend.c:6655 backend.c:6680 backend.c:6696
-#: backend.c:14573
+#: backend.c:6528 backend.c:6554 backend.c:6674 backend.c:6699 backend.c:6715
+#: backend.c:14705
msgid "It is White's turn"
msgstr "Det er hvids tur"
-#: backend.c:6513 backend.c:6539 backend.c:6663 backend.c:6686 backend.c:6717
-#: backend.c:14565
+#: backend.c:6532 backend.c:6558 backend.c:6682 backend.c:6705 backend.c:6736
+#: backend.c:14697
msgid "It is Black's turn"
msgstr "Det er sorts tur"
-#: backend.c:6552
+#: backend.c:6571
msgid "Displayed position is not current"
msgstr "Den viste stilling er ikke den aktuelle"
-#: backend.c:6790
+#: backend.c:6809
msgid "Illegal move"
msgstr "Ulovligt træk"
-#: backend.c:6857
+#: backend.c:6876
msgid "End of game"
msgstr "Slutningen af partiet"
-#: backend.c:6860
+#: backend.c:6879
msgid "Incorrect move"
msgstr "Ukorrekt træk"
-#: backend.c:7169 backend.c:7296
+#: backend.c:7257 backend.c:7392
msgid "Pull pawn backwards to under-promote"
msgstr "Træk bonde baglæns for at underforvandle"
-#: backend.c:7527
+#: backend.c:7364
+msgid "only marked squares are legal"
+msgstr ""
+
+#: backend.c:7624
msgid "Swiss tourney finished"
msgstr "Svejtserturnering afsluttet"
-#: backend.c:8102
+#: backend.c:8199
msgid "Invalid pairing from pairing engine"
msgstr "Ikke tilladt parring fra parringsprogram"
-#: backend.c:8235
+#: backend.c:8332
#, c-format
msgid "Illegal move \"%s\" from %s machine"
msgstr "Ulovligt træk \"%s\" fra %s skakprogram"
-#: backend.c:8456
+#: backend.c:8564
msgid "Bad FEN received from engine"
msgstr "Fejl i FEN modtaget fra skakprogram"
-#: backend.c:8600 backend.c:13662 backend.c:13727
+#: backend.c:8730 backend.c:13793 backend.c:13858
#, c-format
msgid "%s does not support analysis"
msgstr "%s understøtter ikke analyse"
-#: backend.c:8666
+#: backend.c:8796
#, c-format
msgid "Illegal move \"%s\" (rejected by %s chess program)"
msgstr "Ulovligt træk \"%s\" (afvist af %s skakprogram)"
-#: backend.c:8693
+#: backend.c:8823
#, c-format
msgid "Failed to start %s chess program %s on %s: %s\n"
msgstr "Fejl ved start af %s skakprogram %s på %s: %s\n"
-#: backend.c:8714
+#: backend.c:8844
#, c-format
msgid "Hint: %s"
msgstr "Tip: %s"
-#: backend.c:8719
+#: backend.c:8849
#, c-format
msgid ""
"Illegal hint move \"%s\"\n"
"Ulovligt tip om træk \"%s\"\n"
"fra %s skakprogram"
-#: backend.c:8894
+#: backend.c:9024
msgid "Machine accepts your draw offer"
msgstr "Skakprogrammet accepterer dit remistilbud"
-#: backend.c:8897
+#: backend.c:9027
msgid ""
"Machine offers a draw\n"
"Select Action / Draw to agree"
"Skakprogrammet tilbyder remis\n"
"Vælg Handlinger / Remis for at acceptere"
-#: backend.c:8976
+#: backend.c:9106
msgid "failed writing PV"
msgstr "skrivning af analysevariant mislykkedes"
-#: backend.c:9274
+#: backend.c:9404
#, c-format
msgid "Ambiguous move in ICS output: \"%s\""
msgstr "Flertydigt træk i ICS-output: \"%s\""
-#: backend.c:9284
+#: backend.c:9414
#, c-format
msgid "Illegal move in ICS output: \"%s\""
msgstr "Ulovligt træk i ICS-output: \"%s\""
-#: backend.c:9295
+#: backend.c:9425
msgid "Gap in move list"
msgstr "Hul i trækliste"
-#: backend.c:9916 dialogs.c:460
+#: backend.c:10046 dialogs.c:461
#, c-format
msgid "Variant %s not supported by %s"
msgstr "Variant %s understøttes ikke af %s"
-#: backend.c:10037
+#: backend.c:10167
#, c-format
msgid "Startup failure on '%s'"
msgstr "Opstartsfejl på \"%s\""
-#: backend.c:10068
+#: backend.c:10198
msgid "Waiting for first chess program"
msgstr "Venter på første skakprogram"
-#: backend.c:10073 backend.c:13945
+#: backend.c:10203 backend.c:14076
msgid "Waiting for second chess program"
msgstr "Venter på andet skakprogram"
-#: backend.c:10122
+#: backend.c:10252
msgid "Could not write on tourney file"
msgstr "Kunne ikke skrive turneringsfil"
-#: backend.c:10196
+#: backend.c:10326
msgid ""
"You cannot replace an engine while it is engaged!\n"
"Terminate its game first."
"Du kan ikke udskifte et skakprogram, mens det bruges!\n"
"Afslut dets parti først."
-#: backend.c:10210
+#: backend.c:10340
msgid "No engine with the name you gave is installed"
msgstr "Der er ikke installeret et skakprogram med det angivne navn"
-#: backend.c:10212
+#: backend.c:10342
msgid ""
"First change an engine by editing the participants list\n"
"of the Tournament Options dialog"
"Ændr først skakprogram ved at redigere deltagerlisten\n"
"i turneringsindstillingerne"
-#: backend.c:10213
+#: backend.c:10343
msgid "You can only change one engine at the time"
msgstr "Du kan kun ændre et skakprogram ad gangen"
-#: backend.c:10228 backend.c:10375
+#: backend.c:10358 backend.c:10505
#, fuzzy, c-format
msgid "No engine %s is installed"
msgstr "Der er ikke installeret et skakprogram med det angivne navn"
-#: backend.c:10248
+#: backend.c:10378
msgid ""
"You must supply a tournament file,\n"
"for storing the tourney progress"
"Du skal angive en turneringsfil\n"
"til at gemme turneringens afvikling"
-#: backend.c:10258
+#: backend.c:10388
msgid "Not enough participants"
msgstr "Der er ikke nok deltagere"
-#: backend.c:10459
+#: backend.c:10589
msgid "Bad tournament file"
msgstr "Fejl i turneringsfil"
-#: backend.c:10471
+#: backend.c:10601
msgid "Waiting for other game(s)"
msgstr "Venter på andet parti/andre partier"
-#: backend.c:10484
+#: backend.c:10614
msgid "No pairing engine specified"
msgstr "Der er ikke noget parringsprogram specificeret"
-#: backend.c:10961
+#: backend.c:11092
#, c-format
msgid "Match %s vs. %s: final score %d-%d-%d"
msgstr "Match %s - %s: slutscore %d-%d-%d"
-#: backend.c:11423 backend.c:11454
+#: backend.c:11554 backend.c:11585
#, c-format
msgid "Illegal move: %d.%s%s"
msgstr "Ulovligt træk: %d.%s%s"
-#: backend.c:11443
+#: backend.c:11574
#, c-format
msgid "Ambiguous move: %d.%s%s"
msgstr "Flertydigt træk: %d.%s%s"
-#: backend.c:11496 backend.c:12505 backend.c:12698 backend.c:13059
+#: backend.c:11627 backend.c:12636 backend.c:12829 backend.c:13190
#, c-format
msgid "Can't open \"%s\""
msgstr "Kan ikke åbne \"%s\""
-#: backend.c:11508 menus.c:116
+#: backend.c:11639 menus.c:116
msgid "Cannot build game list"
msgstr "Kan ikke konstruere partiliste"
-#: backend.c:11593
+#: backend.c:11724
msgid "No more games in this message"
msgstr "Der er ikke flere partier i denne besked"
-#: backend.c:11633
+#: backend.c:11764
msgid "No game has been loaded yet"
msgstr "Der er endnu ingen indlæste partier"
-#: backend.c:11637 backend.c:12486 ngamelist.c:129
+#: backend.c:11768 backend.c:12617 ngamelist.c:129
msgid "Can't back up any further"
msgstr "Kan ikke gå længere tilbage"
-#: backend.c:12058
+#: backend.c:12189
msgid "Game number out of range"
msgstr "Partinummer findes ikke"
-#: backend.c:12069
+#: backend.c:12200
msgid "Can't seek on game file"
msgstr "Kan ikke spole i partifil"
-#: backend.c:12127
+#: backend.c:12258
msgid "Game not found in file"
msgstr "Parti ikke fundet i fil"
-#: backend.c:12255 backend.c:12582
+#: backend.c:12386 backend.c:12713
msgid "Bad FEN position in file"
msgstr "Fejl i FEN-stilling i fil"
-#: backend.c:12407
+#: backend.c:12538
msgid "No moves in game"
msgstr "Ingen træk i partiet"
-#: backend.c:12482
+#: backend.c:12613
msgid "No position has been loaded yet"
msgstr "Ingen stilling er endnu indlæst"
-#: backend.c:12543 backend.c:12554
+#: backend.c:12674 backend.c:12685
msgid "Can't seek on position file"
msgstr "Kan ikke spole i stillingsfil"
-#: backend.c:12561 backend.c:12573
+#: backend.c:12692 backend.c:12704
msgid "Position not found in file"
msgstr "Stilling er ikke fundet i fil"
-#: backend.c:12613
+#: backend.c:12744
msgid "Black to play"
msgstr "Sort i trækket"
-#: backend.c:12616
+#: backend.c:12747
msgid "White to play"
msgstr "Hvid i trækket"
-#: backend.c:12703 backend.c:13064
+#: backend.c:12834 backend.c:13195
msgid "Waiting for access to save file"
msgstr "Venter på adgang til gemmefil"
-#: backend.c:12705
+#: backend.c:12836
msgid "Saving game"
msgstr "Gemmer parti"
-#: backend.c:12706
+#: backend.c:12837
msgid "Bad Seek"
msgstr "Søgning mislykkedes"
-#: backend.c:13066
+#: backend.c:13197
msgid "Saving position"
msgstr "Gemmer stilling"
-#: backend.c:13192
+#: backend.c:13323
msgid ""
"You have edited the game history.\n"
"Use Reload Same Game and make your move again."
"Du har redigeret i parti-historikken.\n"
"Genindlæs partiet og udfør trækket igen."
-#: backend.c:13197
+#: backend.c:13328
msgid ""
"You have entered too many moves.\n"
"Back up to the correct position and try again."
"Du har indtastet for mange træk.\n"
"Gå tilbage til den aktuelle stilling og prøv igen."
-#: backend.c:13202
+#: backend.c:13333
msgid ""
"Displayed position is not current.\n"
"Step forward to the correct position and try again."
"Den viste stilling er ikke den aktuelle.\n"
"Gå fremad til den korrekte stilling og prøv igen."
-#: backend.c:13249
+#: backend.c:13380
msgid "You have not made a move yet"
msgstr "Du har ikke trukket endnu"
-#: backend.c:13270
+#: backend.c:13401
msgid ""
"The cmail message is not loaded.\n"
"Use Reload CMail Message and make your move again."
"Cmail-beskeden er ikke indlæst.\n"
"Brug Genindlæs CMail-besked og lav dit træk igen."
-#: backend.c:13275
+#: backend.c:13406
msgid "No unfinished games"
msgstr "Der er ingen uafsluttede partier"
-#: backend.c:13281
+#: backend.c:13412
#, c-format
msgid ""
"You have already mailed a move.\n"
"\"cmail -remail -game %s\"\n"
"på kommandolinjen."
-#: backend.c:13296
+#: backend.c:13427
msgid "Failed to invoke cmail"
msgstr "Start af cmail mislykkedes"
-#: backend.c:13358
+#: backend.c:13489
#, c-format
msgid "Waiting for reply from opponent\n"
msgstr "Venter på svar fra modstander\n"
-#: backend.c:13380
+#: backend.c:13511
#, c-format
msgid "Still need to make move for game\n"
msgstr "Der er stadig nødvendigt at trække i partiet\n"
-#: backend.c:13384
+#: backend.c:13515
#, c-format
msgid "Still need to make moves for both games\n"
msgstr "Der er stadig nødvendigt at trække i begge partier\n"
-#: backend.c:13388
+#: backend.c:13519
#, c-format
msgid "Still need to make moves for all %d games\n"
msgstr "Der er stadig nødvendigt at trække i alle %d partier\n"
-#: backend.c:13395
+#: backend.c:13526
#, c-format
msgid "Still need to make a move for game %s\n"
msgstr "Der er stadig nødvendigt at trække i partiet %s\n"
-#: backend.c:13401
+#: backend.c:13532
#, c-format
msgid "No unfinished games\n"
msgstr "Der er ingen uafsluttede partier\n"
-#: backend.c:13403
+#: backend.c:13534
#, c-format
msgid "Ready to send mail\n"
msgstr "Klar til at sende e-mail\n"
-#: backend.c:13408
+#: backend.c:13539
#, c-format
msgid "Still need to make moves for games %s\n"
msgstr "Der er stadig nødvendigt at trække i partierne %s\n"
-#: backend.c:13612
+#: backend.c:13743
msgid "Edit comment"
msgstr "Redigér kommentar"
-#: backend.c:13614
+#: backend.c:13745
#, c-format
msgid "Edit comment on %d.%s%s"
msgstr "Redigér kommentar til %d.%s%s"
-#: backend.c:13669
+#: backend.c:13800
#, c-format
msgid "You are not observing a game"
msgstr "Du observerer ikke et parti"
-#: backend.c:13777
+#: backend.c:13908
msgid "It is not White's turn"
msgstr "Hvid er ikke i trækket"
-#: backend.c:13858
+#: backend.c:13989
msgid "It is not Black's turn"
msgstr "Sort er ikke i trækket"
-#: backend.c:13966
+#: backend.c:14097
#, c-format
msgid "Starting %s chess program"
msgstr "Starter %s skakprogram"
-#: backend.c:13994 backend.c:15108
+#: backend.c:14125 backend.c:15240
msgid ""
"Wait until your turn,\n"
"or select Move Now"
"Vent på din tur,\n"
"eller vælg Træk nu"
-#: backend.c:14128
+#: backend.c:14259
msgid "Training mode off"
msgstr "Træningstilstand fra"
-#: backend.c:14136
+#: backend.c:14267
msgid "Training mode on"
msgstr "Træningstilstand til"
-#: backend.c:14139
+#: backend.c:14270
msgid "Already at end of game"
msgstr "Allerede ved slutningen af partiet"
-#: backend.c:14219
+#: backend.c:14350
msgid "Warning: You are still playing a game"
msgstr "Advarsel: Du spiller stadig et parti"
-#: backend.c:14222
+#: backend.c:14353
msgid "Warning: You are still observing a game"
msgstr "Advarsel: Du observerer stadig et parti"
-#: backend.c:14225
+#: backend.c:14356
msgid "Warning: You are still examining a game"
msgstr "Advarsel: Du undersøger stadig et parti"
-#: backend.c:14292
+#: backend.c:14423
msgid "Click clock to clear board"
msgstr ""
-#: backend.c:14302
+#: backend.c:14433
msgid "Close ICS engine analyze..."
msgstr "Lukker skakprogram til ICS-analyse ..."
-#: backend.c:14590
+#: backend.c:14722
msgid "That square is occupied"
msgstr "Det felt er besat"
-#: backend.c:14614 backend.c:14640
+#: backend.c:14746 backend.c:14772
msgid "There is no pending offer on this move"
msgstr "Der er ingen aktuelle tilbud ved dette træk"
-#: backend.c:14676 backend.c:14687
+#: backend.c:14808 backend.c:14819
msgid "Your opponent is not out of time"
msgstr "Din modstander har ikke overskredet tiden"
-#: backend.c:14753
+#: backend.c:14885
msgid "You must make your move before offering a draw"
msgstr "Du skal trække før du tilbyder remis"
-#: backend.c:15090
+#: backend.c:15222
msgid "You are not examining a game"
msgstr "Du undersøger ikke et parti"
-#: backend.c:15094
+#: backend.c:15226
msgid "You can't revert while pausing"
msgstr "Du kan ikke annullere variantlinje under pause"
-#: backend.c:15148 backend.c:15155
+#: backend.c:15280 backend.c:15287
msgid "It is your turn"
msgstr "Det er dig som er i trækket"
-#: backend.c:15206 backend.c:15213 backend.c:15266 backend.c:15273
+#: backend.c:15338 backend.c:15345 backend.c:15398 backend.c:15405
msgid "Wait until your turn"
msgstr "Vent til du kommer i trækket"
-#: backend.c:15218
+#: backend.c:15350
msgid "No hint available"
msgstr "Tip er ikke tilgængeligt"
-#: backend.c:15234 ngamelist.c:355
+#: backend.c:15366 ngamelist.c:355
msgid "Game list not loaded or empty"
msgstr "Partiliste ikke indlæst eller tom"
-#: backend.c:15241
+#: backend.c:15373
msgid "Book file exists! Try again for overwrite."
msgstr ""
-#: backend.c:15719
+#: backend.c:15851
#, c-format
msgid "Error writing to %s chess program"
msgstr "Fejl ved skrivning til %s skakprogram"
-#: backend.c:15722 backend.c:15753
+#: backend.c:15854 backend.c:15885
#, c-format
msgid "%s program exits in draw position (%s)"
msgstr "%s program afslutter i remisstilling (%s)"
-#: backend.c:15748
+#: backend.c:15880
#, c-format
msgid "Error: %s chess program (%s) exited unexpectedly"
msgstr "Fejl: %s skakprogram (%s) afsluttede uventet"
-#: backend.c:15766
+#: backend.c:15898
#, c-format
msgid "Error reading from %s chess program (%s)"
msgstr "Fejl ved læsning fra %s skakprogram (%s)"
-#: backend.c:16168
+#: backend.c:16301
#, c-format
msgid "%s engine has too many options\n"
msgstr "%s skakprogram har for mange tilvalg\n"
-#: backend.c:16324
+#: backend.c:16457
msgid "Displayed move is not current"
msgstr "Det viste træk er ikke det aktuelle"
-#: backend.c:16333
+#: backend.c:16466
msgid "Could not parse move"
msgstr "Kunne ikke fortolke træk"
-#: backend.c:16458 backend.c:16480
+#: backend.c:16591 backend.c:16613
msgid "Both flags fell"
msgstr "Begge flag er faldet"
-#: backend.c:16460
+#: backend.c:16593
msgid "White's flag fell"
msgstr "Hvids flag er faldet"
-#: backend.c:16482
+#: backend.c:16615
msgid "Black's flag fell"
msgstr "Sorts flag er faldet"
-#: backend.c:16613
+#: backend.c:16746
msgid "Clock adjustment not allowed in auto-flag mode"
msgstr "Det er ikke tilladt er stille på uret i auto-flag-tilstand"
-#: backend.c:17448
+#: backend.c:17585
msgid "Bad FEN position in clipboard"
msgstr "Fejl i FEN-stilling i udklipsholder"
msgid "First you must specify an existing tourney file to clone"
msgstr "Du skal angive en eksisterende turneringsfil til at kopiere"
-#: dialogs.c:332 dialogs.c:1320
+#: dialogs.c:332 dialogs.c:1322
msgid "# no engines are installed"
msgstr ""
msgstr ""
# ... mens modstanderen er i trækket
-#: dialogs.c:379 dialogs.c:514 menus.c:728
+#: dialogs.c:379 dialogs.c:515 menus.c:728
msgid "Ponder Next Move"
msgstr "Spekulér på næste træk"
msgstr "Depotstørrelse:"
#: dialogs.c:429
-msgid "fairy"
+msgid "ASEAN"
msgstr ""
#: dialogs.c:430
msgstr ""
#: dialogs.c:447
-msgid " "
+msgid "fairy"
msgstr ""
-#: dialogs.c:448
+#: dialogs.c:449
msgid "courier (12x8)"
msgstr ""
-#: dialogs.c:465
+#: dialogs.c:466
#, c-format
msgid "Warning: second engine (%s) does not support this!"
msgstr "Advarsel: det andet skakprogram (%s) understøtter ikke dette!"
-#: dialogs.c:488
+#: dialogs.c:489
#, c-format
msgid "Only bughouse is not available in viewer mode"
msgstr ""
-#: dialogs.c:489
+#: dialogs.c:490
#, c-format
msgid ""
"All variants not supported by first engine\n"
"(currently %s) are disabled"
msgstr ""
-#: dialogs.c:490
+#: dialogs.c:491
msgid "New Variant"
msgstr "Ny variant"
-#: dialogs.c:515
+#: dialogs.c:516
msgid "Maximum Number of CPUs per Engine:"
msgstr "Maksimalt antal CPU'er pr. skakprogram:"
-#: dialogs.c:516
+#: dialogs.c:517
msgid "Polygot Directory:"
msgstr "Polyglot-katalog:"
-#: dialogs.c:517
+#: dialogs.c:518
msgid "Hash-Table Size (MB):"
msgstr "Hashtabel-størrelse (MB):"
-#: dialogs.c:518
+#: dialogs.c:519
msgid "Nalimov EGTB Path:"
msgstr "Sti til Nalimov-EGTB:"
-#: dialogs.c:519
+#: dialogs.c:520
msgid "EGTB Cache Size (MB):"
msgstr "EGTB-cachestørrelse (MB):"
-#: dialogs.c:520
+#: dialogs.c:521
msgid "Use GUI Book"
msgstr "Brug GUI's åbningsbog"
-#: dialogs.c:521
+#: dialogs.c:522
msgid "Opening-Book Filename:"
msgstr "Åbningsbogsfilnavn:"
-#: dialogs.c:522
+#: dialogs.c:523
msgid "Book Depth (moves):"
msgstr "Åbningsbogsdybde (træk):"
-#: dialogs.c:523
+#: dialogs.c:524
msgid "Book Variety (0) vs. Strength (100):"
msgstr "Åbningsbogvariation (0) vs. styrke (100):"
-#: dialogs.c:524
+#: dialogs.c:525
msgid "Engine #1 Has Own Book"
msgstr "Skakprogram nr. 1 har egen åbningsbog"
-#: dialogs.c:525
+#: dialogs.c:526
msgid "Engine #2 Has Own Book "
msgstr "Skakprogram nr. 2 har egen åbningsbog"
-#: dialogs.c:534
+#: dialogs.c:535
msgid "Common Engine Settings"
msgstr "Indstillinger for skakprogrammer"
-#: dialogs.c:540
+#: dialogs.c:541
msgid "Detect all Mates"
msgstr "Find alle matter"
-#: dialogs.c:541
+#: dialogs.c:542
msgid "Verify Engine Result Claims"
msgstr "Efterprøv resultatangivelser fra skakprogrammer"
-#: dialogs.c:542
+#: dialogs.c:543
msgid "Draw if Insufficient Mating Material"
msgstr "Remis ved utilstrækkeligt matsættende materiale"
-#: dialogs.c:543
+#: dialogs.c:544
msgid "Adjudicate Trivial Draws (3-Move Delay)"
msgstr "Døm trivielle remiser (3-træks forsinkelse)"
-#: dialogs.c:544
+#: dialogs.c:545
msgid "N-Move Rule:"
msgstr "N-træksregel:"
-#: dialogs.c:545
+#: dialogs.c:546
msgid "N-fold Repeats:"
msgstr "N-gange gentagelser:"
-#: dialogs.c:546
+#: dialogs.c:547
msgid "Draw after N Moves Total:"
msgstr "Remis efter i alt N træk:"
-#: dialogs.c:547
+#: dialogs.c:548
msgid "Win / Loss Threshold:"
msgstr "Gevinst/tabs-tærskel:"
-#: dialogs.c:548
+#: dialogs.c:549
msgid "Negate Score of Engine #1"
msgstr "Negér skakprogram nr. 1's score"
-#: dialogs.c:549
+#: dialogs.c:550
msgid "Negate Score of Engine #2"
msgstr "Negér skakprogram nr. 2's score"
-#: dialogs.c:556
+#: dialogs.c:557
msgid "Adjudicate non-ICS Games"
msgstr "Døm ikke-ICS partier"
-#: dialogs.c:569
+#: dialogs.c:570
msgid "Auto-Kibitz"
msgstr "Send kommentarer fra skakprogram"
-#: dialogs.c:570
+#: dialogs.c:571
msgid "Auto-Comment"
msgstr "Gem kommentarer til træk"
-#: dialogs.c:571
+#: dialogs.c:572
msgid "Auto-Observe"
msgstr "Observér automatisk"
-#: dialogs.c:572
+#: dialogs.c:573
msgid "Auto-Raise Board"
msgstr "Bræt øverst ved partistart"
-#: dialogs.c:573
+#: dialogs.c:574
msgid "Auto-Create Logon Script"
msgstr ""
-#: dialogs.c:574
+#: dialogs.c:575
msgid "Background Observe while Playing"
msgstr "Obsevér i baggrunden når der spilles"
-#: dialogs.c:575
+#: dialogs.c:576
msgid "Dual Board for Background-Observed Game"
msgstr "Andet bræt til baggrundsobservede partier"
-#: dialogs.c:576
+#: dialogs.c:577
msgid "Get Move List"
msgstr "Hent trækliste"
-#: dialogs.c:577
+#: dialogs.c:578
msgid "Quiet Play"
msgstr "Stille spil"
-#: dialogs.c:578
+#: dialogs.c:579
msgid "Seek Graph"
msgstr "Søgegraf"
-#: dialogs.c:579
+#: dialogs.c:580
msgid "Auto-Refresh Seek Graph"
msgstr "Automatisk opdatering af søgegraf"
-#: dialogs.c:580
+#: dialogs.c:581
msgid "Auto-InputBox PopUp"
msgstr ""
-#: dialogs.c:581
+#: dialogs.c:582
+#, fuzzy
+msgid "Quit after game"
+msgstr "Venter på andet parti/andre partier"
+
+#: dialogs.c:583
msgid "Premove"
msgstr "Forhåndstræk"
-#: dialogs.c:582
+#: dialogs.c:584
msgid "Premove for White"
msgstr "Forhåndstræk for hvid"
-#: dialogs.c:583
+#: dialogs.c:585
msgid "First White Move:"
msgstr "Hvids første træk:"
-#: dialogs.c:584
+#: dialogs.c:586
msgid "Premove for Black"
msgstr "Forhåndstræk for sort"
-#: dialogs.c:585
+#: dialogs.c:587
msgid "First Black Move:"
msgstr "Sorts første træk:"
-#: dialogs.c:587
+#: dialogs.c:589
msgid "Alarm"
msgstr "Alarm"
-#: dialogs.c:588
+#: dialogs.c:590
msgid "Alarm Time (msec):"
msgstr "Alarmtid (millisekunder):"
-#: dialogs.c:590
+#: dialogs.c:592
msgid "Colorize Messages"
msgstr "Farv meddelelser"
-#: dialogs.c:591
+#: dialogs.c:593
msgid "Shout Text Colors:"
msgstr "Tekstfarver for råb:"
-#: dialogs.c:592
+#: dialogs.c:594
msgid "S-Shout Text Colors:"
msgstr "Tekstfarver for s-råb:"
-#: dialogs.c:593
+#: dialogs.c:595
msgid "Channel #1 Text Colors:"
msgstr "Tekstfarver for kanal nr. 1:"
-#: dialogs.c:594
+#: dialogs.c:596
msgid "Other Channel Text Colors:"
msgstr "Tekstfarver for andre kanaler:"
-#: dialogs.c:595
+#: dialogs.c:597
msgid "Kibitz Text Colors:"
msgstr "Tekstfarver for kommentar:"
-#: dialogs.c:596
+#: dialogs.c:598
msgid "Tell Text Colors:"
msgstr "Tekstfarver for tale:"
-#: dialogs.c:597
+#: dialogs.c:599
msgid "Challenge Text Colors:"
msgstr "Tekstfarver for udfordring:"
-#: dialogs.c:598
+#: dialogs.c:600
msgid "Request Text Colors:"
msgstr "Tekstfarver for forespørgsel:"
-#: dialogs.c:599
+#: dialogs.c:601
msgid "Seek Text Colors:"
msgstr "Tekstfarver for søgning:"
-#: dialogs.c:606
+#: dialogs.c:608
msgid "ICS Options"
msgstr "ICS-indstillinger"
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Exact position match"
msgstr "Eksakt stilling"
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Shown position is subset"
msgstr "Viste stilling er en delmængde"
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Same material with exactly same Pawn chain"
msgstr "Samme materiale med samme bondestruktur"
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Same material"
msgstr "Samme materiale"
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material range (top board half optional)"
msgstr "Materiale-interval (øverste halvdel af brættet valgfrit)"
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material difference (optional stuff balanced)"
msgstr "Materiale-forskel (balanceret valgfrit materiale)"
-#: dialogs.c:624
+#: dialogs.c:626
msgid "Auto-Display Tags"
msgstr "Automatisk visning af partidata"
-#: dialogs.c:625
+#: dialogs.c:627
msgid "Auto-Display Comment"
msgstr "Automatisk visning af kommentarer"
-#: dialogs.c:626
+#: dialogs.c:628
msgid ""
"Auto-Play speed of loaded games\n"
"(0 = instant, -1 = off):"
"Hastighed af gennemspilning af indlæste partier\n"
"(0 = øjeblikkeligt, -1 fra):"
-#: dialogs.c:627
+#: dialogs.c:629
msgid "Seconds per Move:"
msgstr "Sekunder pr. træk:"
# Ingen grund til ikke at bruge stort begyndelsesbogstav her.
-#: dialogs.c:628
+#: dialogs.c:630
msgid ""
"\n"
"options to use in game-viewer mode:"
"\n"
"Indstillinger til brug ved gennemkigning af partier:"
-#: dialogs.c:630
+#: dialogs.c:632
msgid ""
"\n"
"Thresholds for position filtering in game list:"
"\n"
"Grænseværdier for stillingsfiltrering i partiliste:"
-#: dialogs.c:631
+#: dialogs.c:633
msgid "Elo of strongest player at least:"
msgstr "Stærkeste spillers rating er mindst:"
-#: dialogs.c:632
+#: dialogs.c:634
msgid "Elo of weakest player at least:"
msgstr "Svageste spillers rating er mindst:"
-#: dialogs.c:633
+#: dialogs.c:635
msgid "No games before year:"
msgstr "Ingen partier før år:"
-#: dialogs.c:634
+#: dialogs.c:636
msgid "Minimum nr consecutive positions:"
msgstr "Mindste antal stillinger i følge ad gangen:"
-#: dialogs.c:635
+#: dialogs.c:637
msgid "Search mode:"
msgstr "Søgemetode:"
-#: dialogs.c:636
+#: dialogs.c:638
msgid "Also match reversed colors"
msgstr "Match også omvendte farver"
-#: dialogs.c:637
+#: dialogs.c:639
msgid "Also match left-right flipped position"
msgstr "Match også spejlvendt stilling"
-#: dialogs.c:645
+#: dialogs.c:647
msgid "Load Game Options"
msgstr "Indstillinger for indlæsning af parti"
-#: dialogs.c:657
+#: dialogs.c:659
msgid "Auto-Save Games"
msgstr "Gem partier automatisk"
-#: dialogs.c:658
+#: dialogs.c:660
msgid "Own Games Only"
msgstr ""
-#: dialogs.c:659
+#: dialogs.c:661
msgid "Save Games on File:"
msgstr "Gem partier i filen:"
-#: dialogs.c:660
+#: dialogs.c:662
msgid "Save Final Positions on File:"
msgstr "Gem slutstillinger i filen:"
-#: dialogs.c:661
+#: dialogs.c:663
msgid "PGN Event Header:"
msgstr "Event-tekst i PGN-fil:"
-#: dialogs.c:662
+#: dialogs.c:664
msgid "Old Save Style (as opposed to PGN)"
msgstr "Gammel gemmestil (i modsætning til PGN)"
-#: dialogs.c:663
+#: dialogs.c:665
msgid "Include Number Tag in tourney PGN"
msgstr "Brug partinumre i PGN-fil for turnering"
-#: dialogs.c:664
+#: dialogs.c:666
msgid "Save Score/Depth Info in PGN"
msgstr "Gem score/dybde-information i PGN"
-#: dialogs.c:665
+#: dialogs.c:667
msgid "Save Out-of-Book Info in PGN "
msgstr "Gem ud af åbningsbog-info i PGN "
-#: dialogs.c:672
+#: dialogs.c:674
msgid "Save Game Options"
msgstr "Indstillinger for gemning af parti"
-#: dialogs.c:681
+#: dialogs.c:683
msgid "No Sound"
msgstr "Ingen lyd"
-#: dialogs.c:682
+#: dialogs.c:684
msgid "Default Beep"
msgstr "Standard bip"
-#: dialogs.c:683
+#: dialogs.c:685
msgid "Above WAV File"
msgstr "WAV-filen ovenfor"
-#: dialogs.c:684
+#: dialogs.c:686
msgid "Car Horn"
msgstr "Bilhorn"
-#: dialogs.c:685
+#: dialogs.c:687
msgid "Cymbal"
msgstr "Bækken"
-#: dialogs.c:686
+#: dialogs.c:688
msgid "Ding"
msgstr "Ding"
-#: dialogs.c:687
+#: dialogs.c:689
msgid "Gong"
msgstr "Gongon"
-#: dialogs.c:688
+#: dialogs.c:690
msgid "Laser"
msgstr "Laser"
-#: dialogs.c:689
+#: dialogs.c:691
msgid "Penalty"
msgstr "Straffe"
-#: dialogs.c:690
+#: dialogs.c:692
msgid "Phone"
msgstr "Telefon"
-#: dialogs.c:691
+#: dialogs.c:693
msgid "Pop"
msgstr "Plop"
-#: dialogs.c:692
+#: dialogs.c:694
msgid "Slap"
msgstr "Slag"
-#: dialogs.c:693
+#: dialogs.c:695
msgid "Wood Thunk"
msgstr "Dunk"
-#: dialogs.c:695
+#: dialogs.c:697
msgid "User File"
msgstr "Brugerfil"
-#: dialogs.c:717
+#: dialogs.c:719
msgid "User WAV File:"
msgstr "Bruger WAV-fil:"
-#: dialogs.c:718
+#: dialogs.c:720
msgid "Sound Program:"
msgstr "Lydprogram:"
-#: dialogs.c:719
+#: dialogs.c:721
msgid "Try-Out Sound:"
msgstr "Afprøv lyd:"
-#: dialogs.c:720
+#: dialogs.c:722
msgid "Play"
msgstr "Afspil"
-#: dialogs.c:721
+#: dialogs.c:723
msgid "Move:"
msgstr "Træk:"
-#: dialogs.c:722
+#: dialogs.c:724
msgid "Win:"
msgstr "Gevinst:"
-#: dialogs.c:723
+#: dialogs.c:725
msgid "Lose:"
msgstr "Tab:"
-#: dialogs.c:724
+#: dialogs.c:726
msgid "Draw:"
msgstr "Remis:"
-#: dialogs.c:725
+#: dialogs.c:727
msgid "Unfinished:"
msgstr "Uafsluttet:"
-#: dialogs.c:726
+#: dialogs.c:728
msgid "Alarm:"
msgstr "Alarm:"
-#: dialogs.c:727
+#: dialogs.c:729
msgid "Challenge:"
msgstr "Udfodring:"
-#: dialogs.c:729
+#: dialogs.c:731
msgid "Sounds Directory:"
msgstr "Lydkatalog:"
-#: dialogs.c:730
+#: dialogs.c:732
msgid "Shout:"
msgstr "Råb:"
-#: dialogs.c:731
+#: dialogs.c:733
msgid "S-Shout:"
msgstr "S-råb:"
-#: dialogs.c:732
+#: dialogs.c:734
msgid "Channel:"
msgstr "Kanal:"
-#: dialogs.c:733
+#: dialogs.c:735
msgid "Channel 1:"
msgstr "Kanal 1:"
-#: dialogs.c:734
+#: dialogs.c:736
msgid "Tell:"
msgstr "Tale:"
-#: dialogs.c:735
+#: dialogs.c:737
msgid "Kibitz:"
msgstr "Kommentar:"
-#: dialogs.c:736
+#: dialogs.c:738
msgid "Request:"
msgstr "Forespøgsel:"
-#: dialogs.c:737
+#: dialogs.c:739
msgid "Seek:"
msgstr "Søgning:"
-#: dialogs.c:753
+#: dialogs.c:755
msgid "Sound Options"
msgstr "Lydindstillinger"
-#: dialogs.c:774
+#: dialogs.c:776
msgid "White Piece Color:"
msgstr "Farve for hvide brikker:"
#. TRANSLATORS: R = single letter for the color red
-#: dialogs.c:777 dialogs.c:786 dialogs.c:792 dialogs.c:798 dialogs.c:804
-#: dialogs.c:810
+#: dialogs.c:779 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
+#: dialogs.c:812
msgid "R"
msgstr "R"
#. TRANSLATORS: G = single letter for the color green
-#: dialogs.c:779 dialogs.c:787 dialogs.c:793 dialogs.c:799 dialogs.c:805
-#: dialogs.c:811
+#: dialogs.c:781 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
+#: dialogs.c:813
msgid "G"
msgstr "G"
#. TRANSLATORS: B = single letter for the color blue
-#: dialogs.c:781 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
-#: dialogs.c:812
+#: dialogs.c:783 dialogs.c:790 dialogs.c:796 dialogs.c:802 dialogs.c:808
+#: dialogs.c:814
msgid "B"
msgstr "B"
#. TRANSLATORS: D = single letter to make a color darker
-#: dialogs.c:783 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
-#: dialogs.c:813
+#: dialogs.c:785 dialogs.c:791 dialogs.c:797 dialogs.c:803 dialogs.c:809
+#: dialogs.c:815
msgid "D"
msgstr "M"
-#: dialogs.c:784
+#: dialogs.c:786
msgid "Black Piece Color:"
msgstr "Farve for sorte brikker:"
-#: dialogs.c:790
+#: dialogs.c:792
msgid "Light Square Color:"
msgstr "Farve for lyse felter:"
-#: dialogs.c:796
+#: dialogs.c:798
msgid "Dark Square Color:"
msgstr "Farve for mørke felter:"
-#: dialogs.c:802
+#: dialogs.c:804
msgid "Highlight Color:"
msgstr "Farve til fremhævelse:"
-#: dialogs.c:808
+#: dialogs.c:810
msgid "Premove Highlight Color:"
msgstr "Farve til forhåndstræk:"
-#: dialogs.c:814
+#: dialogs.c:816
msgid "Flip Pieces Shogi Style (Colored buttons restore default)"
msgstr "Ombyt brikker som i shogi (Farvede knapper gendanner standard)"
-#: dialogs.c:816
+#: dialogs.c:818
msgid "Mono Mode"
msgstr "Monokrom-tilstand"
-#: dialogs.c:817
+#: dialogs.c:819
msgid "Line Gap ( -1 = default for board size):"
msgstr "Mellemrum mellem felter (-1 = standard for brætstørrelsen):"
-#: dialogs.c:818
+#: dialogs.c:820
msgid "Use Board Textures"
msgstr "Brug brætteksturer"
-#: dialogs.c:819
+#: dialogs.c:821
msgid "Light-Squares Texture File:"
msgstr "Teksturfil for lyse felter:"
-#: dialogs.c:820
+#: dialogs.c:822
msgid "Dark-Squares Texture File:"
msgstr "Teksturfil for mørke felter:"
-#: dialogs.c:821
+#: dialogs.c:823
msgid "Use external piece bitmaps with their own colors"
msgstr ""
-#: dialogs.c:822
+#: dialogs.c:824
#, fuzzy
msgid "Directory with Pieces Images:"
msgstr "Katalog med bitmap-brikker:"
-#: dialogs.c:872
+#: dialogs.c:874
msgid "Board Options"
msgstr "Brætindstillinger"
-#: dialogs.c:925 menus.c:634
+#: dialogs.c:927 menus.c:634
msgid "ICS text menu"
msgstr "ICS-tekstmenu"
-#: dialogs.c:947
+#: dialogs.c:949
msgid "clear"
msgstr "ryd"
-#: dialogs.c:948 dialogs.c:1036
+#: dialogs.c:950 dialogs.c:1038
msgid "save changes"
msgstr "gem ændringer"
-#: dialogs.c:1051
+#: dialogs.c:1053
msgid "Edit book"
msgstr "Redigér åbningsbog"
-#: dialogs.c:1051 menus.c:636
+#: dialogs.c:1053 menus.c:636
msgid "Tags"
msgstr "Partidata"
-#: dialogs.c:1193
+#: dialogs.c:1195
msgid "ICS input box"
msgstr "ICS-inputboks"
-#: dialogs.c:1225
+#: dialogs.c:1227
msgid "Type a move"
msgstr "Tast et træk"
-#: dialogs.c:1251
+#: dialogs.c:1253
msgid "Engine has no options"
msgstr "Skakprogrammet har ingen tilvalg"
-#: dialogs.c:1253
+#: dialogs.c:1255
msgid "Engine Settings"
msgstr "Indstillinger for skakprogram"
-#: dialogs.c:1278
+#: dialogs.c:1280
msgid "Select engine from list:"
msgstr "Vælg skakprogram fra liste:"
-#: dialogs.c:1281
+#: dialogs.c:1283
msgid "or specify one below:"
msgstr "eller specificér en herunder:"
-#: dialogs.c:1282
+#: dialogs.c:1284
msgid "Nickname (optional):"
msgstr "Kaldenavn (ikke nødvendigt):"
-#: dialogs.c:1283
+#: dialogs.c:1285
msgid "Use nickname in PGN player tags of engine-engine games"
msgstr "Brug kaldenavnet som spillerbetegnelse i PGN-filer"
-#: dialogs.c:1284
+#: dialogs.c:1286
msgid "Engine Directory:"
msgstr "Skakprogramkatalog:"
-#: dialogs.c:1285
+#: dialogs.c:1287
msgid "Engine Command:"
msgstr "Skakprogramkommando:"
-#: dialogs.c:1286
+#: dialogs.c:1288
msgid "(Directory will be derived from engine path when empty)"
msgstr "(Katalog vil blive udledt fra programstien hvis ikke udfyldt)"
-#: dialogs.c:1287
+#: dialogs.c:1289
msgid "UCI"
msgstr "UCI"
-#: dialogs.c:1288
+#: dialogs.c:1290
msgid "WB protocol v1 (do not wait for engine features)"
msgstr "WB-protokol v1 (brug ikke særlige skakprogramfunktioner)"
-#: dialogs.c:1289
+#: dialogs.c:1291
msgid "Must not use GUI book"
msgstr "Må ikke bruge GUI's åbningsbog"
-#: dialogs.c:1290
+#: dialogs.c:1292
msgid "Add this engine to the list"
msgstr "Tilføj dette skakprogram til listen"
-#: dialogs.c:1291
+#: dialogs.c:1293
msgid "Force current variant with this engine"
msgstr "Brug aktuel variant med dette skakprogram"
-#: dialogs.c:1341
+#: dialogs.c:1343
#, fuzzy
msgid "Load first engine"
msgstr "Indlæs skakprogram"
-#: dialogs.c:1347
+#: dialogs.c:1349
#, fuzzy
msgid "Load second engine"
msgstr "Indlæs skakprogrammet som"
-#: dialogs.c:1370
+#: dialogs.c:1372
msgid "shuffle"
msgstr "bland brikker"
-#: dialogs.c:1371
+#: dialogs.c:1373
msgid "Start-position number:"
msgstr "Startstillingsnummer:"
-#: dialogs.c:1372
+#: dialogs.c:1374
msgid "randomize"
msgstr "vælg tilfældigt"
-#: dialogs.c:1373
+#: dialogs.c:1375
msgid "pick fixed"
msgstr "vælg bestemt"
-#: dialogs.c:1390
+#: dialogs.c:1392
msgid "New Shuffle Game"
msgstr "Nyt blandet parti"
# Stort begyndelsesbogstav med vilje
-#: dialogs.c:1409
+#: dialogs.c:1411
msgid "classical"
msgstr "Klassisk"
# Stort begyndelsesbogstav med vilje
-#: dialogs.c:1410
+#: dialogs.c:1412
msgid "incremental"
msgstr "Tillægstid"
# Stort begyndelsesbogstav med vilje
-#: dialogs.c:1411
+#: dialogs.c:1413
msgid "fixed max"
msgstr "Maks. pr. træk"
-#: dialogs.c:1412
+#: dialogs.c:1414
msgid "Moves per session:"
msgstr "Træk pr. tidsperiode:"
-#: dialogs.c:1413
+#: dialogs.c:1415
msgid "Initial time (min):"
msgstr "Tid fra start (minutter):"
-#: dialogs.c:1414
+#: dialogs.c:1416
msgid "Increment or max (sec/move):"
msgstr "Tillægstid eller maks. pr. træk (sekunder):"
-#: dialogs.c:1415
+#: dialogs.c:1417
msgid "Time-Odds factors:"
msgstr "Tidsforkortelses-faktorer:"
-#: dialogs.c:1416
+#: dialogs.c:1418
msgid "Engine #1"
msgstr "Skakprogram nr. 1"
-#: dialogs.c:1417
+#: dialogs.c:1419
msgid "Engine #2 / Human"
msgstr "Skakprogram nr. 2 / menneske"
-#: dialogs.c:1457 dialogs.c:1460 dialogs.c:1465 dialogs.c:1466
+#: dialogs.c:1459 dialogs.c:1462 dialogs.c:1467 dialogs.c:1468
#: gtk/xoptions.c:191
msgid "Unused"
msgstr "Ubrugt"
-#: dialogs.c:1478
+#: dialogs.c:1480
msgid "Time Control"
msgstr "Betænkningstid"
-#: dialogs.c:1507
+#: dialogs.c:1509
msgid "Error writing to chess program"
msgstr "Fejl ved skrivning til skakprogram"
-#: dialogs.c:1574
+#: dialogs.c:1576
msgid "Cancel"
msgstr "Annullér"
-#: dialogs.c:1579 dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1581 dialogs.c:1973 dialogs.c:1977
msgid "King"
msgstr "Konge"
-#: dialogs.c:1582
+#: dialogs.c:1584
msgid "Captain"
msgstr ""
-#: dialogs.c:1583
+#: dialogs.c:1585
msgid "Lieutenant"
msgstr ""
-#: dialogs.c:1584
+#: dialogs.c:1586
msgid "General"
msgstr ""
-#: dialogs.c:1585
+#: dialogs.c:1587
msgid "Warlord"
msgstr ""
-#: dialogs.c:1587 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1589 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Knight"
msgstr "Springer"
-#: dialogs.c:1588 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1590 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Bishop"
msgstr "Løber"
-#: dialogs.c:1589 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1591 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Rook"
msgstr "Tårn"
-#: dialogs.c:1593 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1595 dialogs.c:1974 dialogs.c:1978
msgid "Archbishop"
msgstr ""
-#: dialogs.c:1594 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1596 dialogs.c:1974 dialogs.c:1978
msgid "Chancellor"
msgstr ""
-#: dialogs.c:1596 dialogs.c:1971 dialogs.c:1975 dialogs.c:1993
+#: dialogs.c:1598 dialogs.c:1973 dialogs.c:1977 dialogs.c:1995
msgid "Queen"
msgstr "Dronning"
-#: dialogs.c:1600
+#: dialogs.c:1602
msgid "Defer"
msgstr ""
-#: dialogs.c:1601 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1603 dialogs.c:1974 dialogs.c:1978
msgid "Promote"
msgstr "Bondeforvandling"
-#: dialogs.c:1616
+#: dialogs.c:1618
msgid "Chat partner:"
msgstr ""
-#: dialogs.c:1701
+#: dialogs.c:1703
msgid "Chat box"
msgstr ""
-#: dialogs.c:1742
+#: dialogs.c:1744
msgid "factory"
msgstr "standard"
-#: dialogs.c:1743
+#: dialogs.c:1745
msgid "up"
msgstr "op"
-#: dialogs.c:1744
+#: dialogs.c:1746
msgid "down"
msgstr "ned"
-#: dialogs.c:1762
+#: dialogs.c:1764
msgid "No tag selected"
msgstr "Ingen overskrift valgt"
-#: dialogs.c:1793
+#: dialogs.c:1795
msgid "Game-list options"
msgstr "Indstillinger for partiliste"
-#: dialogs.c:1869 dialogs.c:1883
+#: dialogs.c:1871 dialogs.c:1885
msgid "Error"
msgstr "Fejl"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Fatal Error"
msgstr "Fatal fejl"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Exiting"
msgstr "Afslutter"
-#: dialogs.c:1917
+#: dialogs.c:1919
msgid "Information"
msgstr "Meddelelse"
-#: dialogs.c:1924
+#: dialogs.c:1926
msgid "Note"
msgstr "Notits"
-#: dialogs.c:1970 dialogs.c:2245 dialogs.c:2248
+#: dialogs.c:1972 dialogs.c:2252 dialogs.c:2255
msgid "White"
msgstr "Hvid"
-#: dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Pawn"
msgstr "Bonde"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Elephant"
msgstr ""
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Cannon"
msgstr ""
-#: dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1974 dialogs.c:1978
msgid "Demote"
msgstr ""
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Empty square"
msgstr "Tomt felt"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Clear board"
msgstr "Ryd bræt"
-#: dialogs.c:1974 dialogs.c:2257 dialogs.c:2260
+#: dialogs.c:1976 dialogs.c:2264 dialogs.c:2267
msgid "Black"
msgstr "Sort"
-#: dialogs.c:2073 menus.c:787
+#: dialogs.c:2075 menus.c:787
msgid "File"
msgstr "Fil"
-#: dialogs.c:2074 menus.c:788
+#: dialogs.c:2076 menus.c:788
msgid "Edit"
msgstr "Redigér"
-#: dialogs.c:2075 menus.c:789
+#: dialogs.c:2077 menus.c:789
msgid "View"
msgstr "Vis"
-#: dialogs.c:2076 menus.c:790
+#: dialogs.c:2078 menus.c:790
msgid "Mode"
msgstr "Tilstand"
-#: dialogs.c:2077 menus.c:791
+#: dialogs.c:2079 menus.c:791
msgid "Action"
msgstr "Handlinger"
-#: dialogs.c:2078 menus.c:792
+#: dialogs.c:2080 menus.c:792
msgid "Engine"
msgstr "Skakprogram"
-#: dialogs.c:2079 menus.c:793
+#: dialogs.c:2081 menus.c:793
msgid "Options"
msgstr "Indstillinger"
-#: dialogs.c:2080 menus.c:794
+#: dialogs.c:2082 menus.c:794
msgid "Help"
msgstr "Hjælp"
-#: dialogs.c:2090
+#: dialogs.c:2092
msgid "<<"
msgstr ""
-#: dialogs.c:2091
+#: dialogs.c:2093
msgid "<"
msgstr ""
-#: dialogs.c:2093
+#: dialogs.c:2095
msgid ">"
msgstr ""
-#: dialogs.c:2094
+#: dialogs.c:2096
msgid ">>"
msgstr ""
-#: dialogs.c:2364
+#: dialogs.c:2371
#, fuzzy
msgid "Directories:"
msgstr "Lydkatalog:"
-#: dialogs.c:2365
+#: dialogs.c:2372
#, fuzzy
msgid "Files:"
msgstr "Fil"
-#: dialogs.c:2366
+#: dialogs.c:2373
msgid "by name"
msgstr ""
-#: dialogs.c:2367
+#: dialogs.c:2374
msgid "by type"
msgstr ""
-#: dialogs.c:2370
+#: dialogs.c:2377
#, fuzzy
msgid "Filename:"
msgstr "Filter:"
-#: dialogs.c:2371
+#: dialogs.c:2378
#, fuzzy
msgid "New directory"
msgstr "Skakprogramkatalog:"
-#: dialogs.c:2372
+#: dialogs.c:2379
#, fuzzy
msgid "File type:"
msgstr "Filter:"
-#: dialogs.c:2447
+#: dialogs.c:2454
#, fuzzy
msgid "Contents of"
msgstr "Kommentarer"
-#: dialogs.c:2473
+#: dialogs.c:2480
#, fuzzy
msgid " next page"
msgstr "næste side"
-#: dialogs.c:2495
+#: dialogs.c:2502
msgid "FIRST TYPE DIRECTORY NAME HERE"
msgstr ""
-#: dialogs.c:2496
+#: dialogs.c:2503
msgid "TRY ANOTHER NAME"
msgstr ""
#
msgid ""
msgstr ""
-"Project-Id-Version: xboard 4.6.0.20121211\n"
+"Project-Id-Version: xboard 4.7.2\n"
"Report-Msgid-Bugs-To: bug-xboard@gnu.org\n"
-"POT-Creation-Date: 2013-08-28 21:49-0700\n"
-"PO-Revision-Date: 2013-01-20 18:51-0800\n"
+"POT-Creation-Date: 2013-08-28 22:03-0700\n"
+"PO-Revision-Date: 2013-11-24 18:22-0800\n"
"Last-Translator: Arun Persaud <arun@nubati.net>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: args.h:820
+#: args.h:821
#, c-format
msgid "%s in settings file\n"
msgstr ""
-#: args.h:830
+#: args.h:831
#, c-format
msgid "Bad integer value %s"
msgstr "Falscher Integer-wert %s"
-#: args.h:923 args.h:1164
+#: args.h:924 args.h:1165
#, c-format
msgid "Unrecognized argument %s"
msgstr "Nicht erkanntes Argument %s"
-#: args.h:954
+#: args.h:955
#, c-format
msgid "No value provided for argument %s"
msgstr "Fehlender Wert für Argument %s"
-#: args.h:1014
+#: args.h:1015
#, c-format
msgid "Incomplete \\ escape in value for %s"
msgstr "Unvollständiges \\ escape im Wert von »%s«"
-#: args.h:1119
+#: args.h:1120
#, c-format
msgid "Failed to open indirection file %s"
msgstr "Fehler beim Öffnen der Datei »%s«"
-#: args.h:1136
+#: args.h:1137
#, c-format
msgid "Unrecognized boolean argument value %s"
msgstr "Nicht anerkannter logischer Wert für Argument %s"
#. TRANSLATORS: "first" is the first of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:744
+#: backend.c:753
msgid "first"
msgstr "erstes"
#. TRANSLATORS: "second" is the second of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:747
+#: backend.c:756
msgid "second"
msgstr "zweites"
-#: backend.c:827
+#: backend.c:837
#, c-format
msgid "protocol version %d not supported"
msgstr "Protokollversion %d nicht unterstützt"
-#: backend.c:933
+#: backend.c:943
msgid "You did not specify the engine executable"
msgstr "Das Computerprogramm für das Schachprogramm wurde nicht angegeben"
-#: backend.c:989
+#: backend.c:999
#, c-format
msgid "bad timeControl option %s"
msgstr "falsche timeControl-Option %s"
-#: backend.c:1004
+#: backend.c:1014
#, c-format
msgid "bad searchTime option %s"
msgstr "falsche searchTime-Option %s"
-#: backend.c:1110
+#: backend.c:1120
#, c-format
msgid "Variant %s supported only in ICS mode"
msgstr "Variante %s wird nur im ICS-Modus unterstützt"
-#: backend.c:1128
+#: backend.c:1138
#, c-format
msgid "Unknown variant name %s"
msgstr "Unbekannte Variante mit Namen %s"
-#: backend.c:1375
+#: backend.c:1386
msgid "Starting chess program"
msgstr "Starte Schachprogramm"
-#: backend.c:1398
+#: backend.c:1409
msgid "Bad game file"
msgstr "Fehler in Partiedatei"
-#: backend.c:1405
+#: backend.c:1416
msgid "Bad position file"
msgstr "Fehler in Positionsdatei"
-#: backend.c:1419
+#: backend.c:1430
msgid "Pick new game"
msgstr "Wähle neues Spiel"
-#: backend.c:1488
+#: backend.c:1499
msgid ""
"You restarted an already completed tourney\n"
"One more cycle will now be added to it\n"
"Eine neue Runde wird hinzugefügt\n"
"Die Spiele werden in 10 Sekunden starten"
-#: backend.c:1495
+#: backend.c:1506
#, c-format
msgid "All games in tourney '%s' are already played or playing"
msgstr "Alle Spiele im Turnier »%s« sind entweder beendet oder werden gespielt"
-#: backend.c:1502
+#: backend.c:1513
msgid "Can't have a match with no chess programs"
msgstr "Partie ohne Schachprogram ist nicht möglich"
-#: backend.c:1539
+#: backend.c:1550
#, c-format
msgid "Could not open comm port %s"
msgstr "Konnte Kommunikationsport %s nicht öffnen"
-#: backend.c:1542
+#: backend.c:1553
#, c-format
msgid "Could not connect to host %s, port %s"
msgstr ""
"Verbindung zu Hostrechner %s, Portnummer %s konnte nicht hergestellt werden"
-#: backend.c:1598
+#: backend.c:1609
#, c-format
msgid "Unknown initialMode %s"
msgstr "Unbekannter initalMode %s"
-#: backend.c:1624
+#: backend.c:1635
msgid "AnalyzeFile mode requires a game file"
msgstr "»Analysiere Datei«-Modus benötigt eine Partiedatei"
-#: backend.c:1651
+#: backend.c:1662
msgid "Analysis mode requires a chess engine"
msgstr "Analyse-Modus benötigt ein Schachprogramm"
-#: backend.c:1655
+#: backend.c:1666
msgid "Analysis mode does not work with ICS mode"
msgstr "Analyse-Modus funktioniert nicht im ICS-Modus"
-#: backend.c:1666
+#: backend.c:1677
msgid "MachineWhite mode requires a chess engine"
msgstr "»Schachprogramm Weiß«-Modus benötigt ein Schachprogramm"
-#: backend.c:1671
+#: backend.c:1682
msgid "MachineWhite mode does not work with ICS mode"
msgstr "»Schachprogramm Weiß«-Modus funktioniert nicht im ICS-Modus"
-#: backend.c:1678
+#: backend.c:1689
msgid "MachineBlack mode requires a chess engine"
msgstr "»Schachprogramm Schwarz«-Modus benötigt ein Schachprogramm"
-#: backend.c:1683
+#: backend.c:1694
msgid "MachineBlack mode does not work with ICS mode"
msgstr "»Schachprogramm Schwarz«-Modus funktioniert nicht im ICS-Modus"
-#: backend.c:1690
+#: backend.c:1701
msgid "TwoMachines mode requires a chess engine"
msgstr "»Zwei Schachprogramme«-Modus benötigt ein Schachprogramm"
-#: backend.c:1695
+#: backend.c:1706
msgid "TwoMachines mode does not work with ICS mode"
msgstr "»Zwei Schachprogramme«-Modus funktioniert nicht im ICS-Modus"
-#: backend.c:1706
+#: backend.c:1717
msgid "Training mode requires a game file"
msgstr "Trainieren-Modus benötigt eine Partiedatei"
-#: backend.c:1869 backend.c:1924 backend.c:1947 backend.c:2346
+#: backend.c:1880 backend.c:1935 backend.c:1958 backend.c:2357
msgid "Error writing to ICS"
msgstr "Fehler beim Schreiben zum ICS"
-#: backend.c:1884
+#: backend.c:1895
msgid "Error reading from keyboard"
msgstr "Fehler beim Lesen der Tastatur"
-#: backend.c:1887
+#: backend.c:1898
msgid "Got end of file from keyboard"
msgstr "Habe Ende-der-Datei von der Tastatur erhalten"
-#: backend.c:2192
+#: backend.c:2203
#, c-format
msgid "Unknown wild type %d"
msgstr "Unbekannter wild-Variante %d"
-#: backend.c:2263 usystem.c:329
+#: backend.c:2274 usystem.c:329
msgid "Error writing to display"
msgstr "Fehler beim Schreiben auf dem Display"
-#: backend.c:3019
+#: backend.c:3030
#, c-format
msgid "your opponent kibitzes: %s"
msgstr "Dein Gegner kibitzt: %s"
-#: backend.c:3548
+#: backend.c:3559
msgid "Error gathering move list: two headers"
msgstr "Fehler beim Erstellen der Zugliste: zwei Dateiköpfe"
-#: backend.c:3595
+#: backend.c:3606
msgid "Error gathering move list: nested"
msgstr "Fehler beim Erstellen der Zugliste: verschachtelt"
-#: backend.c:3699 backend.c:4117 backend.c:4321 backend.c:4880 backend.c:4884
-#: backend.c:6900 backend.c:12082 backend.c:13797 backend.c:13874
-#: backend.c:13920 backend.c:13926 backend.c:13931 backend.c:13936
+#: backend.c:3710 backend.c:4128 backend.c:4332 backend.c:4891 backend.c:4895
+#: backend.c:6919 backend.c:12213 backend.c:13928 backend.c:14005
+#: backend.c:14051 backend.c:14057 backend.c:14062 backend.c:14067
msgid "vs."
msgstr "gegen"
-#: backend.c:3827
+#: backend.c:3838
msgid "Illegal move (rejected by ICS)"
msgstr "Illegaler Zug (abgelehnt vom ICS)"
-#: backend.c:4165
+#: backend.c:4176
msgid "Connection closed by ICS"
msgstr "Verbindung zum ICS beendet"
-#: backend.c:4167
+#: backend.c:4178
msgid "Error reading from ICS"
msgstr "Fehler beim Lesen vom ICS"
-#: backend.c:4244
+#: backend.c:4255
#, c-format
msgid ""
"Failed to parse board string:\n"
"Konnte Schachbrettzeichenkette nicht parsen:\n"
"»%s«"
-#: backend.c:4253 backend.c:9755
+#: backend.c:4264 backend.c:9885
msgid "Game too long; increase MAX_MOVES and recompile"
msgstr "Partie zu lang; erhöhe MAX_MOVES und kompiliere neu"
-#: backend.c:4372
+#: backend.c:4383
msgid "Error gathering move list: extra board"
msgstr "Fehler beim Erstellen der Zugliste: extra Schachbrett"
-#: backend.c:4804 backend.c:4826
+#: backend.c:4815 backend.c:4837
#, c-format
msgid "Couldn't parse move \"%s\" from ICS"
msgstr "Konnte Zug »%s« vom ICS nicht parsen"
-#: backend.c:5063
+#: backend.c:5074
#, c-format
msgid "say Internal error; bad moveType %d (%d,%d-%d,%d)"
msgstr "Interner Fehler; falscher moveType %d (%d,%d-%d,%d)"
-#: backend.c:5133
+#: backend.c:5145
msgid "You cannot do this while you are playing or observing"
msgstr "Dies ist nicht möglich während oder beim Zuschauen eines Spieles"
-#: backend.c:6029
+#: backend.c:6046
msgid "Recompile to support this BOARD_RANKS or BOARD_FILES!"
msgstr "Kompiliere erneut mit Unterstützung von BOARD_RANKS oder BOARD_FILES!"
-#: backend.c:6491
+#: backend.c:6510
msgid "You are playing Black"
msgstr "Sie spielen Schwarz"
-#: backend.c:6500 backend.c:6527
+#: backend.c:6519 backend.c:6546
msgid "You are playing White"
msgstr "Sie spielen Weiß"
-#: backend.c:6509 backend.c:6535 backend.c:6655 backend.c:6680 backend.c:6696
-#: backend.c:14573
+#: backend.c:6528 backend.c:6554 backend.c:6674 backend.c:6699 backend.c:6715
+#: backend.c:14705
msgid "It is White's turn"
msgstr "Weiß ist am Zug"
-#: backend.c:6513 backend.c:6539 backend.c:6663 backend.c:6686 backend.c:6717
-#: backend.c:14565
+#: backend.c:6532 backend.c:6558 backend.c:6682 backend.c:6705 backend.c:6736
+#: backend.c:14697
msgid "It is Black's turn"
msgstr "Schwarz ist am Zug"
-#: backend.c:6552
+#: backend.c:6571
msgid "Displayed position is not current"
msgstr "Angezeigte Position ist nicht die Aktuelle"
-#: backend.c:6790
+#: backend.c:6809
msgid "Illegal move"
msgstr "Ungültiger Zug"
-#: backend.c:6857
+#: backend.c:6876
msgid "End of game"
msgstr "Ende des Spiels"
-#: backend.c:6860
+#: backend.c:6879
msgid "Incorrect move"
msgstr "Ungültiger Zug"
-#: backend.c:7169 backend.c:7296
+#: backend.c:7257 backend.c:7392
msgid "Pull pawn backwards to under-promote"
msgstr "Bewege Bauern rückwärts zum Unterverwandeln"
-#: backend.c:7527
+#: backend.c:7364
+msgid "only marked squares are legal"
+msgstr ""
+
+#: backend.c:7624
msgid "Swiss tourney finished"
msgstr "Turnier im Schweizer System beendet"
-#: backend.c:8102
+#: backend.c:8199
msgid "Invalid pairing from pairing engine"
msgstr "Ungültige Paarungen vom Paarungsprogramm"
-#: backend.c:8235
+#: backend.c:8332
#, c-format
msgid "Illegal move \"%s\" from %s machine"
msgstr "Illegaler Zug »%s« vom Schachprogramm %s"
-#: backend.c:8456
+#: backend.c:8564
msgid "Bad FEN received from engine"
msgstr "Schlechte FEN vom Schachprogramm erhalten"
-#: backend.c:8600 backend.c:13662 backend.c:13727
+#: backend.c:8730 backend.c:13793 backend.c:13858
#, c-format
msgid "%s does not support analysis"
msgstr "%s unterstützt keine Analyse"
-#: backend.c:8666
+#: backend.c:8796
#, c-format
msgid "Illegal move \"%s\" (rejected by %s chess program)"
msgstr "Illegaler Zug »%s« (abgelehnt vom Schachprogram %s)"
-#: backend.c:8693
+#: backend.c:8823
#, c-format
msgid "Failed to start %s chess program %s on %s: %s\n"
msgstr "Konnte %s Schachprogram %s auf %s nicht starten: %s\n"
-#: backend.c:8714
+#: backend.c:8844
#, c-format
msgid "Hint: %s"
msgstr "Hinweis: %s"
-#: backend.c:8719
+#: backend.c:8849
#, c-format
msgid ""
"Illegal hint move \"%s\"\n"
"Illegaler Zughinweis »%s«\n"
"vom Schachprogramm %s"
-#: backend.c:8894
+#: backend.c:9024
msgid "Machine accepts your draw offer"
-msgstr "Das Schachprogramm akzeptiert dein Remiangebot"
+msgstr "Das Schachprogramm akzeptiert dein Remisangebot"
-#: backend.c:8897
+#: backend.c:9027
msgid ""
"Machine offers a draw\n"
"Select Action / Draw to agree"
msgstr ""
-"Das Schachprogramm bietet Remi an\n"
-"Wähle Aktion/Remi, um anzunehmen"
+"Das Schachprogramm bietet Remis an\n"
+"Wähle Aktion/Remis, um anzunehmen"
-#: backend.c:8976
+#: backend.c:9106
msgid "failed writing PV"
msgstr "schreiben des PV fehlgeschlagen"
-#: backend.c:9274
+#: backend.c:9404
#, c-format
msgid "Ambiguous move in ICS output: \"%s\""
msgstr "Nicht eindeutiger Zug in der ICS-Ausgabe: »%s«"
-#: backend.c:9284
+#: backend.c:9414
#, c-format
msgid "Illegal move in ICS output: \"%s\""
msgstr "Illegaler Zug in der ICS-Ausgabe: \"%s\""
-#: backend.c:9295
+#: backend.c:9425
msgid "Gap in move list"
msgstr "Lücke in Zugliste"
-#: backend.c:9916 dialogs.c:460
+#: backend.c:10046 dialogs.c:461
#, c-format
msgid "Variant %s not supported by %s"
msgstr "Variante %s wird von %s nicht unterstützt"
-#: backend.c:10037
+#: backend.c:10167
#, c-format
msgid "Startup failure on '%s'"
msgstr "Fehler beim Starten »%s«"
-#: backend.c:10068
+#: backend.c:10198
msgid "Waiting for first chess program"
msgstr "Warte auf erstes Schachprogramm"
-#: backend.c:10073 backend.c:13945
+#: backend.c:10203 backend.c:14076
msgid "Waiting for second chess program"
msgstr "Warte auf zweites Schachprogramm"
-#: backend.c:10122
+#: backend.c:10252
msgid "Could not write on tourney file"
msgstr "Schreibzugriff auf Turnierdatei nicht möglich"
-#: backend.c:10196
+#: backend.c:10326
msgid ""
"You cannot replace an engine while it is engaged!\n"
"Terminate its game first."
"Ersetzen eines Schachprogramms während es läuft nicht möglich!\n"
"Beenden Sie das Spiel zuerst."
-#: backend.c:10210
+#: backend.c:10340
msgid "No engine with the name you gave is installed"
msgstr "Ein Schachprogram mit dem angegebenen Namen ist nicht installiert"
-#: backend.c:10212
+#: backend.c:10342
msgid ""
"First change an engine by editing the participants list\n"
"of the Tournament Options dialog"
"Ändern Sie ein Schachprogramm indem Sie die Liste der Teilnehmner\n"
"im Turnieroptionendialog editieren"
-#: backend.c:10213
+#: backend.c:10343
msgid "You can only change one engine at the time"
msgstr "Sie können immer nur ein Schachprogramm ändern"
-#: backend.c:10228 backend.c:10375
+#: backend.c:10358 backend.c:10505
#, c-format
msgid "No engine %s is installed"
msgstr "Das Schachprogram %s ist nicht installiert"
-#: backend.c:10248
+#: backend.c:10378
msgid ""
"You must supply a tournament file,\n"
"for storing the tourney progress"
"Sie müssen eine Turnierdatei zum Speichern\n"
"der Turnierdaten angeben"
-#: backend.c:10258
+#: backend.c:10388
msgid "Not enough participants"
msgstr "Nicht genügend Teilnehmer"
-#: backend.c:10459
+#: backend.c:10589
msgid "Bad tournament file"
msgstr "Fehler in Turnierdatei"
-#: backend.c:10471
+#: backend.c:10601
msgid "Waiting for other game(s)"
msgstr "Warte auf weiter Spiele"
-#: backend.c:10484
+#: backend.c:10614
msgid "No pairing engine specified"
msgstr "Kein Paarungsprogram angegeben"
-#: backend.c:10961
+#: backend.c:11092
#, c-format
msgid "Match %s vs. %s: final score %d-%d-%d"
msgstr "Partie %s gegen %s: Endergebnis %d-%d-%d"
-#: backend.c:11423 backend.c:11454
+#: backend.c:11554 backend.c:11585
#, c-format
msgid "Illegal move: %d.%s%s"
msgstr "Illegaler Zug: %d.%s%s"
-#: backend.c:11443
+#: backend.c:11574
#, c-format
msgid "Ambiguous move: %d.%s%s"
msgstr "Nicht eindeutiger Zug: %d.%s%s"
-#: backend.c:11496 backend.c:12505 backend.c:12698 backend.c:13059
+#: backend.c:11627 backend.c:12636 backend.c:12829 backend.c:13190
#, c-format
msgid "Can't open \"%s\""
msgstr "Kann »%s« nicht öffnen"
-#: backend.c:11508 menus.c:116
+#: backend.c:11639 menus.c:116
msgid "Cannot build game list"
msgstr "Kann Zugliste nicht erstellen"
-#: backend.c:11593
+#: backend.c:11724
msgid "No more games in this message"
msgstr "Keine weiteren Partien in dieser Nachricht"
-#: backend.c:11633
+#: backend.c:11764
msgid "No game has been loaded yet"
msgstr "Noch keine Partie geladen"
-#: backend.c:11637 backend.c:12486 ngamelist.c:129
+#: backend.c:11768 backend.c:12617 ngamelist.c:129
msgid "Can't back up any further"
msgstr "Kann nicht weiter zurückgehen"
-#: backend.c:12058
+#: backend.c:12189
msgid "Game number out of range"
msgstr "Partienummer außerhalb des Bereichs"
-#: backend.c:12069
+#: backend.c:12200
msgid "Can't seek on game file"
msgstr "Kann nicht in der Partiedatei suchen"
-#: backend.c:12127
+#: backend.c:12258
msgid "Game not found in file"
msgstr "Spiel in Datei nicht gefunden"
-#: backend.c:12255 backend.c:12582
+#: backend.c:12386 backend.c:12713
msgid "Bad FEN position in file"
msgstr "Schlechte FEN-Stellung in Datei"
-#: backend.c:12407
+#: backend.c:12538
msgid "No moves in game"
msgstr "Keine Züge in dem Spiel"
-#: backend.c:12482
+#: backend.c:12613
msgid "No position has been loaded yet"
msgstr "Noch keine Stellung geladen"
-#: backend.c:12543 backend.c:12554
+#: backend.c:12674 backend.c:12685
msgid "Can't seek on position file"
msgstr "Kann nicht in Stellungsdatei suchen"
-#: backend.c:12561 backend.c:12573
+#: backend.c:12692 backend.c:12704
msgid "Position not found in file"
msgstr "Stellung in Datei nicht gefunden"
-#: backend.c:12613
+#: backend.c:12744
msgid "Black to play"
msgstr "Schwarz am Zug"
-#: backend.c:12616
+#: backend.c:12747
msgid "White to play"
msgstr "Weiß am Zug"
-#: backend.c:12703 backend.c:13064
+#: backend.c:12834 backend.c:13195
msgid "Waiting for access to save file"
msgstr "Warte auf Zugriff zur Datei zum Speichern"
-#: backend.c:12705
+#: backend.c:12836
msgid "Saving game"
msgstr "Speichere Spiel"
-#: backend.c:12706
+#: backend.c:12837
msgid "Bad Seek"
msgstr "Fehlerhafte Suche"
-#: backend.c:13066
+#: backend.c:13197
msgid "Saving position"
msgstr "Speichere Stellung "
-#: backend.c:13192
+#: backend.c:13323
msgid ""
"You have edited the game history.\n"
"Use Reload Same Game and make your move again."
"Sie haben die Partieentwicklung verändert.\n"
"Benutzen Sie »Spiel erneut laden« und führen Sie ihren Zug erneut aus."
-#: backend.c:13197
+#: backend.c:13328
msgid ""
"You have entered too many moves.\n"
"Back up to the correct position and try again."
"Sie haben zu viele Züge eingegeben.\n"
"Gehen Sie zur richtigen Stellung zurück und versuchen Sie es erneut."
-#: backend.c:13202
+#: backend.c:13333
msgid ""
"Displayed position is not current.\n"
"Step forward to the correct position and try again."
"Die angezeigt Stellung ist nicht die aktuelle.\n"
"Gehen Sie vorwärts zur richtigen Stellung und versuchen Sie es erneut."
-#: backend.c:13249
+#: backend.c:13380
msgid "You have not made a move yet"
msgstr "Sie haben noch keinen Zug gemacht"
-#: backend.c:13270
+#: backend.c:13401
msgid ""
"The cmail message is not loaded.\n"
"Use Reload CMail Message and make your move again."
"Benutzen sie »CMail Nachricht erneut laden« und führen Sie ihren Zug erneut "
"aus."
-#: backend.c:13275
+#: backend.c:13406
msgid "No unfinished games"
msgstr "Keine laufenden Partien"
-#: backend.c:13281
+#: backend.c:13412
#, c-format
msgid ""
"You have already mailed a move.\n"
"»cmail -remail -game %s«\n"
"in die Kommandozeile."
-#: backend.c:13296
+#: backend.c:13427
msgid "Failed to invoke cmail"
msgstr "Fehler beim Aufruf von cmail"
-#: backend.c:13358
+#: backend.c:13489
#, c-format
msgid "Waiting for reply from opponent\n"
msgstr "Warte auf Antwort des Gegners\n"
-#: backend.c:13380
+#: backend.c:13511
#, c-format
msgid "Still need to make move for game\n"
msgstr "Sie müssen noch einen Zug für die Partie machen\n"
-#: backend.c:13384
+#: backend.c:13515
#, c-format
msgid "Still need to make moves for both games\n"
msgstr "Sie müssen noch Züge für beide Partien machen\n"
-#: backend.c:13388
+#: backend.c:13519
#, c-format
msgid "Still need to make moves for all %d games\n"
msgstr "Sie müssen noch Züge für alle %d Partien machen\n"
-#: backend.c:13395
+#: backend.c:13526
#, c-format
msgid "Still need to make a move for game %s\n"
msgstr "Sie müssen noch einen Zug für Partie %s machen\n"
-#: backend.c:13401
+#: backend.c:13532
#, c-format
msgid "No unfinished games\n"
msgstr "Keine laufenden Partien\n"
-#: backend.c:13403
+#: backend.c:13534
#, c-format
msgid "Ready to send mail\n"
msgstr "Bereit zum Versenden der Mail\n"
-#: backend.c:13408
+#: backend.c:13539
#, c-format
msgid "Still need to make moves for games %s\n"
msgstr "Sie müssen noch Züge für Partie %s machen\n"
-#: backend.c:13612
+#: backend.c:13743
msgid "Edit comment"
msgstr "Editiere Kommentar"
-#: backend.c:13614
+#: backend.c:13745
#, c-format
msgid "Edit comment on %d.%s%s"
msgstr "Editiere Kommentar für %d.%s%s"
-#: backend.c:13669
+#: backend.c:13800
#, c-format
msgid "You are not observing a game"
msgstr "Sie schauen keiner Partie zu"
-#: backend.c:13777
+#: backend.c:13908
msgid "It is not White's turn"
msgstr "Weiß ist nicht am Zug"
-#: backend.c:13858
+#: backend.c:13989
msgid "It is not Black's turn"
msgstr "Schwarz ist nicht am Zug"
-#: backend.c:13966
+#: backend.c:14097
#, c-format
msgid "Starting %s chess program"
msgstr "Starte %s Schachprogramm"
-#: backend.c:13994 backend.c:15108
+#: backend.c:14125 backend.c:15240
msgid ""
"Wait until your turn,\n"
"or select Move Now"
"Warte bis Sie am Zug sind\n"
"oder wähle »Ziehe jetzt«"
-#: backend.c:14128
+#: backend.c:14259
msgid "Training mode off"
msgstr "Trainier-Modus aus"
-#: backend.c:14136
+#: backend.c:14267
msgid "Training mode on"
msgstr "Trainier-Modus ein"
-#: backend.c:14139
+#: backend.c:14270
msgid "Already at end of game"
msgstr "Schon am Ende der Partie"
-#: backend.c:14219
+#: backend.c:14350
msgid "Warning: You are still playing a game"
msgstr "Warnung: Sie spielen noch eine Partie"
-#: backend.c:14222
+#: backend.c:14353
msgid "Warning: You are still observing a game"
msgstr "Warnung: Sie schauen noch einer Partie zu"
-#: backend.c:14225
+#: backend.c:14356
msgid "Warning: You are still examining a game"
msgstr "Warnung: Sie untersuchen noch eine Partie"
-#: backend.c:14292
+#: backend.c:14423
msgid "Click clock to clear board"
msgstr "Klicke auf eine Uhr, um das Brett zu leeren"
-#: backend.c:14302
+#: backend.c:14433
msgid "Close ICS engine analyze..."
msgstr "Schließe ICS Programmanalyse…"
-#: backend.c:14590
+#: backend.c:14722
msgid "That square is occupied"
msgstr "Dieses Feld ist besetzt"
-#: backend.c:14614 backend.c:14640
+#: backend.c:14746 backend.c:14772
msgid "There is no pending offer on this move"
msgstr "Es liegt kein unbeantwortes Angebot für diesen Zug vor"
-#: backend.c:14676 backend.c:14687
+#: backend.c:14808 backend.c:14819
msgid "Your opponent is not out of time"
msgstr "Ihr Gegner hat die Zeit noch nicht überschritten"
-#: backend.c:14753
+#: backend.c:14885
msgid "You must make your move before offering a draw"
-msgstr "Sie müssem erst ziehen bevor Sie Remi anbieten können"
+msgstr "Sie müssem erst ziehen bevor Sie Remis anbieten können"
-#: backend.c:15090
+#: backend.c:15222
msgid "You are not examining a game"
msgstr "Sie untersuchen keine Partie"
-#: backend.c:15094
+#: backend.c:15226
msgid "You can't revert while pausing"
msgstr "Sie können nicht zurücknehmen solange die Partie pausiert"
-#: backend.c:15148 backend.c:15155
+#: backend.c:15280 backend.c:15287
msgid "It is your turn"
msgstr "Sie sind am Zug"
-#: backend.c:15206 backend.c:15213 backend.c:15266 backend.c:15273
+#: backend.c:15338 backend.c:15345 backend.c:15398 backend.c:15405
msgid "Wait until your turn"
msgstr "Warten Sie bis Sie am Zug sind"
-#: backend.c:15218
+#: backend.c:15350
msgid "No hint available"
msgstr "Kein Hinweis erhältlich"
-#: backend.c:15234 ngamelist.c:355
+#: backend.c:15366 ngamelist.c:355
msgid "Game list not loaded or empty"
msgstr "Noch keine Partie geladen"
-#: backend.c:15241
+#: backend.c:15373
msgid "Book file exists! Try again for overwrite."
msgstr "Buchdatei existiert! Versuche erneut zum Überschreiben."
-#: backend.c:15719
+#: backend.c:15851
#, c-format
msgid "Error writing to %s chess program"
msgstr "Fehler beim Schreiben zum Schachprogramm %s"
-#: backend.c:15722 backend.c:15753
+#: backend.c:15854 backend.c:15885
#, c-format
msgid "%s program exits in draw position (%s)"
-msgstr "%s Schachprogramm beendet in Remistellung (%s)"
+msgstr "%s Schachprogramm beendet in Remisstellung (%s)"
-#: backend.c:15748
+#: backend.c:15880
#, c-format
msgid "Error: %s chess program (%s) exited unexpectedly"
msgstr "Fehler: %s Schachprogramm (%s) unerwartet beendet"
-#: backend.c:15766
+#: backend.c:15898
#, c-format
msgid "Error reading from %s chess program (%s)"
msgstr "Fehler beim Lesen vom Schachprogramm %s (%s)"
-#: backend.c:16168
+#: backend.c:16301
#, c-format
msgid "%s engine has too many options\n"
msgstr "Schachprogramm %s hat zu viele Optionen\n"
-#: backend.c:16324
+#: backend.c:16457
msgid "Displayed move is not current"
msgstr "Angezeigter Zug ist nicht aktuell"
-#: backend.c:16333
+#: backend.c:16466
msgid "Could not parse move"
msgstr "Konnte Zug nicht parsen"
-#: backend.c:16458 backend.c:16480
+#: backend.c:16591 backend.c:16613
msgid "Both flags fell"
msgstr "Beide Zeitkontrollen überschritten"
-#: backend.c:16460
+#: backend.c:16593
msgid "White's flag fell"
msgstr "Weiß überschritt die Zeitkontrolle"
-#: backend.c:16482
+#: backend.c:16615
msgid "Black's flag fell"
msgstr "Schwarz überschritt die Zeitkontrolle"
-#: backend.c:16613
+#: backend.c:16746
msgid "Clock adjustment not allowed in auto-flag mode"
msgstr "Veränderungen an der Uhr sind im »Auto-flag«-Modus nicht erlaubt"
-#: backend.c:17448
+#: backend.c:17585
msgid "Bad FEN position in clipboard"
msgstr "Schlechte FEN-Stellung in der Zwischenablage"
"Bitte geben Sie zuerst eine existierende Turnierdatei, die geklont werden "
"kann"
-#: dialogs.c:332 dialogs.c:1320
+#: dialogs.c:332 dialogs.c:1322
msgid "# no engines are installed"
msgstr "# keine Schachprogramme installiert"
#: dialogs.c:371
msgid "Enable Variation Trees"
-msgstr ""
+msgstr "Erlaube Varianten"
#: dialogs.c:372
msgid "Hide Thinking from Human"
msgid "Play Move(s) of Clicked PV (Analysis)"
msgstr ""
-#: dialogs.c:379 dialogs.c:514 menus.c:728
+#: dialogs.c:379 dialogs.c:515 menus.c:728
msgid "Ponder Next Move"
msgstr "Nächsten Zug abwägen"
#: dialogs.c:416
msgid "no castle"
-msgstr ""
+msgstr "keine Rochade"
#: dialogs.c:417
msgid "cylinder *"
#: dialogs.c:421
msgid "two kings"
-msgstr ""
+msgstr "Zwei Könige"
#: dialogs.c:422
msgid "Board size ( -1 = default for selected variant):"
-msgstr ""
+msgstr "Brettgröße (-1 = default für gewählte Variante):"
#: dialogs.c:423
msgid "Number of Board Ranks:"
msgstr ""
#: dialogs.c:429
-msgid "fairy"
+msgid "ASEAN"
msgstr ""
#: dialogs.c:430
#: dialogs.c:439
msgid "suicide"
-msgstr ""
+msgstr "Räuberschach"
#: dialogs.c:440
msgid "CRC (10x8)"
msgstr ""
#: dialogs.c:447
-msgid " "
-msgstr " "
+msgid "fairy"
+msgstr ""
-#: dialogs.c:448
+#: dialogs.c:449
msgid "courier (12x8)"
msgstr ""
-#: dialogs.c:465
+#: dialogs.c:466
#, c-format
msgid "Warning: second engine (%s) does not support this!"
msgstr "Warnung: zweites Schachprogramm (%s) unterstützt dies nicht!"
-#: dialogs.c:488
+#: dialogs.c:489
#, c-format
msgid "Only bughouse is not available in viewer mode"
msgstr ""
-#: dialogs.c:489
+#: dialogs.c:490
#, c-format
msgid ""
"All variants not supported by first engine\n"
"(currently %s) are disabled"
msgstr ""
-#: dialogs.c:490
+#: dialogs.c:491
msgid "New Variant"
msgstr "Neue Variante"
-#: dialogs.c:515
+#: dialogs.c:516
msgid "Maximum Number of CPUs per Engine:"
msgstr "Maximal Anzahl der CPUs pro Schachprogram:"
-#: dialogs.c:516
+#: dialogs.c:517
msgid "Polygot Directory:"
msgstr "Polyglot-verzeichnis:"
-#: dialogs.c:517
+#: dialogs.c:518
msgid "Hash-Table Size (MB):"
msgstr "Größe der Hashtabelle (MB):"
-#: dialogs.c:518
+#: dialogs.c:519
msgid "Nalimov EGTB Path:"
msgstr ""
-#: dialogs.c:519
+#: dialogs.c:520
msgid "EGTB Cache Size (MB):"
msgstr ""
-#: dialogs.c:520
+#: dialogs.c:521
msgid "Use GUI Book"
msgstr ""
-#: dialogs.c:521
+#: dialogs.c:522
msgid "Opening-Book Filename:"
msgstr "Dateiname des Eröffnungsbuches:"
-#: dialogs.c:522
+#: dialogs.c:523
msgid "Book Depth (moves):"
msgstr ""
-#: dialogs.c:523
+#: dialogs.c:524
msgid "Book Variety (0) vs. Strength (100):"
msgstr ""
-#: dialogs.c:524
+#: dialogs.c:525
msgid "Engine #1 Has Own Book"
msgstr ""
-#: dialogs.c:525
+#: dialogs.c:526
msgid "Engine #2 Has Own Book "
msgstr ""
-#: dialogs.c:534
+#: dialogs.c:535
msgid "Common Engine Settings"
msgstr ""
-#: dialogs.c:540
+#: dialogs.c:541
msgid "Detect all Mates"
msgstr ""
-#: dialogs.c:541
+#: dialogs.c:542
msgid "Verify Engine Result Claims"
msgstr ""
-#: dialogs.c:542
+#: dialogs.c:543
msgid "Draw if Insufficient Mating Material"
msgstr ""
-#: dialogs.c:543
+#: dialogs.c:544
msgid "Adjudicate Trivial Draws (3-Move Delay)"
msgstr ""
-#: dialogs.c:544
+#: dialogs.c:545
msgid "N-Move Rule:"
msgstr "N-Züge Regel:"
-#: dialogs.c:545
+#: dialogs.c:546
msgid "N-fold Repeats:"
msgstr ""
-#: dialogs.c:546
+#: dialogs.c:547
msgid "Draw after N Moves Total:"
-msgstr "Remi nach N Zügen (total):"
+msgstr "Remis nach N Zügen (total):"
-#: dialogs.c:547
+#: dialogs.c:548
msgid "Win / Loss Threshold:"
msgstr "Gewinn/Verlust Grenzwert:"
-#: dialogs.c:548
+#: dialogs.c:549
msgid "Negate Score of Engine #1"
msgstr "Negiere Bewertung des 1. Schachprogramms"
-#: dialogs.c:549
+#: dialogs.c:550
msgid "Negate Score of Engine #2"
msgstr "Negiere Bewertung des 2. Schachprogramms"
-#: dialogs.c:556
+#: dialogs.c:557
#, fuzzy
msgid "Adjudicate non-ICS Games"
msgstr "Gewinn Weiß zuerkennen"
-#: dialogs.c:569
+#: dialogs.c:570
msgid "Auto-Kibitz"
msgstr "Auto-Kibitz"
-#: dialogs.c:570
+#: dialogs.c:571
msgid "Auto-Comment"
msgstr "Automatische Kommentare"
-#: dialogs.c:571
+#: dialogs.c:572
msgid "Auto-Observe"
msgstr "Automatisch Beobachten"
-#: dialogs.c:572
+#: dialogs.c:573
msgid "Auto-Raise Board"
msgstr "Automatisch das Brett in den Vordergrung bringen"
-#: dialogs.c:573
+#: dialogs.c:574
msgid "Auto-Create Logon Script"
msgstr "Automatisch Login-skript erzeugen"
-#: dialogs.c:574
+#: dialogs.c:575
msgid "Background Observe while Playing"
msgstr "Beobachte im Hintegrund während einer Partie"
-#: dialogs.c:575
+#: dialogs.c:576
msgid "Dual Board for Background-Observed Game"
msgstr "Zweites Brett für beobachtetes Spiel"
-#: dialogs.c:576
+#: dialogs.c:577
msgid "Get Move List"
msgstr "Zugliste abholen"
-#: dialogs.c:577
+#: dialogs.c:578
msgid "Quiet Play"
msgstr ""
-#: dialogs.c:578
+#: dialogs.c:579
msgid "Seek Graph"
-msgstr ""
+msgstr "Suchgraph"
-#: dialogs.c:579
+#: dialogs.c:580
msgid "Auto-Refresh Seek Graph"
msgstr ""
-#: dialogs.c:580
+#: dialogs.c:581
msgid "Auto-InputBox PopUp"
msgstr ""
-#: dialogs.c:581
+#: dialogs.c:582
+#, fuzzy
+msgid "Quit after game"
+msgstr "Warte auf weiter Spiele"
+
+#: dialogs.c:583
msgid "Premove"
msgstr ""
-#: dialogs.c:582
+#: dialogs.c:584
msgid "Premove for White"
msgstr ""
-#: dialogs.c:583
+#: dialogs.c:585
msgid "First White Move:"
msgstr "Erster Zug von Weiß:"
-#: dialogs.c:584
+#: dialogs.c:586
msgid "Premove for Black"
msgstr ""
-#: dialogs.c:585
+#: dialogs.c:587
msgid "First Black Move:"
msgstr "Erster Zug von Schwarz:"
-#: dialogs.c:587
+#: dialogs.c:589
msgid "Alarm"
msgstr "Alarm"
-#: dialogs.c:588
+#: dialogs.c:590
msgid "Alarm Time (msec):"
msgstr "Alarmzeit (msek):"
-#: dialogs.c:590
+#: dialogs.c:592
msgid "Colorize Messages"
msgstr "Nachrichten kolorieren"
-#: dialogs.c:591
+#: dialogs.c:593
msgid "Shout Text Colors:"
msgstr "Textfarbe Ruf:"
-#: dialogs.c:592
+#: dialogs.c:594
msgid "S-Shout Text Colors:"
msgstr "Textfarbe S-Ruf:"
-#: dialogs.c:593
+#: dialogs.c:595
msgid "Channel #1 Text Colors:"
msgstr "Textfarbe Kanal #1:"
-#: dialogs.c:594
+#: dialogs.c:596
msgid "Other Channel Text Colors:"
msgstr "Textfarbe andere Kanäle:"
-#: dialogs.c:595
+#: dialogs.c:597
msgid "Kibitz Text Colors:"
msgstr "Textfarbe Kibitz:"
-#: dialogs.c:596
+#: dialogs.c:598
msgid "Tell Text Colors:"
msgstr "Textfarbe Mitteilung:"
-#: dialogs.c:597
+#: dialogs.c:599
msgid "Challenge Text Colors:"
-msgstr ""
+msgstr "Textfarbe Herausforderung:"
-#: dialogs.c:598
+#: dialogs.c:600
msgid "Request Text Colors:"
msgstr ""
-#: dialogs.c:599
+#: dialogs.c:601
msgid "Seek Text Colors:"
-msgstr ""
+msgstr "Textfarbe Spielgesuch:"
-#: dialogs.c:606
+#: dialogs.c:608
msgid "ICS Options"
msgstr "ICS Optionen"
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Exact position match"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Shown position is subset"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Same material with exactly same Pawn chain"
msgstr "Gleiches Material mit genau gleicher Bauernstruktur"
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Same material"
msgstr "Gleiches Material"
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material range (top board half optional)"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material difference (optional stuff balanced)"
msgstr ""
-#: dialogs.c:624
+#: dialogs.c:626
msgid "Auto-Display Tags"
msgstr ""
-#: dialogs.c:625
+#: dialogs.c:627
msgid "Auto-Display Comment"
msgstr ""
-#: dialogs.c:626
+#: dialogs.c:628
msgid ""
"Auto-Play speed of loaded games\n"
"(0 = instant, -1 = off):"
msgstr ""
-#: dialogs.c:627
+#: dialogs.c:629
msgid "Seconds per Move:"
msgstr "Sekunden pro Zug:"
-#: dialogs.c:628
+#: dialogs.c:630
msgid ""
"\n"
"options to use in game-viewer mode:"
msgstr ""
-#: dialogs.c:630
+#: dialogs.c:632
msgid ""
"\n"
"Thresholds for position filtering in game list:"
msgstr ""
-#: dialogs.c:631
+#: dialogs.c:633
msgid "Elo of strongest player at least:"
msgstr "Mind. Elo des stärksten Spielers:"
-#: dialogs.c:632
+#: dialogs.c:634
msgid "Elo of weakest player at least:"
msgstr "Mind. Elo des schwächsten Spielers:"
-#: dialogs.c:633
+#: dialogs.c:635
msgid "No games before year:"
msgstr "Keine Partie vor Jahr:"
-#: dialogs.c:634
+#: dialogs.c:636
msgid "Minimum nr consecutive positions:"
msgstr ""
-#: dialogs.c:635
+#: dialogs.c:637
msgid "Search mode:"
msgstr "Such-modus:"
-#: dialogs.c:636
+#: dialogs.c:638
msgid "Also match reversed colors"
msgstr ""
-#: dialogs.c:637
+#: dialogs.c:639
msgid "Also match left-right flipped position"
msgstr ""
-#: dialogs.c:645
+#: dialogs.c:647
msgid "Load Game Options"
msgstr "Spieleinstellungen laden"
-#: dialogs.c:657
+#: dialogs.c:659
msgid "Auto-Save Games"
msgstr "Automatisch Partien speichern"
-#: dialogs.c:658
+#: dialogs.c:660
msgid "Own Games Only"
-msgstr ""
+msgstr "Nur eigene Partien"
-#: dialogs.c:659
+#: dialogs.c:661
msgid "Save Games on File:"
msgstr "Partien speichern als Datei:"
-#: dialogs.c:660
+#: dialogs.c:662
msgid "Save Final Positions on File:"
msgstr "Speichere Endstellung in Datei:"
-#: dialogs.c:661
+#: dialogs.c:663
msgid "PGN Event Header:"
msgstr ""
-#: dialogs.c:662
+#: dialogs.c:664
msgid "Old Save Style (as opposed to PGN)"
msgstr ""
-#: dialogs.c:663
+#: dialogs.c:665
msgid "Include Number Tag in tourney PGN"
msgstr ""
-#: dialogs.c:664
+#: dialogs.c:666
msgid "Save Score/Depth Info in PGN"
msgstr ""
-#: dialogs.c:665
+#: dialogs.c:667
msgid "Save Out-of-Book Info in PGN "
msgstr ""
-#: dialogs.c:672
+#: dialogs.c:674
msgid "Save Game Options"
msgstr "Spieleinstellungen speichern"
-#: dialogs.c:681
+#: dialogs.c:683
msgid "No Sound"
msgstr "Kein Ton"
-#: dialogs.c:682
+#: dialogs.c:684
msgid "Default Beep"
msgstr ""
-#: dialogs.c:683
+#: dialogs.c:685
msgid "Above WAV File"
msgstr ""
-#: dialogs.c:684
+#: dialogs.c:686
msgid "Car Horn"
msgstr "Hupe"
-#: dialogs.c:685
+#: dialogs.c:687
msgid "Cymbal"
msgstr ""
-#: dialogs.c:686
+#: dialogs.c:688
msgid "Ding"
msgstr ""
-#: dialogs.c:687
+#: dialogs.c:689
msgid "Gong"
msgstr ""
-#: dialogs.c:688
+#: dialogs.c:690
msgid "Laser"
msgstr "Laser"
-#: dialogs.c:689
+#: dialogs.c:691
msgid "Penalty"
msgstr ""
-#: dialogs.c:690
+#: dialogs.c:692
msgid "Phone"
msgstr ""
-#: dialogs.c:691
+#: dialogs.c:693
msgid "Pop"
msgstr ""
-#: dialogs.c:692
+#: dialogs.c:694
msgid "Slap"
msgstr ""
-#: dialogs.c:693
+#: dialogs.c:695
msgid "Wood Thunk"
msgstr ""
-#: dialogs.c:695
+#: dialogs.c:697
msgid "User File"
msgstr "Benutzerdatei"
-#: dialogs.c:717
+#: dialogs.c:719
msgid "User WAV File:"
msgstr ""
-#: dialogs.c:718
+#: dialogs.c:720
msgid "Sound Program:"
msgstr ""
-#: dialogs.c:719
+#: dialogs.c:721
msgid "Try-Out Sound:"
msgstr "Teste Geräusch:"
-#: dialogs.c:720
+#: dialogs.c:722
msgid "Play"
msgstr "Spielen"
-#: dialogs.c:721
+#: dialogs.c:723
msgid "Move:"
msgstr "Zug:"
-#: dialogs.c:722
+#: dialogs.c:724
msgid "Win:"
msgstr "Gewonnen:"
-#: dialogs.c:723
+#: dialogs.c:725
msgid "Lose:"
msgstr "Verloren:"
-#: dialogs.c:724
+#: dialogs.c:726
msgid "Draw:"
-msgstr "Remi:"
+msgstr "Remis:"
-#: dialogs.c:725
+#: dialogs.c:727
msgid "Unfinished:"
msgstr "Nicht beendet:"
-#: dialogs.c:726
+#: dialogs.c:728
msgid "Alarm:"
msgstr "Alarm:"
-#: dialogs.c:727
+#: dialogs.c:729
msgid "Challenge:"
-msgstr ""
+msgstr "Herausforderung:"
-#: dialogs.c:729
+#: dialogs.c:731
msgid "Sounds Directory:"
-msgstr ""
+msgstr "Klangverzeichnis:"
-#: dialogs.c:730
+#: dialogs.c:732
msgid "Shout:"
msgstr "Ruf:"
-#: dialogs.c:731
+#: dialogs.c:733
msgid "S-Shout:"
msgstr "S-Ruf:"
-#: dialogs.c:732
+#: dialogs.c:734
msgid "Channel:"
msgstr "Kanal:"
-#: dialogs.c:733
+#: dialogs.c:735
msgid "Channel 1:"
msgstr "Kanal 1:"
-#: dialogs.c:734
+#: dialogs.c:736
msgid "Tell:"
msgstr "Mitteilung:"
-#: dialogs.c:735
+#: dialogs.c:737
msgid "Kibitz:"
msgstr "Kibitz:"
-#: dialogs.c:736
+#: dialogs.c:738
msgid "Request:"
msgstr ""
-#: dialogs.c:737
+#: dialogs.c:739
msgid "Seek:"
msgstr "Gesuch:"
-#: dialogs.c:753
+#: dialogs.c:755
msgid "Sound Options"
msgstr "Klangeinstellungen"
-#: dialogs.c:774
+#: dialogs.c:776
msgid "White Piece Color:"
-msgstr ""
+msgstr "Farbe weiße Figuren:"
#. TRANSLATORS: R = single letter for the color red
-#: dialogs.c:777 dialogs.c:786 dialogs.c:792 dialogs.c:798 dialogs.c:804
-#: dialogs.c:810
+#: dialogs.c:779 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
+#: dialogs.c:812
msgid "R"
msgstr "R"
#. TRANSLATORS: G = single letter for the color green
-#: dialogs.c:779 dialogs.c:787 dialogs.c:793 dialogs.c:799 dialogs.c:805
-#: dialogs.c:811
+#: dialogs.c:781 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
+#: dialogs.c:813
msgid "G"
msgstr "G"
#. TRANSLATORS: B = single letter for the color blue
-#: dialogs.c:781 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
-#: dialogs.c:812
+#: dialogs.c:783 dialogs.c:790 dialogs.c:796 dialogs.c:802 dialogs.c:808
+#: dialogs.c:814
msgid "B"
msgstr "B"
#. TRANSLATORS: D = single letter to make a color darker
-#: dialogs.c:783 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
-#: dialogs.c:813
+#: dialogs.c:785 dialogs.c:791 dialogs.c:797 dialogs.c:803 dialogs.c:809
+#: dialogs.c:815
msgid "D"
msgstr "D"
-#: dialogs.c:784
+#: dialogs.c:786
msgid "Black Piece Color:"
-msgstr ""
+msgstr "Farbe schwarze Figuren:"
-#: dialogs.c:790
+#: dialogs.c:792
msgid "Light Square Color:"
msgstr "Weißes Feld:"
-#: dialogs.c:796
+#: dialogs.c:798
msgid "Dark Square Color:"
msgstr "Schwarzes Feld:"
-#: dialogs.c:802
+#: dialogs.c:804
msgid "Highlight Color:"
msgstr "Farbe zum Hervorheben:"
-#: dialogs.c:808
+#: dialogs.c:810
msgid "Premove Highlight Color:"
msgstr ""
-#: dialogs.c:814
+#: dialogs.c:816
msgid "Flip Pieces Shogi Style (Colored buttons restore default)"
msgstr ""
-#: dialogs.c:816
+#: dialogs.c:818
msgid "Mono Mode"
msgstr ""
-#: dialogs.c:817
+#: dialogs.c:819
msgid "Line Gap ( -1 = default for board size):"
msgstr ""
-#: dialogs.c:818
+#: dialogs.c:820
msgid "Use Board Textures"
-msgstr ""
+msgstr "Benutze Bretttexturen"
-#: dialogs.c:819
+#: dialogs.c:821
msgid "Light-Squares Texture File:"
-msgstr ""
+msgstr "Texturedatei für weiße Felder:"
-#: dialogs.c:820
+#: dialogs.c:822
msgid "Dark-Squares Texture File:"
-msgstr ""
+msgstr "Texturdatei für schwarze Felder:"
-#: dialogs.c:821
+#: dialogs.c:823
msgid "Use external piece bitmaps with their own colors"
-msgstr ""
+msgstr "Benutze externe Figurebitmaps mit deren Farben"
-#: dialogs.c:822
+#: dialogs.c:824
msgid "Directory with Pieces Images:"
-msgstr ""
+msgstr "Verzeichnis mit Bildern für Figuren:"
-#: dialogs.c:872
+#: dialogs.c:874
msgid "Board Options"
msgstr "Bretteinstellungen"
-#: dialogs.c:925 menus.c:634
+#: dialogs.c:927 menus.c:634
msgid "ICS text menu"
-msgstr "ICS-Textmenue"
+msgstr "ICS-Textmenü"
-#: dialogs.c:947
+#: dialogs.c:949
msgid "clear"
msgstr ""
-#: dialogs.c:948 dialogs.c:1036
+#: dialogs.c:950 dialogs.c:1038
msgid "save changes"
msgstr "speichere Änderungen"
-#: dialogs.c:1051
+#: dialogs.c:1053
msgid "Edit book"
-msgstr "Bearbeite Buch"
+msgstr "Buch editieren"
-#: dialogs.c:1051 menus.c:636
+#: dialogs.c:1053 menus.c:636
msgid "Tags"
msgstr "Markierungen"
-#: dialogs.c:1193
+#: dialogs.c:1195
msgid "ICS input box"
msgstr "ICS Eingabefeld"
-#: dialogs.c:1225
+#: dialogs.c:1227
msgid "Type a move"
msgstr "Geben Sie einen Zug ein"
-#: dialogs.c:1251
+#: dialogs.c:1253
msgid "Engine has no options"
msgstr "Schachprogramm hat keine Optionen"
-#: dialogs.c:1253
+#: dialogs.c:1255
msgid "Engine Settings"
msgstr "Schachprogrammeinstellungen"
-#: dialogs.c:1278
+#: dialogs.c:1280
msgid "Select engine from list:"
msgstr "Wähle Schachprogram aus der Liste:"
-#: dialogs.c:1281
+#: dialogs.c:1283
msgid "or specify one below:"
msgstr ""
-#: dialogs.c:1282
+#: dialogs.c:1284
msgid "Nickname (optional):"
-msgstr ""
+msgstr "Spitzname (optional):"
-#: dialogs.c:1283
+#: dialogs.c:1285
msgid "Use nickname in PGN player tags of engine-engine games"
msgstr ""
-#: dialogs.c:1284
+#: dialogs.c:1286
msgid "Engine Directory:"
msgstr ""
-#: dialogs.c:1285
+#: dialogs.c:1287
msgid "Engine Command:"
-msgstr ""
+msgstr "Schachprogramkommando:"
-#: dialogs.c:1286
+#: dialogs.c:1288
msgid "(Directory will be derived from engine path when empty)"
-msgstr ""
+msgstr "(Verzeichnis wird vom Schachprogrampfad genommen, falls leer)"
-#: dialogs.c:1287
+#: dialogs.c:1289
msgid "UCI"
msgstr ""
-#: dialogs.c:1288
+#: dialogs.c:1290
msgid "WB protocol v1 (do not wait for engine features)"
msgstr ""
-#: dialogs.c:1289
+#: dialogs.c:1291
msgid "Must not use GUI book"
msgstr ""
-#: dialogs.c:1290
+#: dialogs.c:1292
msgid "Add this engine to the list"
msgstr "Füge diese Schachprogramm zur Liste hinzu"
-#: dialogs.c:1291
+#: dialogs.c:1293
msgid "Force current variant with this engine"
msgstr ""
-#: dialogs.c:1341
+#: dialogs.c:1343
msgid "Load first engine"
msgstr "Lade erstes Schachprogramm"
-#: dialogs.c:1347
+#: dialogs.c:1349
msgid "Load second engine"
msgstr "Lade zweites Schachprogramm"
-#: dialogs.c:1370
+#: dialogs.c:1372
msgid "shuffle"
msgstr "Shuffle"
-#: dialogs.c:1371
+#: dialogs.c:1373
msgid "Start-position number:"
msgstr "Startposition-Nummer:"
-#: dialogs.c:1372
+#: dialogs.c:1374
msgid "randomize"
msgstr "zufällig"
-#: dialogs.c:1373
+#: dialogs.c:1375
msgid "pick fixed"
msgstr ""
-#: dialogs.c:1390
+#: dialogs.c:1392
msgid "New Shuffle Game"
msgstr "Neue Shuffle-Partie"
-#: dialogs.c:1409
+#: dialogs.c:1411
msgid "classical"
msgstr "klassisch"
-#: dialogs.c:1410
+#: dialogs.c:1412
msgid "incremental"
msgstr "Zuwachs"
-#: dialogs.c:1411
+#: dialogs.c:1413
msgid "fixed max"
msgstr ""
-#: dialogs.c:1412
+#: dialogs.c:1414
msgid "Moves per session:"
msgstr ""
-#: dialogs.c:1413
+#: dialogs.c:1415
msgid "Initial time (min):"
msgstr ""
-#: dialogs.c:1414
+#: dialogs.c:1416
msgid "Increment or max (sec/move):"
msgstr ""
-#: dialogs.c:1415
+#: dialogs.c:1417
msgid "Time-Odds factors:"
msgstr ""
-#: dialogs.c:1416
+#: dialogs.c:1418
msgid "Engine #1"
msgstr "Schachprogramm #1"
-#: dialogs.c:1417
+#: dialogs.c:1419
msgid "Engine #2 / Human"
msgstr "Schachprogram #2 / Spieler"
-#: dialogs.c:1457 dialogs.c:1460 dialogs.c:1465 dialogs.c:1466
+#: dialogs.c:1459 dialogs.c:1462 dialogs.c:1467 dialogs.c:1468
#: gtk/xoptions.c:191
msgid "Unused"
msgstr "Nicht benutzt"
-#: dialogs.c:1478
+#: dialogs.c:1480
msgid "Time Control"
msgstr "Zeitkontrolle"
-#: dialogs.c:1507
+#: dialogs.c:1509
msgid "Error writing to chess program"
msgstr "Fehler beim Schreiben zum Schachprogramm"
-#: dialogs.c:1574
+#: dialogs.c:1576
msgid "Cancel"
msgstr "Abbrechen"
-#: dialogs.c:1579 dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1581 dialogs.c:1973 dialogs.c:1977
msgid "King"
msgstr "König"
-#: dialogs.c:1582
+#: dialogs.c:1584
msgid "Captain"
msgstr "Kapitän"
-#: dialogs.c:1583
+#: dialogs.c:1585
msgid "Lieutenant"
msgstr "Leutnant"
-#: dialogs.c:1584
+#: dialogs.c:1586
msgid "General"
msgstr "General"
-#: dialogs.c:1585
+#: dialogs.c:1587
msgid "Warlord"
msgstr "Kriegsherr"
-#: dialogs.c:1587 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1589 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Knight"
msgstr "Springer"
-#: dialogs.c:1588 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1590 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Bishop"
msgstr "Läufer"
-#: dialogs.c:1589 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1591 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Rook"
msgstr "Turm"
-#: dialogs.c:1593 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1595 dialogs.c:1974 dialogs.c:1978
msgid "Archbishop"
msgstr "Erzbischof"
-#: dialogs.c:1594 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1596 dialogs.c:1974 dialogs.c:1978
msgid "Chancellor"
msgstr "Kanlzer"
-#: dialogs.c:1596 dialogs.c:1971 dialogs.c:1975 dialogs.c:1993
+#: dialogs.c:1598 dialogs.c:1973 dialogs.c:1977 dialogs.c:1995
msgid "Queen"
msgstr "Königin"
-#: dialogs.c:1600
+#: dialogs.c:1602
msgid "Defer"
msgstr "vertagen"
-#: dialogs.c:1601 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1603 dialogs.c:1974 dialogs.c:1978
msgid "Promote"
msgstr "umwandlung"
-#: dialogs.c:1616
+#: dialogs.c:1618
msgid "Chat partner:"
msgstr ""
-#: dialogs.c:1701
+#: dialogs.c:1703
msgid "Chat box"
msgstr ""
-#: dialogs.c:1742
+#: dialogs.c:1744
msgid "factory"
msgstr "Fabrik"
-#: dialogs.c:1743
+#: dialogs.c:1745
msgid "up"
msgstr "hoch"
-#: dialogs.c:1744
+#: dialogs.c:1746
msgid "down"
msgstr "runter"
-#: dialogs.c:1762
+#: dialogs.c:1764
msgid "No tag selected"
msgstr "Keine Markierung selektiert"
-#: dialogs.c:1793
+#: dialogs.c:1795
msgid "Game-list options"
msgstr "Spieleliste-optionen"
-#: dialogs.c:1869 dialogs.c:1883
+#: dialogs.c:1871 dialogs.c:1885
msgid "Error"
msgstr "Fehler"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Fatal Error"
msgstr "Schwerwiegender Fehler"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Exiting"
msgstr "Beende"
-#: dialogs.c:1917
+#: dialogs.c:1919
msgid "Information"
msgstr "Information"
-#: dialogs.c:1924
+#: dialogs.c:1926
msgid "Note"
msgstr "Notiz"
-#: dialogs.c:1970 dialogs.c:2245 dialogs.c:2248
+#: dialogs.c:1972 dialogs.c:2252 dialogs.c:2255
msgid "White"
msgstr "Weiß"
-#: dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Pawn"
msgstr "Bauer"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Elephant"
msgstr "Elefant"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Cannon"
msgstr "Kanone"
-#: dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1974 dialogs.c:1978
msgid "Demote"
msgstr "degradieren"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Empty square"
msgstr "Leeres Feld"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Clear board"
msgstr "Brett leeren"
-#: dialogs.c:1974 dialogs.c:2257 dialogs.c:2260
+#: dialogs.c:1976 dialogs.c:2264 dialogs.c:2267
msgid "Black"
msgstr "Schwarz"
-#: dialogs.c:2073 menus.c:787
+#: dialogs.c:2075 menus.c:787
msgid "File"
msgstr "Datei"
-#: dialogs.c:2074 menus.c:788
+#: dialogs.c:2076 menus.c:788
msgid "Edit"
msgstr "Bearbeiten"
-#: dialogs.c:2075 menus.c:789
+#: dialogs.c:2077 menus.c:789
msgid "View"
msgstr "Anzeigen"
-#: dialogs.c:2076 menus.c:790
+#: dialogs.c:2078 menus.c:790
msgid "Mode"
msgstr "Modus"
-#: dialogs.c:2077 menus.c:791
+#: dialogs.c:2079 menus.c:791
msgid "Action"
msgstr "Aktion"
-#: dialogs.c:2078 menus.c:792
+#: dialogs.c:2080 menus.c:792
msgid "Engine"
msgstr "Schachprogramm"
-#: dialogs.c:2079 menus.c:793
+#: dialogs.c:2081 menus.c:793
msgid "Options"
msgstr "Optionen"
-#: dialogs.c:2080 menus.c:794
+#: dialogs.c:2082 menus.c:794
msgid "Help"
msgstr "Hilfe"
-#: dialogs.c:2090
+#: dialogs.c:2092
msgid "<<"
msgstr ""
-#: dialogs.c:2091
+#: dialogs.c:2093
msgid "<"
msgstr ""
-#: dialogs.c:2093
+#: dialogs.c:2095
msgid ">"
msgstr ""
-#: dialogs.c:2094
+#: dialogs.c:2096
msgid ">>"
msgstr ""
-#: dialogs.c:2364
+#: dialogs.c:2371
msgid "Directories:"
msgstr "Verzeichnisse:"
-#: dialogs.c:2365
+#: dialogs.c:2372
msgid "Files:"
msgstr "Dateien:"
-#: dialogs.c:2366
+#: dialogs.c:2373
msgid "by name"
msgstr "nach Namen"
-#: dialogs.c:2367
+#: dialogs.c:2374
msgid "by type"
msgstr "nach Typ"
-#: dialogs.c:2370
+#: dialogs.c:2377
msgid "Filename:"
msgstr "Dateinname:"
-#: dialogs.c:2371
+#: dialogs.c:2378
msgid "New directory"
msgstr "Neues Verzeichnis"
-#: dialogs.c:2372
+#: dialogs.c:2379
msgid "File type:"
msgstr "Dateientyp:"
-#: dialogs.c:2447
+#: dialogs.c:2454
msgid "Contents of"
msgstr "Inhalt von"
-#: dialogs.c:2473
-#, fuzzy
+#: dialogs.c:2480
msgid " next page"
msgstr "nächste Seite"
-#: dialogs.c:2495
+#: dialogs.c:2502
msgid "FIRST TYPE DIRECTORY NAME HERE"
msgstr ""
-#: dialogs.c:2496
+#: dialogs.c:2503
msgid "TRY ANOTHER NAME"
msgstr "VERSUCHE EINEN ANDEREN NAMEN"
msgstr "Über XBoard"
#: menus.c:582
-#, fuzzy
msgid "New Game"
-msgstr "Neue Shuffle-Partie"
+msgstr "Neue Partie"
#: menus.c:583
msgid "New Shuffle Game ..."
msgstr "Neue Shuffle Partie… "
#: menus.c:584
-#, fuzzy
msgid "New Variant ..."
-msgstr "Neue Variante"
+msgstr "Neue Variante…"
#: menus.c:586
-#, fuzzy
msgid "Load Game"
msgstr "Partie laden…"
#: menus.c:587
-#, fuzzy
msgid "Load Position"
-msgstr "Nächste Stellung laden"
+msgstr "Stellung laden"
#: menus.c:588
-#, fuzzy
msgid "Next Position"
-msgstr "Nächste Stellung laden"
+msgstr "Nächste Stellung"
#: menus.c:589
-#, fuzzy
msgid "Prev Position"
-msgstr "Vorherige Stellung laden"
+msgstr "Vorherige Stellung"
#: menus.c:591
-#, fuzzy
msgid "Save Game"
msgstr "Partie speichern…"
#: menus.c:592
-#, fuzzy
msgid "Save Position"
-msgstr "Speichere Stellung "
+msgstr "Speichere Stellung"
#: menus.c:593
msgid "Save Games as Book"
-msgstr "Partien speichern als Buch:"
+msgstr "Partien speichern als Buch"
#: menus.c:595
msgid "Mail Move"
msgstr ""
#: menus.c:603
-#, fuzzy
msgid "Copy Game"
-msgstr "Partieliste kopieren"
+msgstr "Partie kopieren"
#: menus.c:604
-#, fuzzy
msgid "Copy Position"
-msgstr "Stellung kopieren Strg+Umschalt+C"
+msgstr "Stellung kopieren"
#: menus.c:605
msgid "Copy Game List"
msgstr "Partieliste kopieren"
#: menus.c:607
-#, fuzzy
msgid "Paste Game"
-msgstr "Spiel zurücksetzen"
+msgstr "Partie einfügen"
#: menus.c:608
-#, fuzzy
msgid "Paste Position"
-msgstr "Nächste Stellung laden"
+msgstr "Stellung einfügen"
#: menus.c:610 menus.c:652
-#, fuzzy
msgid "Edit Game"
-msgstr "Editiere Kommentar"
+msgstr "Partie editiere"
#: menus.c:611 menus.c:653
-#, fuzzy
msgid "Edit Position"
-msgstr "Nächste Stellung laden"
+msgstr "Stellung editieren"
#: menus.c:612
msgid "Edit Tags"
msgstr "Annotieren"
#: menus.c:618
-#, fuzzy
msgid "Truncate Game"
-msgstr "Partie abbrechen End"
+msgstr "Partie abbrechen"
#: menus.c:620
msgid "Backward"
msgstr "Vorwärts"
#: menus.c:622
-#, fuzzy
msgid "Back to Start"
-msgstr "Schwarz am Zug"
+msgstr "Zurück zum Anfang"
#: menus.c:623
-#, fuzzy
msgid "Forward to End"
-msgstr "Vorwärts zum Ende Alt+End"
+msgstr "Zur Schlussstellung"
#: menus.c:628
-#, fuzzy
msgid "Flip View"
-msgstr "Brett automatisch drehen"
+msgstr "Brett drehen"
#: menus.c:631
-#, fuzzy
msgid "Move History"
msgstr "Zugliste"
#: menus.c:632
-#, fuzzy
msgid "Evaluation Graph"
msgstr "Auswertungsgraph"
#: menus.c:633
-#, fuzzy
msgid "Game List"
-msgstr "Partieliste…"
+msgstr "Partieliste"
#: menus.c:637
msgid "Comments"
msgstr "Partie Markierungen…"
#: menus.c:647
-#, fuzzy
msgid "Machine White"
-msgstr "Schachprogramm weiß Strg+W"
+msgstr "Schachprogramm weiß"
#: menus.c:648
-#, fuzzy
msgid "Machine Black"
-msgstr "Schachprogramm Partie"
+msgstr "Schachprogramm schwarz"
#: menus.c:649
-#, fuzzy
msgid "Two Machines"
-msgstr "Zwei Schachprogramme Strg+T"
+msgstr "Zwei Schachprogramme"
#: menus.c:650
-#, fuzzy
msgid "Analysis Mode"
-msgstr "Analyse-Modus Strg+A"
+msgstr "Analyse-Modus"
#: menus.c:651
-#, fuzzy
msgid "Analyze Game"
-msgstr "Spiel analysieren Strg+G"
+msgstr "Spiel analysieren"
#: menus.c:654
msgid "Training"
#: menus.c:655
msgid "ICS Client"
-msgstr "ICS-client"
+msgstr "ICS-Client"
#: menus.c:657
msgid "Machine Match"
msgstr ""
#: menus.c:667
-#, fuzzy
msgid "Call Flag"
-msgstr "Zeit reklamieren F5"
+msgstr "Zeit reklamieren"
#: menus.c:668
-#, fuzzy
msgid "Draw"
-msgstr "Remi:"
+msgstr "Remis"
#: menus.c:669
msgid "Adjourn"
msgstr "Aufgeben"
#: menus.c:673
-#, fuzzy
msgid "Stop Observing"
-msgstr "Beobachtung beenden F10"
+msgstr "Beobachtung beenden"
#: menus.c:674
-#, fuzzy
msgid "Stop Examining"
-msgstr "Untersuchen beenden F11"
+msgstr "Untersuchen beenden"
#: menus.c:675
msgid "Upload to Examine"
#: menus.c:677
msgid "Adjudicate to White"
-msgstr "Gewinn Weiß zuerkennen"
+msgstr "Weiß den Gewinn zuerkennen"
#: menus.c:678
msgid "Adjudicate to Black"
-msgstr "Gewinn Schwartz zuerkennnen"
+msgstr "Schwarz den Gewinn zuerkennnen"
#: menus.c:679
msgid "Adjudicate Draw"
-msgstr "Remi zuerkennen"
+msgstr "Als Remis abschätzen"
#: menus.c:684
msgid "Load New 1st Engine ..."
#: menus.c:690
msgid "Hint"
-msgstr "Hinweiß"
+msgstr "Hinweis"
#: menus.c:691
msgid "Book"
msgstr "Buch"
#: menus.c:693
-#, fuzzy
msgid "Move Now"
-msgstr "Klang für Zug"
+msgstr "Jetzt ziehen"
#: menus.c:694
-#, fuzzy
msgid "Retract Move"
-msgstr "Zug zurücknehmen Strg+X"
+msgstr "Zug zurücknehmen"
#: menus.c:700
msgid "General ..."
msgstr "Allgemein…"
#: menus.c:702
-#, fuzzy
msgid "Time Control ..."
-msgstr "Zeitkontrolle"
+msgstr "Zeitkontrolle…"
#: menus.c:703
-#, fuzzy
msgid "Common Engine ..."
-msgstr "Allemein Schachprogramme… Alt+Umschalt+U"
+msgstr "Allgemein Schachprogramme…"
#: menus.c:704
-#, fuzzy
msgid "Adjudications ..."
-msgstr "Zuerkennung… Alt+Umschalt+J"
+msgstr "Zuerkennung…"
#: menus.c:705
msgid "ICS ..."
#: menus.c:710
msgid "Sounds ..."
-msgstr "Klang ..."
+msgstr "Klang…"
#: menus.c:713
msgid "Always Queen"
#: menus.c:742
msgid "Info XBoard"
-msgstr "Info XBoard"
+msgstr "Info über XBoard"
#: menus.c:743
-#, fuzzy
msgid "Man XBoard"
-msgstr "Man XBoard F1"
+msgstr "XBoard-Hilfe"
#: menus.c:745
msgid "XBoard Home Page"
#: menus.c:747
msgid "Development News"
-msgstr "Entwicklungsnachrichten"
+msgstr "Entwicklungsneuigkeiten"
#: menus.c:748
msgid "e-Mail Bug Report"
-msgstr "E-mail Fehlerreport"
+msgstr "Sende Fehlerbericht"
#: nengineoutput.c:78 nengineoutput.c:85
msgid "engine name"
#: xaw/xoptions.c:387 xaw/xoptions.c:388
msgid "Ctrl"
-msgstr ""
+msgstr "Strg"
#: xaw/xoptions.c:393 xaw/xoptions.c:394
msgid "Alt"
-msgstr ""
+msgstr "Alt"
#: xaw/xoptions.c:399 xaw/xoptions.c:400
msgid "Shift"
-msgstr ""
+msgstr "Umschalt"
#: xaw/xoptions.c:1262
msgid "OK"
msgid "cancel"
msgstr "abbrechen"
+#~ msgid " "
+#~ msgstr " "
+
#~ msgid "recognized '%s' (%d) as variant %s\n"
#~ msgstr "erkenne '%s' (%d) als Variante %s\n"
#~ msgstr "Revanche F12"
#~ msgid "Draw F6"
-#~ msgstr "Remi F6"
+#~ msgstr "Remis F6"
#~ msgid "Adjourn F7"
#~ msgstr "Aussetzen F7"
#~ msgstr "(Datei:%s) "
#~ msgid "light square "
-#~ msgstr "weisses Feld "
+#~ msgstr "weißes Feld "
#~ msgid "dark square "
-#~ msgstr "schwarze Feld "
+#~ msgstr "schwarzes Feld "
#~ msgid "Done.\n"
#~ msgstr "Fertig.\n"
# XBoard -- a graphical chessboard for X
-# Copyright (C) 1991 by Digital Equipment Corporation, Maynard, Massachusetts.
-# Enhancements Copyright (C) 1992-98 Free Software Foundation, Inc.
+# Copyright (C) 2013 Free Software Foundation, Inc.
# This file is distributed under the same license as the XBoard package.
# Traducción por Óscar Toledo G., 2010
+# Antonio Ceballos <aceballos@gmail.com>, 2013
#
-#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: GNU xboard master-20110411\n"
+"Project-Id-Version: GNU xboard 4.7.2\n"
"Report-Msgid-Bugs-To: bug-xboard@gnu.org\n"
-"POT-Creation-Date: 2013-08-28 21:49-0700\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"POT-Creation-Date: 2013-08-28 22:03-0700\n"
+"PO-Revision-Date: 2013-12-07 00:14+0200\n"
+"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
+"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: args.h:820
+#: args.h:821
#, c-format
msgid "%s in settings file\n"
-msgstr ""
+msgstr "%s en el fichero de configuración\n"
-#: args.h:830
+#: args.h:831
#, c-format
msgid "Bad integer value %s"
-msgstr ""
+msgstr "Valor entero malo %s"
-#: args.h:923 args.h:1164
+#: args.h:924 args.h:1165
#, c-format
msgid "Unrecognized argument %s"
-msgstr ""
+msgstr "Argumento no reconocido %s"
-#: args.h:954
+#: args.h:955
#, c-format
msgid "No value provided for argument %s"
-msgstr ""
+msgstr "No se ha dado valor al argumento %s"
-#: args.h:1014
+#: args.h:1015
#, c-format
msgid "Incomplete \\ escape in value for %s"
-msgstr ""
+msgstr "Carácter de escape \\ incompleto en el valor de %s"
-#: args.h:1119
+#: args.h:1120
#, c-format
msgid "Failed to open indirection file %s"
-msgstr ""
+msgstr "Fallo al abrir fichero de indirección %s"
-#: args.h:1136
+#: args.h:1137
#, c-format
msgid "Unrecognized boolean argument value %s"
-msgstr ""
+msgstr "Valor del argumento lógico %s no reconocido"
#. TRANSLATORS: "first" is the first of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:744
+#: backend.c:753
msgid "first"
-msgstr ""
+msgstr "primer"
#. TRANSLATORS: "second" is the second of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:747
+#: backend.c:756
msgid "second"
-msgstr ""
+msgstr "segundo"
-#: backend.c:827
+#: backend.c:837
#, c-format
msgid "protocol version %d not supported"
msgstr "versión %d del protocolo no es admitida"
-#: backend.c:933
+#: backend.c:943
msgid "You did not specify the engine executable"
-msgstr ""
+msgstr "No se especificó el ejecutable del motor"
-#: backend.c:989
+#: backend.c:999
#, c-format
msgid "bad timeControl option %s"
msgstr "opción timeControl incorrecta %s"
-#: backend.c:1004
+#: backend.c:1014
#, c-format
msgid "bad searchTime option %s"
msgstr "opción searchTime incorrecta %s"
-#: backend.c:1110
+#: backend.c:1120
#, c-format
msgid "Variant %s supported only in ICS mode"
msgstr "La variante %s solo se admite en modo ICS"
-#: backend.c:1128
+#: backend.c:1138
#, c-format
msgid "Unknown variant name %s"
msgstr "Nombre de variante desconocido %s"
-#: backend.c:1375
+#: backend.c:1386
msgid "Starting chess program"
msgstr "Iniciando programa de ajedrez"
-#: backend.c:1398
+#: backend.c:1409
msgid "Bad game file"
msgstr "archivo de partidas incorrecto"
-#: backend.c:1405
+#: backend.c:1416
msgid "Bad position file"
msgstr "archivo de posición incorrecto"
-#: backend.c:1419
+#: backend.c:1430
msgid "Pick new game"
-msgstr ""
+msgstr "Seleccionar una nueva partida"
-#: backend.c:1488
+#: backend.c:1499
msgid ""
"You restarted an already completed tourney\n"
"One more cycle will now be added to it\n"
"Games commence in 10 sec"
msgstr ""
+"Se ha reiniciado un torneo que ya había concluido\n"
+"Se le va a añadir un nuevo ciclo\n"
+"Las partidas comienzan dentro de 10 s"
-#: backend.c:1495
+#: backend.c:1506
#, c-format
msgid "All games in tourney '%s' are already played or playing"
msgstr ""
+"Ya se han disputado o se están disputando todas las partidas del torneo '%s'"
-#: backend.c:1502
+#: backend.c:1513
msgid "Can't have a match with no chess programs"
msgstr "No se puede tener una partida sin programas de ajedrez"
-#: backend.c:1539
+#: backend.c:1550
#, c-format
msgid "Could not open comm port %s"
msgstr "No se pudo abrir la puerta de comunicaciones %s"
-#: backend.c:1542
+#: backend.c:1553
#, c-format
msgid "Could not connect to host %s, port %s"
msgstr "No se pudo conectar al servidor %s, puerta %s"
-#: backend.c:1598
+#: backend.c:1609
#, c-format
msgid "Unknown initialMode %s"
msgstr "Modo inicial desconocido %s"
-#: backend.c:1624
+#: backend.c:1635
msgid "AnalyzeFile mode requires a game file"
-msgstr "El modo análisis de archivo requiere un archivo de partida"
+msgstr "El modo análisis de archivo requiere un archivo de partidas"
-#: backend.c:1651
+#: backend.c:1662
msgid "Analysis mode requires a chess engine"
msgstr "El modo de análisis requiere un motor de ajedrez"
-#: backend.c:1655
+#: backend.c:1666
msgid "Analysis mode does not work with ICS mode"
msgstr "El modo de análisis no funciona con el modo ICS"
-#: backend.c:1666
+#: backend.c:1677
msgid "MachineWhite mode requires a chess engine"
msgstr "El modo de máquina con blancas requiere un motor de ajedrez"
-#: backend.c:1671
+#: backend.c:1682
msgid "MachineWhite mode does not work with ICS mode"
msgstr "El modo de máquina con blancas no funciona con el modo ICS"
-#: backend.c:1678
+#: backend.c:1689
msgid "MachineBlack mode requires a chess engine"
msgstr "El modo de máquina con negras requiere un motor de ajedrez"
-#: backend.c:1683
+#: backend.c:1694
msgid "MachineBlack mode does not work with ICS mode"
msgstr "El modo de máquina con negras no funciona con el modo ICS"
-#: backend.c:1690
+#: backend.c:1701
msgid "TwoMachines mode requires a chess engine"
msgstr "El modo de dos máquinas requiere un motor de ajedrez"
-#: backend.c:1695
+#: backend.c:1706
msgid "TwoMachines mode does not work with ICS mode"
msgstr "El modo de dos máquinas no funciona con el modo ICS"
-#: backend.c:1706
+#: backend.c:1717
msgid "Training mode requires a game file"
msgstr "El modo de entrenamiento requiere un archivo de partidas"
-#: backend.c:1869 backend.c:1924 backend.c:1947 backend.c:2346
+#: backend.c:1880 backend.c:1935 backend.c:1958 backend.c:2357
msgid "Error writing to ICS"
msgstr "Error al escribir a ICS"
-#: backend.c:1884
+#: backend.c:1895
msgid "Error reading from keyboard"
msgstr "Error al leer el teclado"
-#: backend.c:1887
+#: backend.c:1898
msgid "Got end of file from keyboard"
msgstr "Se obtuvo del teclado un fin de archivo"
-#: backend.c:2192
+#: backend.c:2203
#, c-format
msgid "Unknown wild type %d"
-msgstr ""
+msgstr "Tipo «wild» %d desconocido"
-#: backend.c:2263 usystem.c:329
+#: backend.c:2274 usystem.c:329
msgid "Error writing to display"
-msgstr "Error al escribir a la pantalla"
+msgstr "Error al escribir en la pantalla"
-#: backend.c:3019
+#: backend.c:3030
#, c-format
msgid "your opponent kibitzes: %s"
-msgstr ""
+msgstr "información kibitz de su oponente: %s"
-#: backend.c:3548
+#: backend.c:3559
msgid "Error gathering move list: two headers"
msgstr "Error al recolectar lista de jugadas: dos encabezados"
-#: backend.c:3595
+#: backend.c:3606
msgid "Error gathering move list: nested"
msgstr "Error al recolectar lista de jugadas: anidado"
-#: backend.c:3699 backend.c:4117 backend.c:4321 backend.c:4880 backend.c:4884
-#: backend.c:6900 backend.c:12082 backend.c:13797 backend.c:13874
-#: backend.c:13920 backend.c:13926 backend.c:13931 backend.c:13936
+#: backend.c:3710 backend.c:4128 backend.c:4332 backend.c:4891 backend.c:4895
+#: backend.c:6919 backend.c:12213 backend.c:13928 backend.c:14005
+#: backend.c:14051 backend.c:14057 backend.c:14062 backend.c:14067
msgid "vs."
-msgstr ""
+msgstr "contra"
-#: backend.c:3827
+#: backend.c:3838
msgid "Illegal move (rejected by ICS)"
-msgstr ""
+msgstr "La jugada no es válida (la ha rechazado ICS)"
-#: backend.c:4165
+#: backend.c:4176
msgid "Connection closed by ICS"
msgstr "Conexión cerrada por ICS"
-#: backend.c:4167
+#: backend.c:4178
msgid "Error reading from ICS"
msgstr "Error al leer de ICS"
-#: backend.c:4244
+#: backend.c:4255
#, c-format
msgid ""
"Failed to parse board string:\n"
"\"%s\""
msgstr ""
+"Fallo al analizar texto del tablero:\n"
+"\"%s\""
-#: backend.c:4253 backend.c:9755
+#: backend.c:4264 backend.c:9885
msgid "Game too long; increase MAX_MOVES and recompile"
-msgstr "Juego demasiado largo; incremente MAX_MOVES y recompile"
+msgstr "Partida demasiado larga; incremente MAX_MOVES y recompile"
-#: backend.c:4372
+#: backend.c:4383
msgid "Error gathering move list: extra board"
msgstr "Error al recolectar lista de jugadas: tablero extra"
-#: backend.c:4804 backend.c:4826
+#: backend.c:4815 backend.c:4837
#, c-format
msgid "Couldn't parse move \"%s\" from ICS"
-msgstr "No se pudo analizar jugada \"%s\" de ICS"
+msgstr "No se pudo analizar la jugada \"%s\" de ICS"
-#: backend.c:5063
+#: backend.c:5074
#, c-format
msgid "say Internal error; bad moveType %d (%d,%d-%d,%d)"
msgstr "say Error interno; moveType incorrecto %d (%d,%d-%d,%d)"
-#: backend.c:5133
+#: backend.c:5145
msgid "You cannot do this while you are playing or observing"
-msgstr ""
+msgstr "No se puede hacer esto mientras se está jugando u observando"
-#: backend.c:6029
+# TRANSLATORS: BOARDS_RANKS, BOARD_FILES translatable?
+#: backend.c:6046
msgid "Recompile to support this BOARD_RANKS or BOARD_FILES!"
-msgstr ""
+msgstr "¡Hace falta recompilar para disponer de BOARD_RANKS o BOARD_FILES!"
-#: backend.c:6491
+#: backend.c:6510
msgid "You are playing Black"
msgstr "Usted juega negras"
-#: backend.c:6500 backend.c:6527
+#: backend.c:6519 backend.c:6546
msgid "You are playing White"
msgstr "Usted juega blancas"
-#: backend.c:6509 backend.c:6535 backend.c:6655 backend.c:6680 backend.c:6696
-#: backend.c:14573
+#: backend.c:6528 backend.c:6554 backend.c:6674 backend.c:6699 backend.c:6715
+#: backend.c:14705
msgid "It is White's turn"
msgstr "Turno de las blancas"
-#: backend.c:6513 backend.c:6539 backend.c:6663 backend.c:6686 backend.c:6717
-#: backend.c:14565
+#: backend.c:6532 backend.c:6558 backend.c:6682 backend.c:6705 backend.c:6736
+#: backend.c:14697
msgid "It is Black's turn"
msgstr "Turno de las negras"
-#: backend.c:6552
+#: backend.c:6571
msgid "Displayed position is not current"
msgstr "La posición mostrada no es la actual"
-#: backend.c:6790
+#: backend.c:6809
msgid "Illegal move"
msgstr "Jugada ilegal"
-#: backend.c:6857
+#: backend.c:6876
msgid "End of game"
msgstr "Fin del juego"
-#: backend.c:6860
+#: backend.c:6879
msgid "Incorrect move"
msgstr "Jugada incorrecta"
-#: backend.c:7169 backend.c:7296
+#: backend.c:7257 backend.c:7392
msgid "Pull pawn backwards to under-promote"
+msgstr "Retrasar el peón a la posición previa a la coronación"
+
+#: backend.c:7364
+msgid "only marked squares are legal"
msgstr ""
-#: backend.c:7527
+#: backend.c:7624
msgid "Swiss tourney finished"
-msgstr ""
+msgstr "Torneo suizo terminado"
-#: backend.c:8102
+#: backend.c:8199
msgid "Invalid pairing from pairing engine"
-msgstr ""
+msgstr "El bando del otro motor no es válido"
-#: backend.c:8235
+#: backend.c:8332
#, c-format
msgid "Illegal move \"%s\" from %s machine"
msgstr "Jugada ilegal \"%s\" del %s motor"
-#: backend.c:8456
+#: backend.c:8564
msgid "Bad FEN received from engine"
-msgstr ""
+msgstr "El FEN recibido del motor es incorrecto"
-#: backend.c:8600 backend.c:13662 backend.c:13727
+#: backend.c:8730 backend.c:13793 backend.c:13858
#, c-format
msgid "%s does not support analysis"
msgstr "%s no admite análisis"
-#: backend.c:8666
+#: backend.c:8796
#, c-format
msgid "Illegal move \"%s\" (rejected by %s chess program)"
-msgstr "Jugada ilegal \"%s\" (rechazada por %s programa de ajedrez)"
+msgstr "Jugada ilegal \"%s\" (rechazada por el programa de ajedrez %s)"
-#: backend.c:8693
+#: backend.c:8823
#, c-format
msgid "Failed to start %s chess program %s on %s: %s\n"
-msgstr "Falla al iniciar %s programa de ajedrez %s en %s: %s\n"
+msgstr "Fallo al iniciar el programa de ajedrez %s %s en %s: %s\n"
-#: backend.c:8714
+#: backend.c:8844
#, c-format
msgid "Hint: %s"
msgstr "Sugerencia: %s"
-#: backend.c:8719
+#: backend.c:8849
#, c-format
msgid ""
"Illegal hint move \"%s\"\n"
"from %s chess program"
msgstr ""
+"La jugada sugerida \"%s\"\n"
+"por el programa de ajedrez %s no es válida"
-#: backend.c:8894
+#: backend.c:9024
msgid "Machine accepts your draw offer"
msgstr "La máquina acepta su oferta de tablas"
-#: backend.c:8897
+# TRANSLATORS: Action / Draw translatable?
+#: backend.c:9027
msgid ""
"Machine offers a draw\n"
"Select Action / Draw to agree"
msgstr ""
+"La máquina ofrece tablas\n"
+"Seleccione Action / Draw si está de acuerdo"
-#: backend.c:8976
+#: backend.c:9106
msgid "failed writing PV"
-msgstr ""
+msgstr "fallo al escribir la PV"
-#: backend.c:9274
+#: backend.c:9404
#, c-format
msgid "Ambiguous move in ICS output: \"%s\""
-msgstr "Jugada ambigua en salida ICS: \"%s\""
+msgstr "Jugada ambigua en la salida ICS: \"%s\""
-#: backend.c:9284
+#: backend.c:9414
#, c-format
msgid "Illegal move in ICS output: \"%s\""
-msgstr "Jugada ilegal en salida ICS: \"%s\""
+msgstr "Jugada ilegal en la salida ICS: \"%s\""
-#: backend.c:9295
+#: backend.c:9425
msgid "Gap in move list"
-msgstr "Hueco en lista de jugadas"
+msgstr "Hueco en la lista de jugadas"
-#: backend.c:9916 dialogs.c:460
+#: backend.c:10046 dialogs.c:461
#, c-format
msgid "Variant %s not supported by %s"
msgstr "La variante %s no es admitida por %s"
-#: backend.c:10037
+#: backend.c:10167
#, c-format
msgid "Startup failure on '%s'"
-msgstr "Falla al iniciar '%s'"
+msgstr "Fallo al iniciar '%s'"
-#: backend.c:10068
+#: backend.c:10198
msgid "Waiting for first chess program"
msgstr "Esperando al primer programa de ajedrez"
-#: backend.c:10073 backend.c:13945
+#: backend.c:10203 backend.c:14076
msgid "Waiting for second chess program"
msgstr "Esperando al segundo programa de ajedrez"
-#: backend.c:10122
+#: backend.c:10252
msgid "Could not write on tourney file"
-msgstr ""
+msgstr "No se ha podido escribir en el fichero de torneos"
-#: backend.c:10196
+#: backend.c:10326
msgid ""
"You cannot replace an engine while it is engaged!\n"
"Terminate its game first."
msgstr ""
+"¡No se puede reemplazar un motor mientras está ocupado!\n"
+"Termine primero la partida del motor."
-#: backend.c:10210
+#: backend.c:10340
msgid "No engine with the name you gave is installed"
-msgstr ""
+msgstr "No hay ningún motor instalado con el nombre indicado"
-#: backend.c:10212
+#: backend.c:10342
msgid ""
"First change an engine by editing the participants list\n"
"of the Tournament Options dialog"
msgstr ""
+"Cambie primero un motor editando la lista de participantes\n"
+"en el diálogo de las Opciones de Torneo"
-#: backend.c:10213
+#: backend.c:10343
msgid "You can only change one engine at the time"
-msgstr ""
+msgstr "Solo se puede cambiar un motor a la vez"
-#: backend.c:10228 backend.c:10375
+#: backend.c:10358 backend.c:10505
#, c-format
msgid "No engine %s is installed"
-msgstr ""
+msgstr "No hay ningún motor %s instalado"
-#: backend.c:10248
+#: backend.c:10378
msgid ""
"You must supply a tournament file,\n"
"for storing the tourney progress"
msgstr ""
+"Hay que proporcionar un fichero de torneos,\n"
+"para almacenar el progreso del torneo"
-#: backend.c:10258
+#: backend.c:10388
msgid "Not enough participants"
-msgstr ""
+msgstr "No hay suficientes participantes"
-#: backend.c:10459
-#, fuzzy
+#: backend.c:10589
msgid "Bad tournament file"
-msgstr "archivo de partidas incorrecto"
+msgstr "Archivo de torneos incorrecto"
-#: backend.c:10471
-#, fuzzy
+#: backend.c:10601
msgid "Waiting for other game(s)"
-msgstr "Esperando al primer programa de ajedrez"
+msgstr "Esperando por otra(s) partida(s)"
-#: backend.c:10484
+#: backend.c:10614
msgid "No pairing engine specified"
-msgstr ""
+msgstr "iNo se ha especificado el otro motor"
-#: backend.c:10961
+#: backend.c:11092
#, c-format
msgid "Match %s vs. %s: final score %d-%d-%d"
-msgstr "Partida %s vs. %s: puntuación final %d-%d-%d"
+msgstr "Encuentro %s - %s: puntuación final %d-%d-%d"
-#: backend.c:11423 backend.c:11454
+#: backend.c:11554 backend.c:11585
#, c-format
msgid "Illegal move: %d.%s%s"
msgstr "Jugada ilegal: %d.%s%s"
-#: backend.c:11443
+#: backend.c:11574
#, c-format
msgid "Ambiguous move: %d.%s%s"
msgstr "Jugada ambigua: %d.%s%s"
-#: backend.c:11496 backend.c:12505 backend.c:12698 backend.c:13059
+#: backend.c:11627 backend.c:12636 backend.c:12829 backend.c:13190
#, c-format
msgid "Can't open \"%s\""
msgstr "No se puede abrir \"%s\""
-#: backend.c:11508 menus.c:116
+#: backend.c:11639 menus.c:116
msgid "Cannot build game list"
-msgstr "No se pudo armar lista de partidas"
+msgstr "No se pudo construir la lista de partidas"
-#: backend.c:11593
+#: backend.c:11724
msgid "No more games in this message"
msgstr "No hay más partidas en este mensaje"
-#: backend.c:11633
+#: backend.c:11764
msgid "No game has been loaded yet"
msgstr "Ninguna partida se ha cargado aún"
-#: backend.c:11637 backend.c:12486 ngamelist.c:129
+#: backend.c:11768 backend.c:12617 ngamelist.c:129
msgid "Can't back up any further"
msgstr "Ya no se puede ir más atrás"
-#: backend.c:12058
+#: backend.c:12189
msgid "Game number out of range"
msgstr "Número de partida fuera de rango"
-#: backend.c:12069
+#: backend.c:12200
msgid "Can't seek on game file"
msgstr "No se puede buscar en archivo de partidas"
-#: backend.c:12127
+#: backend.c:12258
msgid "Game not found in file"
msgstr "Partida no hallada en archivo"
-#: backend.c:12255 backend.c:12582
+#: backend.c:12386 backend.c:12713
msgid "Bad FEN position in file"
msgstr "Posición FEN incorrecta en archivo"
-#: backend.c:12407
+#: backend.c:12538
msgid "No moves in game"
msgstr "Ninguna jugada en la partida"
-#: backend.c:12482
+#: backend.c:12613
msgid "No position has been loaded yet"
msgstr "Ninguna posición se ha cargado aún"
-#: backend.c:12543 backend.c:12554
+#: backend.c:12674 backend.c:12685
msgid "Can't seek on position file"
-msgstr "No se puede buscar en archivo de partidas"
+msgstr "No se puede buscar en archivo de aperturas"
-#: backend.c:12561 backend.c:12573
+#: backend.c:12692 backend.c:12704
msgid "Position not found in file"
msgstr "No se halló la posición en el archivo"
-#: backend.c:12613
+#: backend.c:12744
msgid "Black to play"
-msgstr "Las negras juegan"
+msgstr "Negras juegan"
-#: backend.c:12616
+#: backend.c:12747
msgid "White to play"
-msgstr "Las blancas juegan"
+msgstr "Blancas juegan"
-#: backend.c:12703 backend.c:13064
-#, fuzzy
+#: backend.c:12834 backend.c:13195
msgid "Waiting for access to save file"
-msgstr "Esperando al segundo programa de ajedrez"
+msgstr "Esperando a tener acceso para guardar el fichero"
-#: backend.c:12705
+#: backend.c:12836
msgid "Saving game"
-msgstr ""
+msgstr "Guardando partida"
-#: backend.c:12706
+#: backend.c:12837
msgid "Bad Seek"
-msgstr ""
+msgstr "Búsqueda incorrecta"
-#: backend.c:13066
-#, fuzzy
+#: backend.c:13197
msgid "Saving position"
-msgstr "archivo de posición incorrecto"
+msgstr "Guardando posición"
-#: backend.c:13192
+#: backend.c:13323
msgid ""
"You have edited the game history.\n"
"Use Reload Same Game and make your move again."
msgstr ""
+"Usted ha editado el historial de la partida.\n"
+"Use «Reload Same Game» y vuelva a realizar un movimiento."
-#: backend.c:13197
+#: backend.c:13328
msgid ""
"You have entered too many moves.\n"
"Back up to the correct position and try again."
msgstr ""
+"Usted ha introducido demasiadas jugadas.\n"
+"Retroceda hasta la posición correcta e inténtelo de nuevo."
-#: backend.c:13202
+#: backend.c:13333
msgid ""
"Displayed position is not current.\n"
"Step forward to the correct position and try again."
msgstr ""
+"La posición que se está mostrando no es la actual.\n"
+"Avance hasta la posición correcta e inténtelo de nuevo."
-#: backend.c:13249
+#: backend.c:13380
msgid "You have not made a move yet"
-msgstr "Usted todavía no hace una jugada"
+msgstr "Usted no ha realizado todavía ninguna jugada"
-#: backend.c:13270
+#: backend.c:13401
msgid ""
"The cmail message is not loaded.\n"
"Use Reload CMail Message and make your move again."
msgstr ""
+"El mensaje «cmail» no está cargado.\n"
+"Use «Reload CMail Message» y vuelva a realizar un movimiento."
-#: backend.c:13275
+#: backend.c:13406
msgid "No unfinished games"
msgstr "No hay partidas sin terminar"
-#: backend.c:13281
+#: backend.c:13412
#, c-format
msgid ""
"You have already mailed a move.\n"
"\"cmail -remail -game %s\"\n"
"on the command line."
msgstr ""
+"Ya ha enviado una jugada por correo.\n"
+"Espere hasta recibir una jugada de su adversario.\n"
+"Para volver a enviar la misma jugada, teclee\n"
+"\"cmail -remail -game %s\"\n"
+"en la línea de órdenes."
-#: backend.c:13296
+#: backend.c:13427
msgid "Failed to invoke cmail"
-msgstr "Falla al invocar cmail"
+msgstr "Fallo al invocar cmail"
-#: backend.c:13358
+#: backend.c:13489
#, c-format
msgid "Waiting for reply from opponent\n"
msgstr "Esperando respuesta del oponente\n"
-#: backend.c:13380
+#: backend.c:13511
#, c-format
msgid "Still need to make move for game\n"
msgstr "Todavía necesita hacer una jugada para la partida\n"
-#: backend.c:13384
+#: backend.c:13515
#, c-format
msgid "Still need to make moves for both games\n"
msgstr "Todavía necesita hacer jugadas para ambas partidas\n"
-#: backend.c:13388
+#: backend.c:13519
#, c-format
msgid "Still need to make moves for all %d games\n"
msgstr "Todavía necesita hacer jugadas para las %d partidas\n"
-#: backend.c:13395
+#: backend.c:13526
#, c-format
msgid "Still need to make a move for game %s\n"
msgstr "Todavía necesita hacer una jugada para la partida %s\n"
-#: backend.c:13401
+#: backend.c:13532
#, c-format
msgid "No unfinished games\n"
msgstr "No hay juegos sin terminar\n"
-#: backend.c:13403
+#: backend.c:13534
#, c-format
msgid "Ready to send mail\n"
msgstr "Listo para enviar correo\n"
-#: backend.c:13408
+#: backend.c:13539
#, c-format
msgid "Still need to make moves for games %s\n"
msgstr "Todavía necesita hacer jugadas para las partidas %s\n"
-#: backend.c:13612
+#: backend.c:13743
msgid "Edit comment"
msgstr "Editar comentario"
-#: backend.c:13614
+#: backend.c:13745
#, c-format
msgid "Edit comment on %d.%s%s"
msgstr "Editar comentario en %d.%s%s"
-#: backend.c:13669
+#: backend.c:13800
#, c-format
msgid "You are not observing a game"
-msgstr ""
+msgstr "Usted no está observando una partida"
-#: backend.c:13777
+#: backend.c:13908
msgid "It is not White's turn"
msgstr "No es turno de las blancas"
-#: backend.c:13858
+#: backend.c:13989
msgid "It is not Black's turn"
msgstr "No es turno de las negras"
-#: backend.c:13966
+#: backend.c:14097
#, c-format
msgid "Starting %s chess program"
-msgstr ""
+msgstr "Iniciando el programa de ajedrez %s"
-#: backend.c:13994 backend.c:15108
+#: backend.c:14125 backend.c:15240
msgid ""
"Wait until your turn,\n"
"or select Move Now"
msgstr ""
+"Espere su turno\n"
+"o seleccione «Move Now»"
-#: backend.c:14128
+#: backend.c:14259
msgid "Training mode off"
msgstr "Modo de entrenamiento apagado"
-#: backend.c:14136
+#: backend.c:14267
msgid "Training mode on"
msgstr "Modo de entrenamiento activo"
-#: backend.c:14139
+#: backend.c:14270
msgid "Already at end of game"
msgstr "Ya se encuentra al final de la partida"
-#: backend.c:14219
+#: backend.c:14350
msgid "Warning: You are still playing a game"
msgstr "Advertencia: Usted todavía está jugando una partida"
-#: backend.c:14222
+#: backend.c:14353
msgid "Warning: You are still observing a game"
msgstr "Advertencia: Usted todavía está observando una partida"
-#: backend.c:14225
+#: backend.c:14356
msgid "Warning: You are still examining a game"
msgstr "Advertencia: Usted todavía está examinando una partida"
-#: backend.c:14292
+#: backend.c:14423
msgid "Click clock to clear board"
-msgstr ""
+msgstr "Pinche el reloj para limpiar el tablero"
-#: backend.c:14302
+#: backend.c:14433
msgid "Close ICS engine analyze..."
-msgstr ""
+msgstr "Cerrar el modo de análisis del motor ICS..."
-#: backend.c:14590
+#: backend.c:14722
msgid "That square is occupied"
msgstr "Ese cuadro está ocupado"
-#: backend.c:14614 backend.c:14640
+#: backend.c:14746 backend.c:14772
msgid "There is no pending offer on this move"
msgstr "No hay oferta pendiente para esta jugada"
-#: backend.c:14676 backend.c:14687
+#: backend.c:14808 backend.c:14819
msgid "Your opponent is not out of time"
msgstr "Su oponente no está fuera de tiempo"
-#: backend.c:14753
+#: backend.c:14885
msgid "You must make your move before offering a draw"
msgstr "Debe hacer su jugada antes de ofrecer tablas"
-#: backend.c:15090
+#: backend.c:15222
msgid "You are not examining a game"
msgstr "Usted no está examinando una partida"
-#: backend.c:15094
+#: backend.c:15226
msgid "You can't revert while pausing"
msgstr "No puede revertir si está en pausa"
-#: backend.c:15148 backend.c:15155
+#: backend.c:15280 backend.c:15287
msgid "It is your turn"
msgstr "Es su turno"
-#: backend.c:15206 backend.c:15213 backend.c:15266 backend.c:15273
+#: backend.c:15338 backend.c:15345 backend.c:15398 backend.c:15405
msgid "Wait until your turn"
msgstr "Espero su turno"
-#: backend.c:15218
+#: backend.c:15350
msgid "No hint available"
msgstr "No hay sugerencia disponible"
-#: backend.c:15234 ngamelist.c:355
-#, fuzzy
+#: backend.c:15366 ngamelist.c:355
msgid "Game list not loaded or empty"
-msgstr "Ninguna partida se ha cargado aún"
+msgstr "La lista de partidas no se ha cargado o está vacía"
-#: backend.c:15241
+#: backend.c:15373
msgid "Book file exists! Try again for overwrite."
msgstr ""
+"¡Ya existe el fichero del libro! Inténtelo de nuevo si quiere "
+"sobreescribirlo."
-#: backend.c:15719
+#: backend.c:15851
#, c-format
msgid "Error writing to %s chess program"
msgstr "Error al escribir al %s programa de ajedrez"
-#: backend.c:15722 backend.c:15753
+#: backend.c:15854 backend.c:15885
#, c-format
msgid "%s program exits in draw position (%s)"
-msgstr ""
+msgstr "El programa %s termina en posición de tablas (%s)"
-#: backend.c:15748
+#: backend.c:15880
#, c-format
msgid "Error: %s chess program (%s) exited unexpectedly"
msgstr "Error: el %s programa de ajedrez (%s) terminó inesperadamente"
-#: backend.c:15766
+#: backend.c:15898
#, c-format
msgid "Error reading from %s chess program (%s)"
msgstr "Error al leer del %s programa de ajedrez (%s)"
-#: backend.c:16168
+#: backend.c:16301
#, c-format
msgid "%s engine has too many options\n"
-msgstr ""
+msgstr "El motor %s tiene demasiadas opciones\n"
-#: backend.c:16324
+#: backend.c:16457
msgid "Displayed move is not current"
msgstr "La jugada ilustrada no es la actual"
-#: backend.c:16333
+#: backend.c:16466
msgid "Could not parse move"
msgstr "No se pudo analizar la jugada"
-#: backend.c:16458 backend.c:16480
+#: backend.c:16591 backend.c:16613
msgid "Both flags fell"
msgstr "Ambas banderas cayeron"
-#: backend.c:16460
+#: backend.c:16593
msgid "White's flag fell"
msgstr "La bandera blanca cayó"
-#: backend.c:16482
+#: backend.c:16615
msgid "Black's flag fell"
msgstr "La bandera negra cayó"
-#: backend.c:16613
+#: backend.c:16746
msgid "Clock adjustment not allowed in auto-flag mode"
msgstr ""
+"El ajuste del reloj no está permitido en el modo de advertencia de tiempo "
+"automático"
-#: backend.c:17448
+#: backend.c:17585
msgid "Bad FEN position in clipboard"
msgstr "Posición FEN incorrecta en portapapeles"
#: book.c:577 book.c:830
msgid "Polyglot book not valid"
-msgstr ""
+msgstr "El libro de Polyglot no es válido"
#: book.c:701
msgid "Book Fault"
-msgstr ""
+msgstr "Error en el libro"
#: book.c:833
msgid "Hash keys are different"
-msgstr ""
+msgstr "Las claves «hash» son diferentes"
#: book.c:1000
-#, fuzzy
msgid "Could not create book"
-msgstr "No se pudo analizar la jugada"
+msgstr "No se ha podido crear el libro"
#: dialogs.c:259
-#, fuzzy
msgid "Tournament file: "
-msgstr "Aplazamiento F7"
+msgstr "Fichero de torneos: "
#: dialogs.c:260
msgid "Sync after round"
-msgstr ""
+msgstr "Sincronizar después de la ronda"
#: dialogs.c:261
msgid " (for concurrent playing of a single"
-msgstr ""
+msgstr " (para jugar simultáneamente en un solo"
#: dialogs.c:262
msgid "Sync after cycle"
-msgstr ""
+msgstr "Sincronizar después de una vuelta"
#: dialogs.c:263
msgid " tourney with multiple XBoards)"
-msgstr ""
+msgstr " torneo con múltiples XBoards)"
#: dialogs.c:264
msgid "Tourney participants:"
-msgstr ""
+msgstr "Participantes del torneo:"
#: dialogs.c:265
-#, fuzzy
msgid "Select Engine:"
-msgstr "Motor"
+msgstr "Seleccione Motor:"
#: dialogs.c:273
msgid "Tourney type (0 = round-robin, 1 = gauntlet):"
-msgstr ""
+msgstr "Tipo de torneo (0 = liga, 1 = uno contra todos):"
#: dialogs.c:274
msgid "Number of tourney cycles (or Swiss rounds):"
-msgstr ""
+msgstr "Número de vueltas del torneo (o rondas de torneo suizo)"
#: dialogs.c:275
-#, fuzzy
msgid "Default Number of Games in Match (or Pairing):"
-msgstr "Partidas torneo p/def"
+msgstr "Número predeterminado de partidas del encuentro (o emparejamiento):"
#: dialogs.c:276
msgid "Pause between Match Games (msec):"
-msgstr ""
+msgstr "Pausa entre partidas del encuentro (ms):"
#: dialogs.c:277
-#, fuzzy
msgid "Save Tourney Games on:"
-msgstr "Opciones al salvar partida"
+msgstr "Guardar partidas del torneo en:"
#: dialogs.c:278
msgid "Game File with Opening Lines:"
-msgstr ""
+msgstr "Fichero de partidas con líneas de apertura:"
#: dialogs.c:279
msgid "Game Number (-1 or -2 = Auto-Increment):"
-msgstr ""
+msgstr "Número de la partida (-1 o -2 = incremento automático):"
#: dialogs.c:280
msgid "File with Start Positions:"
-msgstr ""
+msgstr "Fichero con posiciones iniciales:"
#: dialogs.c:281
msgid "Position Number (-1 or -2 = Auto-Increment):"
-msgstr ""
+msgstr "Número de la posición (-1 o -2 = incremento automático):"
#: dialogs.c:282
msgid "Rewind Index after this many Games (0 = never):"
-msgstr ""
+msgstr "Rebobinar Índice después de este número de Partidas (0 = nunca)"
#: dialogs.c:283
msgid "Disable own engine books by default"
-msgstr ""
+msgstr "Inicialmente, desactivar los libros propios del motor"
#: dialogs.c:284
-#, fuzzy
msgid "Replace Engine"
-msgstr "Motor"
+msgstr "Reemplazar motor"
#: dialogs.c:285
-#, fuzzy
msgid "Upgrade Engine"
-msgstr "Motor"
+msgstr "Actualizar motor"
#: dialogs.c:286
msgid "Clone Tourney"
-msgstr ""
+msgstr "Clonar torneo"
#: dialogs.c:316
msgid "First you must specify an existing tourney file to clone"
msgstr ""
+"En primer lugar, debe usted especificar un fichero de torneos que exista, "
+"para ser clonado"
-#: dialogs.c:332 dialogs.c:1320
+#: dialogs.c:332 dialogs.c:1322
msgid "# no engines are installed"
-msgstr ""
+msgstr "# no hay ningún motor instalado"
#: dialogs.c:344
msgid "Match Options"
-msgstr ""
+msgstr "Opciones del encuentro"
#: dialogs.c:363
msgid "Absolute Analysis Scores"
-msgstr ""
+msgstr "Puntuaciones absolutas del análisis"
#: dialogs.c:364
msgid "Almost Always Queen (Detour Under-Promote)"
-msgstr ""
+msgstr "Casi siempre dama (rodeo para subcoronar)"
#: dialogs.c:365 menus.c:714
msgid "Animate Dragging"
#: dialogs.c:370
msgid "Drop Menu"
-msgstr ""
+msgstr "Menú «drop»"
#: dialogs.c:371
msgid "Enable Variation Trees"
-msgstr ""
+msgstr "Activar árboles de variaciones"
#: dialogs.c:372
msgid "Hide Thinking from Human"
#: dialogs.c:378
msgid "Play Move(s) of Clicked PV (Analysis)"
-msgstr ""
+msgstr "Realizar la(s) jugada(s) de la PV escogida (análisis)"
-#: dialogs.c:379 dialogs.c:514 menus.c:728
+#: dialogs.c:379 dialogs.c:515 menus.c:728
msgid "Ponder Next Move"
msgstr "Prever siguente jugada"
#: dialogs.c:380
msgid "Popup Exit Messages"
-msgstr "Ventana al salir"
+msgstr "Ventana emergente al salir"
#: dialogs.c:381 menus.c:730
msgid "Popup Move Errors"
-msgstr "Ventana si error en jugada"
+msgstr "Ventana emergente si error en jugada"
#: dialogs.c:382
-#, fuzzy
msgid "Scores in Move List"
-msgstr "Leer lista jugadas"
+msgstr "Puntuaciones de la lista de jugadas"
#: dialogs.c:383
msgid "Show Coordinates"
#: dialogs.c:384
msgid "Show Target Squares"
-msgstr ""
+msgstr "Mostrar casillas objetivo"
#: dialogs.c:385
msgid "Sticky Windows"
-msgstr ""
+msgstr "Ventanas adhesivas"
#: dialogs.c:386 menus.c:733
msgid "Test Legality"
-msgstr "Checar legalidad"
+msgstr "Verificar legalidad"
#: dialogs.c:387
msgid "Top-Level Dialogs"
-msgstr ""
+msgstr "Diálogos de alto nivel"
#: dialogs.c:388
msgid "Flash Moves (0 = no flashing):"
-msgstr ""
+msgstr "Destello en las jugadas (0 = sin destello):"
#: dialogs.c:389
msgid "Flash Rate (high = fast):"
-msgstr ""
+msgstr "Velocidad de destello (high = rápido):"
#: dialogs.c:390
msgid "Animation Speed (high = slow):"
-msgstr ""
+msgstr "Velocidad de animación (high = lenta):"
#: dialogs.c:391
-#, fuzzy
msgid "Zoom factor in Evaluation Graph:"
-msgstr "Gráfica de evaluación"
+msgstr "Factor de «zoom» en el grafo de evaluación:"
#: dialogs.c:400
msgid "General Options"
#: dialogs.c:411
msgid "makruk"
-msgstr ""
+msgstr "«makruk» (tailandés)"
#: dialogs.c:412
msgid "FRC"
-msgstr ""
+msgstr "FRC (ajedrez aleatorio de Fischer)"
#: dialogs.c:413
msgid "shatranj"
-msgstr ""
+msgstr "«shatranj»"
#: dialogs.c:414
msgid "wild castle"
-msgstr ""
+msgstr "enroque salvaje"
#: dialogs.c:415
msgid "knightmate"
-msgstr ""
+msgstr "mate al caballo"
#: dialogs.c:416
msgid "no castle"
-msgstr ""
+msgstr "sin enroque"
#: dialogs.c:417
-#, fuzzy
msgid "cylinder *"
-msgstr "cilindro"
+msgstr "cilíndrico *"
#: dialogs.c:418
msgid "3-checks"
-msgstr ""
+msgstr "tres jaques"
#: dialogs.c:419
msgid "berolina *"
-msgstr ""
+msgstr "belorina *"
#: dialogs.c:420
msgid "atomic"
#: dialogs.c:421
msgid "two kings"
-msgstr ""
+msgstr "dos reyes"
#: dialogs.c:422
msgid "Board size ( -1 = default for selected variant):"
msgstr ""
+"Tamaño del tablero ( -1 = el predeterminado para la variante seleccionada):"
#: dialogs.c:423
msgid "Number of Board Ranks:"
-msgstr ""
+msgstr "Número de filas del tablero:"
#: dialogs.c:424
msgid "Number of Board Files:"
-msgstr ""
+msgstr "Número de columnas del tablero:"
#: dialogs.c:425
msgid "Holdings Size:"
msgstr ""
#: dialogs.c:429
-msgid "fairy"
+msgid "ASEAN"
msgstr ""
#: dialogs.c:430
msgid "Great Shatranj (10x8)"
-msgstr ""
+msgstr "Gran shatranj (10x8)"
#: dialogs.c:431
msgid "Seirawan"
-msgstr ""
+msgstr "Seirawan"
#: dialogs.c:432
msgid "falcon (10x8)"
-msgstr ""
+msgstr "halcón (10x8)"
#: dialogs.c:433
msgid "Superchess"
-msgstr ""
+msgstr "Superajedrez"
#: dialogs.c:434
msgid "Capablanca (10x8)"
-msgstr ""
+msgstr "Capablanca (10x8)"
#: dialogs.c:435
msgid "crazyhouse"
-msgstr ""
+msgstr "«crazyhouse»"
#: dialogs.c:436
msgid "Gothic (10x8)"
-msgstr ""
+msgstr "Gótico (10x8)"
#: dialogs.c:437
msgid "bughouse"
-msgstr ""
+msgstr "pasapiezas"
#: dialogs.c:438
msgid "janus (10x8)"
-msgstr ""
+msgstr "janus (10x8)"
#: dialogs.c:439
msgid "suicide"
#: dialogs.c:440
msgid "CRC (10x8)"
-msgstr ""
+msgstr "CRC (10x8)"
+# TRANSLATORS: give-away = losers?
#: dialogs.c:441
msgid "give-away"
-msgstr ""
+msgstr "pierde gana"
#: dialogs.c:442
msgid "grand (10x10)"
-msgstr ""
+msgstr "gran ajedrez (10x10)"
+# TRANSLATORS: give-away = losers?
#: dialogs.c:443
msgid "losers"
-msgstr ""
+msgstr "pierde gana"
#: dialogs.c:444
msgid "shogi (9x9)"
-msgstr ""
+msgstr "japonés (9x9)"
#: dialogs.c:445
msgid "Spartan"
-msgstr ""
+msgstr "espartano"
#: dialogs.c:446
msgid "xiangqi (9x10)"
-msgstr ""
+msgstr "chino"
#: dialogs.c:447
-msgid " "
+msgid "fairy"
msgstr ""
-#: dialogs.c:448
+#: dialogs.c:449
msgid "courier (12x8)"
-msgstr ""
+msgstr "ajedrez del mensajero (12x8)"
-#: dialogs.c:465
+#: dialogs.c:466
#, c-format
msgid "Warning: second engine (%s) does not support this!"
msgstr "Advertencia: ¡el segundo motor (%s) no admite esto!"
-#: dialogs.c:488
+#: dialogs.c:489
#, c-format
msgid "Only bughouse is not available in viewer mode"
-msgstr ""
+msgstr "Solo pasapiezas no está disponible en el modo visor"
-#: dialogs.c:489
+#: dialogs.c:490
#, c-format
msgid ""
"All variants not supported by first engine\n"
"(currently %s) are disabled"
msgstr ""
+"Todas las variantes no disponibles en el primer motor\n"
+"(actualmente %s) están desactivas"
-#: dialogs.c:490
+#: dialogs.c:491
msgid "New Variant"
-msgstr "Variantes"
+msgstr "Nueva variante"
-#: dialogs.c:515
+#: dialogs.c:516
msgid "Maximum Number of CPUs per Engine:"
-msgstr "Número max. CPUs:"
+msgstr "Número max. CPUs por motor:"
-#: dialogs.c:516
+#: dialogs.c:517
msgid "Polygot Directory:"
-msgstr ""
+msgstr "Directorio de Ployglot:"
-#: dialogs.c:517
+#: dialogs.c:518
msgid "Hash-Table Size (MB):"
-msgstr "Tamaño hash (MB):"
+msgstr "Tamaño de la tabla de transposición (MB):"
-#: dialogs.c:518
+#: dialogs.c:519
msgid "Nalimov EGTB Path:"
-msgstr "Carpeta EGTB:"
+msgstr "Carpeta de la EGTB Nalimov:"
-#: dialogs.c:519
+#: dialogs.c:520
msgid "EGTB Cache Size (MB):"
-msgstr "Tamaño EGTB (MB):"
+msgstr "Tamaño de la caché de la EGTB (MB):"
-#: dialogs.c:520
+#: dialogs.c:521
msgid "Use GUI Book"
-msgstr ""
+msgstr "Usar el libro de la GUI"
-#: dialogs.c:521
+#: dialogs.c:522
msgid "Opening-Book Filename:"
-msgstr ""
+msgstr "Fichero del libro de aperturas:"
-#: dialogs.c:522
+#: dialogs.c:523
msgid "Book Depth (moves):"
-msgstr "Profundo libro:"
+msgstr "Profundidad del libro (jugadas):"
-#: dialogs.c:523
+#: dialogs.c:524
msgid "Book Variety (0) vs. Strength (100):"
-msgstr "Variación libro:"
+msgstr "Variedad del libro (0) frente a fuerza (100):"
-#: dialogs.c:524
+#: dialogs.c:525
msgid "Engine #1 Has Own Book"
-msgstr "Primero tiene libro propio"
+msgstr "El motor 1 tiene libro propio"
-#: dialogs.c:525
+#: dialogs.c:526
msgid "Engine #2 Has Own Book "
-msgstr ""
+msgstr "El motor 2 tiene libro propio"
-#: dialogs.c:534
+#: dialogs.c:535
msgid "Common Engine Settings"
-msgstr "Configuración común de motor"
+msgstr "Configuración general de los motores"
-#: dialogs.c:540
+#: dialogs.c:541
msgid "Detect all Mates"
-msgstr "Detectar mates"
+msgstr "Detectar todos los mates"
-#: dialogs.c:541
+#: dialogs.c:542
msgid "Verify Engine Result Claims"
msgstr "Verificar avisos del motor"
-#: dialogs.c:542
+#: dialogs.c:543
msgid "Draw if Insufficient Mating Material"
-msgstr "Tablas si hay material insufficiente"
+msgstr "Tablas si el material es insuficiente"
-#: dialogs.c:543
+#: dialogs.c:544
msgid "Adjudicate Trivial Draws (3-Move Delay)"
-msgstr "Adjudicar tablas triviales"
+msgstr "Adjudicar tablas triviales (regla de las tres jugadas)"
-#: dialogs.c:544
+#: dialogs.c:545
msgid "N-Move Rule:"
-msgstr ""
+msgstr "Regla de las N jugadas:"
-#: dialogs.c:545
+#: dialogs.c:546
msgid "N-fold Repeats:"
msgstr ""
-#: dialogs.c:546
+#: dialogs.c:547
msgid "Draw after N Moves Total:"
msgstr "Adjudicar mate después de:"
-#: dialogs.c:547
+#: dialogs.c:548
msgid "Win / Loss Threshold:"
msgstr "Límite para adjudicar juego:"
-#: dialogs.c:548
+#: dialogs.c:549
msgid "Negate Score of Engine #1"
-msgstr "Puntuación motor #1 es absoluta"
+msgstr "Negar puntuación del motor #1"
-#: dialogs.c:549
+#: dialogs.c:550
msgid "Negate Score of Engine #2"
-msgstr "Puntuación motor #2 es absoluta"
+msgstr "Negar puntuación del motor #2"
-#: dialogs.c:556
-#, fuzzy
+#: dialogs.c:557
msgid "Adjudicate non-ICS Games"
-msgstr "Adjudicar a blancas"
+msgstr "Adjudicar partidas no ICS"
-#: dialogs.c:569
+#: dialogs.c:570
msgid "Auto-Kibitz"
msgstr "Auto Kibitz"
-#: dialogs.c:570
+#: dialogs.c:571
msgid "Auto-Comment"
msgstr "Auto-comentario"
-#: dialogs.c:571
+#: dialogs.c:572
msgid "Auto-Observe"
msgstr "Auto-Observar"
-#: dialogs.c:572
+#: dialogs.c:573
msgid "Auto-Raise Board"
msgstr "Tablero al frente (automático)"
-#: dialogs.c:573
+#: dialogs.c:574
msgid "Auto-Create Logon Script"
-msgstr ""
+msgstr "Creación de fichero de registro automática"
-#: dialogs.c:574
+#: dialogs.c:575
msgid "Background Observe while Playing"
-msgstr "Mirar en el fondo"
+msgstr "Seguir observando mientras se juega"
-#: dialogs.c:575
+#: dialogs.c:576
msgid "Dual Board for Background-Observed Game"
-msgstr "Tablero dual"
+msgstr "Tablero dual para partidas observadas"
-#: dialogs.c:576
+#: dialogs.c:577
msgid "Get Move List"
-msgstr "Leer lista jugadas"
+msgstr "Leer lista de jugadas"
-#: dialogs.c:577
+#: dialogs.c:578
msgid "Quiet Play"
msgstr "Jugar en silencio"
-#: dialogs.c:578
+#: dialogs.c:579
msgid "Seek Graph"
msgstr "Buscar gráfica"
-#: dialogs.c:579
+#: dialogs.c:580
msgid "Auto-Refresh Seek Graph"
-msgstr "auto-Refresco"
+msgstr "Grafo de búsqueda con refresco automático"
-#: dialogs.c:580
+#: dialogs.c:581
msgid "Auto-InputBox PopUp"
-msgstr ""
+msgstr "Ventana emergente de buzón automática"
-#: dialogs.c:581
+#: dialogs.c:582
+#, fuzzy
+msgid "Quit after game"
+msgstr "Esperando por otra(s) partida(s)"
+
+#: dialogs.c:583
msgid "Premove"
-msgstr "Pre-mov."
+msgstr "Pre-jugada"
-#: dialogs.c:582
+#: dialogs.c:584
msgid "Premove for White"
-msgstr ""
+msgstr "Prejugada de las blancas"
-#: dialogs.c:583
+#: dialogs.c:585
msgid "First White Move:"
msgstr "1er. mov. blancas"
-#: dialogs.c:584
+#: dialogs.c:586
msgid "Premove for Black"
-msgstr ""
+msgstr "Prejugada de las negras"
-#: dialogs.c:585
+#: dialogs.c:587
msgid "First Black Move:"
msgstr "1er. mov. negras"
-#: dialogs.c:587
+#: dialogs.c:589
msgid "Alarm"
msgstr "Alarma"
-#: dialogs.c:588
+#: dialogs.c:590
msgid "Alarm Time (msec):"
-msgstr ""
+msgstr "Tiempo de la alarma (ms):"
-#: dialogs.c:590
+#: dialogs.c:592
msgid "Colorize Messages"
-msgstr ""
+msgstr "Mensajes coloreados"
-#: dialogs.c:591
+#: dialogs.c:593
msgid "Shout Text Colors:"
-msgstr ""
+msgstr "Colores del texto que se expresa en voz alta:"
-#: dialogs.c:592
+#: dialogs.c:594
msgid "S-Shout Text Colors:"
-msgstr ""
+msgstr "Colores «S» del texto que se expresa en voz alta:"
-#: dialogs.c:593
+#: dialogs.c:595
msgid "Channel #1 Text Colors:"
-msgstr ""
+msgstr "Colores del texto del canal 1:"
-#: dialogs.c:594
+#: dialogs.c:596
msgid "Other Channel Text Colors:"
-msgstr ""
+msgstr "Colores del texto del otro canal:"
-#: dialogs.c:595
+#: dialogs.c:597
msgid "Kibitz Text Colors:"
-msgstr ""
+msgstr "Colores del texto kibitz:"
-#: dialogs.c:596
+#: dialogs.c:598
msgid "Tell Text Colors:"
-msgstr ""
+msgstr "Colores del texto de hablar con otros:"
-#: dialogs.c:597
+#: dialogs.c:599
msgid "Challenge Text Colors:"
-msgstr ""
+msgstr "Colores del texto de desafíos:"
-#: dialogs.c:598
+#: dialogs.c:600
msgid "Request Text Colors:"
-msgstr ""
+msgstr "Colores del texto de peticiones:"
-#: dialogs.c:599
+#: dialogs.c:601
msgid "Seek Text Colors:"
-msgstr ""
+msgstr "Colores del texto de búsqueda:"
-#: dialogs.c:606
+#: dialogs.c:608
msgid "ICS Options"
msgstr "Opciones ICS"
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Exact position match"
-msgstr ""
+msgstr "Coincidencia exacta de la posición"
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Shown position is subset"
-msgstr ""
+msgstr "La posición mostrada es un subconjunto"
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Same material with exactly same Pawn chain"
-msgstr ""
+msgstr "Mismo material con exactamente la misma cadena de peones"
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Same material"
-msgstr ""
+msgstr "Mismo material"
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material range (top board half optional)"
-msgstr ""
+msgstr "Rango de material (mitad superior del tablero opcional)"
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material difference (optional stuff balanced)"
-msgstr ""
+msgstr "Diferencia de material (situación equilibrada opcional)"
-#: dialogs.c:624
+#: dialogs.c:626
msgid "Auto-Display Tags"
-msgstr ""
+msgstr "Etiquetas de visualización automática"
-#: dialogs.c:625
+#: dialogs.c:627
msgid "Auto-Display Comment"
-msgstr ""
+msgstr "Comentario de visualización automática"
-#: dialogs.c:626
+#: dialogs.c:628
msgid ""
"Auto-Play speed of loaded games\n"
"(0 = instant, -1 = off):"
msgstr ""
+"Velocidad de juego automático de las partidas cargadas\n"
+"(0 = instantánea, -1 = desactivada):"
-#: dialogs.c:627
+#: dialogs.c:629
msgid "Seconds per Move:"
-msgstr ""
+msgstr "Segundos por jugadas:"
-#: dialogs.c:628
+#: dialogs.c:630
msgid ""
"\n"
"options to use in game-viewer mode:"
msgstr ""
+"\n"
+"opciones para el modo de visualización de partidas:"
-#: dialogs.c:630
+#: dialogs.c:632
msgid ""
"\n"
"Thresholds for position filtering in game list:"
msgstr ""
+"\n"
+"Umbral para filtrar posiciones en la lista de partidas:"
-#: dialogs.c:631
+#: dialogs.c:633
msgid "Elo of strongest player at least:"
-msgstr ""
+msgstr "Elo del mejor jugador como mínimo:"
-#: dialogs.c:632
+#: dialogs.c:634
msgid "Elo of weakest player at least:"
-msgstr ""
+msgstr "Elo del peor jugador como mínimo:"
-#: dialogs.c:633
-#, fuzzy
+#: dialogs.c:635
msgid "No games before year:"
-msgstr "Ninguna partida se ha cargado aún"
+msgstr "Número de partidas antes del año:"
-#: dialogs.c:634
+#: dialogs.c:636
msgid "Minimum nr consecutive positions:"
-msgstr ""
+msgstr "Número mínimo de posiciones consecutivas:"
-#: dialogs.c:635
+#: dialogs.c:637
msgid "Search mode:"
-msgstr ""
+msgstr "Modo de búsqueda:"
-#: dialogs.c:636
+#: dialogs.c:638
msgid "Also match reversed colors"
-msgstr ""
+msgstr "También colores invertidos"
-#: dialogs.c:637
+#: dialogs.c:639
msgid "Also match left-right flipped position"
-msgstr ""
+msgstr "También posición volteada izquierda-derecha"
-#: dialogs.c:645
+#: dialogs.c:647
msgid "Load Game Options"
msgstr "Opciones al leer partida"
-#: dialogs.c:657
+#: dialogs.c:659
msgid "Auto-Save Games"
-msgstr ""
+msgstr "Guardar partidas automáticamente"
-#: dialogs.c:658
+#: dialogs.c:660
msgid "Own Games Only"
-msgstr ""
+msgstr "Solo partidas propias"
-#: dialogs.c:659
+#: dialogs.c:661
msgid "Save Games on File:"
-msgstr ""
+msgstr "Guardar partidas en fichero"
-#: dialogs.c:660
+#: dialogs.c:662
msgid "Save Final Positions on File:"
-msgstr ""
+msgstr "Guardar en fichero posiciones finales:"
-#: dialogs.c:661
+#: dialogs.c:663
msgid "PGN Event Header:"
-msgstr ""
+msgstr "Cabecera PGN del evento:"
-#: dialogs.c:662
+#: dialogs.c:664
msgid "Old Save Style (as opposed to PGN)"
-msgstr ""
+msgstr "Estilo de guardado antiguo (en contraposición a PGN)"
-#: dialogs.c:663
+#: dialogs.c:665
msgid "Include Number Tag in tourney PGN"
-msgstr ""
+msgstr "Incluir etiqueta de número en el PGN del torneo"
-#: dialogs.c:664
+#: dialogs.c:666
msgid "Save Score/Depth Info in PGN"
-msgstr ""
+msgstr "Guardar la información de puntuación/profundidad en el PGN"
-#: dialogs.c:665
+#: dialogs.c:667
msgid "Save Out-of-Book Info in PGN "
-msgstr ""
+msgstr "Guardar información fuera-de-libro en PGN "
-#: dialogs.c:672
+#: dialogs.c:674
msgid "Save Game Options"
msgstr "Opciones al salvar partida"
-#: dialogs.c:681
+#: dialogs.c:683
msgid "No Sound"
msgstr "Sin sonido"
-#: dialogs.c:682
+#: dialogs.c:684
msgid "Default Beep"
-msgstr "Bip por defecto"
+msgstr "Bip predeterminado"
-#: dialogs.c:683
+#: dialogs.c:685
msgid "Above WAV File"
-msgstr ""
+msgstr "Fichero WAV de arriba"
-#: dialogs.c:684
+#: dialogs.c:686
msgid "Car Horn"
-msgstr ""
+msgstr "Bocina de coche"
-#: dialogs.c:685
+#: dialogs.c:687
msgid "Cymbal"
-msgstr ""
+msgstr "Platillos"
-#: dialogs.c:686
+#: dialogs.c:688
msgid "Ding"
-msgstr ""
+msgstr "Timbre"
-#: dialogs.c:687
+#: dialogs.c:689
msgid "Gong"
-msgstr ""
+msgstr "«Gong»"
-#: dialogs.c:688
+#: dialogs.c:690
msgid "Laser"
-msgstr ""
+msgstr "Láser"
-#: dialogs.c:689
+# TRANSLATORS
+#: dialogs.c:691
msgid "Penalty"
-msgstr ""
+msgstr "Penalización"
-#: dialogs.c:690
+#: dialogs.c:692
msgid "Phone"
-msgstr ""
+msgstr "Teléfono"
-#: dialogs.c:691
+#: dialogs.c:693
msgid "Pop"
-msgstr ""
+msgstr "«Pop»"
-#: dialogs.c:692
+#: dialogs.c:694
msgid "Slap"
-msgstr ""
+msgstr "Palmada"
-#: dialogs.c:693
+# TRANSLATORS
+#: dialogs.c:695
msgid "Wood Thunk"
msgstr ""
-#: dialogs.c:695
+#: dialogs.c:697
msgid "User File"
-msgstr ""
+msgstr "Fichero del usuario"
-#: dialogs.c:717
+#: dialogs.c:719
msgid "User WAV File:"
-msgstr ""
+msgstr "Fichero WAV del usuario:"
-#: dialogs.c:718
+#: dialogs.c:720
msgid "Sound Program:"
-msgstr ""
+msgstr "Programa de sonido:"
-#: dialogs.c:719
+#: dialogs.c:721
msgid "Try-Out Sound:"
-msgstr ""
+msgstr "Sonido de prueba"
-#: dialogs.c:720
+#: dialogs.c:722
msgid "Play"
msgstr "Reproducir"
-#: dialogs.c:721
+#: dialogs.c:723
msgid "Move:"
-msgstr ""
+msgstr "Jugada:"
-#: dialogs.c:722
+# TRANSLATORS
+#: dialogs.c:724
msgid "Win:"
-msgstr ""
+msgstr "Victorias:"
-#: dialogs.c:723
+#: dialogs.c:725
msgid "Lose:"
-msgstr ""
+msgstr "Derrotas:"
-#: dialogs.c:724
+#: dialogs.c:726
msgid "Draw:"
-msgstr ""
+msgstr "Tablas"
-#: dialogs.c:725
+#: dialogs.c:727
msgid "Unfinished:"
-msgstr ""
+msgstr "No terminadas:"
-#: dialogs.c:726
+#: dialogs.c:728
msgid "Alarm:"
-msgstr ""
+msgstr "Alarma:"
-#: dialogs.c:727
+#: dialogs.c:729
msgid "Challenge:"
-msgstr ""
+msgstr "Desafío:"
-#: dialogs.c:729
+#: dialogs.c:731
msgid "Sounds Directory:"
-msgstr ""
+msgstr "Carpeta de sonidos:"
-#: dialogs.c:730
+#: dialogs.c:732
msgid "Shout:"
-msgstr ""
+msgstr "En voz alta:"
-#: dialogs.c:731
+# TRANSLATORS
+#: dialogs.c:733
msgid "S-Shout:"
-msgstr ""
+msgstr "En voz alta S"
-#: dialogs.c:732
+#: dialogs.c:734
msgid "Channel:"
-msgstr ""
+msgstr "Canal:"
-#: dialogs.c:733
+#: dialogs.c:735
msgid "Channel 1:"
-msgstr ""
+msgstr "Canal 1:"
-#: dialogs.c:734
+#: dialogs.c:736
msgid "Tell:"
-msgstr ""
+msgstr "Decir:"
-#: dialogs.c:735
+#: dialogs.c:737
msgid "Kibitz:"
-msgstr ""
+msgstr "Kibitz:"
-#: dialogs.c:736
+#: dialogs.c:738
msgid "Request:"
-msgstr ""
+msgstr "Pedir:"
-#: dialogs.c:737
+#: dialogs.c:739
msgid "Seek:"
-msgstr ""
+msgstr "Buscar:"
-#: dialogs.c:753
+#: dialogs.c:755
msgid "Sound Options"
-msgstr "Sonidos"
+msgstr "Opciones de sonido"
-#: dialogs.c:774
+#: dialogs.c:776
msgid "White Piece Color:"
-msgstr ""
+msgstr "Color de las piezas blancas:"
#. TRANSLATORS: R = single letter for the color red
-#: dialogs.c:777 dialogs.c:786 dialogs.c:792 dialogs.c:798 dialogs.c:804
-#: dialogs.c:810
+#: dialogs.c:779 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
+#: dialogs.c:812
msgid "R"
-msgstr ""
+msgstr "R"
#. TRANSLATORS: G = single letter for the color green
-#: dialogs.c:779 dialogs.c:787 dialogs.c:793 dialogs.c:799 dialogs.c:805
-#: dialogs.c:811
+#: dialogs.c:781 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
+#: dialogs.c:813
msgid "G"
-msgstr ""
+msgstr "V"
#. TRANSLATORS: B = single letter for the color blue
-#: dialogs.c:781 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
-#: dialogs.c:812
+#: dialogs.c:783 dialogs.c:790 dialogs.c:796 dialogs.c:802 dialogs.c:808
+#: dialogs.c:814
msgid "B"
-msgstr ""
+msgstr "A"
#. TRANSLATORS: D = single letter to make a color darker
-#: dialogs.c:783 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
-#: dialogs.c:813
+#: dialogs.c:785 dialogs.c:791 dialogs.c:797 dialogs.c:803 dialogs.c:809
+#: dialogs.c:815
msgid "D"
-msgstr ""
+msgstr "O"
-#: dialogs.c:784
+#: dialogs.c:786
msgid "Black Piece Color:"
-msgstr "Piezas negras"
+msgstr "Color de las piezas negras:"
-#: dialogs.c:790
+#: dialogs.c:792
msgid "Light Square Color:"
-msgstr "Cuadros claros"
+msgstr "Color de los escaques claros"
-#: dialogs.c:796
+#: dialogs.c:798
msgid "Dark Square Color:"
-msgstr "Cuadros obscuros"
+msgstr "Color de los escaques oscuros"
-#: dialogs.c:802
+#: dialogs.c:804
msgid "Highlight Color:"
-msgstr "Cuadro iluminado"
+msgstr "Color de escaque iluminado"
-#: dialogs.c:808
+#: dialogs.c:810
msgid "Premove Highlight Color:"
-msgstr "Iluminación pre.mov."
+msgstr "Color de iluminación de prejugada:"
-#: dialogs.c:814
+#: dialogs.c:816
msgid "Flip Pieces Shogi Style (Colored buttons restore default)"
-msgstr ""
+msgstr "Voltear piezas estilo Shogi (Botones de colores predefinidos)"
-#: dialogs.c:816
+#: dialogs.c:818
msgid "Mono Mode"
-msgstr "Monocromo"
+msgstr "Modo mono"
-#: dialogs.c:817
+#: dialogs.c:819
msgid "Line Gap ( -1 = default for board size):"
msgstr ""
+"Hueco de la línea ( -1 = el predeterminado para el tamaño de ltablero):"
-#: dialogs.c:818
+#: dialogs.c:820
msgid "Use Board Textures"
-msgstr ""
+msgstr "Utilizar tablero con texturas"
-#: dialogs.c:819
+#: dialogs.c:821
msgid "Light-Squares Texture File:"
-msgstr ""
+msgstr "Fichero de texturas para escaques claros:"
-#: dialogs.c:820
+#: dialogs.c:822
msgid "Dark-Squares Texture File:"
-msgstr ""
+msgstr "Fichero de texturas para escaques oscuros:"
-#: dialogs.c:821
+#: dialogs.c:823
msgid "Use external piece bitmaps with their own colors"
-msgstr ""
+msgstr "Utilizar «bitmaps» externos para las piezas con sus propios colores"
-#: dialogs.c:822
+#: dialogs.c:824
msgid "Directory with Pieces Images:"
-msgstr ""
+msgstr "Carpeta con imágenes de piezas:"
-#: dialogs.c:872
+#: dialogs.c:874
msgid "Board Options"
msgstr "Opciones de tablero"
-#: dialogs.c:925 menus.c:634
+#: dialogs.c:927 menus.c:634
msgid "ICS text menu"
-msgstr ""
+msgstr "Menú de texto ICS"
-#: dialogs.c:947
+#: dialogs.c:949
msgid "clear"
-msgstr ""
+msgstr "borrar"
-#: dialogs.c:948 dialogs.c:1036
+#: dialogs.c:950 dialogs.c:1038
msgid "save changes"
-msgstr ""
+msgstr "guardar cambios"
-#: dialogs.c:1051
-#, fuzzy
+#: dialogs.c:1053
msgid "Edit book"
-msgstr "Edición"
+msgstr "Editar libro"
-#: dialogs.c:1051 menus.c:636
+#: dialogs.c:1053 menus.c:636
msgid "Tags"
-msgstr "Circunstancias"
+msgstr "Etiquetas"
-#: dialogs.c:1193
+#: dialogs.c:1195
msgid "ICS input box"
-msgstr ""
+msgstr "Cuadro de entrada ICS"
-#: dialogs.c:1225
+#: dialogs.c:1227
msgid "Type a move"
-msgstr ""
+msgstr "Teclear una jugada"
-#: dialogs.c:1251
-#, fuzzy
+#: dialogs.c:1253
msgid "Engine has no options"
-msgstr "Primero tiene libro propio"
+msgstr "El motor no tiene opciones"
-#: dialogs.c:1253
+#: dialogs.c:1255
msgid "Engine Settings"
-msgstr ""
+msgstr "Configuración del motor"
-#: dialogs.c:1278
+#: dialogs.c:1280
msgid "Select engine from list:"
-msgstr ""
+msgstr "Seleccionar un motor de la lista:"
-#: dialogs.c:1281
+#: dialogs.c:1283
msgid "or specify one below:"
-msgstr ""
+msgstr "o especificar uno debajo:"
-#: dialogs.c:1282
+#: dialogs.c:1284
msgid "Nickname (optional):"
-msgstr ""
+msgstr "Sobrenombre (opcional):"
-#: dialogs.c:1283
+#: dialogs.c:1285
msgid "Use nickname in PGN player tags of engine-engine games"
msgstr ""
+"Usar el sobrenombre de las etiquetas de jugadores del PGN en las partidas "
+"motor-motor"
-#: dialogs.c:1284
+#: dialogs.c:1286
msgid "Engine Directory:"
-msgstr ""
+msgstr "Carpeta del motor:"
-#: dialogs.c:1285
+#: dialogs.c:1287
msgid "Engine Command:"
-msgstr ""
+msgstr "Instrucción para el motor:"
-#: dialogs.c:1286
+#: dialogs.c:1288
msgid "(Directory will be derived from engine path when empty)"
-msgstr ""
+msgstr "(La carpeta se derivará de la del motor cuando esté vacía)"
-#: dialogs.c:1287
+#: dialogs.c:1289
msgid "UCI"
-msgstr ""
+msgstr "UCI"
-#: dialogs.c:1288
+#: dialogs.c:1290
msgid "WB protocol v1 (do not wait for engine features)"
-msgstr ""
+msgstr "Protocolo WB v1 (no esperar por las características del motor)"
-#: dialogs.c:1289
+#: dialogs.c:1291
msgid "Must not use GUI book"
-msgstr ""
+msgstr "No debe utilizar el libro de la GUI"
-#: dialogs.c:1290
+#: dialogs.c:1292
msgid "Add this engine to the list"
-msgstr ""
+msgstr "Añadir este motor a la lista"
-#: dialogs.c:1291
+#: dialogs.c:1293
msgid "Force current variant with this engine"
-msgstr ""
+msgstr "Forzar la variante actual con este motor"
-#: dialogs.c:1341
+#: dialogs.c:1343
msgid "Load first engine"
-msgstr ""
+msgstr "Cargar el primer motor"
-#: dialogs.c:1347
+#: dialogs.c:1349
msgid "Load second engine"
-msgstr ""
+msgstr "Cargar el segundo motor"
-#: dialogs.c:1370
+#: dialogs.c:1372
msgid "shuffle"
-msgstr ""
+msgstr "barajar"
-#: dialogs.c:1371
+#: dialogs.c:1373
msgid "Start-position number:"
msgstr "Núm. de pos. inicial:"
-#: dialogs.c:1372
-#, fuzzy
+#: dialogs.c:1374
msgid "randomize"
-msgstr "Aleatorio"
+msgstr "aleatorizar"
-#: dialogs.c:1373
+#: dialogs.c:1375
msgid "pick fixed"
-msgstr ""
+msgstr "selección fijada"
-#: dialogs.c:1390
+#: dialogs.c:1392
msgid "New Shuffle Game"
msgstr "Nueva partida revuelta..."
-#: dialogs.c:1409
+#: dialogs.c:1411
msgid "classical"
-msgstr ""
+msgstr "clásica"
-#: dialogs.c:1410
+#: dialogs.c:1412
msgid "incremental"
-msgstr ""
+msgstr "incremental"
-#: dialogs.c:1411
+#: dialogs.c:1413
msgid "fixed max"
-msgstr ""
+msgstr "máximo fijado"
-#: dialogs.c:1412
+#: dialogs.c:1414
msgid "Moves per session:"
-msgstr ""
+msgstr "Jugadas por sesión:"
-#: dialogs.c:1413
+#: dialogs.c:1415
msgid "Initial time (min):"
-msgstr ""
+msgstr "Tiempo inicial (min):"
-#: dialogs.c:1414
+#: dialogs.c:1416
msgid "Increment or max (sec/move):"
-msgstr ""
+msgstr "Incremento o máximo (s(jugada):"
-#: dialogs.c:1415
-#, fuzzy
+#: dialogs.c:1417
msgid "Time-Odds factors:"
-msgstr "Factores de tiempo:"
+msgstr "Factores de tiempo extra:"
-#: dialogs.c:1416
-#, fuzzy
+#: dialogs.c:1418
msgid "Engine #1"
-msgstr "Motor"
+msgstr "Motor 1"
-#: dialogs.c:1417
-#, fuzzy
+#: dialogs.c:1419
msgid "Engine #2 / Human"
-msgstr "Primero tiene libro propio"
+msgstr "Motor 2 / Humano"
-#: dialogs.c:1457 dialogs.c:1460 dialogs.c:1465 dialogs.c:1466
+#: dialogs.c:1459 dialogs.c:1462 dialogs.c:1467 dialogs.c:1468
#: gtk/xoptions.c:191
msgid "Unused"
-msgstr ""
+msgstr "No se usa"
-#: dialogs.c:1478
+#: dialogs.c:1480
msgid "Time Control"
-msgstr ""
+msgstr "Control de tiempo"
-#: dialogs.c:1507
+#: dialogs.c:1509
msgid "Error writing to chess program"
msgstr "Error al escribir al programa de ajedrez"
-#: dialogs.c:1574
-#, fuzzy
+#: dialogs.c:1576
msgid "Cancel"
msgstr "Cancelar"
-#: dialogs.c:1579 dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1581 dialogs.c:1973 dialogs.c:1977
msgid "King"
msgstr "Rey"
-#: dialogs.c:1582
+#: dialogs.c:1584
msgid "Captain"
-msgstr ""
+msgstr "Capitán"
-#: dialogs.c:1583
+#: dialogs.c:1585
msgid "Lieutenant"
-msgstr ""
+msgstr "Teniente"
-#: dialogs.c:1584
+#: dialogs.c:1586
msgid "General"
-msgstr "Generales..."
+msgstr "General"
-#: dialogs.c:1585
+#: dialogs.c:1587
msgid "Warlord"
-msgstr ""
+msgstr "Caudillo"
-#: dialogs.c:1587 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1589 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Knight"
msgstr "Caballo"
-#: dialogs.c:1588 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1590 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Bishop"
msgstr "Alfil"
-#: dialogs.c:1589 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1591 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Rook"
msgstr "Torre"
-#: dialogs.c:1593 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1595 dialogs.c:1974 dialogs.c:1978
msgid "Archbishop"
msgstr "Arzobispo"
-#: dialogs.c:1594 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1596 dialogs.c:1974 dialogs.c:1978
msgid "Chancellor"
msgstr "Canciller"
-#: dialogs.c:1596 dialogs.c:1971 dialogs.c:1975 dialogs.c:1993
+#: dialogs.c:1598 dialogs.c:1973 dialogs.c:1977 dialogs.c:1995
msgid "Queen"
msgstr "Dama"
-#: dialogs.c:1600
+#: dialogs.c:1602
msgid "Defer"
-msgstr ""
+msgstr "Diferir"
-#: dialogs.c:1601 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1603 dialogs.c:1974 dialogs.c:1978
msgid "Promote"
msgstr "Coronar"
-#: dialogs.c:1616
+#: dialogs.c:1618
msgid "Chat partner:"
-msgstr ""
+msgstr "Charlar con compañero:"
-#: dialogs.c:1701
+#: dialogs.c:1703
msgid "Chat box"
-msgstr ""
+msgstr "Cuadro de charla"
-#: dialogs.c:1742
+#: dialogs.c:1744
msgid "factory"
msgstr "De fábrica"
-#: dialogs.c:1743
+#: dialogs.c:1745
msgid "up"
-msgstr "Arriba"
+msgstr "arriba"
-#: dialogs.c:1744
+#: dialogs.c:1746
msgid "down"
-msgstr "Abajo"
+msgstr "abajo"
-#: dialogs.c:1762
+#: dialogs.c:1764
msgid "No tag selected"
-msgstr ""
+msgstr "Número de la etiqueta seleccionada"
-#: dialogs.c:1793
-#, fuzzy
+#: dialogs.c:1795
msgid "Game-list options"
-msgstr "Opciones al leer partida"
+msgstr "Opciones de la lista de partidas"
-#: dialogs.c:1869 dialogs.c:1883
+#: dialogs.c:1871 dialogs.c:1885
msgid "Error"
msgstr "Error"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Fatal Error"
msgstr "Error fatal"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Exiting"
msgstr "Saliendo"
-#: dialogs.c:1917
+#: dialogs.c:1919
msgid "Information"
msgstr "Información"
-#: dialogs.c:1924
+#: dialogs.c:1926
msgid "Note"
msgstr "Nota"
-#: dialogs.c:1970 dialogs.c:2245 dialogs.c:2248
+#: dialogs.c:1972 dialogs.c:2252 dialogs.c:2255
msgid "White"
msgstr "Blancas"
-#: dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Pawn"
msgstr "Peón"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Elephant"
msgstr "Elefante"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Cannon"
msgstr "Cañón"
-#: dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1974 dialogs.c:1978
msgid "Demote"
msgstr "Degradar"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Empty square"
msgstr "Vaciar el escaque"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Clear board"
-msgstr "Limpiar el tablero "
+msgstr "Limpiar el tablero"
-#: dialogs.c:1974 dialogs.c:2257 dialogs.c:2260
+#: dialogs.c:1976 dialogs.c:2264 dialogs.c:2267
msgid "Black"
msgstr "Negras"
-#: dialogs.c:2073 menus.c:787
+#: dialogs.c:2075 menus.c:787
msgid "File"
msgstr "Archivo"
-#: dialogs.c:2074 menus.c:788
+#: dialogs.c:2076 menus.c:788
msgid "Edit"
-msgstr "Edición"
+msgstr "Editar"
-#: dialogs.c:2075 menus.c:789
+#: dialogs.c:2077 menus.c:789
msgid "View"
msgstr "Ver"
-#: dialogs.c:2076 menus.c:790
+#: dialogs.c:2078 menus.c:790
msgid "Mode"
msgstr "Modo"
-#: dialogs.c:2077 menus.c:791
+#: dialogs.c:2079 menus.c:791
msgid "Action"
-msgstr "Partida"
+msgstr "Acción"
-#: dialogs.c:2078 menus.c:792
+#: dialogs.c:2080 menus.c:792
msgid "Engine"
msgstr "Motor"
-#: dialogs.c:2079 menus.c:793
+#: dialogs.c:2081 menus.c:793
msgid "Options"
msgstr "Opciones"
-#: dialogs.c:2080 menus.c:794
+#: dialogs.c:2082 menus.c:794
msgid "Help"
msgstr "Ayuda"
-#: dialogs.c:2090
+#: dialogs.c:2092
msgid "<<"
-msgstr ""
+msgstr "<<"
-#: dialogs.c:2091
+#: dialogs.c:2093
msgid "<"
-msgstr ""
+msgstr "<"
-#: dialogs.c:2093
+#: dialogs.c:2095
msgid ">"
-msgstr ""
+msgstr ">"
-#: dialogs.c:2094
+#: dialogs.c:2096
msgid ">>"
-msgstr ""
+msgstr ">>"
-#: dialogs.c:2364
+#: dialogs.c:2371
msgid "Directories:"
-msgstr ""
+msgstr "Carpetas:"
-#: dialogs.c:2365
-#, fuzzy
+#: dialogs.c:2372
msgid "Files:"
-msgstr "Archivo"
+msgstr "Archivos:"
-#: dialogs.c:2366
+#: dialogs.c:2373
msgid "by name"
-msgstr ""
+msgstr "por nombre"
-#: dialogs.c:2367
+#: dialogs.c:2374
msgid "by type"
-msgstr ""
+msgstr "por tipo"
-#: dialogs.c:2370
-#, fuzzy
+#: dialogs.c:2377
msgid "Filename:"
-msgstr "Filtro"
+msgstr "Nombre del fichero:"
-#: dialogs.c:2371
+#: dialogs.c:2378
msgid "New directory"
-msgstr ""
+msgstr "Nueva carpeta"
-#: dialogs.c:2372
-#, fuzzy
+#: dialogs.c:2379
msgid "File type:"
-msgstr "Filtro"
+msgstr "Tipo de fichero:"
-#: dialogs.c:2447
-#, fuzzy
+#: dialogs.c:2454
msgid "Contents of"
-msgstr "Comentarios"
+msgstr "Contenido de"
-#: dialogs.c:2473
+#: dialogs.c:2480
msgid " next page"
-msgstr ""
+msgstr " siguiente página"
-#: dialogs.c:2495
+#: dialogs.c:2502
msgid "FIRST TYPE DIRECTORY NAME HERE"
msgstr ""
-#: dialogs.c:2496
+#: dialogs.c:2503
msgid "TRY ANOTHER NAME"
-msgstr ""
+msgstr "INTENTAR OTRO NOMBRE"
#: draw.c:293
msgid ""
"No default pieces installed\n"
"Select your own -pieceImageDirectory"
msgstr ""
+"No hay piezas predeterminadas instaladas\n"
+"Seleccione su propio -pieceImageDirectory"
#: engineoutput.c:107 menus.c:630
-#, fuzzy, c-format
+#, c-format
msgid "Engine Output"
-msgstr "Salida de motores"
+msgstr "Salida del motor"
#: engineoutput.c:117
#, c-format
msgid "%s (%d reversible ply)"
msgid_plural "%s (%d reversible plies)"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%s (%d media-jugada reversible)"
+msgstr[1] "%s (%d medias-jugadas reversibles)"
#: engineoutput.c:509 engineoutput.c:512 nengineoutput.c:81 nengineoutput.c:88
msgid "NPS"
msgstr "NPS"
#: gamelist.c:375
-#, fuzzy, c-format
+#, c-format
msgid "Reading game file (%d)"
-msgstr "archivo de partidas incorrecto"
+msgstr "Leyendo fichero de partidas (%d)"
#: gtk/xboard.c:787 xaw/xboard.c:1161
#, c-format
msgid "%s: can't cd to CHESSDIR: "
-msgstr ""
+msgstr "%s: no se puede ir a la carpeta CHESSDIR: "
#: gtk/xboard.c:796 xaw/xboard.c:1170
#, c-format
msgid "Failed to open file '%s'\n"
-msgstr ""
+msgstr "Fallo al abrir el fichero '%s'\n"
+# TRANSLATORS: BOARDS_RANKS, BOARD_FILES translatable?
#: gtk/xboard.c:811 xaw/xboard.c:1179
msgid "Recompile with larger BOARD_RANKS or BOARD_FILES to support this size"
msgstr ""
+"Recompilar con BOARD_RANKS o BOARD_FILES mayor para admitir este tamaño"
#: gtk/xboard.c:830 xaw/xboard.c:1211
#, c-format
msgid "%s: bad boardSize syntax %s\n"
-msgstr ""
+msgstr "%s: sintaxis de boardSize incorrecta %s\n"
#: gtk/xboard.c:870 xaw/xboard.c:1248
#, c-format
msgid "%s: unrecognized boardSize name %s\n"
-msgstr ""
+msgstr "%s: nombre de boardSize no reconocido %s\n"
#: gtk/xboard.c:911 xaw/xboard.c:1285
#, c-format
msgid "%s: too few colors available; trying monochrome mode\n"
-msgstr ""
+msgstr "%s: insuficientes colores disponibles: probando modo monocromo\n"
#: gtk/xboard.c:1201 xaw/xboard.c:1567
#, c-format
msgid "Unable to create font set for %s.\n"
-msgstr ""
+msgstr "No se ha podido crear conjunto de fuentes para %s.\n"
#: gtk/xboard.c:1226 xaw/xboard.c:1590
#, c-format
msgid "%s: no fonts match pattern %s\n"
-msgstr ""
+msgstr "%s: ninguna fuente concuerda con el patrón %s\n"
#: gtk/xboard.c:1665 xaw/xboard.c:2080
msgid "Can't open temp file"
-msgstr ""
+msgstr "No se puede abrir el fichero temporal"
#: gtk/xboard.c:2128
-#, fuzzy
msgid "Failed to open file"
-msgstr "Falla al invocar cmail"
+msgstr "Fallo al abrir fichero"
#: menus.c:134
msgid "Load game file name?"
-msgstr ""
+msgstr "¿Nombre del fichero de partidas para cargar?"
#: menus.c:179
msgid "Load position file name?"
-msgstr ""
+msgstr "¿Nombre del fichero de posiciones para cargar?"
#: menus.c:185
msgid "Save game file name?"
-msgstr ""
+msgstr "¿Nombre del fichero de partidas para guardar?"
#: menus.c:194
msgid "Save position file name?"
-msgstr ""
+msgstr "¿Nombre del fichero de posiciones para guardar?"
#: menus.c:358
msgid " (with Zippy code)"
-msgstr ""
+msgstr " (con el código de Zippy)"
#: menus.c:363
#, c-format
"Report bugs via email at: <bug-xboard@gnu.org>\n"
"\n"
msgstr ""
+"%s%s\n"
+"\n"
+"Copyright 1991 Digital Equipment Corporation\n"
+"Copyright de las mejoras 1992-2013 Free Software Foundation\n"
+"Copyright de las mejoras 2005 Alessandro Scotti\n"
+"\n"
+"%s es software libre SIN NINGUNA GARANTÍA; ver el fichero COPYING para más "
+"información.\n"
+"La versión de GTK utilizada es experimental e inestable\n"
+"\n"
+"Visite XBoard en la web en: http://www.gnu.org/software/xboard/\n"
+"Obtenga las características más recientes en: http://www.gnu.org/software/"
+"xboard/whats_new.html\n"
+"\n"
+"Informe de errores por correo a: <bug-xboard@gnu.org>\n"
+"\n"
#: menus.c:375 menus.c:750
msgid "About XBoard"
msgstr "Acerca de XBoard"
#: menus.c:582
-#, fuzzy
msgid "New Game"
-msgstr "Nueva partida revuelta..."
+msgstr "Nueva partida"
#: menus.c:583
msgid "New Shuffle Game ..."
msgstr "Nueva partida revuelta..."
#: menus.c:584
-#, fuzzy
msgid "New Variant ..."
-msgstr "Variantes"
+msgstr "Nueva variante ..."
#: menus.c:586
-#, fuzzy
msgid "Load Game"
-msgstr "Para leer partida... Alt+Mayús+L"
+msgstr "Cargar partida"
#: menus.c:587
-#, fuzzy
msgid "Load Position"
-msgstr "archivo de posición incorrecto"
+msgstr "Cargar posición"
#: menus.c:588
-#, fuzzy
msgid "Next Position"
-msgstr "archivo de posición incorrecto"
+msgstr "Siguiente posición"
#: menus.c:589
-#, fuzzy
msgid "Prev Position"
-msgstr "archivo de posición incorrecto"
+msgstr "Posición previa"
#: menus.c:591
-#, fuzzy
msgid "Save Game"
-msgstr "Para guardar partida... Alt+Mayús+S"
+msgstr "Guardar partida"
#: menus.c:592
-#, fuzzy
msgid "Save Position"
-msgstr "archivo de posición incorrecto"
+msgstr "Guardar posición"
#: menus.c:593
-#, fuzzy
msgid "Save Games as Book"
-msgstr "Para guardar partida... Alt+Mayús+S"
+msgstr "Guardar partidas como libro"
#: menus.c:595
msgid "Mail Move"
-msgstr ""
+msgstr "Jugada por correo"
#: menus.c:596
msgid "Reload CMail Message"
-msgstr ""
+msgstr "Volver a cargar mensaje CMail"
#: menus.c:598
msgid "Quit "
-msgstr ""
+msgstr "Salir "
#: menus.c:603
-#, fuzzy
msgid "Copy Game"
-msgstr "Copiar lista de partidas"
+msgstr "Copiar partida"
#: menus.c:604
-#, fuzzy
msgid "Copy Position"
-msgstr "Copiar posición Alt+Mayús+C"
+msgstr "Copiar posición"
#: menus.c:605
msgid "Copy Game List"
msgstr "Copiar lista de partidas"
#: menus.c:607
-#, fuzzy
msgid "Paste Game"
-msgstr "Pegar partida Ctrl+V"
+msgstr "Pegar partida"
#: menus.c:608
-#, fuzzy
msgid "Paste Position"
-msgstr "Pegar posición Alt+Mayús+V"
+msgstr "Pegar posición"
#: menus.c:610 menus.c:652
-#, fuzzy
msgid "Edit Game"
-msgstr "Editar comentario"
+msgstr "Editar partida"
#: menus.c:611 menus.c:653
-#, fuzzy
msgid "Edit Position"
-msgstr "archivo de posición incorrecto"
+msgstr "Editar posición"
#: menus.c:612
msgid "Edit Tags"
-msgstr "Editar circunstancias"
+msgstr "Editar etiquetas"
#: menus.c:613
msgid "Edit Comment"
-msgstr "Editar comentarios"
+msgstr "Editar comentario"
#: menus.c:614
-#, fuzzy
msgid "Edit Book"
-msgstr "Repertorio de aperturas..."
+msgstr "Editar libro"
#: menus.c:616
msgid "Revert"
-msgstr ""
+msgstr "Revertir"
#: menus.c:617
msgid "Annotate"
msgstr "Anotar"
#: menus.c:618
-#, fuzzy
msgid "Truncate Game"
-msgstr "Truncar partida End"
+msgstr "Truncar partida"
#: menus.c:620
msgid "Backward"
-msgstr ""
+msgstr "Hacia atrás"
#: menus.c:621
msgid "Forward"
-msgstr ""
+msgstr "Hacia delante"
#: menus.c:622
-#, fuzzy
msgid "Back to Start"
-msgstr "Las negras juegan"
+msgstr "Volver a empezar"
#: menus.c:623
-#, fuzzy
msgid "Forward to End"
-msgstr "Ultima jugada Alt+Fin"
+msgstr "Avanzar hasta el final"
#: menus.c:628
-#, fuzzy
msgid "Flip View"
-msgstr "Cambio de lado automático"
+msgstr "Voltear vista"
#: menus.c:631
-#, fuzzy
msgid "Move History"
-msgstr "Leer lista jugadas"
+msgstr "Historial de jugadas"
#: menus.c:632
-#, fuzzy
msgid "Evaluation Graph"
msgstr "Gráfica de evaluación"
#: menus.c:633
-#, fuzzy
msgid "Game List"
-msgstr "Lista de partidas..."
+msgstr "Lista de partidas"
#: menus.c:637
msgid "Comments"
#: menus.c:638
msgid "ICS Input Box"
-msgstr ""
+msgstr "Cuatro de entrada ICS"
#: menus.c:639
msgid "Open Chat Window"
-msgstr ""
+msgstr "Abrir ventana de conversación"
#: menus.c:641
msgid "Board..."
-msgstr "Opciones del tablero..."
+msgstr "Tablero..."
#: menus.c:642
msgid "Game List Tags..."
-msgstr "Opciones de lista de partidas..."
+msgstr "Etiquetas de la lista de partidas..."
#: menus.c:647
-#, fuzzy
msgid "Machine White"
-msgstr "El programa juega con blancas Ctrl+W"
+msgstr "El programa con blancas"
#: menus.c:648
-#, fuzzy
msgid "Machine Black"
-msgstr "Torneo de dos programas"
+msgstr "El programa con negras"
#: menus.c:649
-#, fuzzy
msgid "Two Machines"
-msgstr "Juegan dos programas Ctrl+T"
+msgstr "Dos programas"
#: menus.c:650
-#, fuzzy
msgid "Analysis Mode"
-msgstr "Análisis Ctrl+A"
+msgstr "Modo de análisis"
#: menus.c:651
-#, fuzzy
msgid "Analyze Game"
-msgstr "Analizar archivo Ctrl+F"
+msgstr "Analizar partida"
#: menus.c:654
msgid "Training"
#: menus.c:655
msgid "ICS Client"
-msgstr "Conectado a un ICS"
+msgstr "Cliente ICS"
#: menus.c:657
msgid "Machine Match"
#: menus.c:658
msgid "Pause"
-msgstr ""
+msgstr "Pausa"
#: menus.c:663
msgid "Accept"
-msgstr ""
+msgstr "Aceptar"
#: menus.c:664
msgid "Decline"
-msgstr ""
+msgstr "Declinar"
#: menus.c:665
msgid "Rematch"
-msgstr ""
+msgstr "Revancha"
#: menus.c:667
-#, fuzzy
msgid "Call Flag"
-msgstr "Pedir la bandera F5"
+msgstr "Pedir la bandera"
#: menus.c:668
msgid "Draw"
-msgstr ""
+msgstr "Tablas"
#: menus.c:669
msgid "Adjourn"
-msgstr ""
+msgstr "Aplazar"
#: menus.c:670
msgid "Abort"
-msgstr ""
+msgstr "Abortar"
#: menus.c:671
msgid "Resign"
-msgstr ""
+msgstr "Rendirse"
#: menus.c:673
-#, fuzzy
msgid "Stop Observing"
-msgstr "Dejo de observar F10"
+msgstr "Dejar de observar"
#: menus.c:674
-#, fuzzy
msgid "Stop Examining"
-msgstr "Dejo de examinar F11"
+msgstr "Dejar de examinar"
#: menus.c:675
msgid "Upload to Examine"
#: menus.c:684
msgid "Load New 1st Engine ..."
-msgstr ""
+msgstr "Cargar un nuevo primer motor ..."
#: menus.c:685
msgid "Load New 2nd Engine ..."
-msgstr ""
+msgstr "Cargar un nuevo segundo motor ..."
#: menus.c:687
msgid "Engine #1 Settings ..."
-msgstr "Configuración motor #1..."
+msgstr "Configuración del motor #1..."
#: menus.c:688
msgid "Engine #2 Settings ..."
-msgstr "Configuración motor #2..."
+msgstr "Configuración del motor #2..."
#: menus.c:690
msgid "Hint"
-msgstr "Dame una pista..."
+msgstr "Pista"
#: menus.c:691
msgid "Book"
-msgstr "Repertorio de aperturas..."
+msgstr "Repertorio de aperturas"
#: menus.c:693
msgid "Move Now"
-msgstr ""
+msgstr "Mover ahora"
#: menus.c:694
-#, fuzzy
msgid "Retract Move"
-msgstr "Revocar jugada Ctrl+X"
+msgstr "Revocar jugada"
#: menus.c:700
msgid "General ..."
-msgstr "Generales..."
+msgstr "General..."
#: menus.c:702
-#, fuzzy
msgid "Time Control ..."
msgstr "Controles de tiempo..."
#: menus.c:703
-#, fuzzy
msgid "Common Engine ..."
-msgstr "Para los motores... Alt+Mayús+U"
+msgstr "General de los motores..."
#: menus.c:704
-#, fuzzy
msgid "Adjudications ..."
-msgstr "Adjudicaciones... Alt+Mayús+J"
+msgstr "Adjudicaciones..."
#: menus.c:705
msgid "ICS ..."
-msgstr "ICS..."
+msgstr "ICS ..."
#: menus.c:706
msgid "Match ..."
-msgstr ""
+msgstr "Encuentro ..."
#: menus.c:707
msgid "Load Game ..."
-msgstr "Para leer partida... Alt+Mayús+L"
+msgstr "Cargar partida ..."
#: menus.c:708
msgid "Save Game ..."
-msgstr "Para guardar partida... Alt+Mayús+S"
+msgstr "Guardar partida ..."
#: menus.c:709
msgid "Game List ..."
-msgstr "Lista de partidas..."
+msgstr "Lista de partidas ..."
#: menus.c:710
msgid "Sounds ..."
-msgstr "Sonido..."
+msgstr "Sonidos ..."
#: menus.c:713
msgid "Always Queen"
-msgstr ""
+msgstr "Siempre dama"
#: menus.c:719
msgid "Flash Moves"
-msgstr ""
+msgstr "Destello en las jugadas"
#: menus.c:721
msgid "Highlight Dragging"
#: menus.c:725
msgid "Move Sound"
-msgstr ""
+msgstr "Sonido en jugadas"
#: menus.c:727
msgid "Periodic Updates"
#: menus.c:729
msgid "Popup Exit Message"
-msgstr "Ventana al salir"
+msgstr "Mensaje de salida en venta emergente"
#: menus.c:731
msgid "Show Coords"
msgstr "Mostrar coordenadas"
#: menus.c:732
-#, fuzzy
msgid "Hide Thinking"
-msgstr "Ocultar cogitaciones al jugar contra humano"
+msgstr "Ocultar cogitaciones"
#: menus.c:736
msgid "Save Settings Now"
-msgstr "Salvar config. ahora"
+msgstr "Guardar config. ahora"
#: menus.c:737
msgid "Save Settings on Exit"
-msgstr "Salvar config. al salir del programa"
+msgstr "Guardar config. al salir del programa"
#: menus.c:742
msgid "Info XBoard"
-msgstr ""
+msgstr "Información XBoard"
#: menus.c:743
-#, fuzzy
msgid "Man XBoard"
-msgstr "Acerca de XBoard"
+msgstr "Manual de XBoard"
#: menus.c:745
msgid "XBoard Home Page"
-msgstr ""
+msgstr "Página web de XBoard"
#: menus.c:746
msgid "On-line User Guide"
-msgstr ""
+msgstr "Guía del usuario en línea"
#: menus.c:747
msgid "Development News"
-msgstr ""
+msgstr "Noticias sobre el desarrollo"
#: menus.c:748
msgid "e-Mail Bug Report"
-msgstr ""
+msgstr "correo-e para informar de errores"
#: nengineoutput.c:78 nengineoutput.c:85
-#, fuzzy
msgid "engine name"
-msgstr "Motor"
+msgstr "nombre del motor"
#: nengineoutput.c:80 nengineoutput.c:87
-#, fuzzy
msgid "move"
-msgstr "jugadas"
+msgstr "jugada"
#: nengineoutput.c:153
msgid "Engine output"
-msgstr "Salida de motores"
+msgstr "Salida del motor"
#: nengineoutput.c:157
msgid ""
"Mismatch of STRIDE in nengineoutput.c\n"
"Change and recompile!"
msgstr ""
+"STRIDE desajustado en nengineoutput.c\n"
+"¡Cambiar y recompilar!"
#: nevalgraph.c:68
msgid "Evaluation graph"
#: nevalgraph.c:105
msgid "Eval"
-msgstr ""
+msgstr "Evaluación"
#: ngamelist.c:87
-#, fuzzy
msgid "find position"
-msgstr "archivo de posición incorrecto"
+msgstr "encontrar posición"
#: ngamelist.c:88
msgid "narrow"
-msgstr ""
+msgstr "estrecho"
#: ngamelist.c:89
msgid "thresholds"
-msgstr ""
+msgstr "umbrales"
#: ngamelist.c:90
-#, fuzzy
msgid "tags"
-msgstr "Circunstancias"
+msgstr "etiquetas"
#: ngamelist.c:91
msgid "next"
-msgstr ""
+msgstr "siguiente"
#: ngamelist.c:92
msgid "close"
-msgstr ""
+msgstr "cerrar"
#: ngamelist.c:116
msgid "No game selected"
#: ngamelist.c:192
#, c-format
msgid "Scanning through games (%d)"
-msgstr ""
+msgstr "Explorando partidas (%d)"
#: ngamelist.c:211
msgid "previous page"
-msgstr ""
+msgstr "página anterior"
#: ngamelist.c:214
msgid "next page"
-msgstr ""
+msgstr "página siguiente"
#: ngamelist.c:217
msgid "no games matched your request"
-msgstr ""
+msgstr "ninguna partida responde a su búsqueda"
#: ngamelist.c:219
-#, fuzzy, c-format
+#, c-format
msgid "%s - %d/%d games (%d-%d-%d)"
-msgstr "Partida %s vs. %s: puntuación final %d-%d-%d"
+msgstr "%s - %d/%d partidas (%d-%d-%d)"
#: ngamelist.c:274
msgid "There is no game list"
#: nhistory.c:109
msgid "Move list"
-msgstr ""
+msgstr "Lista de jugadas"
#: usystem.c:222
#, c-format
msgid "%s: unrecognized color %s\n"
-msgstr ""
+msgstr "%s: color no reconocido %s\n"
#: usystem.c:230
#, c-format
msgid "%s: can't parse foreground color in `%s'\n"
-msgstr ""
+msgstr "%s: no se puede analizar el color de primer plano en `%s'\n"
#: usystem.c:259
#, c-format
msgid "%s: can't parse color names; disabling colorization\n"
msgstr ""
+"%s: no se puede analizar los nombres de los colores; desactivando colorido\n"
#: usystem.c:371
#, c-format
msgid "ERROR: Unknown user %s (in path %s)\n"
-msgstr ""
+msgstr "ERROR: usuario desconocido %s (en carpeta %s)\n"
#: usystem.c:556
msgid "Socket support is not configured in"
-msgstr ""
+msgstr "La capacidad de «socket» no está configurada en"
#: usystem.c:645
msgid "internal rcmd not implemented for Unix"
-msgstr ""
+msgstr "rcmd interno no implementado para Unix"
#: xaw/xboard.c:477
#, c-format
msgid "%s: Can't access XPM directory %s\n"
-msgstr ""
+msgstr "%s: No se puede acceder a la carpeta XPM %s\n"
#: xaw/xboard.c:498
#, c-format
msgid "Available `%s' sizes:\n"
-msgstr ""
+msgstr "Disponibles `%s' tamaños:\n"
#: xaw/xboard.c:531
#, c-format
msgid "Error: No `%s' files!\n"
-msgstr ""
+msgstr "¡Error: no hay ficheros `%s'!\n"
#: xaw/xboard.c:544
#, c-format
" Please report this error to %s.\n"
" Include system type & operating system in message.\n"
msgstr ""
+"ATENCIÓN: No se ha encontrado estructura DIR en este sistema --\n"
+" No se puede asignar tamaño automáticamente a las piezas XPM/XIM.\n"
+" Por favor, informe de este error a %s.\n"
+" Incluya en su mensaje el tipo de sistema y de sistema operativo.\n"
#: xaw/xboard.c:1291
#, c-format
msgid "white pixel = 0x%lx, black pixel = 0x%lx\n"
-msgstr ""
+msgstr "pixel blanco = 0x%lx, pixel negro = 0x%lx\n"
#: xaw/xengineoutput.c:114
#, c-format
msgid "Error %d loading icon image\n"
-msgstr ""
+msgstr "Error %d cargando imagen de icono\n"
#: xaw/xoptions.c:321 xaw/xoptions.c:1015
msgid "browse"
-msgstr ""
+msgstr "navegar"
#: xaw/xoptions.c:387 xaw/xoptions.c:388
msgid "Ctrl"
-msgstr ""
+msgstr "Ctrl"
#: xaw/xoptions.c:393 xaw/xoptions.c:394
msgid "Alt"
-msgstr ""
+msgstr "Alt"
#: xaw/xoptions.c:399 xaw/xoptions.c:400
msgid "Shift"
-msgstr ""
+msgstr "Mayús"
#: xaw/xoptions.c:1262
msgid "OK"
msgid "cancel"
msgstr "Cancelar"
-#~ msgid "New Game Ctrl+N"
-#~ msgstr "Nueva partida Ctrl+N"
-
-#~ msgid "New Variant ... Alt+Shift+V"
-#~ msgstr "Nueva variante... Alt+Mayús+V"
-
-#~ msgid "Load Game Ctrl+O"
-#~ msgstr "Leer partida... Ctrl+O"
-
-#~ msgid "Load Position Ctrl+Shift+O"
-#~ msgstr "Leer posición... Ctrl+Mayús+O"
-
-#~ msgid "Save Game Ctrl+S"
-#~ msgstr "Guardar partida... Ctrl+S"
-
-#~ msgid "Save Position Ctrl+Shift+S"
-#~ msgstr "Guardar posición... Ctrl+Mayús+S"
-
-#~ msgid "Quit Ctr+Q"
-#~ msgstr "Salir"
-
-#~ msgid "Copy Game Ctrl+C"
-#~ msgstr "Copiar partida Ctrl+C"
-
-#~ msgid "Edit Game Ctrl+E"
-#~ msgstr "Editar partida Ctrl+E"
-
-#~ msgid "Edit Position Ctrl+Shift+E"
-#~ msgstr "Editar posición Ctrl+Mayús+E"
-
-#~ msgid "Revert Home"
-#~ msgstr "Revertir Home"
-
-#~ msgid "Backward Alt+Left"
-#~ msgstr "Jugada anterior Alt+Izquierda"
-
-#~ msgid "Forward Alt+Right"
-#~ msgstr "Siguiente jugada Alt+Derecha"
-
-#~ msgid "Back to Start Alt+Home"
-#~ msgstr "Primera jugada Alt+Inicio"
-
-#~ msgid "Flip View F2"
-#~ msgstr "Tablero invertido F2"
-
-#~ msgid "Engine Output Alt+Shift+O"
-#~ msgstr "Mostrar salida del motor Alt+Mayús+O"
-
-#~ msgid "Move History Alt+Shift+H"
-#~ msgstr "Mostrar lista de jugadas Alt+Mayús+H"
-
-#~ msgid "Evaluation Graph Alt+Shift+E"
-#~ msgstr "Mostrar gráfica de evaluación Alt+Mayús+E"
-
-#~ msgid "Game List Alt+Shift+G"
-#~ msgstr "Mostrar lista de partidas Alt+Mayús+G"
-
-#~ msgid "Machine Black Ctrl+B"
-#~ msgstr "El programa juega con negras Ctrl+B"
-
-#~ msgid "Edit Game Ctrl+E"
-#~ msgstr "Editar partida Ctrl+E"
-
-#~ msgid "Edit Position Ctrl+Shift+E"
-#~ msgstr "Editar posición Ctrl+Mayús+E"
-
-#~ msgid "Pause Pause"
-#~ msgstr "Pausa Pausa"
-
-#~ msgid "Accept F3"
-#~ msgstr "Acepto F3"
-
-#~ msgid "Decline F4"
-#~ msgstr "Rehuso F4"
-
-#~ msgid "Rematch F12"
-#~ msgstr "Pido desquite F12"
-
-#~ msgid "Draw F6"
-#~ msgstr "Tablas F6"
-
-#~ msgid "Adjourn F7"
-#~ msgstr "Aplazamiento F7"
-
-#~ msgid "Abort F8"
-#~ msgstr "Anulación F8"
-
-#~ msgid "Resign F9"
-#~ msgstr "Me rindo F9"
-
-#~ msgid "Move Now Ctrl+M"
-#~ msgstr "Forzar jugada Ctrl+M"
-
-#~ msgid "Always Queen Ctrl+Shift+Q"
-#~ msgstr "Siempre dama Ctrl+Mayús+Q"
-
-#~ msgid "Animate Moving Ctrl+Shift+A"
-#~ msgstr "Animar movimiento Ctrl+Mayús+A"
-
-#~ msgid "Auto Flag Ctrl+Shift+F"
-#~ msgstr "Bandera automática Ctrl+Mayús+F"
-
-#~ msgid "Ponder Next Move Ctrl+Shift+P"
-#~ msgstr "Prever próx.jugada Ctrl+Mayús+P"
-
-#~ msgid "Hide Thinking Ctrl+Shift+H"
-#~ msgstr "Ocultar cogitación Ctrl+Mayús+H"
-
-#~ msgid "Test Legality Ctrl+Shift+L"
-#~ msgstr "Checar legalidad Ctrl+Mayús+L"
-
-#~ msgid "Drop"
-#~ msgstr "Soltar"
-
-#, fuzzy
-#~ msgid "could not open: "
-#~ msgstr "No se pudo analizar la jugada"
-
-#~ msgid "Promotion"
-#~ msgstr "Coronación"
-
-#~ msgid "ok"
-#~ msgstr "Aceptar"
-
-#~ msgid "Highlight Dragging (Show Move Targets)"
-#~ msgstr "Iluminar arrastre"
-
-#~ msgid "White "
-#~ msgstr "Blancas "
-
-#~ msgid "Black "
-#~ msgstr "Negras "
-
-#~ msgid "Close"
-#~ msgstr "Cerrar"
-
-#~ msgid "sec/move"
-#~ msgstr "segundos por jugada"
+#~ msgid " "
+#~ msgstr " "
msgstr ""
"Project-Id-Version: GNU xboard master-20110411\n"
"Report-Msgid-Bugs-To: bug-xboard@gnu.org\n"
-"POT-Creation-Date: 2013-08-28 21:49-0700\n"
+"POT-Creation-Date: 2013-08-28 22:03-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
-#: args.h:820
+#: args.h:821
#, c-format
msgid "%s in settings file\n"
msgstr ""
-#: args.h:830
+#: args.h:831
#, c-format
msgid "Bad integer value %s"
msgstr ""
-#: args.h:923 args.h:1164
+#: args.h:924 args.h:1165
#, c-format
msgid "Unrecognized argument %s"
msgstr ""
-#: args.h:954
+#: args.h:955
#, c-format
msgid "No value provided for argument %s"
msgstr ""
-#: args.h:1014
+#: args.h:1015
#, c-format
msgid "Incomplete \\ escape in value for %s"
msgstr ""
-#: args.h:1119
+#: args.h:1120
#, c-format
msgid "Failed to open indirection file %s"
msgstr ""
-#: args.h:1136
+#: args.h:1137
#, c-format
msgid "Unrecognized boolean argument value %s"
msgstr ""
#. TRANSLATORS: "first" is the first of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:744
+#: backend.c:753
msgid "first"
msgstr ""
#. TRANSLATORS: "second" is the second of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:747
+#: backend.c:756
msgid "second"
msgstr ""
-#: backend.c:827
+#: backend.c:837
#, c-format
msgid "protocol version %d not supported"
msgstr "Versione %d del protocollo non supportata"
-#: backend.c:933
+#: backend.c:943
msgid "You did not specify the engine executable"
msgstr ""
-#: backend.c:989
+#: backend.c:999
#, c-format
msgid "bad timeControl option %s"
msgstr "Opzione timeControl non corretta: %s"
-#: backend.c:1004
+#: backend.c:1014
#, c-format
msgid "bad searchTime option %s"
msgstr "Opzione searchTime non corretta: %s"
-#: backend.c:1110
+#: backend.c:1120
#, c-format
msgid "Variant %s supported only in ICS mode"
msgstr "La variante %s è supportata solo in modalità ICS"
-#: backend.c:1128
+#: backend.c:1138
#, c-format
msgid "Unknown variant name %s"
msgstr "Nome di variante sconosciuto: %s"
-#: backend.c:1375
+#: backend.c:1386
msgid "Starting chess program"
msgstr "Avvio del motore di gioco"
-#: backend.c:1398
+#: backend.c:1409
msgid "Bad game file"
msgstr "File partita non riconosciuto"
-#: backend.c:1405
+#: backend.c:1416
msgid "Bad position file"
msgstr "File posizione non riconosciuto"
-#: backend.c:1419
+#: backend.c:1430
msgid "Pick new game"
msgstr ""
-#: backend.c:1488
+#: backend.c:1499
msgid ""
"You restarted an already completed tourney\n"
"One more cycle will now be added to it\n"
"Games commence in 10 sec"
msgstr ""
-#: backend.c:1495
+#: backend.c:1506
#, c-format
msgid "All games in tourney '%s' are already played or playing"
msgstr ""
-#: backend.c:1502
+#: backend.c:1513
msgid "Can't have a match with no chess programs"
msgstr "Impossibile avviare un match senza specificare alcun motore di gioco"
-#: backend.c:1539
+#: backend.c:1550
#, c-format
msgid "Could not open comm port %s"
msgstr "Apertura della porta comm %s fallita"
-#: backend.c:1542
+#: backend.c:1553
#, c-format
msgid "Could not connect to host %s, port %s"
msgstr "Connessione all'host %s, porta %s fallita"
-#: backend.c:1598
+#: backend.c:1609
#, c-format
msgid "Unknown initialMode %s"
msgstr "Valore per initialMode non riconosciuto: %s"
-#: backend.c:1624
+#: backend.c:1635
msgid "AnalyzeFile mode requires a game file"
msgstr "La modalità 'Analizza file' richiede un file partita"
-#: backend.c:1651
+#: backend.c:1662
msgid "Analysis mode requires a chess engine"
msgstr "La modalità Analisi richiede un motore di gioco"
-#: backend.c:1655
+#: backend.c:1666
msgid "Analysis mode does not work with ICS mode"
msgstr "La funzione di Analisi non è disponibile in modalità ICS"
-#: backend.c:1666
+#: backend.c:1677
msgid "MachineWhite mode requires a chess engine"
msgstr "La modalità 'Bianco al motore di gioco' richiede almeno un motore"
-#: backend.c:1671
+#: backend.c:1682
msgid "MachineWhite mode does not work with ICS mode"
msgstr ""
"La funzione 'Bianco al motore di gioco' non è disponibile in modalità ICS"
-#: backend.c:1678
+#: backend.c:1689
msgid "MachineBlack mode requires a chess engine"
msgstr "La modalità 'Nero al motore di gioco' richiede almeno un motore"
-#: backend.c:1683
+#: backend.c:1694
msgid "MachineBlack mode does not work with ICS mode"
msgstr ""
"La funzione 'Nero al motore di gioco' non è disponibile in modalità ICS"
-#: backend.c:1690
+#: backend.c:1701
msgid "TwoMachines mode requires a chess engine"
msgstr ""
"La modalità 'Motore di gioco 1 vs 2' richiede almeno un motore di gioco"
-#: backend.c:1695
+#: backend.c:1706
msgid "TwoMachines mode does not work with ICS mode"
msgstr "La funzione 'Motore di gioco 1 vs 2' non è disponibile in modalità ICS"
-#: backend.c:1706
+#: backend.c:1717
msgid "Training mode requires a game file"
msgstr "La modalità Allenamento richiede un file partita"
-#: backend.c:1869 backend.c:1924 backend.c:1947 backend.c:2346
+#: backend.c:1880 backend.c:1935 backend.c:1958 backend.c:2357
msgid "Error writing to ICS"
msgstr "Errore in scrittura sull'ICS"
-#: backend.c:1884
+#: backend.c:1895
msgid "Error reading from keyboard"
msgstr "Errore in lettura da tastiera"
-#: backend.c:1887
+#: backend.c:1898
msgid "Got end of file from keyboard"
msgstr "Ricevuto carattere di Fine file (EOF) dalla tastiera"
-#: backend.c:2192
+#: backend.c:2203
#, c-format
msgid "Unknown wild type %d"
msgstr ""
-#: backend.c:2263 usystem.c:329
+#: backend.c:2274 usystem.c:329
msgid "Error writing to display"
msgstr "Errore in scrittura sul display"
-#: backend.c:3019
+#: backend.c:3030
#, c-format
msgid "your opponent kibitzes: %s"
msgstr ""
-#: backend.c:3548
+#: backend.c:3559
msgid "Error gathering move list: two headers"
msgstr "Errore nella lettura della lista mosse: sono presenti due intestazioni"
-#: backend.c:3595
+#: backend.c:3606
msgid "Error gathering move list: nested"
msgstr "Errore nella lettura della lista mosse: mosse annidate"
-#: backend.c:3699 backend.c:4117 backend.c:4321 backend.c:4880 backend.c:4884
-#: backend.c:6900 backend.c:12082 backend.c:13797 backend.c:13874
-#: backend.c:13920 backend.c:13926 backend.c:13931 backend.c:13936
+#: backend.c:3710 backend.c:4128 backend.c:4332 backend.c:4891 backend.c:4895
+#: backend.c:6919 backend.c:12213 backend.c:13928 backend.c:14005
+#: backend.c:14051 backend.c:14057 backend.c:14062 backend.c:14067
msgid "vs."
msgstr ""
-#: backend.c:3827
+#: backend.c:3838
msgid "Illegal move (rejected by ICS)"
msgstr ""
-#: backend.c:4165
+#: backend.c:4176
msgid "Connection closed by ICS"
msgstr "Connessione chiusa dal'ICS"
-#: backend.c:4167
+#: backend.c:4178
msgid "Error reading from ICS"
msgstr "Errore in lettura dall'ICS"
-#: backend.c:4244
+#: backend.c:4255
#, c-format
msgid ""
"Failed to parse board string:\n"
"\"%s\""
msgstr ""
-#: backend.c:4253 backend.c:9755
+#: backend.c:4264 backend.c:9885
msgid "Game too long; increase MAX_MOVES and recompile"
msgstr ""
"Partita troppo lunga; incrementare il valore di MAX_MOVES e ricompilare"
-#: backend.c:4372
+#: backend.c:4383
msgid "Error gathering move list: extra board"
msgstr "Errore nela lettura della lista mosse: è presente una posizione in più"
-#: backend.c:4804 backend.c:4826
+#: backend.c:4815 backend.c:4837
#, c-format
msgid "Couldn't parse move \"%s\" from ICS"
msgstr "Impossibile interpretare la mossa dall'ICS: \"%s\""
-#: backend.c:5063
+#: backend.c:5074
#, c-format
msgid "say Internal error; bad moveType %d (%d,%d-%d,%d)"
msgstr "say Errore interno; moveType malformato %d (%d,%d-%d,%d)"
-#: backend.c:5133
+#: backend.c:5145
msgid "You cannot do this while you are playing or observing"
msgstr ""
-#: backend.c:6029
+#: backend.c:6046
msgid "Recompile to support this BOARD_RANKS or BOARD_FILES!"
msgstr ""
-#: backend.c:6491
+#: backend.c:6510
msgid "You are playing Black"
msgstr "Stai giocando con il Nero"
-#: backend.c:6500 backend.c:6527
+#: backend.c:6519 backend.c:6546
msgid "You are playing White"
msgstr "Stai giocando con il Bianco"
-#: backend.c:6509 backend.c:6535 backend.c:6655 backend.c:6680 backend.c:6696
-#: backend.c:14573
+#: backend.c:6528 backend.c:6554 backend.c:6674 backend.c:6699 backend.c:6715
+#: backend.c:14705
msgid "It is White's turn"
msgstr "Il tratto è al Bianco"
-#: backend.c:6513 backend.c:6539 backend.c:6663 backend.c:6686 backend.c:6717
-#: backend.c:14565
+#: backend.c:6532 backend.c:6558 backend.c:6682 backend.c:6705 backend.c:6736
+#: backend.c:14697
msgid "It is Black's turn"
msgstr "Il tratto è al Nero"
-#: backend.c:6552
+#: backend.c:6571
msgid "Displayed position is not current"
msgstr "La posizione mostrata non è quella corrente"
-#: backend.c:6790
+#: backend.c:6809
msgid "Illegal move"
msgstr "Mossa illegale"
-#: backend.c:6857
+#: backend.c:6876
msgid "End of game"
msgstr "Termine della partita"
-#: backend.c:6860
+#: backend.c:6879
msgid "Incorrect move"
msgstr "Mossa non corretta"
-#: backend.c:7169 backend.c:7296
+#: backend.c:7257 backend.c:7392
msgid "Pull pawn backwards to under-promote"
msgstr ""
-#: backend.c:7527
+#: backend.c:7364
+msgid "only marked squares are legal"
+msgstr ""
+
+#: backend.c:7624
msgid "Swiss tourney finished"
msgstr ""
-#: backend.c:8102
+#: backend.c:8199
msgid "Invalid pairing from pairing engine"
msgstr ""
-#: backend.c:8235
+#: backend.c:8332
#, c-format
msgid "Illegal move \"%s\" from %s machine"
msgstr "Mossa illegale \"%s\" dal %s motore di gioco"
-#: backend.c:8456
+#: backend.c:8564
msgid "Bad FEN received from engine"
msgstr ""
-#: backend.c:8600 backend.c:13662 backend.c:13727
+#: backend.c:8730 backend.c:13793 backend.c:13858
#, c-format
msgid "%s does not support analysis"
msgstr "%s non supporta l'analisi"
-#: backend.c:8666
+#: backend.c:8796
#, c-format
msgid "Illegal move \"%s\" (rejected by %s chess program)"
msgstr "Mossa illegale \"%s\" (rifiutata dal %s motore di gioco)"
-#: backend.c:8693
+#: backend.c:8823
#, c-format
msgid "Failed to start %s chess program %s on %s: %s\n"
msgstr "Avvio del %s motore di gioco %s su %s fallito: %s\n"
-#: backend.c:8714
+#: backend.c:8844
#, c-format
msgid "Hint: %s"
msgstr "Suggerimento: %s"
-#: backend.c:8719
+#: backend.c:8849
#, c-format
msgid ""
"Illegal hint move \"%s\"\n"
"from %s chess program"
msgstr ""
-#: backend.c:8894
+#: backend.c:9024
msgid "Machine accepts your draw offer"
msgstr "Il motore di gioco accetta la tua offerta di patta"
-#: backend.c:8897
+#: backend.c:9027
msgid ""
"Machine offers a draw\n"
"Select Action / Draw to agree"
msgstr ""
-#: backend.c:8976
+#: backend.c:9106
msgid "failed writing PV"
msgstr ""
-#: backend.c:9274
+#: backend.c:9404
#, c-format
msgid "Ambiguous move in ICS output: \"%s\""
msgstr "Mossa ambigua nell'output dell'ICS: \"%s\""
-#: backend.c:9284
+#: backend.c:9414
#, c-format
msgid "Illegal move in ICS output: \"%s\""
msgstr "Mossa illegale nell'output dell'ICS: \"%s\""
-#: backend.c:9295
+#: backend.c:9425
msgid "Gap in move list"
msgstr "Mosse mancanti nella lista mosse"
-#: backend.c:9916 dialogs.c:460
+#: backend.c:10046 dialogs.c:461
#, c-format
msgid "Variant %s not supported by %s"
msgstr "La variante %s non è supportata da %s"
-#: backend.c:10037
+#: backend.c:10167
#, c-format
msgid "Startup failure on '%s'"
msgstr "Avvio di '%s' fallito"
-#: backend.c:10068
+#: backend.c:10198
msgid "Waiting for first chess program"
msgstr "In attesa del primo motore di gioco"
-#: backend.c:10073 backend.c:13945
+#: backend.c:10203 backend.c:14076
msgid "Waiting for second chess program"
msgstr "In attesa del secondo motore di gioco"
-#: backend.c:10122
+#: backend.c:10252
msgid "Could not write on tourney file"
msgstr ""
-#: backend.c:10196
+#: backend.c:10326
msgid ""
"You cannot replace an engine while it is engaged!\n"
"Terminate its game first."
msgstr ""
-#: backend.c:10210
+#: backend.c:10340
msgid "No engine with the name you gave is installed"
msgstr ""
-#: backend.c:10212
+#: backend.c:10342
msgid ""
"First change an engine by editing the participants list\n"
"of the Tournament Options dialog"
msgstr ""
-#: backend.c:10213
+#: backend.c:10343
msgid "You can only change one engine at the time"
msgstr ""
-#: backend.c:10228 backend.c:10375
+#: backend.c:10358 backend.c:10505
#, c-format
msgid "No engine %s is installed"
msgstr ""
-#: backend.c:10248
+#: backend.c:10378
msgid ""
"You must supply a tournament file,\n"
"for storing the tourney progress"
msgstr ""
-#: backend.c:10258
+#: backend.c:10388
msgid "Not enough participants"
msgstr ""
-#: backend.c:10459
+#: backend.c:10589
#, fuzzy
msgid "Bad tournament file"
msgstr "File partita non riconosciuto"
-#: backend.c:10471
+#: backend.c:10601
#, fuzzy
msgid "Waiting for other game(s)"
msgstr "In attesa del primo motore di gioco"
-#: backend.c:10484
+#: backend.c:10614
msgid "No pairing engine specified"
msgstr ""
-#: backend.c:10961
+#: backend.c:11092
#, c-format
msgid "Match %s vs. %s: final score %d-%d-%d"
msgstr "Match %s vs %s: punteggio finale %d-%d-%d"
-#: backend.c:11423 backend.c:11454
+#: backend.c:11554 backend.c:11585
#, c-format
msgid "Illegal move: %d.%s%s"
msgstr "Mossa illegale: %d.%s%s"
-#: backend.c:11443
+#: backend.c:11574
#, c-format
msgid "Ambiguous move: %d.%s%s"
msgstr "Mossa ambigua: %d.%s%s"
-#: backend.c:11496 backend.c:12505 backend.c:12698 backend.c:13059
+#: backend.c:11627 backend.c:12636 backend.c:12829 backend.c:13190
#, c-format
msgid "Can't open \"%s\""
msgstr "Impossibile aprire \"%s\""
-#: backend.c:11508 menus.c:116
+#: backend.c:11639 menus.c:116
msgid "Cannot build game list"
msgstr "Impossibile costruire lista delle partite"
-#: backend.c:11593
+#: backend.c:11724
msgid "No more games in this message"
msgstr "In questo messaggio non sono presenti altre partite"
-#: backend.c:11633
+#: backend.c:11764
msgid "No game has been loaded yet"
msgstr "Non è ancora stata caricata nessuna partita"
-#: backend.c:11637 backend.c:12486 ngamelist.c:129
+#: backend.c:11768 backend.c:12617 ngamelist.c:129
msgid "Can't back up any further"
msgstr "Impossibile tornare più indietro"
-#: backend.c:12058
+#: backend.c:12189
msgid "Game number out of range"
msgstr "Indice superiore al numero di partite"
-#: backend.c:12069
+#: backend.c:12200
msgid "Can't seek on game file"
msgstr "Impossibile effettuare la ricerca nel file di partita"
-#: backend.c:12127
+#: backend.c:12258
msgid "Game not found in file"
msgstr "Partita non trovata nel file"
-#: backend.c:12255 backend.c:12582
+#: backend.c:12386 backend.c:12713
msgid "Bad FEN position in file"
msgstr "Stringa FEN di posizione scorretta nel file"
-#: backend.c:12407
+#: backend.c:12538
msgid "No moves in game"
msgstr "Partita senza mosse"
-#: backend.c:12482
+#: backend.c:12613
msgid "No position has been loaded yet"
msgstr "Non è ancora stata caricata nessuna posizione"
-#: backend.c:12543 backend.c:12554
+#: backend.c:12674 backend.c:12685
msgid "Can't seek on position file"
msgstr "Impossibile effettuare la ricerca nel file di posizione"
-#: backend.c:12561 backend.c:12573
+#: backend.c:12692 backend.c:12704
msgid "Position not found in file"
msgstr "Posizione non trovata nel file"
-#: backend.c:12613
+#: backend.c:12744
msgid "Black to play"
msgstr "Il tratto è al Nero"
-#: backend.c:12616
+#: backend.c:12747
msgid "White to play"
msgstr "Il tratto è al Bianco"
-#: backend.c:12703 backend.c:13064
+#: backend.c:12834 backend.c:13195
#, fuzzy
msgid "Waiting for access to save file"
msgstr "In attesa del secondo motore di gioco"
-#: backend.c:12705
+#: backend.c:12836
msgid "Saving game"
msgstr ""
-#: backend.c:12706
+#: backend.c:12837
msgid "Bad Seek"
msgstr ""
-#: backend.c:13066
+#: backend.c:13197
#, fuzzy
msgid "Saving position"
msgstr "File posizione non riconosciuto"
-#: backend.c:13192
+#: backend.c:13323
msgid ""
"You have edited the game history.\n"
"Use Reload Same Game and make your move again."
msgstr ""
-#: backend.c:13197
+#: backend.c:13328
msgid ""
"You have entered too many moves.\n"
"Back up to the correct position and try again."
msgstr ""
-#: backend.c:13202
+#: backend.c:13333
msgid ""
"Displayed position is not current.\n"
"Step forward to the correct position and try again."
msgstr ""
-#: backend.c:13249
+#: backend.c:13380
msgid "You have not made a move yet"
msgstr "Non hai ancora fatto alcuna mossa"
-#: backend.c:13270
+#: backend.c:13401
msgid ""
"The cmail message is not loaded.\n"
"Use Reload CMail Message and make your move again."
msgstr ""
-#: backend.c:13275
+#: backend.c:13406
msgid "No unfinished games"
msgstr "Non è presente nessuna partita non terminata"
-#: backend.c:13281
+#: backend.c:13412
#, c-format
msgid ""
"You have already mailed a move.\n"
"on the command line."
msgstr ""
-#: backend.c:13296
+#: backend.c:13427
msgid "Failed to invoke cmail"
msgstr "Impossibile aprire l'applicazione cmail"
-#: backend.c:13358
+#: backend.c:13489
#, c-format
msgid "Waiting for reply from opponent\n"
msgstr "In attesa di risposta dall'avversario\n"
-#: backend.c:13380
+#: backend.c:13511
#, c-format
msgid "Still need to make move for game\n"
msgstr "Occorre ancora eseguire la mossa per la partita\n"
-#: backend.c:13384
+#: backend.c:13515
#, c-format
msgid "Still need to make moves for both games\n"
msgstr "Occorre ancora eseguire mosse per entrambe le partite\n"
-#: backend.c:13388
+#: backend.c:13519
#, c-format
msgid "Still need to make moves for all %d games\n"
msgstr "Occorre ancora eseguire mosse per tutte le %d partite\n"
-#: backend.c:13395
+#: backend.c:13526
#, c-format
msgid "Still need to make a move for game %s\n"
msgstr "Occorre ancora eseguire una mossa per la partita %s\n"
-#: backend.c:13401
+#: backend.c:13532
#, c-format
msgid "No unfinished games\n"
msgstr "Non è presente nessuna partita non terminata\n"
-#: backend.c:13403
+#: backend.c:13534
#, c-format
msgid "Ready to send mail\n"
msgstr "Pronto all'invio della posta\n"
-#: backend.c:13408
+#: backend.c:13539
#, c-format
msgid "Still need to make moves for games %s\n"
msgstr "Occorre ancora eseguire mosse per le partite %s\n"
-#: backend.c:13612
+#: backend.c:13743
msgid "Edit comment"
msgstr "Modifica commento"
-#: backend.c:13614
+#: backend.c:13745
#, c-format
msgid "Edit comment on %d.%s%s"
msgstr "Modifica commento a %d.%s%s"
-#: backend.c:13669
+#: backend.c:13800
#, c-format
msgid "You are not observing a game"
msgstr ""
-#: backend.c:13777
+#: backend.c:13908
msgid "It is not White's turn"
msgstr "Il tratto non è al Bianco"
-#: backend.c:13858
+#: backend.c:13989
msgid "It is not Black's turn"
msgstr "Il tratto non è al Nero"
-#: backend.c:13966
+#: backend.c:14097
#, c-format
msgid "Starting %s chess program"
msgstr ""
-#: backend.c:13994 backend.c:15108
+#: backend.c:14125 backend.c:15240
msgid ""
"Wait until your turn,\n"
"or select Move Now"
msgstr ""
-#: backend.c:14128
+#: backend.c:14259
msgid "Training mode off"
msgstr "Modalità Allenamento disattivata"
-#: backend.c:14136
+#: backend.c:14267
msgid "Training mode on"
msgstr "Modalità Allenamento attivata"
-#: backend.c:14139
+#: backend.c:14270
msgid "Already at end of game"
msgstr "Già alla fine della partita"
-#: backend.c:14219
+#: backend.c:14350
msgid "Warning: You are still playing a game"
msgstr "Avviso: Stai ancora giocando una partita"
-#: backend.c:14222
+#: backend.c:14353
msgid "Warning: You are still observing a game"
msgstr "Avviso: Stai ancora osservando una partita"
-#: backend.c:14225
+#: backend.c:14356
msgid "Warning: You are still examining a game"
msgstr "Avviso: Stai ancora esaminando una partita"
-#: backend.c:14292
+#: backend.c:14423
msgid "Click clock to clear board"
msgstr ""
-#: backend.c:14302
+#: backend.c:14433
msgid "Close ICS engine analyze..."
msgstr ""
-#: backend.c:14590
+#: backend.c:14722
msgid "That square is occupied"
msgstr "La casa è già occupata"
-#: backend.c:14614 backend.c:14640
+#: backend.c:14746 backend.c:14772
msgid "There is no pending offer on this move"
msgstr "Non vi è alcuna offerta pendente a questa mossa"
-#: backend.c:14676 backend.c:14687
+#: backend.c:14808 backend.c:14819
msgid "Your opponent is not out of time"
msgstr "Il tuo avversario non ha ancora esaurito il proprio tempo"
-#: backend.c:14753
+#: backend.c:14885
msgid "You must make your move before offering a draw"
msgstr "Devi eseguire la tua mossa prima di offrire la patta"
-#: backend.c:15090
+#: backend.c:15222
msgid "You are not examining a game"
msgstr "Non stai esaminando alcuna partita"
-#: backend.c:15094
+#: backend.c:15226
msgid "You can't revert while pausing"
msgstr "Non è possibile ripristinare mentre la pausa è attiva"
-#: backend.c:15148 backend.c:15155
+#: backend.c:15280 backend.c:15287
msgid "It is your turn"
msgstr "E' il tuo turno"
-#: backend.c:15206 backend.c:15213 backend.c:15266 backend.c:15273
+#: backend.c:15338 backend.c:15345 backend.c:15398 backend.c:15405
msgid "Wait until your turn"
msgstr "Attendi il tuo turno"
-#: backend.c:15218
+#: backend.c:15350
msgid "No hint available"
msgstr "Nessun suggerimento disponibile"
-#: backend.c:15234 ngamelist.c:355
+#: backend.c:15366 ngamelist.c:355
#, fuzzy
msgid "Game list not loaded or empty"
msgstr "Non è ancora stata caricata nessuna partita"
-#: backend.c:15241
+#: backend.c:15373
msgid "Book file exists! Try again for overwrite."
msgstr ""
-#: backend.c:15719
+#: backend.c:15851
#, c-format
msgid "Error writing to %s chess program"
msgstr "Errore in scrittura sul %s motore di gioco"
-#: backend.c:15722 backend.c:15753
+#: backend.c:15854 backend.c:15885
#, c-format
msgid "%s program exits in draw position (%s)"
msgstr ""
-#: backend.c:15748
+#: backend.c:15880
#, c-format
msgid "Error: %s chess program (%s) exited unexpectedly"
msgstr "Errore: il %s motore di gioco (%s) è terminato in maniera inaspettata"
-#: backend.c:15766
+#: backend.c:15898
#, c-format
msgid "Error reading from %s chess program (%s)"
msgstr "Errore in lettura dal %s motore di gioco (%s)"
-#: backend.c:16168
+#: backend.c:16301
#, c-format
msgid "%s engine has too many options\n"
msgstr ""
-#: backend.c:16324
+#: backend.c:16457
msgid "Displayed move is not current"
msgstr "La mossa mostrata non è quella corrente"
-#: backend.c:16333
+#: backend.c:16466
msgid "Could not parse move"
msgstr "Impossibile leggere mossa"
-#: backend.c:16458 backend.c:16480
+#: backend.c:16591 backend.c:16613
msgid "Both flags fell"
msgstr "Tempo esaurito per entrambi"
-#: backend.c:16460
+#: backend.c:16593
msgid "White's flag fell"
msgstr "Tempo esaurito per il Bianco"
-#: backend.c:16482
+#: backend.c:16615
msgid "Black's flag fell"
msgstr ""
-#: backend.c:16613
+#: backend.c:16746
msgid "Clock adjustment not allowed in auto-flag mode"
msgstr ""
-#: backend.c:17448
+#: backend.c:17585
msgid "Bad FEN position in clipboard"
msgstr "Stringa FEN di posizione scorretta negli Appunti"
msgid "First you must specify an existing tourney file to clone"
msgstr ""
-#: dialogs.c:332 dialogs.c:1320
+#: dialogs.c:332 dialogs.c:1322
msgid "# no engines are installed"
msgstr ""
msgid "Play Move(s) of Clicked PV (Analysis)"
msgstr ""
-#: dialogs.c:379 dialogs.c:514 menus.c:728
+#: dialogs.c:379 dialogs.c:515 menus.c:728
msgid "Ponder Next Move"
msgstr "Pensa sul mio tempo"
msgstr ""
#: dialogs.c:429
-msgid "fairy"
-msgstr "Fairy"
+msgid "ASEAN"
+msgstr ""
#: dialogs.c:430
msgid "Great Shatranj (10x8)"
msgstr ""
#: dialogs.c:447
-msgid " "
-msgstr ""
+msgid "fairy"
+msgstr "Fairy"
-#: dialogs.c:448
+#: dialogs.c:449
msgid "courier (12x8)"
msgstr ""
-#: dialogs.c:465
+#: dialogs.c:466
#, c-format
msgid "Warning: second engine (%s) does not support this!"
msgstr ""
"Attenzione: il secondo motore di gioco (%s) non supporta questa azione!"
-#: dialogs.c:488
+#: dialogs.c:489
#, c-format
msgid "Only bughouse is not available in viewer mode"
msgstr ""
-#: dialogs.c:489
+#: dialogs.c:490
#, c-format
msgid ""
"All variants not supported by first engine\n"
"(currently %s) are disabled"
msgstr ""
-#: dialogs.c:490
+#: dialogs.c:491
msgid "New Variant"
msgstr "Varianti di gioco"
-#: dialogs.c:515
+#: dialogs.c:516
msgid "Maximum Number of CPUs per Engine:"
msgstr "Num max di CPU:"
-#: dialogs.c:516
+#: dialogs.c:517
msgid "Polygot Directory:"
msgstr ""
-#: dialogs.c:517
+#: dialogs.c:518
msgid "Hash-Table Size (MB):"
msgstr "Dimensione Hash [MB]:"
-#: dialogs.c:518
+#: dialogs.c:519
msgid "Nalimov EGTB Path:"
msgstr "Cartella EGTB:"
-#: dialogs.c:519
+#: dialogs.c:520
msgid "EGTB Cache Size (MB):"
msgstr "Dimensione EGTB [MB]:"
-#: dialogs.c:520
+#: dialogs.c:521
msgid "Use GUI Book"
msgstr ""
-#: dialogs.c:521
+#: dialogs.c:522
msgid "Opening-Book Filename:"
msgstr ""
-#: dialogs.c:522
+#: dialogs.c:523
msgid "Book Depth (moves):"
msgstr "Profondità Libro:"
-#: dialogs.c:523
+#: dialogs.c:524
msgid "Book Variety (0) vs. Strength (100):"
msgstr "Varianti Libro:"
-#: dialogs.c:524
+#: dialogs.c:525
msgid "Engine #1 Has Own Book"
msgstr "Libro proprio per motore 1"
-#: dialogs.c:525
+#: dialogs.c:526
msgid "Engine #2 Has Own Book "
msgstr ""
-#: dialogs.c:534
+#: dialogs.c:535
msgid "Common Engine Settings"
msgstr "Impostazioni motori di gioco"
-#: dialogs.c:540
+#: dialogs.c:541
msgid "Detect all Mates"
msgstr "Individua scacco matto"
-#: dialogs.c:541
+#: dialogs.c:542
msgid "Verify Engine Result Claims"
msgstr "Verifica gli annunci del motore"
-#: dialogs.c:542
+#: dialogs.c:543
msgid "Draw if Insufficient Mating Material"
msgstr "Patta per materiale insufficiente"
-#: dialogs.c:543
+#: dialogs.c:544
msgid "Adjudicate Trivial Draws (3-Move Delay)"
msgstr "Aggiudica patte triviali"
-#: dialogs.c:544
+#: dialogs.c:545
msgid "N-Move Rule:"
msgstr ""
-#: dialogs.c:545
+#: dialogs.c:546
msgid "N-fold Repeats:"
msgstr ""
-#: dialogs.c:546
+#: dialogs.c:547
msgid "Draw after N Moves Total:"
msgstr "Aggiudica patta dopo:"
-#: dialogs.c:547
+#: dialogs.c:548
msgid "Win / Loss Threshold:"
msgstr "Limite per aggiudicare vinta/persa:"
-#: dialogs.c:548
+#: dialogs.c:549
msgid "Negate Score of Engine #1"
msgstr "Output motore 1 sempre riferito al Bianco"
-#: dialogs.c:549
+#: dialogs.c:550
msgid "Negate Score of Engine #2"
msgstr "Output motore 2 sempre riferito al Bianco"
-#: dialogs.c:556
+#: dialogs.c:557
#, fuzzy
msgid "Adjudicate non-ICS Games"
msgstr "Aggiudica al Bianco"
-#: dialogs.c:569
+#: dialogs.c:570
msgid "Auto-Kibitz"
msgstr "Auto Kibitz"
-#: dialogs.c:570
+#: dialogs.c:571
msgid "Auto-Comment"
msgstr "Commenti automatici"
-#: dialogs.c:571
+#: dialogs.c:572
msgid "Auto-Observe"
msgstr "Osserva automaticamente"
-#: dialogs.c:572
+#: dialogs.c:573
msgid "Auto-Raise Board"
msgstr "Porta in primo piano"
-#: dialogs.c:573
+#: dialogs.c:574
msgid "Auto-Create Logon Script"
msgstr ""
-#: dialogs.c:574
+#: dialogs.c:575
msgid "Background Observe while Playing"
msgstr "Osserva in bckgnd"
-#: dialogs.c:575
+#: dialogs.c:576
msgid "Dual Board for Background-Observed Game"
msgstr "Doppia scacchiera"
-#: dialogs.c:576
+#: dialogs.c:577
msgid "Get Move List"
msgstr "Scarica lista mosse"
-#: dialogs.c:577
+#: dialogs.c:578
msgid "Quiet Play"
msgstr "Non disturbare durante il gioco"
-#: dialogs.c:578
+#: dialogs.c:579
msgid "Seek Graph"
msgstr "Grafico delle richieste"
-#: dialogs.c:579
+#: dialogs.c:580
msgid "Auto-Refresh Seek Graph"
msgstr "Auto aggiorna"
-#: dialogs.c:580
+#: dialogs.c:581
msgid "Auto-InputBox PopUp"
msgstr ""
-#: dialogs.c:581
+#: dialogs.c:582
+#, fuzzy
+msgid "Quit after game"
+msgstr "In attesa del primo motore di gioco"
+
+#: dialogs.c:583
msgid "Premove"
msgstr "Premossa"
-#: dialogs.c:582
+#: dialogs.c:584
msgid "Premove for White"
msgstr ""
-#: dialogs.c:583
+#: dialogs.c:585
msgid "First White Move:"
msgstr "1° mossa Bianco"
-#: dialogs.c:584
+#: dialogs.c:586
msgid "Premove for Black"
msgstr ""
-#: dialogs.c:585
+#: dialogs.c:587
msgid "First Black Move:"
msgstr "1° mossa Nero"
-#: dialogs.c:587
+#: dialogs.c:589
msgid "Alarm"
msgstr "Allarme"
-#: dialogs.c:588
+#: dialogs.c:590
msgid "Alarm Time (msec):"
msgstr ""
-#: dialogs.c:590
+#: dialogs.c:592
msgid "Colorize Messages"
msgstr ""
-#: dialogs.c:591
+#: dialogs.c:593
msgid "Shout Text Colors:"
msgstr ""
-#: dialogs.c:592
+#: dialogs.c:594
msgid "S-Shout Text Colors:"
msgstr ""
-#: dialogs.c:593
+#: dialogs.c:595
msgid "Channel #1 Text Colors:"
msgstr ""
-#: dialogs.c:594
+#: dialogs.c:596
msgid "Other Channel Text Colors:"
msgstr ""
-#: dialogs.c:595
+#: dialogs.c:597
msgid "Kibitz Text Colors:"
msgstr ""
-#: dialogs.c:596
+#: dialogs.c:598
msgid "Tell Text Colors:"
msgstr ""
-#: dialogs.c:597
+#: dialogs.c:599
msgid "Challenge Text Colors:"
msgstr ""
-#: dialogs.c:598
+#: dialogs.c:600
msgid "Request Text Colors:"
msgstr ""
-#: dialogs.c:599
+#: dialogs.c:601
msgid "Seek Text Colors:"
msgstr ""
-#: dialogs.c:606
+#: dialogs.c:608
msgid "ICS Options"
msgstr "Impostazioni ICS"
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Exact position match"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Shown position is subset"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Same material with exactly same Pawn chain"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Same material"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material range (top board half optional)"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material difference (optional stuff balanced)"
msgstr ""
-#: dialogs.c:624
+#: dialogs.c:626
msgid "Auto-Display Tags"
msgstr ""
-#: dialogs.c:625
+#: dialogs.c:627
msgid "Auto-Display Comment"
msgstr ""
-#: dialogs.c:626
+#: dialogs.c:628
msgid ""
"Auto-Play speed of loaded games\n"
"(0 = instant, -1 = off):"
msgstr ""
-#: dialogs.c:627
+#: dialogs.c:629
msgid "Seconds per Move:"
msgstr ""
-#: dialogs.c:628
+#: dialogs.c:630
msgid ""
"\n"
"options to use in game-viewer mode:"
msgstr ""
-#: dialogs.c:630
+#: dialogs.c:632
msgid ""
"\n"
"Thresholds for position filtering in game list:"
msgstr ""
-#: dialogs.c:631
+#: dialogs.c:633
msgid "Elo of strongest player at least:"
msgstr ""
-#: dialogs.c:632
+#: dialogs.c:634
msgid "Elo of weakest player at least:"
msgstr ""
-#: dialogs.c:633
+#: dialogs.c:635
#, fuzzy
msgid "No games before year:"
msgstr "Non è ancora stata caricata nessuna partita"
-#: dialogs.c:634
+#: dialogs.c:636
msgid "Minimum nr consecutive positions:"
msgstr ""
-#: dialogs.c:635
+#: dialogs.c:637
msgid "Search mode:"
msgstr ""
-#: dialogs.c:636
+#: dialogs.c:638
msgid "Also match reversed colors"
msgstr ""
-#: dialogs.c:637
+#: dialogs.c:639
msgid "Also match left-right flipped position"
msgstr ""
-#: dialogs.c:645
+#: dialogs.c:647
msgid "Load Game Options"
msgstr "Impostazioni apertura partita"
-#: dialogs.c:657
+#: dialogs.c:659
msgid "Auto-Save Games"
msgstr ""
-#: dialogs.c:658
+#: dialogs.c:660
msgid "Own Games Only"
msgstr ""
-#: dialogs.c:659
+#: dialogs.c:661
msgid "Save Games on File:"
msgstr ""
-#: dialogs.c:660
+#: dialogs.c:662
msgid "Save Final Positions on File:"
msgstr ""
-#: dialogs.c:661
+#: dialogs.c:663
msgid "PGN Event Header:"
msgstr ""
-#: dialogs.c:662
+#: dialogs.c:664
msgid "Old Save Style (as opposed to PGN)"
msgstr ""
-#: dialogs.c:663
+#: dialogs.c:665
msgid "Include Number Tag in tourney PGN"
msgstr ""
-#: dialogs.c:664
+#: dialogs.c:666
msgid "Save Score/Depth Info in PGN"
msgstr ""
-#: dialogs.c:665
+#: dialogs.c:667
msgid "Save Out-of-Book Info in PGN "
msgstr ""
-#: dialogs.c:672
+#: dialogs.c:674
msgid "Save Game Options"
msgstr "Impostazioni salvataggio partita"
-#: dialogs.c:681
+#: dialogs.c:683
msgid "No Sound"
msgstr "Silenzioso"
-#: dialogs.c:682
+#: dialogs.c:684
msgid "Default Beep"
msgstr "Beep"
-#: dialogs.c:683
+#: dialogs.c:685
msgid "Above WAV File"
msgstr ""
-#: dialogs.c:684
+#: dialogs.c:686
msgid "Car Horn"
msgstr ""
-#: dialogs.c:685
+#: dialogs.c:687
msgid "Cymbal"
msgstr ""
-#: dialogs.c:686
+#: dialogs.c:688
msgid "Ding"
msgstr ""
-#: dialogs.c:687
+#: dialogs.c:689
msgid "Gong"
msgstr ""
-#: dialogs.c:688
+#: dialogs.c:690
msgid "Laser"
msgstr ""
-#: dialogs.c:689
+#: dialogs.c:691
msgid "Penalty"
msgstr ""
-#: dialogs.c:690
+#: dialogs.c:692
msgid "Phone"
msgstr ""
-#: dialogs.c:691
+#: dialogs.c:693
msgid "Pop"
msgstr ""
-#: dialogs.c:692
+#: dialogs.c:694
msgid "Slap"
msgstr ""
-#: dialogs.c:693
+#: dialogs.c:695
msgid "Wood Thunk"
msgstr ""
-#: dialogs.c:695
+#: dialogs.c:697
msgid "User File"
msgstr ""
-#: dialogs.c:717
+#: dialogs.c:719
msgid "User WAV File:"
msgstr ""
-#: dialogs.c:718
+#: dialogs.c:720
msgid "Sound Program:"
msgstr ""
-#: dialogs.c:719
+#: dialogs.c:721
msgid "Try-Out Sound:"
msgstr ""
-#: dialogs.c:720
+#: dialogs.c:722
msgid "Play"
msgstr "Ascolta"
-#: dialogs.c:721
+#: dialogs.c:723
msgid "Move:"
msgstr ""
-#: dialogs.c:722
+#: dialogs.c:724
msgid "Win:"
msgstr ""
-#: dialogs.c:723
+#: dialogs.c:725
msgid "Lose:"
msgstr ""
-#: dialogs.c:724
+#: dialogs.c:726
msgid "Draw:"
msgstr ""
-#: dialogs.c:725
+#: dialogs.c:727
msgid "Unfinished:"
msgstr ""
-#: dialogs.c:726
+#: dialogs.c:728
msgid "Alarm:"
msgstr ""
-#: dialogs.c:727
+#: dialogs.c:729
msgid "Challenge:"
msgstr ""
-#: dialogs.c:729
+#: dialogs.c:731
msgid "Sounds Directory:"
msgstr ""
-#: dialogs.c:730
+#: dialogs.c:732
msgid "Shout:"
msgstr ""
-#: dialogs.c:731
+#: dialogs.c:733
msgid "S-Shout:"
msgstr ""
-#: dialogs.c:732
+#: dialogs.c:734
msgid "Channel:"
msgstr ""
-#: dialogs.c:733
+#: dialogs.c:735
msgid "Channel 1:"
msgstr ""
-#: dialogs.c:734
+#: dialogs.c:736
msgid "Tell:"
msgstr ""
-#: dialogs.c:735
+#: dialogs.c:737
msgid "Kibitz:"
msgstr ""
-#: dialogs.c:736
+#: dialogs.c:738
msgid "Request:"
msgstr ""
-#: dialogs.c:737
+#: dialogs.c:739
msgid "Seek:"
msgstr ""
-#: dialogs.c:753
+#: dialogs.c:755
msgid "Sound Options"
msgstr "Impostazioni suoni"
-#: dialogs.c:774
+#: dialogs.c:776
msgid "White Piece Color:"
msgstr ""
#. TRANSLATORS: R = single letter for the color red
-#: dialogs.c:777 dialogs.c:786 dialogs.c:792 dialogs.c:798 dialogs.c:804
-#: dialogs.c:810
+#: dialogs.c:779 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
+#: dialogs.c:812
msgid "R"
msgstr ""
#. TRANSLATORS: G = single letter for the color green
-#: dialogs.c:779 dialogs.c:787 dialogs.c:793 dialogs.c:799 dialogs.c:805
-#: dialogs.c:811
+#: dialogs.c:781 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
+#: dialogs.c:813
msgid "G"
msgstr ""
#. TRANSLATORS: B = single letter for the color blue
-#: dialogs.c:781 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
-#: dialogs.c:812
+#: dialogs.c:783 dialogs.c:790 dialogs.c:796 dialogs.c:802 dialogs.c:808
+#: dialogs.c:814
msgid "B"
msgstr ""
#. TRANSLATORS: D = single letter to make a color darker
-#: dialogs.c:783 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
-#: dialogs.c:813
+#: dialogs.c:785 dialogs.c:791 dialogs.c:797 dialogs.c:803 dialogs.c:809
+#: dialogs.c:815
msgid "D"
msgstr ""
-#: dialogs.c:784
+#: dialogs.c:786
msgid "Black Piece Color:"
msgstr "Pezzi neri"
-#: dialogs.c:790
+#: dialogs.c:792
msgid "Light Square Color:"
msgstr "Case bianche"
-#: dialogs.c:796
+#: dialogs.c:798
msgid "Dark Square Color:"
msgstr "Case nere"
-#: dialogs.c:802
+#: dialogs.c:804
msgid "Highlight Color:"
msgstr "Case evidenziate"
-#: dialogs.c:808
+#: dialogs.c:810
msgid "Premove Highlight Color:"
msgstr "Premosse evidenziate"
-#: dialogs.c:814
+#: dialogs.c:816
msgid "Flip Pieces Shogi Style (Colored buttons restore default)"
msgstr ""
-#: dialogs.c:816
+#: dialogs.c:818
msgid "Mono Mode"
msgstr "Monocromatico"
-#: dialogs.c:817
+#: dialogs.c:819
msgid "Line Gap ( -1 = default for board size):"
msgstr ""
-#: dialogs.c:818
+#: dialogs.c:820
msgid "Use Board Textures"
msgstr ""
-#: dialogs.c:819
+#: dialogs.c:821
msgid "Light-Squares Texture File:"
msgstr ""
-#: dialogs.c:820
+#: dialogs.c:822
msgid "Dark-Squares Texture File:"
msgstr ""
-#: dialogs.c:821
+#: dialogs.c:823
msgid "Use external piece bitmaps with their own colors"
msgstr ""
-#: dialogs.c:822
+#: dialogs.c:824
msgid "Directory with Pieces Images:"
msgstr ""
-#: dialogs.c:872
+#: dialogs.c:874
msgid "Board Options"
msgstr "Impostazioni scacchiera"
-#: dialogs.c:925 menus.c:634
+#: dialogs.c:927 menus.c:634
msgid "ICS text menu"
msgstr ""
-#: dialogs.c:947
+#: dialogs.c:949
msgid "clear"
msgstr ""
-#: dialogs.c:948 dialogs.c:1036
+#: dialogs.c:950 dialogs.c:1038
msgid "save changes"
msgstr ""
-#: dialogs.c:1051
+#: dialogs.c:1053
#, fuzzy
msgid "Edit book"
msgstr "Modifica"
-#: dialogs.c:1051 menus.c:636
+#: dialogs.c:1053 menus.c:636
msgid "Tags"
msgstr "Informazioni partita"
-#: dialogs.c:1193
+#: dialogs.c:1195
msgid "ICS input box"
msgstr ""
-#: dialogs.c:1225
+#: dialogs.c:1227
msgid "Type a move"
msgstr ""
-#: dialogs.c:1251
+#: dialogs.c:1253
#, fuzzy
msgid "Engine has no options"
msgstr "Libro proprio per motore 1"
-#: dialogs.c:1253
+#: dialogs.c:1255
msgid "Engine Settings"
msgstr ""
-#: dialogs.c:1278
+#: dialogs.c:1280
msgid "Select engine from list:"
msgstr ""
-#: dialogs.c:1281
+#: dialogs.c:1283
msgid "or specify one below:"
msgstr ""
-#: dialogs.c:1282
+#: dialogs.c:1284
msgid "Nickname (optional):"
msgstr ""
-#: dialogs.c:1283
+#: dialogs.c:1285
msgid "Use nickname in PGN player tags of engine-engine games"
msgstr ""
-#: dialogs.c:1284
+#: dialogs.c:1286
msgid "Engine Directory:"
msgstr ""
-#: dialogs.c:1285
+#: dialogs.c:1287
msgid "Engine Command:"
msgstr ""
-#: dialogs.c:1286
+#: dialogs.c:1288
msgid "(Directory will be derived from engine path when empty)"
msgstr ""
-#: dialogs.c:1287
+#: dialogs.c:1289
msgid "UCI"
msgstr ""
-#: dialogs.c:1288
+#: dialogs.c:1290
msgid "WB protocol v1 (do not wait for engine features)"
msgstr ""
-#: dialogs.c:1289
+#: dialogs.c:1291
msgid "Must not use GUI book"
msgstr ""
-#: dialogs.c:1290
+#: dialogs.c:1292
msgid "Add this engine to the list"
msgstr ""
-#: dialogs.c:1291
+#: dialogs.c:1293
msgid "Force current variant with this engine"
msgstr ""
-#: dialogs.c:1341
+#: dialogs.c:1343
msgid "Load first engine"
msgstr ""
-#: dialogs.c:1347
+#: dialogs.c:1349
msgid "Load second engine"
msgstr ""
-#: dialogs.c:1370
+#: dialogs.c:1372
msgid "shuffle"
msgstr ""
-#: dialogs.c:1371
+#: dialogs.c:1373
msgid "Start-position number:"
msgstr "Disposizione iniziale:"
-#: dialogs.c:1372
+#: dialogs.c:1374
#, fuzzy
msgid "randomize"
msgstr "Casuale"
-#: dialogs.c:1373
+#: dialogs.c:1375
msgid "pick fixed"
msgstr ""
-#: dialogs.c:1390
+#: dialogs.c:1392
msgid "New Shuffle Game"
msgstr "Nuova partita Shuffle..."
-#: dialogs.c:1409
+#: dialogs.c:1411
msgid "classical"
msgstr ""
-#: dialogs.c:1410
+#: dialogs.c:1412
msgid "incremental"
msgstr ""
-#: dialogs.c:1411
+#: dialogs.c:1413
msgid "fixed max"
msgstr ""
-#: dialogs.c:1412
+#: dialogs.c:1414
msgid "Moves per session:"
msgstr ""
-#: dialogs.c:1413
+#: dialogs.c:1415
msgid "Initial time (min):"
msgstr ""
-#: dialogs.c:1414
+#: dialogs.c:1416
msgid "Increment or max (sec/move):"
msgstr ""
-#: dialogs.c:1415
+#: dialogs.c:1417
#, fuzzy
msgid "Time-Odds factors:"
msgstr "Riduci il tempo di un fattore:"
-#: dialogs.c:1416
+#: dialogs.c:1418
#, fuzzy
msgid "Engine #1"
msgstr "Motore"
-#: dialogs.c:1417
+#: dialogs.c:1419
#, fuzzy
msgid "Engine #2 / Human"
msgstr "Libro proprio per motore 1"
-#: dialogs.c:1457 dialogs.c:1460 dialogs.c:1465 dialogs.c:1466
+#: dialogs.c:1459 dialogs.c:1462 dialogs.c:1467 dialogs.c:1468
#: gtk/xoptions.c:191
msgid "Unused"
msgstr ""
-#: dialogs.c:1478
+#: dialogs.c:1480
msgid "Time Control"
msgstr ""
-#: dialogs.c:1507
+#: dialogs.c:1509
msgid "Error writing to chess program"
msgstr "Errore in scrittura sul motore di gioco"
-#: dialogs.c:1574
+#: dialogs.c:1576
#, fuzzy
msgid "Cancel"
msgstr "Cancella"
-#: dialogs.c:1579 dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1581 dialogs.c:1973 dialogs.c:1977
msgid "King"
msgstr "Re"
-#: dialogs.c:1582
+#: dialogs.c:1584
msgid "Captain"
msgstr ""
-#: dialogs.c:1583
+#: dialogs.c:1585
msgid "Lieutenant"
msgstr ""
-#: dialogs.c:1584
+#: dialogs.c:1586
msgid "General"
msgstr "Generali..."
-#: dialogs.c:1585
+#: dialogs.c:1587
msgid "Warlord"
msgstr ""
-#: dialogs.c:1587 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1589 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Knight"
msgstr "Cavallo"
-#: dialogs.c:1588 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1590 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Bishop"
msgstr "Alfiere"
-#: dialogs.c:1589 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1591 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Rook"
msgstr "Torre"
-#: dialogs.c:1593 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1595 dialogs.c:1974 dialogs.c:1978
msgid "Archbishop"
msgstr "Arcivescovo"
-#: dialogs.c:1594 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1596 dialogs.c:1974 dialogs.c:1978
msgid "Chancellor"
msgstr "Cancelliere"
-#: dialogs.c:1596 dialogs.c:1971 dialogs.c:1975 dialogs.c:1993
+#: dialogs.c:1598 dialogs.c:1973 dialogs.c:1977 dialogs.c:1995
msgid "Queen"
msgstr "Donna"
-#: dialogs.c:1600
+#: dialogs.c:1602
msgid "Defer"
msgstr ""
-#: dialogs.c:1601 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1603 dialogs.c:1974 dialogs.c:1978
msgid "Promote"
msgstr "Promuovi"
-#: dialogs.c:1616
+#: dialogs.c:1618
msgid "Chat partner:"
msgstr ""
-#: dialogs.c:1701
+#: dialogs.c:1703
msgid "Chat box"
msgstr ""
-#: dialogs.c:1742
+#: dialogs.c:1744
msgid "factory"
msgstr "Fabbrica"
-#: dialogs.c:1743
+#: dialogs.c:1745
msgid "up"
msgstr "Muovi su"
-#: dialogs.c:1744
+#: dialogs.c:1746
msgid "down"
msgstr "Muovi giu"
-#: dialogs.c:1762
+#: dialogs.c:1764
msgid "No tag selected"
msgstr ""
-#: dialogs.c:1793
+#: dialogs.c:1795
#, fuzzy
msgid "Game-list options"
msgstr "Impostazioni apertura partita"
-#: dialogs.c:1869 dialogs.c:1883
+#: dialogs.c:1871 dialogs.c:1885
msgid "Error"
msgstr "Errore"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Fatal Error"
msgstr "Errore fatale"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Exiting"
msgstr "Chiusura in corso"
-#: dialogs.c:1917
+#: dialogs.c:1919
msgid "Information"
msgstr "Informazione"
-#: dialogs.c:1924
+#: dialogs.c:1926
msgid "Note"
msgstr "Nota"
-#: dialogs.c:1970 dialogs.c:2245 dialogs.c:2248
+#: dialogs.c:1972 dialogs.c:2252 dialogs.c:2255
msgid "White"
msgstr "Bianco"
-#: dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Pawn"
msgstr "Pedone"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Elephant"
msgstr "Elefante"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Cannon"
msgstr "Cannone"
-#: dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1974 dialogs.c:1978
msgid "Demote"
msgstr "Degrada"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Empty square"
msgstr "Casa vuota"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Clear board"
msgstr "Svuota scacchiera"
-#: dialogs.c:1974 dialogs.c:2257 dialogs.c:2260
+#: dialogs.c:1976 dialogs.c:2264 dialogs.c:2267
msgid "Black"
msgstr "Nero"
-#: dialogs.c:2073 menus.c:787
+#: dialogs.c:2075 menus.c:787
msgid "File"
msgstr "File"
-#: dialogs.c:2074 menus.c:788
+#: dialogs.c:2076 menus.c:788
msgid "Edit"
msgstr "Modifica"
-#: dialogs.c:2075 menus.c:789
+#: dialogs.c:2077 menus.c:789
msgid "View"
msgstr "Visualizza"
-#: dialogs.c:2076 menus.c:790
+#: dialogs.c:2078 menus.c:790
msgid "Mode"
msgstr "Modalità"
-#: dialogs.c:2077 menus.c:791
+#: dialogs.c:2079 menus.c:791
msgid "Action"
msgstr "Azioni"
-#: dialogs.c:2078 menus.c:792
+#: dialogs.c:2080 menus.c:792
msgid "Engine"
msgstr "Motore"
-#: dialogs.c:2079 menus.c:793
+#: dialogs.c:2081 menus.c:793
msgid "Options"
msgstr "Impostazioni"
-#: dialogs.c:2080 menus.c:794
+#: dialogs.c:2082 menus.c:794
msgid "Help"
msgstr "Aiuto"
-#: dialogs.c:2090
+#: dialogs.c:2092
msgid "<<"
msgstr ""
-#: dialogs.c:2091
+#: dialogs.c:2093
msgid "<"
msgstr ""
-#: dialogs.c:2093
+#: dialogs.c:2095
msgid ">"
msgstr ""
-#: dialogs.c:2094
+#: dialogs.c:2096
msgid ">>"
msgstr ""
-#: dialogs.c:2364
+#: dialogs.c:2371
msgid "Directories:"
msgstr ""
-#: dialogs.c:2365
+#: dialogs.c:2372
#, fuzzy
msgid "Files:"
msgstr "File"
-#: dialogs.c:2366
+#: dialogs.c:2373
msgid "by name"
msgstr ""
-#: dialogs.c:2367
+#: dialogs.c:2374
msgid "by type"
msgstr ""
-#: dialogs.c:2370
+#: dialogs.c:2377
#, fuzzy
msgid "Filename:"
msgstr "Filtro"
-#: dialogs.c:2371
+#: dialogs.c:2378
msgid "New directory"
msgstr ""
-#: dialogs.c:2372
+#: dialogs.c:2379
#, fuzzy
msgid "File type:"
msgstr "Filtro"
-#: dialogs.c:2447
+#: dialogs.c:2454
#, fuzzy
msgid "Contents of"
msgstr "Commenti"
-#: dialogs.c:2473
+#: dialogs.c:2480
msgid " next page"
msgstr ""
-#: dialogs.c:2495
+#: dialogs.c:2502
msgid "FIRST TYPE DIRECTORY NAME HERE"
msgstr ""
-#: dialogs.c:2496
+#: dialogs.c:2503
msgid "TRY ANOTHER NAME"
msgstr ""
--- /dev/null
+# Dutch translations for GNU xboard.
+# Copyright (C) 2013 Free Software Foundation, Inc.
+# This file is distributed under the same license as the xboard package.
+#
+# "The patterns change, and never are the same again."
+#
+# Benno Schulenberg <benno@vertaalt.nl>, 2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU xboard 4.7.2\n"
+"Report-Msgid-Bugs-To: bug-xboard@gnu.org\n"
+"POT-Creation-Date: 2013-08-28 22:03-0700\n"
+"PO-Revision-Date: 2013-11-26 12:11+0100\n"
+"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
+"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: nl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 1.0\n"
+
+#: args.h:821
+#, c-format
+msgid "%s in settings file\n"
+msgstr "%s in instellingenbestand\n"
+
+#: args.h:831
+#, c-format
+msgid "Bad integer value %s"
+msgstr "Ongeldig geheel getal: %s"
+
+#: args.h:924 args.h:1165
+#, c-format
+msgid "Unrecognized argument %s"
+msgstr "Niet-herkend argument: %s"
+
+#: args.h:955
+#, c-format
+msgid "No value provided for argument %s"
+msgstr "Geen waarde gegeven voor argument %s"
+
+#: args.h:1015
+#, c-format
+msgid "Incomplete \\ escape in value for %s"
+msgstr "Onvolledige \\-stuurcode in waarde voor %s"
+
+#: args.h:1120
+#, c-format
+msgid "Failed to open indirection file %s"
+msgstr "Kan indirectiebestand %s niet openen"
+
+#: args.h:1137
+#, c-format
+msgid "Unrecognized boolean argument value %s"
+msgstr "Niet-herkende booleaanse waarde: %s"
+
+#. TRANSLATORS: "first" is the first of possible two chess engines. It is inserted into strings
+#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
+#: backend.c:753
+msgid "first"
+msgstr "eerste"
+
+#. TRANSLATORS: "second" is the second of possible two chess engines. It is inserted into strings
+#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
+#: backend.c:756
+msgid "second"
+msgstr "tweede"
+
+#: backend.c:837
+#, c-format
+msgid "protocol version %d not supported"
+msgstr "protocolversie %d wordt niet ondersteund"
+
+#: backend.c:943
+msgid "You did not specify the engine executable"
+msgstr "U hebt geen automaatbestand opgegeven"
+
+#: backend.c:999
+#, c-format
+msgid "bad timeControl option %s"
+msgstr "ongeldige timeControl-optie: %s"
+
+#: backend.c:1014
+#, c-format
+msgid "bad searchTime option %s"
+msgstr "ongeldige searchTime-optie: %s"
+
+#: backend.c:1120
+#, c-format
+msgid "Variant %s supported only in ICS mode"
+msgstr "Variant %s wordt alleen ondersteund in ICS-modus"
+
+#: backend.c:1138
+#, c-format
+msgid "Unknown variant name %s"
+msgstr "Onbekende variantnaam: %s"
+
+#: backend.c:1386
+msgid "Starting chess program"
+msgstr "Starten van schaakprogramma"
+
+#: backend.c:1409
+msgid "Bad game file"
+msgstr "Incorrect partijbestand"
+
+#: backend.c:1416
+msgid "Bad position file"
+msgstr "Incorrect positiebestand"
+
+#: backend.c:1430
+msgid "Pick new game"
+msgstr "Kies een nieuwe partij"
+
+#: backend.c:1499
+msgid ""
+"You restarted an already completed tourney\n"
+"One more cycle will now be added to it\n"
+"Games commence in 10 sec"
+msgstr ""
+"U hebt een reeds voltooid toernooi herstart.\n"
+"Er wordt een extra cyclus aan toegevoegd.\n"
+"De partijen beginnen in tien seconden."
+
+#: backend.c:1506
+#, c-format
+msgid "All games in tourney '%s' are already played or playing"
+msgstr "Alle partijen in toernooi '%s' zijn al gespeeld of spelen nog"
+
+#: backend.c:1513
+msgid "Can't have a match with no chess programs"
+msgstr "Er is geen match mogelijk zonder schaakprogramma's."
+
+#: backend.c:1550
+#, c-format
+msgid "Could not open comm port %s"
+msgstr "Kan communicatiepoort %s niet openen"
+
+#: backend.c:1553
+#, c-format
+msgid "Could not connect to host %s, port %s"
+msgstr "Kan geen verbinding maken met host %s, poort %s"
+
+#: backend.c:1609
+#, c-format
+msgid "Unknown initialMode %s"
+msgstr "Onbekende initialMode %s"
+
+#: backend.c:1635
+msgid "AnalyzeFile mode requires a game file"
+msgstr "AnalyzeFile-modus vereist een partijbestand"
+
+#: backend.c:1662
+msgid "Analysis mode requires a chess engine"
+msgstr "Analysemodus vereist een schaakprogramma"
+
+#: backend.c:1666
+msgid "Analysis mode does not work with ICS mode"
+msgstr "Analysemodus werkt niet met ICS-modus"
+
+#: backend.c:1677
+msgid "MachineWhite mode requires a chess engine"
+msgstr "MachineWhite-modus vereist een schaakprogramma"
+
+#: backend.c:1682
+msgid "MachineWhite mode does not work with ICS mode"
+msgstr "MachineWhite-modus werkt niet met ICS-modus"
+
+#: backend.c:1689
+msgid "MachineBlack mode requires a chess engine"
+msgstr "MachineBlack-modus vereist een schaakprogramma"
+
+#: backend.c:1694
+msgid "MachineBlack mode does not work with ICS mode"
+msgstr "MachineBlack-modus werkt niet met ICS-modus"
+
+#: backend.c:1701
+msgid "TwoMachines mode requires a chess engine"
+msgstr "TwoMachines-modus vereist een schaakprogramma"
+
+#: backend.c:1706
+msgid "TwoMachines mode does not work with ICS mode"
+msgstr "TwoMachines-modus werkt niet met ICS-modus"
+
+#: backend.c:1717
+msgid "Training mode requires a game file"
+msgstr "Trainingsmodus vereist een partijbestand"
+
+#: backend.c:1880 backend.c:1935 backend.c:1958 backend.c:2357
+msgid "Error writing to ICS"
+msgstr "Fout bij schrijven naar ICS"
+
+#: backend.c:1895
+msgid "Error reading from keyboard"
+msgstr "Fout bij lezen van toetsenbord"
+
+#: backend.c:1898
+msgid "Got end of file from keyboard"
+msgstr "Einde-van-bestand ontvangen van toetsenbord"
+
+#: backend.c:2203
+#, c-format
+msgid "Unknown wild type %d"
+msgstr "Onbekend wild type %d"
+
+#: backend.c:2274 usystem.c:329
+msgid "Error writing to display"
+msgstr "Fout bij schrijven naar beeldscherm"
+
+#: backend.c:3030
+#, c-format
+msgid "your opponent kibitzes: %s"
+msgstr "uw tegenstander kwekt: %s"
+
+#: backend.c:3559
+msgid "Error gathering move list: two headers"
+msgstr "Fout bij lezen van zettenlijst: twee koppen"
+
+#: backend.c:3606
+msgid "Error gathering move list: nested"
+msgstr "Fout bij lezen van zettenlijst: genest"
+
+#: backend.c:3710 backend.c:4128 backend.c:4332 backend.c:4891 backend.c:4895
+#: backend.c:6919 backend.c:12213 backend.c:13928 backend.c:14005
+#: backend.c:14051 backend.c:14057 backend.c:14062 backend.c:14067
+msgid "vs."
+msgstr "tegen"
+
+#: backend.c:3838
+msgid "Illegal move (rejected by ICS)"
+msgstr "Ongeldige zet (geweigerd door ICS)"
+
+#: backend.c:4176
+msgid "Connection closed by ICS"
+msgstr "Verbinding is gesloten door ICS"
+
+#: backend.c:4178
+msgid "Error reading from ICS"
+msgstr "Fout bij lezen van ICS"
+
+#: backend.c:4255
+#, c-format
+msgid ""
+"Failed to parse board string:\n"
+"\"%s\""
+msgstr ""
+"Ontleden van bordtekenreeks is mislukt:\n"
+"\"%s\""
+
+#: backend.c:4264 backend.c:9885
+msgid "Game too long; increase MAX_MOVES and recompile"
+msgstr "*** Partij is te lang; verhoog MAX_MOVES en hercompileer."
+
+#: backend.c:4383
+msgid "Error gathering move list: extra board"
+msgstr "Fout bij lezen van zettenlijst: extra bord"
+
+#: backend.c:4815 backend.c:4837
+#, c-format
+msgid "Couldn't parse move \"%s\" from ICS"
+msgstr "Kan zet \"%s\" van ICS niet ontleden"
+
+#: backend.c:5074
+#, c-format
+msgid "say Internal error; bad moveType %d (%d,%d-%d,%d)"
+msgstr "**interne programmafout**; ongeldig moveType %d (%d,%d-%d,%d)"
+
+#: backend.c:5145
+msgid "You cannot do this while you are playing or observing"
+msgstr "U kunt dit niet doen tijdens het spelen of bekijken."
+
+#: backend.c:6046
+msgid "Recompile to support this BOARD_RANKS or BOARD_FILES!"
+msgstr "*** Hercompileer om BOARD_RANKS of BOARD_FILES te ondersteunen."
+
+#: backend.c:6510
+msgid "You are playing Black"
+msgstr "U speelt met zwart"
+
+#: backend.c:6519 backend.c:6546
+msgid "You are playing White"
+msgstr "U speelt met wit"
+
+#: backend.c:6528 backend.c:6554 backend.c:6674 backend.c:6699 backend.c:6715
+#: backend.c:14705
+msgid "It is White's turn"
+msgstr "Wit is aan zet"
+
+#: backend.c:6532 backend.c:6558 backend.c:6682 backend.c:6705 backend.c:6736
+#: backend.c:14697
+msgid "It is Black's turn"
+msgstr "Zwart is aan zet"
+
+#: backend.c:6571
+msgid "Displayed position is not current"
+msgstr "Getoonde positie is niet de huidige"
+
+#: backend.c:6809
+msgid "Illegal move"
+msgstr "Ongeldige zet"
+
+#: backend.c:6876
+msgid "End of game"
+msgstr "Einde van partij"
+
+#: backend.c:6879
+msgid "Incorrect move"
+msgstr "Onjuiste zet"
+
+#: backend.c:7257 backend.c:7392
+msgid "Pull pawn backwards to under-promote"
+msgstr "Beweeg pion terug voor onderpromotie."
+
+#: backend.c:7364
+msgid "only marked squares are legal"
+msgstr ""
+
+#: backend.c:7624
+msgid "Swiss tourney finished"
+msgstr "Zwitsers toernooi is beëindigd"
+
+#: backend.c:8199
+msgid "Invalid pairing from pairing engine"
+msgstr "Ongeldig koppel van koppelautomaat"
+
+#: backend.c:8332
+#, c-format
+msgid "Illegal move \"%s\" from %s machine"
+msgstr "Ongeldige zet \"%s\" van automaat %s"
+
+#: backend.c:8564
+msgid "Bad FEN received from engine"
+msgstr "Ongeldige FEN ontvangen van automaat"
+
+#: backend.c:8730 backend.c:13793 backend.c:13858
+#, c-format
+msgid "%s does not support analysis"
+msgstr "%s ondersteunt geen analyse"
+
+#: backend.c:8796
+#, c-format
+msgid "Illegal move \"%s\" (rejected by %s chess program)"
+msgstr "Ongeldige zet \"%s\" (geweigerd door schaakprogramma %s)"
+
+#: backend.c:8823
+#, c-format
+msgid "Failed to start %s chess program %s on %s: %s\n"
+msgstr "Starten van %s-schaakprogramma %s op %s is mislukt: %s\n"
+
+#: backend.c:8844
+#, c-format
+msgid "Hint: %s"
+msgstr "Hint: %s"
+
+#: backend.c:8849
+#, c-format
+msgid ""
+"Illegal hint move \"%s\"\n"
+"from %s chess program"
+msgstr ""
+"Ongeldige hintzet \"%s\"\n"
+"van schaakprogramma %s."
+
+#: backend.c:9024
+msgid "Machine accepts your draw offer"
+msgstr "Automaat accepteert uw remise-aanbod"
+
+# XXX punten
+#: backend.c:9027
+msgid ""
+"Machine offers a draw\n"
+"Select Action / Draw to agree"
+msgstr ""
+"Automaat biedt remise aan.\n"
+"Kies Actie > Remise om te accepteren."
+
+#: backend.c:9106
+msgid "failed writing PV"
+msgstr "schrijven hoofdvariant is mislukt"
+
+#: backend.c:9404
+#, c-format
+msgid "Ambiguous move in ICS output: \"%s\""
+msgstr "Niet-eenduidige zet in ICS-uitvoer: \"%s\""
+
+#: backend.c:9414
+#, c-format
+msgid "Illegal move in ICS output: \"%s\""
+msgstr "Ongeldige zet in ICS-uitvoer: \"%s\""
+
+#: backend.c:9425
+msgid "Gap in move list"
+msgstr "Gat in zettenlijst"
+
+#: backend.c:10046 dialogs.c:461
+#, c-format
+msgid "Variant %s not supported by %s"
+msgstr "Variant %s wordt niet ondersteund door %s"
+
+#: backend.c:10167
+#, c-format
+msgid "Startup failure on '%s'"
+msgstr "Opstartfout bij '%s'"
+
+#: backend.c:10198
+msgid "Waiting for first chess program"
+msgstr "Wachten op eerste schaakprogramma"
+
+#: backend.c:10203 backend.c:14076
+msgid "Waiting for second chess program"
+msgstr "Wachten op tweede schaakprogramma"
+
+#: backend.c:10252
+msgid "Could not write on tourney file"
+msgstr "Kan niet naar toernooibestand schrijven."
+
+#: backend.c:10326
+msgid ""
+"You cannot replace an engine while it is engaged!\n"
+"Terminate its game first."
+msgstr ""
+"U kunt een automaat niet vervangen terwijl deze\n"
+"gebruikt wordt. Beëindig eerst diens partij."
+
+#: backend.c:10340
+msgid "No engine with the name you gave is installed"
+msgstr "Er is geen automaat met de gegeven naam geïnstalleerd"
+
+#: backend.c:10342
+msgid ""
+"First change an engine by editing the participants list\n"
+"of the Tournament Options dialog"
+msgstr ""
+
+#: backend.c:10343
+msgid "You can only change one engine at the time"
+msgstr "U kunt slechts één automaat tegelijk wijzigen"
+
+#: backend.c:10358 backend.c:10505
+#, c-format
+msgid "No engine %s is installed"
+msgstr "Automaat '%s' is niet geïnstalleerd"
+
+#: backend.c:10378
+msgid ""
+"You must supply a tournament file,\n"
+"for storing the tourney progress"
+msgstr ""
+"U dient een toernooibestand op te geven,\n"
+"om de toernooivoortgang in op te slaan."
+
+#: backend.c:10388
+msgid "Not enough participants"
+msgstr "Te weinig deelnemers"
+
+#: backend.c:10589
+msgid "Bad tournament file"
+msgstr "Incorrect toernooibestand"
+
+#: backend.c:10601
+msgid "Waiting for other game(s)"
+msgstr "Wachten op andere partij(en)"
+
+#: backend.c:10614
+msgid "No pairing engine specified"
+msgstr "Geen koppelautomaat gegeven"
+
+#: backend.c:11092
+#, c-format
+msgid "Match %s vs. %s: final score %d-%d-%d"
+msgstr "Match van %s tegen %s: eindscore %d-%d-%d"
+
+#: backend.c:11554 backend.c:11585
+#, c-format
+msgid "Illegal move: %d.%s%s"
+msgstr "Ongeldige zet: %d.%s%s"
+
+#: backend.c:11574
+#, c-format
+msgid "Ambiguous move: %d.%s%s"
+msgstr "Niet-eenduidige zet: %d.%s%s"
+
+#: backend.c:11627 backend.c:12636 backend.c:12829 backend.c:13190
+#, c-format
+msgid "Can't open \"%s\""
+msgstr "Kan \"%s\" niet openen"
+
+#: backend.c:11639 menus.c:116
+msgid "Cannot build game list"
+msgstr "Kan partijenlijst niet samenstellen"
+
+#: backend.c:11724
+msgid "No more games in this message"
+msgstr "Geen verdere partijen in dit bericht"
+
+#: backend.c:11764
+msgid "No game has been loaded yet"
+msgstr "Er is nog geen partij geladen"
+
+#: backend.c:11768 backend.c:12617 ngamelist.c:129
+msgid "Can't back up any further"
+msgstr "Kan niet nog verder teruggaan"
+
+#: backend.c:12189
+msgid "Game number out of range"
+msgstr "Partijnummer valt buiten bereik"
+
+#: backend.c:12200
+msgid "Can't seek on game file"
+msgstr "Kan niet springen in partijbestand"
+
+#: backend.c:12258
+msgid "Game not found in file"
+msgstr "Partij niet gevonden in bestand"
+
+#: backend.c:12386 backend.c:12713
+msgid "Bad FEN position in file"
+msgstr "Ongeldige FEN-positie in bestand"
+
+#: backend.c:12538
+msgid "No moves in game"
+msgstr "Partij bevat geen zetten"
+
+#: backend.c:12613
+msgid "No position has been loaded yet"
+msgstr "Er is nog geen positie geladen"
+
+#: backend.c:12674 backend.c:12685
+msgid "Can't seek on position file"
+msgstr "Kan niet springen in positiebestand"
+
+#: backend.c:12692 backend.c:12704
+msgid "Position not found in file"
+msgstr "Positie niet gevonden in bestand"
+
+#: backend.c:12744
+msgid "Black to play"
+msgstr "Zwart is aan zet"
+
+#: backend.c:12747
+msgid "White to play"
+msgstr "Wit is aan zet"
+
+#: backend.c:12834 backend.c:13195
+msgid "Waiting for access to save file"
+msgstr "Wachten op toegang om bestand op te slaan"
+
+#: backend.c:12836
+msgid "Saving game"
+msgstr "Opslaan van partij"
+
+#: backend.c:12837
+msgid "Bad Seek"
+msgstr "Ongeldige bestandssprong"
+
+#: backend.c:13197
+msgid "Saving position"
+msgstr "Opslaan van positie"
+
+# XXX Reload Same Game is not in POT
+#: backend.c:13323
+msgid ""
+"You have edited the game history.\n"
+"Use Reload Same Game and make your move again."
+msgstr ""
+"U hebt de partijgeschiedenis bewerkt.\n"
+"Gebruik «Zelfde partij herladen» en doe uw zet opnieuw."
+
+#: backend.c:13328
+msgid ""
+"You have entered too many moves.\n"
+"Back up to the correct position and try again."
+msgstr ""
+"U hebt te veel zetten ingevoerd.\n"
+"Ga terug naar de correcte positie en probeer het opnieuw."
+
+#: backend.c:13333
+msgid ""
+"Displayed position is not current.\n"
+"Step forward to the correct position and try again."
+msgstr ""
+"Getoonde positie is niet de huidige.\n"
+"Ga vooruit naar de correcte positie en probeer het opnieuw."
+
+#: backend.c:13380
+msgid "You have not made a move yet"
+msgstr "U hebt nog geen zet gedaan"
+
+#: backend.c:13401
+msgid ""
+"The cmail message is not loaded.\n"
+"Use Reload CMail Message and make your move again."
+msgstr ""
+"Het CMail-bericht is niet geladen.\n"
+"Gebruik «CMail-bericht herladen» en doe uw zet opnieuw."
+
+#: backend.c:13406
+msgid "No unfinished games"
+msgstr "Geen onafgemaakte partijen"
+
+#: backend.c:13412
+#, c-format
+msgid ""
+"You have already mailed a move.\n"
+"Wait until a move arrives from your opponent.\n"
+"To resend the same move, type\n"
+"\"cmail -remail -game %s\"\n"
+"on the command line."
+msgstr ""
+
+#: backend.c:13427
+msgid "Failed to invoke cmail"
+msgstr "Aanroepen van 'cmail' is mislukt"
+
+#: backend.c:13489
+#, c-format
+msgid "Waiting for reply from opponent\n"
+msgstr "Wachten op antwoord van tegenstander\n"
+
+#: backend.c:13511
+#, c-format
+msgid "Still need to make move for game\n"
+msgstr "U dient nog een zet te doen voor deze partij.\n"
+
+#: backend.c:13515
+#, c-format
+msgid "Still need to make moves for both games\n"
+msgstr "U dient nog zetten te doen voor beide partijen.\n"
+
+#: backend.c:13519
+#, c-format
+msgid "Still need to make moves for all %d games\n"
+msgstr "U dient nog zetten te doen voor alle %d partijen.\n"
+
+#: backend.c:13526
+#, c-format
+msgid "Still need to make a move for game %s\n"
+msgstr "U dient nog een zet te doen voor partij %s.\n"
+
+#: backend.c:13532
+#, c-format
+msgid "No unfinished games\n"
+msgstr "Geen onafgemaakte partijen.\n"
+
+#: backend.c:13534
+#, c-format
+msgid "Ready to send mail\n"
+msgstr "Klaar om mail te verzenden.\n"
+
+#: backend.c:13539
+#, c-format
+msgid "Still need to make moves for games %s\n"
+msgstr "U dient nog zetten te doen voor partijen %s.\n"
+
+#: backend.c:13743
+msgid "Edit comment"
+msgstr "Opmerking bewerken"
+
+#: backend.c:13745
+#, c-format
+msgid "Edit comment on %d.%s%s"
+msgstr "Opmerking op %d.%s%s bewerken"
+
+#: backend.c:13800
+#, c-format
+msgid "You are not observing a game"
+msgstr "U bent geen partij aan het bekijken."
+
+#: backend.c:13908
+msgid "It is not White's turn"
+msgstr "Wit is niet aan zet"
+
+#: backend.c:13989
+msgid "It is not Black's turn"
+msgstr "Zwart is niet aan zet"
+
+#: backend.c:14097
+#, c-format
+msgid "Starting %s chess program"
+msgstr "Starten van schaakprogramma %s"
+
+#: backend.c:14125 backend.c:15240
+msgid ""
+"Wait until your turn,\n"
+"or select Move Now"
+msgstr ""
+"Wacht op uw beurt,\n"
+"of kies «Nu zetten»."
+
+#: backend.c:14259
+msgid "Training mode off"
+msgstr "Trainingsmodus is uitgeschakeld"
+
+#: backend.c:14267
+msgid "Training mode on"
+msgstr "Trainingsmodus is ingeschakeld"
+
+#: backend.c:14270
+msgid "Already at end of game"
+msgstr "Reeds aan einde van partij."
+
+#: backend.c:14350
+msgid "Warning: You are still playing a game"
+msgstr "Waarschuwing: u bent nog een partij aan het spelen."
+
+#: backend.c:14353
+msgid "Warning: You are still observing a game"
+msgstr "Waarschuwing: u bent nog een partij aan het bekijken."
+
+#: backend.c:14356
+msgid "Warning: You are still examining a game"
+msgstr "Waarschuwing: u bent nog een partij aan het bestuderen."
+
+#: backend.c:14423
+msgid "Click clock to clear board"
+msgstr "Klik op klok om bord leeg te maken."
+
+# XXX analysis?
+#: backend.c:14433
+msgid "Close ICS engine analyze..."
+msgstr ""
+
+#: backend.c:14722
+msgid "That square is occupied"
+msgstr "Dat veld is bezet."
+
+#: backend.c:14746 backend.c:14772
+msgid "There is no pending offer on this move"
+msgstr "Er is geen aanbod op deze zet."
+
+#: backend.c:14808 backend.c:14819
+msgid "Your opponent is not out of time"
+msgstr "Uw tegenstander heeft nog tijd."
+
+#: backend.c:14885
+msgid "You must make your move before offering a draw"
+msgstr "U dient uw zet te doen alvorens remise aan te bieden."
+
+#: backend.c:15222
+msgid "You are not examining a game"
+msgstr "U bent geen partij aan het bestuderen."
+
+#: backend.c:15226
+msgid "You can't revert while pausing"
+msgstr "U kunt niet terugdraaien tijdens pauze."
+
+#: backend.c:15280 backend.c:15287
+msgid "It is your turn"
+msgstr "U bent aan zet"
+
+#: backend.c:15338 backend.c:15345 backend.c:15398 backend.c:15405
+msgid "Wait until your turn"
+msgstr "Wacht op uw beurt"
+
+#: backend.c:15350
+msgid "No hint available"
+msgstr "Geen hint beschikbaar"
+
+#: backend.c:15366 ngamelist.c:355
+msgid "Game list not loaded or empty"
+msgstr "Partijenlijst is leeg of niet geladen"
+
+#: backend.c:15373
+msgid "Book file exists! Try again for overwrite."
+msgstr "Bestand bestaat al. Probeer het opnieuw om deze te overschrijven."
+
+#: backend.c:15851
+#, c-format
+msgid "Error writing to %s chess program"
+msgstr "Fout bij schrijven naar schaakprogramma %s"
+
+#: backend.c:15854 backend.c:15885
+#, c-format
+msgid "%s program exits in draw position (%s)"
+msgstr ""
+
+#: backend.c:15880
+#, c-format
+msgid "Error: %s chess program (%s) exited unexpectedly"
+msgstr ""
+
+#: backend.c:15898
+#, c-format
+msgid "Error reading from %s chess program (%s)"
+msgstr "Fout bij lezen van schaakprogramma %s (%s)"
+
+#: backend.c:16301
+#, c-format
+msgid "%s engine has too many options\n"
+msgstr "automaat %s heeft te veel opties\n"
+
+#: backend.c:16457
+msgid "Displayed move is not current"
+msgstr "Getoonde zet is niet de huidige"
+
+#: backend.c:16466
+msgid "Could not parse move"
+msgstr "Kan zet niet ontleden"
+
+#: backend.c:16591 backend.c:16613
+msgid "Both flags fell"
+msgstr "Beide vlaggen zijn gevallen"
+
+#: backend.c:16593
+msgid "White's flag fell"
+msgstr "Wits vlag is gevallen"
+
+#: backend.c:16615
+msgid "Black's flag fell"
+msgstr "Zwarts vlag is gevallen"
+
+#: backend.c:16746
+msgid "Clock adjustment not allowed in auto-flag mode"
+msgstr "Klokbijstelling is niet toegestaan in auto-vlagmodus"
+
+#: backend.c:17585
+msgid "Bad FEN position in clipboard"
+msgstr "Ongeldige FEN-positie op het klembord"
+
+#: book.c:577 book.c:830
+msgid "Polyglot book not valid"
+msgstr "Polyglot-boek is ongeldig"
+
+#: book.c:701
+msgid "Book Fault"
+msgstr "Fout in boek"
+
+#: book.c:833
+msgid "Hash keys are different"
+msgstr "Hash-sleutels zijn verschillend"
+
+#: book.c:1000
+msgid "Could not create book"
+msgstr "Kan geen boek aanmaken"
+
+#: dialogs.c:259
+msgid "Tournament file: "
+msgstr "Toernooibestand: "
+
+#: dialogs.c:260
+msgid "Sync after round"
+msgstr ""
+
+#: dialogs.c:261
+msgid " (for concurrent playing of a single"
+msgstr ""
+
+#: dialogs.c:262
+msgid "Sync after cycle"
+msgstr ""
+
+#: dialogs.c:263
+msgid " tourney with multiple XBoards)"
+msgstr ""
+
+#: dialogs.c:264
+msgid "Tourney participants:"
+msgstr "Toernooi-deelnemers:"
+
+#: dialogs.c:265
+msgid "Select Engine:"
+msgstr "Kies automaat:"
+
+#: dialogs.c:273
+msgid "Tourney type (0 = round-robin, 1 = gauntlet):"
+msgstr "Toernooitype (0 = op-de-rij-af, 1 = handschoen):"
+
+#: dialogs.c:274
+#, fuzzy
+msgid "Number of tourney cycles (or Swiss rounds):"
+msgstr "Aantal toernooirondes:"
+
+#: dialogs.c:275
+msgid "Default Number of Games in Match (or Pairing):"
+msgstr ""
+
+#: dialogs.c:276
+msgid "Pause between Match Games (msec):"
+msgstr ""
+
+#: dialogs.c:277
+msgid "Save Tourney Games on:"
+msgstr "Toernooipartijen bewaren op:"
+
+#: dialogs.c:278
+msgid "Game File with Opening Lines:"
+msgstr ""
+
+#: dialogs.c:279
+msgid "Game Number (-1 or -2 = Auto-Increment):"
+msgstr ""
+
+#: dialogs.c:280
+msgid "File with Start Positions:"
+msgstr "Bestand met startposities:"
+
+#: dialogs.c:281
+msgid "Position Number (-1 or -2 = Auto-Increment):"
+msgstr ""
+
+#: dialogs.c:282
+msgid "Rewind Index after this many Games (0 = never):"
+msgstr ""
+
+#: dialogs.c:283
+msgid "Disable own engine books by default"
+msgstr ""
+
+#: dialogs.c:284
+msgid "Replace Engine"
+msgstr "Automaat vervangen"
+
+#: dialogs.c:285
+msgid "Upgrade Engine"
+msgstr "Automaat upgraden"
+
+#: dialogs.c:286
+msgid "Clone Tourney"
+msgstr "Toernooi klonen"
+
+#: dialogs.c:316
+msgid "First you must specify an existing tourney file to clone"
+msgstr "U dient eerst een bestaand toernooibestand op te geven"
+
+#: dialogs.c:332 dialogs.c:1322
+#, fuzzy
+msgid "# no engines are installed"
+msgstr "# er zijn geen automaten geïnstalleerd"
+
+#: dialogs.c:344
+msgid "Match Options"
+msgstr "Match-opties"
+
+#: dialogs.c:363
+msgid "Absolute Analysis Scores"
+msgstr ""
+
+#: dialogs.c:364
+#, fuzzy
+msgid "Almost Always Queen (Detour Under-Promote)"
+msgstr "Bijna altijd koningin (soms onderpromoveren)"
+
+#: dialogs.c:365 menus.c:714
+msgid "Animate Dragging"
+msgstr "Slepen animeren"
+
+#: dialogs.c:366 menus.c:715
+msgid "Animate Moving"
+msgstr "Zetten animeren"
+
+#: dialogs.c:367 menus.c:716
+msgid "Auto Flag"
+msgstr "Vanzelf vlaggen"
+
+#: dialogs.c:368 menus.c:717
+msgid "Auto Flip View"
+msgstr "Bord vanzelf draaien"
+
+#: dialogs.c:369 menus.c:718
+msgid "Blindfold"
+msgstr "Geblinddoekt"
+
+#: dialogs.c:370
+msgid "Drop Menu"
+msgstr "Plaatsingsmenu"
+
+#: dialogs.c:371
+msgid "Enable Variation Trees"
+msgstr "Variatiebomen inschakelen"
+
+#: dialogs.c:372
+msgid "Hide Thinking from Human"
+msgstr "Denken verbergen voor mens"
+
+#: dialogs.c:373 menus.c:723
+msgid "Highlight Last Move"
+msgstr "Laatste zet markeren"
+
+#: dialogs.c:374
+msgid "Highlight with Arrow"
+msgstr "Markeren met pijl"
+
+#: dialogs.c:375 menus.c:726
+msgid "One-Click Moving"
+msgstr "Eenkliks zetten"
+
+#: dialogs.c:376
+msgid "Periodic Updates (in Analysis Mode)"
+msgstr "Periodieke updates (in analysemodus)"
+
+#: dialogs.c:378
+msgid "Play Move(s) of Clicked PV (Analysis)"
+msgstr ""
+
+#: dialogs.c:379 dialogs.c:515 menus.c:728
+msgid "Ponder Next Move"
+msgstr "Volgende zet overdenken"
+
+#: dialogs.c:380
+msgid "Popup Exit Messages"
+msgstr "Popup-afsluitberichten"
+
+#: dialogs.c:381 menus.c:730
+msgid "Popup Move Errors"
+msgstr "Popup-zetfouten"
+
+#: dialogs.c:382
+msgid "Scores in Move List"
+msgstr "Scores in zettenlijst"
+
+#: dialogs.c:383
+msgid "Show Coordinates"
+msgstr "Coördinaten tonen"
+
+#: dialogs.c:384
+msgid "Show Target Squares"
+msgstr "Doelvelden tonen"
+
+#: dialogs.c:385
+msgid "Sticky Windows"
+msgstr ""
+
+#: dialogs.c:386 menus.c:733
+msgid "Test Legality"
+msgstr "Geldigheid testen"
+
+#: dialogs.c:387
+msgid "Top-Level Dialogs"
+msgstr "Topniveau-dialogen"
+
+#: dialogs.c:388
+msgid "Flash Moves (0 = no flashing):"
+msgstr "Zetten knipperen (0 = niet knipperen):"
+
+#: dialogs.c:389
+msgid "Flash Rate (high = fast):"
+msgstr "Knippersnelheid (hoog = snel):"
+
+#: dialogs.c:390
+#, fuzzy
+msgid "Animation Speed (high = slow):"
+msgstr "Animatiesnelheid (hoog = langzaam):"
+
+#: dialogs.c:391
+msgid "Zoom factor in Evaluation Graph:"
+msgstr "Zoomfactor in evaluatiegrafiek:"
+
+#: dialogs.c:400
+msgid "General Options"
+msgstr "Algemene opties"
+
+#: dialogs.c:410
+msgid "normal"
+msgstr "normaal"
+
+#: dialogs.c:411
+msgid "makruk"
+msgstr "Makruk"
+
+#: dialogs.c:412
+msgid "FRC"
+msgstr "FRC"
+
+#: dialogs.c:413
+msgid "shatranj"
+msgstr "Shatranj"
+
+#: dialogs.c:414
+msgid "wild castle"
+msgstr "wilde rokade"
+
+#: dialogs.c:415
+msgid "knightmate"
+msgstr "paardmat"
+
+#: dialogs.c:416
+msgid "no castle"
+msgstr "geen rokade"
+
+#: dialogs.c:417
+msgid "cylinder *"
+msgstr "cilinder *"
+
+#: dialogs.c:418
+msgid "3-checks"
+msgstr "drie keer schaak"
+
+#: dialogs.c:419
+msgid "berolina *"
+msgstr "berolina *"
+
+#: dialogs.c:420
+msgid "atomic"
+msgstr "atomisch"
+
+#: dialogs.c:421
+msgid "two kings"
+msgstr "twee koningen"
+
+#: dialogs.c:422
+msgid "Board size ( -1 = default for selected variant):"
+msgstr "Bordafmetingen (-1 = standaard voor de variant):"
+
+#: dialogs.c:423
+msgid "Number of Board Ranks:"
+msgstr "Aantal bordrijen:"
+
+#: dialogs.c:424
+msgid "Number of Board Files:"
+msgstr "Aantal bordlijnen:"
+
+#: dialogs.c:425
+msgid "Holdings Size:"
+msgstr "Stalgrootte:"
+
+#: dialogs.c:429
+msgid "ASEAN"
+msgstr ""
+
+#: dialogs.c:430
+msgid "Great Shatranj (10x8)"
+msgstr "Grote Shatranj (10x8)"
+
+#: dialogs.c:431
+msgid "Seirawan"
+msgstr "Seirawan"
+
+#: dialogs.c:432
+msgid "falcon (10x8)"
+msgstr "Falcon (10x8)"
+
+#: dialogs.c:433
+msgid "Superchess"
+msgstr "Superschaak"
+
+#: dialogs.c:434
+msgid "Capablanca (10x8)"
+msgstr "Capablanca (10x8)"
+
+#: dialogs.c:435
+msgid "crazyhouse"
+msgstr "crazyhouse"
+
+#: dialogs.c:436
+msgid "Gothic (10x8)"
+msgstr "Gothic (10x8)"
+
+#: dialogs.c:437
+msgid "bughouse"
+msgstr "bughouse"
+
+#: dialogs.c:438
+msgid "janus (10x8)"
+msgstr "Janus (10x8)"
+
+#: dialogs.c:439
+msgid "suicide"
+msgstr "suicide"
+
+#: dialogs.c:440
+msgid "CRC (10x8)"
+msgstr "CRC (10x8)"
+
+#: dialogs.c:441
+msgid "give-away"
+msgstr "weggever"
+
+#: dialogs.c:442
+msgid "grand (10x10)"
+msgstr "Grand (10x10)"
+
+#: dialogs.c:443
+msgid "losers"
+msgstr "verliezers"
+
+#: dialogs.c:444
+msgid "shogi (9x9)"
+msgstr "Shogi (9x9)"
+
+#: dialogs.c:445
+msgid "Spartan"
+msgstr "Spartaans"
+
+#: dialogs.c:446
+msgid "xiangqi (9x10)"
+msgstr "Xiangqi (9x10)"
+
+#: dialogs.c:447
+msgid "fairy"
+msgstr "Fairy"
+
+#: dialogs.c:449
+msgid "courier (12x8)"
+msgstr "Courier (12x8)"
+
+#: dialogs.c:466
+#, c-format
+msgid "Warning: second engine (%s) does not support this!"
+msgstr "Waarschuwing: tweede automaat (%s) ondersteunt dit niet."
+
+#: dialogs.c:489
+#, c-format
+msgid "Only bughouse is not available in viewer mode"
+msgstr ""
+
+#: dialogs.c:490
+#, c-format
+msgid ""
+"All variants not supported by first engine\n"
+"(currently %s) are disabled"
+msgstr ""
+"Varianten die de eerste automaat (momenteel\n"
+"%s) niet kent zijn onkiesbaar."
+
+# XXX "NEW" is confusing, plural is better
+#: dialogs.c:491
+msgid "New Variant"
+msgstr "Varianten"
+
+#: dialogs.c:516
+msgid "Maximum Number of CPUs per Engine:"
+msgstr "Maximum aantal processoren per automaat:"
+
+#: dialogs.c:517
+msgid "Polygot Directory:"
+msgstr "Polygot-map:"
+
+#: dialogs.c:518
+msgid "Hash-Table Size (MB):"
+msgstr "Grootte van hash-tabel (MB):"
+
+#: dialogs.c:519
+msgid "Nalimov EGTB Path:"
+msgstr "Nalimov-EGTB-pad:"
+
+#: dialogs.c:520
+msgid "EGTB Cache Size (MB):"
+msgstr "Grootte van EGTB-cache (MB):"
+
+#: dialogs.c:521
+msgid "Use GUI Book"
+msgstr ""
+
+#: dialogs.c:522
+msgid "Opening-Book Filename:"
+msgstr "Bestandsnaam van openingenboek:"
+
+#: dialogs.c:523
+msgid "Book Depth (moves):"
+msgstr "Boekdiepte (zetten):"
+
+#: dialogs.c:524
+msgid "Book Variety (0) vs. Strength (100):"
+msgstr ""
+
+#: dialogs.c:525
+msgid "Engine #1 Has Own Book"
+msgstr "Automaat #1 heeft eigen boek"
+
+# XXX why the spaces?
+#: dialogs.c:526
+msgid "Engine #2 Has Own Book "
+msgstr "Automaat #2 heeft eigen boek"
+
+#: dialogs.c:535
+msgid "Common Engine Settings"
+msgstr "Algemene automaatinstellingen"
+
+#: dialogs.c:541
+msgid "Detect all Mates"
+msgstr "Alle matten detecteren"
+
+#: dialogs.c:542
+msgid "Verify Engine Result Claims"
+msgstr ""
+
+#: dialogs.c:543
+msgid "Draw if Insufficient Mating Material"
+msgstr "Remise bij onvoldoende matmateriaal"
+
+#: dialogs.c:544
+msgid "Adjudicate Trivial Draws (3-Move Delay)"
+msgstr "Eenvoudige remises beslissen (3 zetten uitstel)"
+
+#: dialogs.c:545
+msgid "N-Move Rule:"
+msgstr ""
+
+#: dialogs.c:546
+msgid "N-fold Repeats:"
+msgstr ""
+
+#: dialogs.c:547
+msgid "Draw after N Moves Total:"
+msgstr ""
+
+#: dialogs.c:548
+msgid "Win / Loss Threshold:"
+msgstr "Winst/verlies-grenswaarde:"
+
+#: dialogs.c:549
+msgid "Negate Score of Engine #1"
+msgstr ""
+
+#: dialogs.c:550
+msgid "Negate Score of Engine #2"
+msgstr ""
+
+#: dialogs.c:557
+msgid "Adjudicate non-ICS Games"
+msgstr ""
+
+#: dialogs.c:570
+msgid "Auto-Kibitz"
+msgstr ""
+
+#: dialogs.c:571
+msgid "Auto-Comment"
+msgstr ""
+
+#: dialogs.c:572
+msgid "Auto-Observe"
+msgstr ""
+
+#: dialogs.c:573
+msgid "Auto-Raise Board"
+msgstr ""
+
+#: dialogs.c:574
+msgid "Auto-Create Logon Script"
+msgstr ""
+
+#: dialogs.c:575
+msgid "Background Observe while Playing"
+msgstr ""
+
+#: dialogs.c:576
+msgid "Dual Board for Background-Observed Game"
+msgstr ""
+
+#: dialogs.c:577
+msgid "Get Move List"
+msgstr "Zettenlijst ophalen"
+
+#: dialogs.c:578
+msgid "Quiet Play"
+msgstr ""
+
+#: dialogs.c:579
+msgid "Seek Graph"
+msgstr ""
+
+#: dialogs.c:580
+msgid "Auto-Refresh Seek Graph"
+msgstr ""
+
+#: dialogs.c:581
+msgid "Auto-InputBox PopUp"
+msgstr ""
+
+#: dialogs.c:582
+#, fuzzy
+msgid "Quit after game"
+msgstr "Wachten op andere partij(en)"
+
+#: dialogs.c:583
+msgid "Premove"
+msgstr ""
+
+#: dialogs.c:584
+msgid "Premove for White"
+msgstr ""
+
+#: dialogs.c:585
+msgid "First White Move:"
+msgstr "Eerste zet van wit:"
+
+#: dialogs.c:586
+msgid "Premove for Black"
+msgstr ""
+
+#: dialogs.c:587
+msgid "First Black Move:"
+msgstr "Eerste zet van zwart:"
+
+#: dialogs.c:589
+msgid "Alarm"
+msgstr ""
+
+#: dialogs.c:590
+msgid "Alarm Time (msec):"
+msgstr ""
+
+#: dialogs.c:592
+msgid "Colorize Messages"
+msgstr "Berichten kleuren"
+
+#: dialogs.c:593
+msgid "Shout Text Colors:"
+msgstr ""
+
+#: dialogs.c:594
+msgid "S-Shout Text Colors:"
+msgstr ""
+
+#: dialogs.c:595
+msgid "Channel #1 Text Colors:"
+msgstr "Kanaal-1-tekstkleuren:"
+
+#: dialogs.c:596
+msgid "Other Channel Text Colors:"
+msgstr "Anderekanaal-tekstkleuren:"
+
+#: dialogs.c:597
+msgid "Kibitz Text Colors:"
+msgstr "Kwek-tekstkleuren:"
+
+#: dialogs.c:598
+msgid "Tell Text Colors:"
+msgstr ""
+
+#: dialogs.c:599
+msgid "Challenge Text Colors:"
+msgstr ""
+
+#: dialogs.c:600
+msgid "Request Text Colors:"
+msgstr "Verzoek-tekstkleuren:"
+
+#: dialogs.c:601
+msgid "Seek Text Colors:"
+msgstr ""
+
+#: dialogs.c:608
+msgid "ICS Options"
+msgstr "ICS-opties"
+
+#: dialogs.c:613
+msgid "Exact position match"
+msgstr "Exacte positie-overeenkomst"
+
+#: dialogs.c:613
+msgid "Shown position is subset"
+msgstr "Getoonde positie is een subset"
+
+#: dialogs.c:613
+msgid "Same material with exactly same Pawn chain"
+msgstr "Zelfde materiaal met exact dezelfde pionketen"
+
+#: dialogs.c:614
+msgid "Same material"
+msgstr "Zelfde materiaal"
+
+#: dialogs.c:614
+msgid "Material range (top board half optional)"
+msgstr "Materiaalbereik (bovenste bordhelft is optioneel)"
+
+#: dialogs.c:614
+msgid "Material difference (optional stuff balanced)"
+msgstr "Materiaalverschil (optioneel spul is in evenwicht)"
+
+#: dialogs.c:626
+msgid "Auto-Display Tags"
+msgstr "Labels vanzelf tonen"
+
+#: dialogs.c:627
+msgid "Auto-Display Comment"
+msgstr "Opmerkingen vanzelf tonen"
+
+#: dialogs.c:628
+msgid ""
+"Auto-Play speed of loaded games\n"
+"(0 = instant, -1 = off):"
+msgstr ""
+"Speelsnelheid van geladen partijen\n"
+"(0 = instantaan, -1 = uit):"
+
+#: dialogs.c:629
+msgid "Seconds per Move:"
+msgstr "Seconden per zet:"
+
+#: dialogs.c:630
+msgid ""
+"\n"
+"options to use in game-viewer mode:"
+msgstr ""
+
+#: dialogs.c:632
+msgid ""
+"\n"
+"Thresholds for position filtering in game list:"
+msgstr ""
+
+#: dialogs.c:633
+msgid "Elo of strongest player at least:"
+msgstr "Elo van sterkste speler minstens:"
+
+#: dialogs.c:634
+msgid "Elo of weakest player at least:"
+msgstr "Elo van zwakste speler minstens:"
+
+#: dialogs.c:635
+msgid "No games before year:"
+msgstr "Geen partijen vóór het jaar:"
+
+#: dialogs.c:636
+msgid "Minimum nr consecutive positions:"
+msgstr "Minimum aantal opeenvolgende posities:"
+
+#: dialogs.c:637
+msgid "Search mode:"
+msgstr "Zoekmodus:"
+
+#: dialogs.c:638
+msgid "Also match reversed colors"
+msgstr "Ook matchen met verwisselde kleuren"
+
+#: dialogs.c:639
+msgid "Also match left-right flipped position"
+msgstr "Ook matchen met links-rechts gespiegelde positie"
+
+#: dialogs.c:647
+msgid "Load Game Options"
+msgstr "Partij-opties laden"
+
+#: dialogs.c:659
+msgid "Auto-Save Games"
+msgstr "Partijen auto-opslaan"
+
+#: dialogs.c:660
+msgid "Own Games Only"
+msgstr "Alleen eigen partijen"
+
+#: dialogs.c:661
+msgid "Save Games on File:"
+msgstr "Partijen opslaan in:"
+
+#: dialogs.c:662
+msgid "Save Final Positions on File:"
+msgstr "Eindposities opslaan in:"
+
+#: dialogs.c:663
+msgid "PGN Event Header:"
+msgstr ""
+
+#: dialogs.c:664
+msgid "Old Save Style (as opposed to PGN)"
+msgstr ""
+
+#: dialogs.c:665
+msgid "Include Number Tag in tourney PGN"
+msgstr "Nummerlabel in toernooi-PGN opnemen"
+
+#: dialogs.c:666
+msgid "Save Score/Depth Info in PGN"
+msgstr ""
+
+#: dialogs.c:667
+msgid "Save Out-of-Book Info in PGN "
+msgstr ""
+
+#: dialogs.c:674
+msgid "Save Game Options"
+msgstr "Partij-opties opslaan"
+
+#: dialogs.c:683
+msgid "No Sound"
+msgstr "Geen geluid"
+
+#: dialogs.c:684
+msgid "Default Beep"
+msgstr "Standaardpiep"
+
+#: dialogs.c:685
+msgid "Above WAV File"
+msgstr ""
+
+#: dialogs.c:686
+msgid "Car Horn"
+msgstr "Claxon"
+
+#: dialogs.c:687
+msgid "Cymbal"
+msgstr "Cymbaal"
+
+#: dialogs.c:688
+msgid "Ding"
+msgstr "Ding"
+
+#: dialogs.c:689
+msgid "Gong"
+msgstr "Gong"
+
+#: dialogs.c:690
+msgid "Laser"
+msgstr "Laser"
+
+#: dialogs.c:691
+msgid "Penalty"
+msgstr "Penalty"
+
+#: dialogs.c:692
+msgid "Phone"
+msgstr "Telefoon"
+
+#: dialogs.c:693
+msgid "Pop"
+msgstr "Plop"
+
+#: dialogs.c:694
+msgid "Slap"
+msgstr "Klap"
+
+#: dialogs.c:695
+msgid "Wood Thunk"
+msgstr "Houtplok"
+
+#: dialogs.c:697
+msgid "User File"
+msgstr "Gebruikersbestand"
+
+#: dialogs.c:719
+msgid "User WAV File:"
+msgstr "Gebruikers-WAV-bestand:"
+
+#: dialogs.c:720
+msgid "Sound Program:"
+msgstr "Geluidsprogramma:"
+
+#: dialogs.c:721
+msgid "Try-Out Sound:"
+msgstr "Probeer geluid:"
+
+#: dialogs.c:722
+#, fuzzy
+msgid "Play"
+msgstr "Afspelen"
+
+#: dialogs.c:723
+msgid "Move:"
+msgstr "Zet:"
+
+#: dialogs.c:724
+msgid "Win:"
+msgstr "Gewonnen:"
+
+#: dialogs.c:725
+msgid "Lose:"
+msgstr "Verloren:"
+
+#: dialogs.c:726
+msgid "Draw:"
+msgstr "Remise:"
+
+#: dialogs.c:727
+msgid "Unfinished:"
+msgstr "Onafgemaakt:"
+
+#: dialogs.c:728
+msgid "Alarm:"
+msgstr ""
+
+#: dialogs.c:729
+msgid "Challenge:"
+msgstr ""
+
+#: dialogs.c:731
+msgid "Sounds Directory:"
+msgstr "Geluidenmap:"
+
+#: dialogs.c:732
+msgid "Shout:"
+msgstr ""
+
+#: dialogs.c:733
+msgid "S-Shout:"
+msgstr ""
+
+#: dialogs.c:734
+msgid "Channel:"
+msgstr "Kanaal:"
+
+#: dialogs.c:735
+msgid "Channel 1:"
+msgstr "Kanaal 1:"
+
+#: dialogs.c:736
+msgid "Tell:"
+msgstr ""
+
+#: dialogs.c:737
+msgid "Kibitz:"
+msgstr ""
+
+#: dialogs.c:738
+msgid "Request:"
+msgstr "Verzoek:"
+
+#: dialogs.c:739
+msgid "Seek:"
+msgstr ""
+
+#: dialogs.c:755
+msgid "Sound Options"
+msgstr "Geluidsopties"
+
+#: dialogs.c:776
+msgid "White Piece Color:"
+msgstr "Kleur van wit stuk:"
+
+#. TRANSLATORS: R = single letter for the color red
+#: dialogs.c:779 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
+#: dialogs.c:812
+msgid "R"
+msgstr "R"
+
+#. TRANSLATORS: G = single letter for the color green
+#: dialogs.c:781 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
+#: dialogs.c:813
+msgid "G"
+msgstr "G"
+
+#. TRANSLATORS: B = single letter for the color blue
+#: dialogs.c:783 dialogs.c:790 dialogs.c:796 dialogs.c:802 dialogs.c:808
+#: dialogs.c:814
+msgid "B"
+msgstr "B"
+
+#. TRANSLATORS: D = single letter to make a color darker
+#: dialogs.c:785 dialogs.c:791 dialogs.c:797 dialogs.c:803 dialogs.c:809
+#: dialogs.c:815
+msgid "D"
+msgstr "D"
+
+#: dialogs.c:786
+msgid "Black Piece Color:"
+msgstr "Kleur van zwart stuk:"
+
+#: dialogs.c:792
+msgid "Light Square Color:"
+msgstr "Kleur van licht veld:"
+
+#: dialogs.c:798
+msgid "Dark Square Color:"
+msgstr "Kleur van donker veld:"
+
+#: dialogs.c:804
+msgid "Highlight Color:"
+msgstr "Markeringskleur:"
+
+#: dialogs.c:810
+msgid "Premove Highlight Color:"
+msgstr ""
+
+#: dialogs.c:816
+msgid "Flip Pieces Shogi Style (Colored buttons restore default)"
+msgstr ""
+
+#: dialogs.c:818
+msgid "Mono Mode"
+msgstr ""
+
+#: dialogs.c:819
+msgid "Line Gap ( -1 = default for board size):"
+msgstr ""
+
+#: dialogs.c:820
+msgid "Use Board Textures"
+msgstr "Bordtexturen gebruiken"
+
+#: dialogs.c:821
+msgid "Light-Squares Texture File:"
+msgstr "Textuurbestand voor lichte velden:"
+
+#: dialogs.c:822
+msgid "Dark-Squares Texture File:"
+msgstr "Textuurbestand voor donkere velden:"
+
+#: dialogs.c:823
+msgid "Use external piece bitmaps with their own colors"
+msgstr ""
+
+#: dialogs.c:824
+msgid "Directory with Pieces Images:"
+msgstr ""
+
+#: dialogs.c:874
+msgid "Board Options"
+msgstr "Bordopties"
+
+#: dialogs.c:927 menus.c:634
+msgid "ICS text menu"
+msgstr "ICS-tekstmenu"
+
+#: dialogs.c:949
+msgid "clear"
+msgstr "wissen"
+
+#: dialogs.c:950 dialogs.c:1038
+msgid "save changes"
+msgstr "wijzigingen opslaan"
+
+#: dialogs.c:1053
+msgid "Edit book"
+msgstr "Boek bewerken"
+
+#: dialogs.c:1053 menus.c:636
+msgid "Tags"
+msgstr "Labels"
+
+#: dialogs.c:1195
+msgid "ICS input box"
+msgstr "ICS-invoervak"
+
+#: dialogs.c:1227
+msgid "Type a move"
+msgstr "Typ een zet"
+
+#: dialogs.c:1253
+msgid "Engine has no options"
+msgstr "Automaat heeft geen opties"
+
+#: dialogs.c:1255
+msgid "Engine Settings"
+msgstr "Automaatinstellingen"
+
+#: dialogs.c:1280
+msgid "Select engine from list:"
+msgstr "Selecteer een automaat uit de lijst:"
+
+#: dialogs.c:1283
+msgid "or specify one below:"
+msgstr "of geef er hieronder een op:"
+
+#: dialogs.c:1284
+msgid "Nickname (optional):"
+msgstr "Bijnaam (optioneel):"
+
+#: dialogs.c:1285
+msgid "Use nickname in PGN player tags of engine-engine games"
+msgstr ""
+
+#: dialogs.c:1286
+msgid "Engine Directory:"
+msgstr "Automatenmap:"
+
+#: dialogs.c:1287
+msgid "Engine Command:"
+msgstr ""
+
+#: dialogs.c:1288
+msgid "(Directory will be derived from engine path when empty)"
+msgstr ""
+
+#: dialogs.c:1289
+msgid "UCI"
+msgstr "UCI"
+
+#: dialogs.c:1290
+msgid "WB protocol v1 (do not wait for engine features)"
+msgstr ""
+
+#: dialogs.c:1291
+msgid "Must not use GUI book"
+msgstr ""
+
+#: dialogs.c:1292
+msgid "Add this engine to the list"
+msgstr "Deze automaat aan de lijst toevoegen"
+
+#: dialogs.c:1293
+msgid "Force current variant with this engine"
+msgstr ""
+
+#: dialogs.c:1343
+msgid "Load first engine"
+msgstr "Eerste automaat laden"
+
+#: dialogs.c:1349
+msgid "Load second engine"
+msgstr "Tweede automaat laden"
+
+#: dialogs.c:1372
+msgid "shuffle"
+msgstr "Husselen"
+
+#: dialogs.c:1373
+msgid "Start-position number:"
+msgstr "Startpositienummer:"
+
+#: dialogs.c:1374
+msgid "randomize"
+msgstr "Willekeurig"
+
+#: dialogs.c:1375
+msgid "pick fixed"
+msgstr "Vaste kiezen"
+
+#: dialogs.c:1392
+msgid "New Shuffle Game"
+msgstr "Husselpartij"
+
+#: dialogs.c:1411
+msgid "classical"
+msgstr "klassiek"
+
+#: dialogs.c:1412
+#, fuzzy
+msgid "incremental"
+msgstr "incrementeel"
+
+#: dialogs.c:1413
+msgid "fixed max"
+msgstr ""
+
+#: dialogs.c:1414
+msgid "Moves per session:"
+msgstr "Zetten per sessie:"
+
+#: dialogs.c:1415
+msgid "Initial time (min):"
+msgstr ""
+
+#: dialogs.c:1416
+msgid "Increment or max (sec/move):"
+msgstr ""
+
+#: dialogs.c:1417
+msgid "Time-Odds factors:"
+msgstr ""
+
+#: dialogs.c:1418
+msgid "Engine #1"
+msgstr ""
+
+#: dialogs.c:1419
+msgid "Engine #2 / Human"
+msgstr ""
+
+#: dialogs.c:1459 dialogs.c:1462 dialogs.c:1467 dialogs.c:1468
+#: gtk/xoptions.c:191
+msgid "Unused"
+msgstr "Ongebruikt"
+
+#: dialogs.c:1480
+msgid "Time Control"
+msgstr "Tijdsbeperking"
+
+#: dialogs.c:1509
+msgid "Error writing to chess program"
+msgstr "Fout bij schrijven naar schaakprogramma"
+
+#: dialogs.c:1576
+msgid "Cancel"
+msgstr "Annuleren"
+
+#: dialogs.c:1581 dialogs.c:1973 dialogs.c:1977
+msgid "King"
+msgstr "Koning"
+
+#: dialogs.c:1584
+msgid "Captain"
+msgstr "Kapitein"
+
+#: dialogs.c:1585
+msgid "Lieutenant"
+msgstr "Luitenant"
+
+#: dialogs.c:1586
+msgid "General"
+msgstr "Generaal"
+
+#: dialogs.c:1587
+msgid "Warlord"
+msgstr "Krijgsheer"
+
+#: dialogs.c:1589 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
+msgid "Knight"
+msgstr "Paard"
+
+#: dialogs.c:1590 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
+msgid "Bishop"
+msgstr "Loper"
+
+#: dialogs.c:1591 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
+msgid "Rook"
+msgstr "Toren"
+
+#: dialogs.c:1595 dialogs.c:1974 dialogs.c:1978
+msgid "Archbishop"
+msgstr "Aartsbisschop"
+
+#: dialogs.c:1596 dialogs.c:1974 dialogs.c:1978
+msgid "Chancellor"
+msgstr "Kanselier"
+
+#: dialogs.c:1598 dialogs.c:1973 dialogs.c:1977 dialogs.c:1995
+msgid "Queen"
+msgstr "Koningin"
+
+#: dialogs.c:1602
+msgid "Defer"
+msgstr ""
+
+#: dialogs.c:1603 dialogs.c:1974 dialogs.c:1978
+msgid "Promote"
+msgstr "Promoveren"
+
+#: dialogs.c:1618
+msgid "Chat partner:"
+msgstr "Chatpartner:"
+
+#: dialogs.c:1703
+msgid "Chat box"
+msgstr "Chatbox"
+
+#: dialogs.c:1744
+msgid "factory"
+msgstr "origineel"
+
+#: dialogs.c:1745
+msgid "up"
+msgstr "omhoog"
+
+#: dialogs.c:1746
+msgid "down"
+msgstr "omlaag"
+
+#: dialogs.c:1764
+msgid "No tag selected"
+msgstr "Geen label geselecteerd"
+
+#: dialogs.c:1795
+msgid "Game-list options"
+msgstr "Partijenlijst-opties"
+
+#: dialogs.c:1871 dialogs.c:1885
+msgid "Error"
+msgstr "Fout"
+
+#: dialogs.c:1908
+msgid "Fatal Error"
+msgstr "Fatale fout"
+
+#: dialogs.c:1908
+msgid "Exiting"
+msgstr "Afsluiten"
+
+#: dialogs.c:1919
+msgid "Information"
+msgstr "Informatie"
+
+#: dialogs.c:1926
+msgid "Note"
+msgstr "Notitie"
+
+#: dialogs.c:1972 dialogs.c:2252 dialogs.c:2255
+msgid "White"
+msgstr "Wit"
+
+#: dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
+msgid "Pawn"
+msgstr "Pion"
+
+#: dialogs.c:1973 dialogs.c:1977
+msgid "Elephant"
+msgstr "Olifant"
+
+#: dialogs.c:1973 dialogs.c:1977
+msgid "Cannon"
+msgstr "Kanon"
+
+#: dialogs.c:1974 dialogs.c:1978
+msgid "Demote"
+msgstr "Degraderen"
+
+#: dialogs.c:1975 dialogs.c:1979
+msgid "Empty square"
+msgstr "Leeg veld"
+
+#: dialogs.c:1975 dialogs.c:1979
+msgid "Clear board"
+msgstr "Bord leegmaken"
+
+#: dialogs.c:1976 dialogs.c:2264 dialogs.c:2267
+msgid "Black"
+msgstr "Zwart"
+
+#: dialogs.c:2075 menus.c:787
+msgid "File"
+msgstr "Bestand"
+
+#: dialogs.c:2076 menus.c:788
+msgid "Edit"
+msgstr "Bewerken"
+
+#: dialogs.c:2077 menus.c:789
+msgid "View"
+msgstr "Beeld"
+
+#: dialogs.c:2078 menus.c:790
+msgid "Mode"
+msgstr "Modus"
+
+#: dialogs.c:2079 menus.c:791
+msgid "Action"
+msgstr "Actie"
+
+#: dialogs.c:2080 menus.c:792
+msgid "Engine"
+msgstr "Automaat"
+
+#: dialogs.c:2081 menus.c:793
+msgid "Options"
+msgstr "Opties"
+
+#: dialogs.c:2082 menus.c:794
+msgid "Help"
+msgstr "Hulp"
+
+#: dialogs.c:2092
+msgid "<<"
+msgstr "<<"
+
+#: dialogs.c:2093
+msgid "<"
+msgstr "<"
+
+#: dialogs.c:2095
+msgid ">"
+msgstr ">"
+
+#: dialogs.c:2096
+msgid ">>"
+msgstr ">>"
+
+#: dialogs.c:2371
+msgid "Directories:"
+msgstr "Mappen:"
+
+#: dialogs.c:2372
+msgid "Files:"
+msgstr "Bestanden:"
+
+#: dialogs.c:2373
+msgid "by name"
+msgstr "op naam"
+
+#: dialogs.c:2374
+msgid "by type"
+msgstr "op type"
+
+#: dialogs.c:2377
+msgid "Filename:"
+msgstr "Bestandsnaam:"
+
+#: dialogs.c:2378
+msgid "New directory"
+msgstr "Nieuwe map"
+
+#: dialogs.c:2379
+msgid "File type:"
+msgstr "Bestandstype:"
+
+#: dialogs.c:2454
+msgid "Contents of"
+msgstr "Inhoud van"
+
+#: dialogs.c:2480
+msgid " next page"
+msgstr " volgende pagina"
+
+#: dialogs.c:2502
+msgid "FIRST TYPE DIRECTORY NAME HERE"
+msgstr "Typ hier eerst een mapnaam"
+
+#: dialogs.c:2503
+msgid "TRY ANOTHER NAME"
+msgstr "Kies een andere naam"
+
+#: draw.c:293
+msgid ""
+"No default pieces installed\n"
+"Select your own -pieceImageDirectory"
+msgstr ""
+"Geen standaardstukken geïnstalleerd.\n"
+"Kies uw eigen '-pieceImageDirectory'."
+
+#: engineoutput.c:107 menus.c:630
+#, c-format
+msgid "Engine Output"
+msgstr "Automaatuitvoer"
+
+#: engineoutput.c:117
+#, fuzzy, c-format
+msgid "%s (%d reversible ply)"
+msgid_plural "%s (%d reversible plies)"
+msgstr[0] "omkeerbaar"
+msgstr[1] "omkeerbaar"
+
+#: engineoutput.c:509 engineoutput.c:512 nengineoutput.c:81 nengineoutput.c:88
+msgid "NPS"
+msgstr "NPS"
+
+#: gamelist.c:375
+#, c-format
+msgid "Reading game file (%d)"
+msgstr "Lezen van partijbestand (%d)"
+
+#: gtk/xboard.c:787 xaw/xboard.c:1161
+#, c-format
+msgid "%s: can't cd to CHESSDIR: "
+msgstr ""
+
+#: gtk/xboard.c:796 xaw/xboard.c:1170
+#, c-format
+msgid "Failed to open file '%s'\n"
+msgstr "Kan bestand '%s' niet openen\n"
+
+#: gtk/xboard.c:811 xaw/xboard.c:1179
+msgid "Recompile with larger BOARD_RANKS or BOARD_FILES to support this size"
+msgstr ""
+
+#: gtk/xboard.c:830 xaw/xboard.c:1211
+#, c-format
+msgid "%s: bad boardSize syntax %s\n"
+msgstr ""
+
+#: gtk/xboard.c:870 xaw/xboard.c:1248
+#, c-format
+msgid "%s: unrecognized boardSize name %s\n"
+msgstr ""
+
+#: gtk/xboard.c:911 xaw/xboard.c:1285
+#, c-format
+msgid "%s: too few colors available; trying monochrome mode\n"
+msgstr ""
+
+#: gtk/xboard.c:1201 xaw/xboard.c:1567
+#, c-format
+msgid "Unable to create font set for %s.\n"
+msgstr ""
+
+#: gtk/xboard.c:1226 xaw/xboard.c:1590
+#, c-format
+msgid "%s: no fonts match pattern %s\n"
+msgstr "%s: er zijn geen lettertypen die overeenkomen met patroon %s\n"
+
+#: gtk/xboard.c:1665 xaw/xboard.c:2080
+msgid "Can't open temp file"
+msgstr "Kan tijdelijk bestand niet openen"
+
+#: gtk/xboard.c:2128
+msgid "Failed to open file"
+msgstr "Kan bestand niet openen"
+
+#: menus.c:134
+msgid "Load game file name?"
+msgstr "Partij laden uit bestand:"
+
+#: menus.c:179
+msgid "Load position file name?"
+msgstr "Positie laden uit bestand:"
+
+#: menus.c:185
+msgid "Save game file name?"
+msgstr "Partij opslaan in bestand:"
+
+#: menus.c:194
+msgid "Save position file name?"
+msgstr "Positie opslaan in bestand:"
+
+#: menus.c:358
+msgid " (with Zippy code)"
+msgstr " (met Zippy-code)"
+
+#: menus.c:363
+#, c-format
+msgid ""
+"%s%s\n"
+"\n"
+"Copyright 1991 Digital Equipment Corporation\n"
+"Enhancements Copyright 1992-2013 Free Software Foundation\n"
+"Enhancements Copyright 2005 Alessandro Scotti\n"
+"\n"
+"%s is free software and carries NO WARRANTY;see the file COPYING for more "
+"information.\n"
+"The GTK build of this version is experimental and unstable\n"
+"\n"
+"Visit XBoard on the web at: http://www.gnu.org/software/xboard/\n"
+"Check out the newest features at: http://www.gnu.org/software/xboard/"
+"whats_new.html\n"
+"\n"
+"Report bugs via email at: <bug-xboard@gnu.org>\n"
+"\n"
+msgstr ""
+"%s%s\n"
+"\n"
+"Copyright 1991 Digital Equipment Corporation\n"
+"Uitbreidingen Copyright 1992-2013 Free Software Foundation\n"
+"Uitbreidingen Copyright 2005 Alessandro Scotti\n"
+"\n"
+"%s is vrije software en kent GEEN GARANTIE;\n"
+"zie het bestand COPYING voor meer informatie.\n"
+"De GTK-versie is experimenteel en nog niet stabiel.\n"
+"\n"
+"Bezoek XBoard op het web: http://www.gnu.org/software/xboard/\n"
+"Voor nieuwe functies zie: http://www.gnu.org/software/xboard/whats_new.html\n"
+"\n"
+"Rapporteer gebreken in het programma aan <bug-xboard@gnu.org>;\n"
+"meld vertaalfouten aan <vertaling@vrijschrift.org>.\n"
+"\n"
+
+#: menus.c:375 menus.c:750
+msgid "About XBoard"
+msgstr "Over XBoard"
+
+#: menus.c:582
+msgid "New Game"
+msgstr "Nieuwe partij"
+
+#: menus.c:583
+msgid "New Shuffle Game ..."
+msgstr "Nieuwe husselpartij..."
+
+# XXX "NEW" is wrong
+#: menus.c:584
+msgid "New Variant ..."
+msgstr "Nieuwe variantpartij..."
+
+#: menus.c:586
+msgid "Load Game"
+msgstr "Partij laden"
+
+#: menus.c:587
+msgid "Load Position"
+msgstr "Positie laden"
+
+#: menus.c:588
+msgid "Next Position"
+msgstr "Volgende positie"
+
+#: menus.c:589
+msgid "Prev Position"
+msgstr "Vorige positie"
+
+#: menus.c:591
+msgid "Save Game"
+msgstr "Partij opslaan"
+
+#: menus.c:592
+msgid "Save Position"
+msgstr "Positie opslaan"
+
+#: menus.c:593
+msgid "Save Games as Book"
+msgstr "Partijen opslaan als boek"
+
+#: menus.c:595
+msgid "Mail Move"
+msgstr "Zet mailen"
+
+#: menus.c:596
+msgid "Reload CMail Message"
+msgstr "CMail-bericht herladen"
+
+#: menus.c:598
+msgid "Quit "
+msgstr "Afsluiten "
+
+#: menus.c:603
+msgid "Copy Game"
+msgstr "Partij kopiëren"
+
+#: menus.c:604
+msgid "Copy Position"
+msgstr "Positie kopiëren"
+
+#: menus.c:605
+msgid "Copy Game List"
+msgstr "Partijenlijst kopiëren"
+
+#: menus.c:607
+msgid "Paste Game"
+msgstr "Partij plakken"
+
+#: menus.c:608
+msgid "Paste Position"
+msgstr "Positie plakken"
+
+#: menus.c:610 menus.c:652
+msgid "Edit Game"
+msgstr "Partij bewerken"
+
+#: menus.c:611 menus.c:653
+msgid "Edit Position"
+msgstr "Positie bewerken"
+
+#: menus.c:612
+msgid "Edit Tags"
+msgstr "Labels bewerken"
+
+#: menus.c:613
+msgid "Edit Comment"
+msgstr "Opmerking bewerken"
+
+#: menus.c:614
+msgid "Edit Book"
+msgstr "Boek bewerken"
+
+#: menus.c:616
+msgid "Revert"
+msgstr "Terugdraaien"
+
+#: menus.c:617
+msgid "Annotate"
+msgstr "Annoteren"
+
+#: menus.c:618
+msgid "Truncate Game"
+msgstr "Partij afkappen"
+
+#: menus.c:620
+msgid "Backward"
+msgstr "Achterwaarts"
+
+#: menus.c:621
+msgid "Forward"
+msgstr "Voorwaarts"
+
+#: menus.c:622
+msgid "Back to Start"
+msgstr "Terug naar begin"
+
+#: menus.c:623
+msgid "Forward to End"
+msgstr "Vooruit naar einde"
+
+#: menus.c:628
+msgid "Flip View"
+msgstr "Bord draaien"
+
+#: menus.c:631
+msgid "Move History"
+msgstr "Zettengeschiedenis"
+
+#: menus.c:632
+msgid "Evaluation Graph"
+msgstr "Evaluatiegrafiek"
+
+#: menus.c:633
+msgid "Game List"
+msgstr "Partijenlijst"
+
+#: menus.c:637
+msgid "Comments"
+msgstr "Opmerkingen"
+
+#: menus.c:638
+msgid "ICS Input Box"
+msgstr "ICS-invoervak"
+
+#: menus.c:639
+msgid "Open Chat Window"
+msgstr "Chatvenster openen"
+
+#: menus.c:641
+msgid "Board..."
+msgstr "Bord..."
+
+#: menus.c:642
+msgid "Game List Tags..."
+msgstr "Partijenlijst-labels..."
+
+#: menus.c:647
+msgid "Machine White"
+msgstr "Automaat heeft wit"
+
+#: menus.c:648
+msgid "Machine Black"
+msgstr "Automaat heeft zwart"
+
+#: menus.c:649
+msgid "Two Machines"
+msgstr "Twee automaten"
+
+#: menus.c:650
+msgid "Analysis Mode"
+msgstr "Analysemodus"
+
+#: menus.c:651
+msgid "Analyze Game"
+msgstr "Partij analyseren"
+
+#: menus.c:654
+msgid "Training"
+msgstr "Training"
+
+#: menus.c:655
+msgid "ICS Client"
+msgstr "ICS-cliënt"
+
+#: menus.c:657
+msgid "Machine Match"
+msgstr "Automaten-match"
+
+#: menus.c:658
+msgid "Pause"
+msgstr "Pauzeren"
+
+#: menus.c:663
+msgid "Accept"
+msgstr "Accepteren"
+
+#: menus.c:664
+msgid "Decline"
+msgstr "Weigeren"
+
+#: menus.c:665
+msgid "Rematch"
+msgstr ""
+
+#: menus.c:667
+msgid "Call Flag"
+msgstr ""
+
+#: menus.c:668
+msgid "Draw"
+msgstr "Remise"
+
+#: menus.c:669
+msgid "Adjourn"
+msgstr ""
+
+#: menus.c:670
+msgid "Abort"
+msgstr "Afbreken"
+
+#: menus.c:671
+msgid "Resign"
+msgstr "Opgeven"
+
+#: menus.c:673
+msgid "Stop Observing"
+msgstr "Stoppen met bekijken"
+
+#: menus.c:674
+msgid "Stop Examining"
+msgstr "Stoppen met bestuderen"
+
+#: menus.c:675
+msgid "Upload to Examine"
+msgstr "Uploaden om te bestuderen"
+
+#: menus.c:677
+msgid "Adjudicate to White"
+msgstr "Winst aan wit toekennen"
+
+#: menus.c:678
+msgid "Adjudicate to Black"
+msgstr "Winst aan zwart toekennen"
+
+#: menus.c:679
+msgid "Adjudicate Draw"
+msgstr "Tot remise besluiten"
+
+#: menus.c:684
+msgid "Load New 1st Engine ..."
+msgstr "Nieuwe 1ste automaat laden..."
+
+#: menus.c:685
+msgid "Load New 2nd Engine ..."
+msgstr "Nieuwe 2de automaat laden..."
+
+#: menus.c:687
+msgid "Engine #1 Settings ..."
+msgstr "Instellingen van automaat 1..."
+
+#: menus.c:688
+msgid "Engine #2 Settings ..."
+msgstr "Instellingen van automaat 2..."
+
+#: menus.c:690
+msgid "Hint"
+msgstr "Hint"
+
+#: menus.c:691
+msgid "Book"
+msgstr "Boek"
+
+#: menus.c:693
+msgid "Move Now"
+msgstr "Nu zetten"
+
+#: menus.c:694
+msgid "Retract Move"
+msgstr "Zet terugnemen"
+
+#: menus.c:700
+msgid "General ..."
+msgstr "Algemeen..."
+
+#: menus.c:702
+msgid "Time Control ..."
+msgstr "Tijdsbeperking..."
+
+#: menus.c:703
+msgid "Common Engine ..."
+msgstr "Gemeenschappelijke automaat..."
+
+#: menus.c:704
+msgid "Adjudications ..."
+msgstr "Beslissingen ..."
+
+#: menus.c:705
+msgid "ICS ..."
+msgstr "ICS ..."
+
+# XXX wedstrijd OF overeenkomen??
+#: menus.c:706
+msgid "Match ..."
+msgstr "Match..."
+
+#: menus.c:707
+msgid "Load Game ..."
+msgstr "Partij laden ..."
+
+#: menus.c:708
+msgid "Save Game ..."
+msgstr "Partij opslaan ..."
+
+#: menus.c:709
+msgid "Game List ..."
+msgstr "Partijenlijst ..."
+
+#: menus.c:710
+msgid "Sounds ..."
+msgstr "Geluiden ..."
+
+#: menus.c:713
+msgid "Always Queen"
+msgstr "Altijd koningin"
+
+#: menus.c:719
+msgid "Flash Moves"
+msgstr "Zetten knipperen"
+
+#: menus.c:721
+msgid "Highlight Dragging"
+msgstr "Slepen markeren"
+
+#: menus.c:724
+msgid "Highlight With Arrow"
+msgstr "Markeren met pijl"
+
+#: menus.c:725
+msgid "Move Sound"
+msgstr "Zetgeluid"
+
+#: menus.c:727
+msgid "Periodic Updates"
+msgstr "Periodieke updates"
+
+#: menus.c:729
+msgid "Popup Exit Message"
+msgstr "Popup-afsluitbericht"
+
+#: menus.c:731
+msgid "Show Coords"
+msgstr "Coördinaten tonen"
+
+#: menus.c:732
+msgid "Hide Thinking"
+msgstr "Denken verbergen"
+
+#: menus.c:736
+msgid "Save Settings Now"
+msgstr "Instellingen nu opslaan"
+
+#: menus.c:737
+msgid "Save Settings on Exit"
+msgstr "Instellingen opslaan bij afsluiten"
+
+#: menus.c:742
+msgid "Info XBoard"
+msgstr "'info xboard'"
+
+#: menus.c:743
+msgid "Man XBoard"
+msgstr "'man xboard'"
+
+#: menus.c:745
+msgid "XBoard Home Page"
+msgstr "Webpagina van XBoard"
+
+#: menus.c:746
+msgid "On-line User Guide"
+msgstr "Online gebruikersgids"
+
+#: menus.c:747
+msgid "Development News"
+msgstr "Ontwikkelingsnieuws"
+
+#: menus.c:748
+msgid "e-Mail Bug Report"
+msgstr "Foutrapportage mailen"
+
+#: nengineoutput.c:78 nengineoutput.c:85
+msgid "engine name"
+msgstr "automaatnaam"
+
+#: nengineoutput.c:80 nengineoutput.c:87
+msgid "move"
+msgstr "zetten"
+
+#: nengineoutput.c:153
+msgid "Engine output"
+msgstr "Automaatuitvoer"
+
+#: nengineoutput.c:157
+msgid ""
+"Mismatch of STRIDE in nengineoutput.c\n"
+"Change and recompile!"
+msgstr ""
+"*** Niet-passende 'STRIDE' in 'nengineoutput.c'.\n"
+"Pas deze aan en hercompileer."
+
+#: nevalgraph.c:68
+msgid "Evaluation graph"
+msgstr "Evaluatiegrafiek"
+
+#: nevalgraph.c:105
+msgid "Eval"
+msgstr ""
+
+#: ngamelist.c:87
+msgid "find position"
+msgstr "positie vinden"
+
+#: ngamelist.c:88
+msgid "narrow"
+msgstr "nauw"
+
+#: ngamelist.c:89
+msgid "thresholds"
+msgstr "grenswaarden"
+
+#: ngamelist.c:90
+msgid "tags"
+msgstr "labels"
+
+#: ngamelist.c:91
+msgid "next"
+msgstr "volgende"
+
+#: ngamelist.c:92
+msgid "close"
+msgstr "sluiten"
+
+#: ngamelist.c:116
+msgid "No game selected"
+msgstr "Geen partij geselecteerd"
+
+#: ngamelist.c:122
+msgid "Can't go forward any further"
+msgstr "Kan niet nog verder vooruitgaan"
+
+#: ngamelist.c:192
+#, c-format
+msgid "Scanning through games (%d)"
+msgstr "Zoeken door partijen (%d)"
+
+#: ngamelist.c:211
+msgid "previous page"
+msgstr "voorgaande pagina"
+
+#: ngamelist.c:214
+msgid "next page"
+msgstr "volgende pagina"
+
+#: ngamelist.c:217
+msgid "no games matched your request"
+msgstr "er zijn geen partijen die overeenkomen met uw verzoek"
+
+#: ngamelist.c:219
+#, c-format
+msgid "%s - %d/%d games (%d-%d-%d)"
+msgstr "%s - %d/%d partijen (%d-%d-%d)"
+
+#: ngamelist.c:274
+msgid "There is no game list"
+msgstr "Er is geen partijenlijst"
+
+#: nhistory.c:109
+msgid "Move list"
+msgstr "Zettenlijst"
+
+#: usystem.c:222
+#, c-format
+msgid "%s: unrecognized color %s\n"
+msgstr "%s: niet-herkende kleur %s\n"
+
+#: usystem.c:230
+#, c-format
+msgid "%s: can't parse foreground color in `%s'\n"
+msgstr "%s: onbegrepen voorgrondkleur in '%s'\n"
+
+#: usystem.c:259
+#, c-format
+msgid "%s: can't parse color names; disabling colorization\n"
+msgstr "%s: onbegrepen kleurnamen; kleuring wordt uitgeschakeld\n"
+
+#: usystem.c:371
+#, c-format
+msgid "ERROR: Unknown user %s (in path %s)\n"
+msgstr "Fout: onbekende gebruiker %s (in pad %s)\n"
+
+#: usystem.c:556
+#, fuzzy
+msgid "Socket support is not configured in"
+msgstr "Ondersteuning voor sockets is niet geconfigureerd"
+
+#: usystem.c:645
+msgid "internal rcmd not implemented for Unix"
+msgstr "interne 'rcmd' is niet geïmplementeerd voor Unix"
+
+#: xaw/xboard.c:477
+#, c-format
+msgid "%s: Can't access XPM directory %s\n"
+msgstr "%s: Kan geen toegang krijgen tot XPM-map %s\n"
+
+#: xaw/xboard.c:498
+#, c-format
+msgid "Available `%s' sizes:\n"
+msgstr "Beschikbare '%s'-groottes:\n"
+
+#: xaw/xboard.c:531
+#, c-format
+msgid "Error: No `%s' files!\n"
+msgstr "Fout: geen '%s'-bestanden!\n"
+
+#: xaw/xboard.c:544
+#, c-format
+msgid ""
+"Warning: No DIR structure found on this system --\n"
+" Unable to autosize for XPM/XIM pieces.\n"
+" Please report this error to %s.\n"
+" Include system type & operating system in message.\n"
+msgstr ""
+
+#: xaw/xboard.c:1291
+#, c-format
+msgid "white pixel = 0x%lx, black pixel = 0x%lx\n"
+msgstr ""
+
+#: xaw/xengineoutput.c:114
+#, c-format
+msgid "Error %d loading icon image\n"
+msgstr "Fout %d tijdens laden van pictogram\n"
+
+#: xaw/xoptions.c:321 xaw/xoptions.c:1015
+msgid "browse"
+msgstr "bladeren"
+
+#: xaw/xoptions.c:387 xaw/xoptions.c:388
+msgid "Ctrl"
+msgstr "Ctrl"
+
+#: xaw/xoptions.c:393 xaw/xoptions.c:394
+msgid "Alt"
+msgstr "Alt"
+
+#: xaw/xoptions.c:399 xaw/xoptions.c:400
+msgid "Shift"
+msgstr "Shift"
+
+#: xaw/xoptions.c:1262
+msgid "OK"
+msgstr "OK"
+
+#: xaw/xoptions.c:1266
+msgid "cancel"
+msgstr "Annuleren"
+
+#~ msgid " "
+#~ msgstr " "
msgstr ""
"Project-Id-Version: GNU xboard master-20110507\n"
"Report-Msgid-Bugs-To: bug-xboard@gnu.org\n"
-"POT-Creation-Date: 2013-08-28 21:49-0700\n"
+"POT-Creation-Date: 2013-08-28 22:03-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ru\n"
-#: args.h:820
+#: args.h:821
#, c-format
msgid "%s in settings file\n"
msgstr ""
-#: args.h:830
+#: args.h:831
#, c-format
msgid "Bad integer value %s"
msgstr ""
-#: args.h:923 args.h:1164
+#: args.h:924 args.h:1165
#, c-format
msgid "Unrecognized argument %s"
msgstr ""
-#: args.h:954
+#: args.h:955
#, c-format
msgid "No value provided for argument %s"
msgstr ""
-#: args.h:1014
+#: args.h:1015
#, c-format
msgid "Incomplete \\ escape in value for %s"
msgstr ""
-#: args.h:1119
+#: args.h:1120
#, c-format
msgid "Failed to open indirection file %s"
msgstr ""
-#: args.h:1136
+#: args.h:1137
#, c-format
msgid "Unrecognized boolean argument value %s"
msgstr ""
#. TRANSLATORS: "first" is the first of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:744
+#: backend.c:753
msgid "first"
msgstr ""
#. TRANSLATORS: "second" is the second of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:747
+#: backend.c:756
msgid "second"
msgstr ""
-#: backend.c:827
+#: backend.c:837
#, c-format
msgid "protocol version %d not supported"
msgstr "версия протокола %d не поддерживается"
-#: backend.c:933
+#: backend.c:943
msgid "You did not specify the engine executable"
msgstr ""
-#: backend.c:989
+#: backend.c:999
#, c-format
msgid "bad timeControl option %s"
msgstr "timeControl: неверный параметр %s"
-#: backend.c:1004
+#: backend.c:1014
#, c-format
msgid "bad searchTime option %s"
msgstr "searchTime: неверный параметр %s"
-#: backend.c:1110
+#: backend.c:1120
#, c-format
msgid "Variant %s supported only in ICS mode"
msgstr "Вариант %s поддерживается только в режиме ICS"
-#: backend.c:1128
+#: backend.c:1138
#, c-format
msgid "Unknown variant name %s"
msgstr "Неизвестный вариант %s"
-#: backend.c:1375
+#: backend.c:1386
msgid "Starting chess program"
msgstr "Запускается шахматная программа"
-#: backend.c:1398
+#: backend.c:1409
msgid "Bad game file"
msgstr "Неправильный формат файла"
-#: backend.c:1405
+#: backend.c:1416
msgid "Bad position file"
msgstr "Неправильный формат файла позиции"
-#: backend.c:1419
+#: backend.c:1430
msgid "Pick new game"
msgstr ""
-#: backend.c:1488
+#: backend.c:1499
msgid ""
"You restarted an already completed tourney\n"
"One more cycle will now be added to it\n"
"Games commence in 10 sec"
msgstr ""
-#: backend.c:1495
+#: backend.c:1506
#, c-format
msgid "All games in tourney '%s' are already played or playing"
msgstr ""
-#: backend.c:1502
+#: backend.c:1513
msgid "Can't have a match with no chess programs"
msgstr "Не подключено ни одной шахматной программы"
-#: backend.c:1539
+#: backend.c:1550
#, c-format
msgid "Could not open comm port %s"
msgstr "Не могу открыть COM-порт %s"
-#: backend.c:1542
+#: backend.c:1553
#, c-format
msgid "Could not connect to host %s, port %s"
msgstr "Не могу установить связь с %s, порт %s"
-#: backend.c:1598
+#: backend.c:1609
#, c-format
msgid "Unknown initialMode %s"
msgstr "initialMode: неизвестный режим %s"
-#: backend.c:1624
+#: backend.c:1635
msgid "AnalyzeFile mode requires a game file"
msgstr "Режим анализа: не указан файл для анализа"
-#: backend.c:1651
+#: backend.c:1662
msgid "Analysis mode requires a chess engine"
msgstr "Для анализа необходима шахматная программа"
-#: backend.c:1655
+#: backend.c:1666
msgid "Analysis mode does not work with ICS mode"
msgstr "Режим анализа не совместим с режимом ICS"
-#: backend.c:1666
+#: backend.c:1677
msgid "MachineWhite mode requires a chess engine"
msgstr "В режиме \"Компьютер белыми\" нужна шахматная программа"
-#: backend.c:1671
+#: backend.c:1682
msgid "MachineWhite mode does not work with ICS mode"
msgstr "Режим \"Компьютер белыми\" не совместим с режимом ICS"
-#: backend.c:1678
+#: backend.c:1689
msgid "MachineBlack mode requires a chess engine"
msgstr "В режиме \"Компьютер черными\" нужна шахматная программа (движок)"
-#: backend.c:1683
+#: backend.c:1694
msgid "MachineBlack mode does not work with ICS mode"
msgstr "Режим \"Компьютер черными\" не совместим с режимом ICS"
-#: backend.c:1690
+#: backend.c:1701
msgid "TwoMachines mode requires a chess engine"
msgstr "В режиме \"Два движка\" нужна шахматная программа"
-#: backend.c:1695
+#: backend.c:1706
msgid "TwoMachines mode does not work with ICS mode"
msgstr "Режим \"Два движка\" не совместим с режимом ICS"
-#: backend.c:1706
+#: backend.c:1717
msgid "Training mode requires a game file"
msgstr "Для тренировки необходимо загрузить шахматную партию из файла"
-#: backend.c:1869 backend.c:1924 backend.c:1947 backend.c:2346
+#: backend.c:1880 backend.c:1935 backend.c:1958 backend.c:2357
msgid "Error writing to ICS"
msgstr "Ошибка записи на вход сервера ICS"
-#: backend.c:1884
+#: backend.c:1895
msgid "Error reading from keyboard"
msgstr "Ошибка клавиатуры"
-#: backend.c:1887
+#: backend.c:1898
msgid "Got end of file from keyboard"
msgstr "Получен символ конца файла с клавиатуры"
-#: backend.c:2192
+#: backend.c:2203
#, c-format
msgid "Unknown wild type %d"
msgstr ""
-#: backend.c:2263 usystem.c:329
+#: backend.c:2274 usystem.c:329
msgid "Error writing to display"
msgstr "Ошибка записи на дисплей"
-#: backend.c:3019
+#: backend.c:3030
#, c-format
msgid "your opponent kibitzes: %s"
msgstr ""
-#: backend.c:3548
+#: backend.c:3559
msgid "Error gathering move list: two headers"
msgstr "Ошибка чтения списка ходов: два заголовка"
-#: backend.c:3595
+#: backend.c:3606
msgid "Error gathering move list: nested"
msgstr "Ошибка чтения списка ходов: вложенные списки"
-#: backend.c:3699 backend.c:4117 backend.c:4321 backend.c:4880 backend.c:4884
-#: backend.c:6900 backend.c:12082 backend.c:13797 backend.c:13874
-#: backend.c:13920 backend.c:13926 backend.c:13931 backend.c:13936
+#: backend.c:3710 backend.c:4128 backend.c:4332 backend.c:4891 backend.c:4895
+#: backend.c:6919 backend.c:12213 backend.c:13928 backend.c:14005
+#: backend.c:14051 backend.c:14057 backend.c:14062 backend.c:14067
msgid "vs."
msgstr ""
-#: backend.c:3827
+#: backend.c:3838
msgid "Illegal move (rejected by ICS)"
msgstr ""
-#: backend.c:4165
+#: backend.c:4176
msgid "Connection closed by ICS"
msgstr "Сервер ICS разорвал соединение"
-#: backend.c:4167
+#: backend.c:4178
msgid "Error reading from ICS"
msgstr "Ошибка чтения с сервера ICS"
-#: backend.c:4244
+#: backend.c:4255
#, c-format
msgid ""
"Failed to parse board string:\n"
"\"%s\""
msgstr ""
-#: backend.c:4253 backend.c:9755
+#: backend.c:4264 backend.c:9885
msgid "Game too long; increase MAX_MOVES and recompile"
msgstr ""
"Слишком длинная партия: увеличьте значение MAX_MOVES и перекомпилируйте "
"программу"
-#: backend.c:4372
+#: backend.c:4383
msgid "Error gathering move list: extra board"
msgstr "Ошибка чтения списка ходов: лишняя доска"
-#: backend.c:4804 backend.c:4826
+#: backend.c:4815 backend.c:4837
#, c-format
msgid "Couldn't parse move \"%s\" from ICS"
msgstr "Странный ход \"%s\" получен с сервера ICS"
-#: backend.c:5063
+#: backend.c:5074
#, c-format
msgid "say Internal error; bad moveType %d (%d,%d-%d,%d)"
msgstr ""
-#: backend.c:5133
+#: backend.c:5145
msgid "You cannot do this while you are playing or observing"
msgstr ""
-#: backend.c:6029
+#: backend.c:6046
msgid "Recompile to support this BOARD_RANKS or BOARD_FILES!"
msgstr ""
-#: backend.c:6491
+#: backend.c:6510
msgid "You are playing Black"
msgstr "Вы играете черными"
-#: backend.c:6500 backend.c:6527
+#: backend.c:6519 backend.c:6546
msgid "You are playing White"
msgstr "Вы играете белыми"
-#: backend.c:6509 backend.c:6535 backend.c:6655 backend.c:6680 backend.c:6696
-#: backend.c:14573
+#: backend.c:6528 backend.c:6554 backend.c:6674 backend.c:6699 backend.c:6715
+#: backend.c:14705
msgid "It is White's turn"
msgstr "Ход белых"
-#: backend.c:6513 backend.c:6539 backend.c:6663 backend.c:6686 backend.c:6717
-#: backend.c:14565
+#: backend.c:6532 backend.c:6558 backend.c:6682 backend.c:6705 backend.c:6736
+#: backend.c:14697
msgid "It is Black's turn"
msgstr "Ход черных"
-#: backend.c:6552
+#: backend.c:6571
msgid "Displayed position is not current"
msgstr "Показанная позиция не соответствует положению в игре"
-#: backend.c:6790
+#: backend.c:6809
msgid "Illegal move"
msgstr "Неправильный ход"
-#: backend.c:6857
+#: backend.c:6876
msgid "End of game"
msgstr "Сыгран последний записанный ход"
-#: backend.c:6860
+#: backend.c:6879
msgid "Incorrect move"
msgstr "Неверный ход"
-#: backend.c:7169 backend.c:7296
+#: backend.c:7257 backend.c:7392
msgid "Pull pawn backwards to under-promote"
msgstr ""
-#: backend.c:7527
+#: backend.c:7364
+msgid "only marked squares are legal"
+msgstr ""
+
+#: backend.c:7624
msgid "Swiss tourney finished"
msgstr ""
-#: backend.c:8102
+#: backend.c:8199
msgid "Invalid pairing from pairing engine"
msgstr ""
-#: backend.c:8235
+#: backend.c:8332
#, c-format
msgid "Illegal move \"%s\" from %s machine"
msgstr "Неправильный ход \"%s\" пытается выполнить движок %s"
-#: backend.c:8456
+#: backend.c:8564
msgid "Bad FEN received from engine"
msgstr ""
-#: backend.c:8600 backend.c:13662 backend.c:13727
+#: backend.c:8730 backend.c:13793 backend.c:13858
#, c-format
msgid "%s does not support analysis"
msgstr "%s не поддерживает режим анализа"
-#: backend.c:8666
+#: backend.c:8796
#, c-format
msgid "Illegal move \"%s\" (rejected by %s chess program)"
msgstr "Неправильный ход \"%s\" (не принят движком %s)"
-#: backend.c:8693
+#: backend.c:8823
#, c-format
msgid "Failed to start %s chess program %s on %s: %s\n"
msgstr "Не удалось запустить %s движок %s на %s: %s\n"
-#: backend.c:8714
+#: backend.c:8844
#, c-format
msgid "Hint: %s"
msgstr "Подсказка: %s"
-#: backend.c:8719
+#: backend.c:8849
#, c-format
msgid ""
"Illegal hint move \"%s\"\n"
"from %s chess program"
msgstr ""
-#: backend.c:8894
+#: backend.c:9024
msgid "Machine accepts your draw offer"
msgstr "Компьютер согласился на ничью"
-#: backend.c:8897
+#: backend.c:9027
msgid ""
"Machine offers a draw\n"
"Select Action / Draw to agree"
msgstr ""
-#: backend.c:8976
+#: backend.c:9106
msgid "failed writing PV"
msgstr ""
-#: backend.c:9274
+#: backend.c:9404
#, c-format
msgid "Ambiguous move in ICS output: \"%s\""
msgstr "Неоднозначный ход с сервера ICS: \"%s\""
-#: backend.c:9284
+#: backend.c:9414
#, c-format
msgid "Illegal move in ICS output: \"%s\""
msgstr "Неправильный ход с сервера ICS: \"%s\""
-#: backend.c:9295
+#: backend.c:9425
msgid "Gap in move list"
msgstr "Пропуск в записи ходов"
-#: backend.c:9916 dialogs.c:460
+#: backend.c:10046 dialogs.c:461
#, c-format
msgid "Variant %s not supported by %s"
msgstr "Вариант %s не поддерживается %s"
-#: backend.c:10037
+#: backend.c:10167
#, c-format
msgid "Startup failure on '%s'"
msgstr "Ошибка при запуске программы '%s'"
-#: backend.c:10068
+#: backend.c:10198
msgid "Waiting for first chess program"
msgstr "Ждем первую шахматную программу"
-#: backend.c:10073 backend.c:13945
+#: backend.c:10203 backend.c:14076
msgid "Waiting for second chess program"
msgstr "Ждем вторую шахматную программу"
-#: backend.c:10122
+#: backend.c:10252
msgid "Could not write on tourney file"
msgstr ""
-#: backend.c:10196
+#: backend.c:10326
msgid ""
"You cannot replace an engine while it is engaged!\n"
"Terminate its game first."
msgstr ""
-#: backend.c:10210
+#: backend.c:10340
msgid "No engine with the name you gave is installed"
msgstr ""
-#: backend.c:10212
+#: backend.c:10342
msgid ""
"First change an engine by editing the participants list\n"
"of the Tournament Options dialog"
msgstr ""
-#: backend.c:10213
+#: backend.c:10343
msgid "You can only change one engine at the time"
msgstr ""
-#: backend.c:10228 backend.c:10375
+#: backend.c:10358 backend.c:10505
#, c-format
msgid "No engine %s is installed"
msgstr ""
-#: backend.c:10248
+#: backend.c:10378
msgid ""
"You must supply a tournament file,\n"
"for storing the tourney progress"
msgstr ""
-#: backend.c:10258
+#: backend.c:10388
msgid "Not enough participants"
msgstr ""
-#: backend.c:10459
+#: backend.c:10589
msgid "Bad tournament file"
msgstr ""
-#: backend.c:10471
+#: backend.c:10601
msgid "Waiting for other game(s)"
msgstr ""
-#: backend.c:10484
+#: backend.c:10614
msgid "No pairing engine specified"
msgstr ""
-#: backend.c:10961
+#: backend.c:11092
#, c-format
msgid "Match %s vs. %s: final score %d-%d-%d"
msgstr "Матч %s против %s: финальный результат %d-%d-%d"
-#: backend.c:11423 backend.c:11454
+#: backend.c:11554 backend.c:11585
#, c-format
msgid "Illegal move: %d.%s%s"
msgstr "Неправильный ход: %d.%s%s"
-#: backend.c:11443
+#: backend.c:11574
#, c-format
msgid "Ambiguous move: %d.%s%s"
msgstr "Неоднозначный ход: %d.%s%s"
-#: backend.c:11496 backend.c:12505 backend.c:12698 backend.c:13059
+#: backend.c:11627 backend.c:12636 backend.c:12829 backend.c:13190
#, c-format
msgid "Can't open \"%s\""
msgstr "Не могу открыть файл \"%s\""
-#: backend.c:11508 menus.c:116
+#: backend.c:11639 menus.c:116
msgid "Cannot build game list"
msgstr "Не удалось создать список партий"
-#: backend.c:11593
+#: backend.c:11724
msgid "No more games in this message"
msgstr "В этом сообщении больше нет шахматных партий"
-#: backend.c:11633
+#: backend.c:11764
msgid "No game has been loaded yet"
msgstr "Нет загруженных шахматных партий"
-#: backend.c:11637 backend.c:12486 ngamelist.c:129
+#: backend.c:11768 backend.c:12617 ngamelist.c:129
msgid "Can't back up any further"
msgstr "Достигнуто начало списка"
-#: backend.c:12058
+#: backend.c:12189
msgid "Game number out of range"
msgstr "Номер партии - вне диапазона"
-#: backend.c:12069
+#: backend.c:12200
msgid "Can't seek on game file"
msgstr "Поиск в файлах записей партий не предусмотрен"
-#: backend.c:12127
+#: backend.c:12258
msgid "Game not found in file"
msgstr "Партия не найдена в файле"
-#: backend.c:12255 backend.c:12582
+#: backend.c:12386 backend.c:12713
msgid "Bad FEN position in file"
msgstr "Неправильная позиция формата FEN в файле"
-#: backend.c:12407
+#: backend.c:12538
msgid "No moves in game"
msgstr "Нет записанных ходов"
-#: backend.c:12482
+#: backend.c:12613
msgid "No position has been loaded yet"
msgstr "Нет загруженных позиций"
-#: backend.c:12543 backend.c:12554
+#: backend.c:12674 backend.c:12685
msgid "Can't seek on position file"
msgstr "Поиск в файлах позиций не предусмотрен"
-#: backend.c:12561 backend.c:12573
+#: backend.c:12692 backend.c:12704
msgid "Position not found in file"
msgstr "Позиция не найдена в файле"
-#: backend.c:12613
+#: backend.c:12744
msgid "Black to play"
msgstr "Ход черных"
-#: backend.c:12616
+#: backend.c:12747
msgid "White to play"
msgstr "Ход белых"
-#: backend.c:12703 backend.c:13064
+#: backend.c:12834 backend.c:13195
msgid "Waiting for access to save file"
msgstr ""
-#: backend.c:12705
+#: backend.c:12836
msgid "Saving game"
msgstr ""
-#: backend.c:12706
+#: backend.c:12837
msgid "Bad Seek"
msgstr ""
-#: backend.c:13066
+#: backend.c:13197
msgid "Saving position"
msgstr ""
-#: backend.c:13192
+#: backend.c:13323
msgid ""
"You have edited the game history.\n"
"Use Reload Same Game and make your move again."
msgstr ""
-#: backend.c:13197
+#: backend.c:13328
msgid ""
"You have entered too many moves.\n"
"Back up to the correct position and try again."
msgstr ""
-#: backend.c:13202
+#: backend.c:13333
msgid ""
"Displayed position is not current.\n"
"Step forward to the correct position and try again."
msgstr ""
-#: backend.c:13249
+#: backend.c:13380
msgid "You have not made a move yet"
msgstr "Вы еще не сделали ход"
-#: backend.c:13270
+#: backend.c:13401
msgid ""
"The cmail message is not loaded.\n"
"Use Reload CMail Message and make your move again."
msgstr ""
-#: backend.c:13275
+#: backend.c:13406
msgid "No unfinished games"
msgstr "Нет неоконченных партий"
-#: backend.c:13281
+#: backend.c:13412
#, c-format
msgid ""
"You have already mailed a move.\n"
"on the command line."
msgstr ""
-#: backend.c:13296
+#: backend.c:13427
msgid "Failed to invoke cmail"
msgstr "Ошибка запуска cmail"
-#: backend.c:13358
+#: backend.c:13489
#, c-format
msgid "Waiting for reply from opponent\n"
msgstr "Ожидание ответного хода\n"
-#: backend.c:13380
+#: backend.c:13511
#, c-format
msgid "Still need to make move for game\n"
msgstr "Все еще ваша очередь ходить в этой партии\n"
-#: backend.c:13384
+#: backend.c:13515
#, c-format
msgid "Still need to make moves for both games\n"
msgstr "Все еще ваша очередь ходить в обеих партиях\n"
-#: backend.c:13388
+#: backend.c:13519
#, c-format
msgid "Still need to make moves for all %d games\n"
msgstr "Все еще ваш ход во всех %d партиях\n"
-#: backend.c:13395
+#: backend.c:13526
#, c-format
msgid "Still need to make a move for game %s\n"
msgstr "Все еще ваш ход в партии %s\n"
-#: backend.c:13401
+#: backend.c:13532
#, c-format
msgid "No unfinished games\n"
msgstr "Нет неоконченных партий\n"
-#: backend.c:13403
+#: backend.c:13534
#, c-format
msgid "Ready to send mail\n"
msgstr "Можно отсылать почту\n"
-#: backend.c:13408
+#: backend.c:13539
#, c-format
msgid "Still need to make moves for games %s\n"
msgstr "Все еще ваша очередь ходить в партиях %s\n"
-#: backend.c:13612
+#: backend.c:13743
msgid "Edit comment"
msgstr "Правка комментария"
-#: backend.c:13614
+#: backend.c:13745
#, c-format
msgid "Edit comment on %d.%s%s"
msgstr "Правка комментария к %d.%s%s"
-#: backend.c:13669
+#: backend.c:13800
#, c-format
msgid "You are not observing a game"
msgstr ""
-#: backend.c:13777
+#: backend.c:13908
msgid "It is not White's turn"
msgstr "Сейчас не ход белых"
-#: backend.c:13858
+#: backend.c:13989
msgid "It is not Black's turn"
msgstr "Сейчас не ход черных"
-#: backend.c:13966
+#: backend.c:14097
#, c-format
msgid "Starting %s chess program"
msgstr ""
-#: backend.c:13994 backend.c:15108
+#: backend.c:14125 backend.c:15240
msgid ""
"Wait until your turn,\n"
"or select Move Now"
msgstr ""
-#: backend.c:14128
+#: backend.c:14259
msgid "Training mode off"
msgstr "Тренировка окончена"
-#: backend.c:14136
+#: backend.c:14267
msgid "Training mode on"
msgstr "Тренировка"
-#: backend.c:14139
+#: backend.c:14270
msgid "Already at end of game"
msgstr "Сыграны все ходы данной партии"
-#: backend.c:14219
+#: backend.c:14350
msgid "Warning: You are still playing a game"
msgstr "Предупреждение: вы все еще продолжаете играть"
-#: backend.c:14222
+#: backend.c:14353
msgid "Warning: You are still observing a game"
msgstr "Предупреждение: вы все еще наблюдаете за игрой"
-#: backend.c:14225
+#: backend.c:14356
msgid "Warning: You are still examining a game"
msgstr "Предупреждение: вы все еще изучаете игру"
-#: backend.c:14292
+#: backend.c:14423
msgid "Click clock to clear board"
msgstr ""
-#: backend.c:14302
+#: backend.c:14433
msgid "Close ICS engine analyze..."
msgstr ""
-#: backend.c:14590
+#: backend.c:14722
msgid "That square is occupied"
msgstr "Это поле занято"
-#: backend.c:14614 backend.c:14640
+#: backend.c:14746 backend.c:14772
msgid "There is no pending offer on this move"
msgstr "К данному ходу никаких предложений не сделано"
-#: backend.c:14676 backend.c:14687
+#: backend.c:14808 backend.c:14819
msgid "Your opponent is not out of time"
msgstr "У вашего соперника еще есть время"
-#: backend.c:14753
+#: backend.c:14885
msgid "You must make your move before offering a draw"
msgstr "Вы должны сделать свой ход прежде, чем предлагать ничью"
-#: backend.c:15090
+#: backend.c:15222
msgid "You are not examining a game"
msgstr "Не включен режим изучения шахматных партий"
-#: backend.c:15094
+#: backend.c:15226
msgid "You can't revert while pausing"
msgstr "Нельзя вернуться к началу пока выбрана \"Пауза\""
-#: backend.c:15148 backend.c:15155
+#: backend.c:15280 backend.c:15287
msgid "It is your turn"
msgstr "Ваш ход"
-#: backend.c:15206 backend.c:15213 backend.c:15266 backend.c:15273
+#: backend.c:15338 backend.c:15345 backend.c:15398 backend.c:15405
msgid "Wait until your turn"
msgstr "Подождите своей очереди ходить"
-#: backend.c:15218
+#: backend.c:15350
msgid "No hint available"
msgstr "Подсказок нет"
-#: backend.c:15234 ngamelist.c:355
+#: backend.c:15366 ngamelist.c:355
#, fuzzy
msgid "Game list not loaded or empty"
msgstr "Нет загруженных шахматных партий"
-#: backend.c:15241
+#: backend.c:15373
msgid "Book file exists! Try again for overwrite."
msgstr ""
-#: backend.c:15719
+#: backend.c:15851
#, c-format
msgid "Error writing to %s chess program"
msgstr "Ошибка записи на вход движка %s"
-#: backend.c:15722 backend.c:15753
+#: backend.c:15854 backend.c:15885
#, c-format
msgid "%s program exits in draw position (%s)"
msgstr ""
-#: backend.c:15748
+#: backend.c:15880
#, c-format
msgid "Error: %s chess program (%s) exited unexpectedly"
msgstr "Ошибка: движок %s (%s) завершил работу"
-#: backend.c:15766
+#: backend.c:15898
#, c-format
msgid "Error reading from %s chess program (%s)"
msgstr "Ошибка чтения с выхода движка %s (%s)"
-#: backend.c:16168
+#: backend.c:16301
#, c-format
msgid "%s engine has too many options\n"
msgstr ""
-#: backend.c:16324
+#: backend.c:16457
msgid "Displayed move is not current"
msgstr "Позиция не отвечает положению в игре"
-#: backend.c:16333
+#: backend.c:16466
msgid "Could not parse move"
msgstr "Невозможно интерпретировать ход"
-#: backend.c:16458 backend.c:16480
+#: backend.c:16591 backend.c:16613
msgid "Both flags fell"
msgstr "У обоих игроков время вышло"
-#: backend.c:16460
+#: backend.c:16593
msgid "White's flag fell"
msgstr "У белых упал флажок"
-#: backend.c:16482
+#: backend.c:16615
msgid "Black's flag fell"
msgstr "У черных упал флажок"
-#: backend.c:16613
+#: backend.c:16746
msgid "Clock adjustment not allowed in auto-flag mode"
msgstr ""
-#: backend.c:17448
+#: backend.c:17585
msgid "Bad FEN position in clipboard"
msgstr "Позиция в буфере обмена не соответствует формату FEN"
msgid "First you must specify an existing tourney file to clone"
msgstr ""
-#: dialogs.c:332 dialogs.c:1320
+#: dialogs.c:332 dialogs.c:1322
msgid "# no engines are installed"
msgstr ""
msgid "Play Move(s) of Clicked PV (Analysis)"
msgstr ""
-#: dialogs.c:379 dialogs.c:514 menus.c:728
+#: dialogs.c:379 dialogs.c:515 menus.c:728
msgid "Ponder Next Move"
msgstr "Думать всегда"
msgstr ""
#: dialogs.c:429
-msgid "fairy"
+msgid "ASEAN"
msgstr ""
#: dialogs.c:430
msgstr ""
#: dialogs.c:447
-msgid " "
+msgid "fairy"
msgstr ""
-#: dialogs.c:448
+#: dialogs.c:449
msgid "courier (12x8)"
msgstr ""
-#: dialogs.c:465
+#: dialogs.c:466
#, c-format
msgid "Warning: second engine (%s) does not support this!"
msgstr "Предупреждение: второй движок (%s) не поддерживает это!"
-#: dialogs.c:488
+#: dialogs.c:489
#, c-format
msgid "Only bughouse is not available in viewer mode"
msgstr ""
-#: dialogs.c:489
+#: dialogs.c:490
#, c-format
msgid ""
"All variants not supported by first engine\n"
"(currently %s) are disabled"
msgstr ""
-#: dialogs.c:490
+#: dialogs.c:491
msgid "New Variant"
msgstr "Варианты"
-#: dialogs.c:515
+#: dialogs.c:516
msgid "Maximum Number of CPUs per Engine:"
msgstr "Max число CPU:"
-#: dialogs.c:516
+#: dialogs.c:517
msgid "Polygot Directory:"
msgstr ""
-#: dialogs.c:517
+#: dialogs.c:518
msgid "Hash-Table Size (MB):"
msgstr "Размер хеша (МБ):"
-#: dialogs.c:518
+#: dialogs.c:519
msgid "Nalimov EGTB Path:"
msgstr "Путь к ЭБД:"
-#: dialogs.c:519
+#: dialogs.c:520
msgid "EGTB Cache Size (MB):"
msgstr "Кеш ЭБД (МБ):"
-#: dialogs.c:520
+#: dialogs.c:521
msgid "Use GUI Book"
msgstr ""
-#: dialogs.c:521
+#: dialogs.c:522
msgid "Opening-Book Filename:"
msgstr ""
-#: dialogs.c:522
+#: dialogs.c:523
msgid "Book Depth (moves):"
msgstr "Глубина книги:"
-#: dialogs.c:523
+#: dialogs.c:524
msgid "Book Variety (0) vs. Strength (100):"
msgstr "Варьирование:"
-#: dialogs.c:524
+#: dialogs.c:525
msgid "Engine #1 Has Own Book"
msgstr "Своя книга у движка 1"
-#: dialogs.c:525
+#: dialogs.c:526
msgid "Engine #2 Has Own Book "
msgstr ""
-#: dialogs.c:534
+#: dialogs.c:535
msgid "Common Engine Settings"
msgstr "Общие настройки движков"
-#: dialogs.c:540
+#: dialogs.c:541
msgid "Detect all Mates"
msgstr "Определять мат"
-#: dialogs.c:541
+#: dialogs.c:542
msgid "Verify Engine Result Claims"
msgstr "Проверять требования движка"
-#: dialogs.c:542
+#: dialogs.c:543
msgid "Draw if Insufficient Mating Material"
msgstr "Ничья при нехватке материала"
-#: dialogs.c:543
+#: dialogs.c:544
msgid "Adjudicate Trivial Draws (3-Move Delay)"
msgstr "Ничья в технич. окончаниях"
-#: dialogs.c:544
+#: dialogs.c:545
msgid "N-Move Rule:"
msgstr ""
-#: dialogs.c:545
+#: dialogs.c:546
msgid "N-fold Repeats:"
msgstr ""
-#: dialogs.c:546
+#: dialogs.c:547
msgid "Draw after N Moves Total:"
msgstr "Присудить ничью после"
-#: dialogs.c:547
+#: dialogs.c:548
msgid "Win / Loss Threshold:"
msgstr "Победа/поражение при перевесе в"
-#: dialogs.c:548
+#: dialogs.c:549
msgid "Negate Score of Engine #1"
msgstr "Оценка движка 1 - абсолютная"
-#: dialogs.c:549
+#: dialogs.c:550
msgid "Negate Score of Engine #2"
msgstr "Оценка движка 2 - абсолютная"
-#: dialogs.c:556
+#: dialogs.c:557
#, fuzzy
msgid "Adjudicate non-ICS Games"
msgstr "Присудить победу белым"
-#: dialogs.c:569
+#: dialogs.c:570
msgid "Auto-Kibitz"
msgstr ""
-#: dialogs.c:570
+#: dialogs.c:571
msgid "Auto-Comment"
msgstr "Комментарии"
-#: dialogs.c:571
+#: dialogs.c:572
msgid "Auto-Observe"
msgstr "Следить за игрой"
-#: dialogs.c:572
+#: dialogs.c:573
msgid "Auto-Raise Board"
msgstr "Раскрывать доску"
-#: dialogs.c:573
+#: dialogs.c:574
msgid "Auto-Create Logon Script"
msgstr ""
-#: dialogs.c:574
+#: dialogs.c:575
msgid "Background Observe while Playing"
msgstr "Следить в фоне"
-#: dialogs.c:575
+#: dialogs.c:576
msgid "Dual Board for Background-Observed Game"
msgstr "Двойная доска"
-#: dialogs.c:576
+#: dialogs.c:577
msgid "Get Move List"
msgstr "Запрашивать запись ходов"
-#: dialogs.c:577
+#: dialogs.c:578
msgid "Quiet Play"
msgstr "Спокойная игра"
-#: dialogs.c:578
+#: dialogs.c:579
msgid "Seek Graph"
msgstr "График поиска"
-#: dialogs.c:579
+#: dialogs.c:580
msgid "Auto-Refresh Seek Graph"
msgstr "Автообновление"
-#: dialogs.c:580
+#: dialogs.c:581
msgid "Auto-InputBox PopUp"
msgstr ""
-#: dialogs.c:581
+#: dialogs.c:582
+msgid "Quit after game"
+msgstr ""
+
+#: dialogs.c:583
msgid "Premove"
msgstr "Предварительный ход"
-#: dialogs.c:582
+#: dialogs.c:584
msgid "Premove for White"
msgstr ""
-#: dialogs.c:583
+#: dialogs.c:585
msgid "First White Move:"
msgstr "1-й ход белых"
-#: dialogs.c:584
+#: dialogs.c:586
msgid "Premove for Black"
msgstr ""
-#: dialogs.c:585
+#: dialogs.c:587
msgid "First Black Move:"
msgstr "1-й ход черных"
-#: dialogs.c:587
+#: dialogs.c:589
msgid "Alarm"
msgstr "Звонок"
-#: dialogs.c:588
+#: dialogs.c:590
msgid "Alarm Time (msec):"
msgstr ""
-#: dialogs.c:590
+#: dialogs.c:592
msgid "Colorize Messages"
msgstr ""
-#: dialogs.c:591
+#: dialogs.c:593
msgid "Shout Text Colors:"
msgstr ""
-#: dialogs.c:592
+#: dialogs.c:594
msgid "S-Shout Text Colors:"
msgstr ""
-#: dialogs.c:593
+#: dialogs.c:595
msgid "Channel #1 Text Colors:"
msgstr ""
-#: dialogs.c:594
+#: dialogs.c:596
msgid "Other Channel Text Colors:"
msgstr ""
-#: dialogs.c:595
+#: dialogs.c:597
msgid "Kibitz Text Colors:"
msgstr ""
-#: dialogs.c:596
+#: dialogs.c:598
msgid "Tell Text Colors:"
msgstr ""
-#: dialogs.c:597
+#: dialogs.c:599
msgid "Challenge Text Colors:"
msgstr ""
-#: dialogs.c:598
+#: dialogs.c:600
msgid "Request Text Colors:"
msgstr ""
-#: dialogs.c:599
+#: dialogs.c:601
msgid "Seek Text Colors:"
msgstr ""
-#: dialogs.c:606
+#: dialogs.c:608
msgid "ICS Options"
msgstr "Настройки соединения с ICS"
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Exact position match"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Shown position is subset"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Same material with exactly same Pawn chain"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Same material"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material range (top board half optional)"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material difference (optional stuff balanced)"
msgstr ""
-#: dialogs.c:624
+#: dialogs.c:626
msgid "Auto-Display Tags"
msgstr ""
-#: dialogs.c:625
+#: dialogs.c:627
msgid "Auto-Display Comment"
msgstr ""
-#: dialogs.c:626
+#: dialogs.c:628
msgid ""
"Auto-Play speed of loaded games\n"
"(0 = instant, -1 = off):"
msgstr ""
-#: dialogs.c:627
+#: dialogs.c:629
msgid "Seconds per Move:"
msgstr ""
-#: dialogs.c:628
+#: dialogs.c:630
msgid ""
"\n"
"options to use in game-viewer mode:"
msgstr ""
-#: dialogs.c:630
+#: dialogs.c:632
msgid ""
"\n"
"Thresholds for position filtering in game list:"
msgstr ""
-#: dialogs.c:631
+#: dialogs.c:633
msgid "Elo of strongest player at least:"
msgstr ""
-#: dialogs.c:632
+#: dialogs.c:634
msgid "Elo of weakest player at least:"
msgstr ""
-#: dialogs.c:633
+#: dialogs.c:635
#, fuzzy
msgid "No games before year:"
msgstr "Нет загруженных шахматных партий"
-#: dialogs.c:634
+#: dialogs.c:636
msgid "Minimum nr consecutive positions:"
msgstr ""
-#: dialogs.c:635
+#: dialogs.c:637
msgid "Search mode:"
msgstr ""
-#: dialogs.c:636
+#: dialogs.c:638
msgid "Also match reversed colors"
msgstr ""
-#: dialogs.c:637
+#: dialogs.c:639
msgid "Also match left-right flipped position"
msgstr ""
-#: dialogs.c:645
+#: dialogs.c:647
msgid "Load Game Options"
msgstr "Параметры загрузки"
-#: dialogs.c:657
+#: dialogs.c:659
msgid "Auto-Save Games"
msgstr ""
-#: dialogs.c:658
+#: dialogs.c:660
msgid "Own Games Only"
msgstr ""
-#: dialogs.c:659
+#: dialogs.c:661
msgid "Save Games on File:"
msgstr ""
-#: dialogs.c:660
+#: dialogs.c:662
msgid "Save Final Positions on File:"
msgstr ""
-#: dialogs.c:661
+#: dialogs.c:663
msgid "PGN Event Header:"
msgstr ""
-#: dialogs.c:662
+#: dialogs.c:664
msgid "Old Save Style (as opposed to PGN)"
msgstr ""
-#: dialogs.c:663
+#: dialogs.c:665
msgid "Include Number Tag in tourney PGN"
msgstr ""
-#: dialogs.c:664
+#: dialogs.c:666
msgid "Save Score/Depth Info in PGN"
msgstr ""
-#: dialogs.c:665
+#: dialogs.c:667
msgid "Save Out-of-Book Info in PGN "
msgstr ""
-#: dialogs.c:672
+#: dialogs.c:674
msgid "Save Game Options"
msgstr "Настройки сохранения"
-#: dialogs.c:681
+#: dialogs.c:683
msgid "No Sound"
msgstr "Без звука"
-#: dialogs.c:682
+#: dialogs.c:684
msgid "Default Beep"
msgstr "Простой сигнал"
-#: dialogs.c:683
+#: dialogs.c:685
msgid "Above WAV File"
msgstr ""
-#: dialogs.c:684
+#: dialogs.c:686
msgid "Car Horn"
msgstr ""
-#: dialogs.c:685
+#: dialogs.c:687
msgid "Cymbal"
msgstr ""
-#: dialogs.c:686
+#: dialogs.c:688
msgid "Ding"
msgstr ""
-#: dialogs.c:687
+#: dialogs.c:689
msgid "Gong"
msgstr ""
-#: dialogs.c:688
+#: dialogs.c:690
msgid "Laser"
msgstr ""
-#: dialogs.c:689
+#: dialogs.c:691
msgid "Penalty"
msgstr ""
-#: dialogs.c:690
+#: dialogs.c:692
msgid "Phone"
msgstr ""
-#: dialogs.c:691
+#: dialogs.c:693
msgid "Pop"
msgstr ""
-#: dialogs.c:692
+#: dialogs.c:694
msgid "Slap"
msgstr ""
-#: dialogs.c:693
+#: dialogs.c:695
msgid "Wood Thunk"
msgstr ""
-#: dialogs.c:695
+#: dialogs.c:697
msgid "User File"
msgstr ""
-#: dialogs.c:717
+#: dialogs.c:719
msgid "User WAV File:"
msgstr ""
-#: dialogs.c:718
+#: dialogs.c:720
msgid "Sound Program:"
msgstr ""
-#: dialogs.c:719
+#: dialogs.c:721
msgid "Try-Out Sound:"
msgstr ""
-#: dialogs.c:720
+#: dialogs.c:722
msgid "Play"
msgstr "Послушать"
-#: dialogs.c:721
+#: dialogs.c:723
msgid "Move:"
msgstr ""
-#: dialogs.c:722
+#: dialogs.c:724
msgid "Win:"
msgstr ""
-#: dialogs.c:723
+#: dialogs.c:725
msgid "Lose:"
msgstr ""
-#: dialogs.c:724
+#: dialogs.c:726
msgid "Draw:"
msgstr ""
-#: dialogs.c:725
+#: dialogs.c:727
msgid "Unfinished:"
msgstr ""
-#: dialogs.c:726
+#: dialogs.c:728
msgid "Alarm:"
msgstr ""
-#: dialogs.c:727
+#: dialogs.c:729
msgid "Challenge:"
msgstr ""
-#: dialogs.c:729
+#: dialogs.c:731
msgid "Sounds Directory:"
msgstr ""
-#: dialogs.c:730
+#: dialogs.c:732
msgid "Shout:"
msgstr ""
-#: dialogs.c:731
+#: dialogs.c:733
msgid "S-Shout:"
msgstr ""
-#: dialogs.c:732
+#: dialogs.c:734
msgid "Channel:"
msgstr ""
-#: dialogs.c:733
+#: dialogs.c:735
msgid "Channel 1:"
msgstr ""
-#: dialogs.c:734
+#: dialogs.c:736
msgid "Tell:"
msgstr ""
-#: dialogs.c:735
+#: dialogs.c:737
msgid "Kibitz:"
msgstr ""
-#: dialogs.c:736
+#: dialogs.c:738
msgid "Request:"
msgstr ""
-#: dialogs.c:737
+#: dialogs.c:739
msgid "Seek:"
msgstr ""
-#: dialogs.c:753
+#: dialogs.c:755
msgid "Sound Options"
msgstr "Звуки"
-#: dialogs.c:774
+#: dialogs.c:776
msgid "White Piece Color:"
msgstr ""
#. TRANSLATORS: R = single letter for the color red
-#: dialogs.c:777 dialogs.c:786 dialogs.c:792 dialogs.c:798 dialogs.c:804
-#: dialogs.c:810
+#: dialogs.c:779 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
+#: dialogs.c:812
msgid "R"
msgstr ""
#. TRANSLATORS: G = single letter for the color green
-#: dialogs.c:779 dialogs.c:787 dialogs.c:793 dialogs.c:799 dialogs.c:805
-#: dialogs.c:811
+#: dialogs.c:781 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
+#: dialogs.c:813
msgid "G"
msgstr ""
#. TRANSLATORS: B = single letter for the color blue
-#: dialogs.c:781 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
-#: dialogs.c:812
+#: dialogs.c:783 dialogs.c:790 dialogs.c:796 dialogs.c:802 dialogs.c:808
+#: dialogs.c:814
msgid "B"
msgstr ""
#. TRANSLATORS: D = single letter to make a color darker
-#: dialogs.c:783 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
-#: dialogs.c:813
+#: dialogs.c:785 dialogs.c:791 dialogs.c:797 dialogs.c:803 dialogs.c:809
+#: dialogs.c:815
msgid "D"
msgstr ""
-#: dialogs.c:784
+#: dialogs.c:786
msgid "Black Piece Color:"
msgstr "Черные фигуры"
-#: dialogs.c:790
+#: dialogs.c:792
msgid "Light Square Color:"
msgstr "Белые поля"
-#: dialogs.c:796
+#: dialogs.c:798
msgid "Dark Square Color:"
msgstr "Черные поля"
-#: dialogs.c:802
+#: dialogs.c:804
msgid "Highlight Color:"
msgstr "Выделенное поле"
-#: dialogs.c:808
+#: dialogs.c:810
msgid "Premove Highlight Color:"
msgstr "Предварит. ход"
-#: dialogs.c:814
+#: dialogs.c:816
msgid "Flip Pieces Shogi Style (Colored buttons restore default)"
msgstr ""
-#: dialogs.c:816
+#: dialogs.c:818
msgid "Mono Mode"
msgstr "Монохромная"
-#: dialogs.c:817
+#: dialogs.c:819
msgid "Line Gap ( -1 = default for board size):"
msgstr ""
-#: dialogs.c:818
+#: dialogs.c:820
msgid "Use Board Textures"
msgstr ""
-#: dialogs.c:819
+#: dialogs.c:821
msgid "Light-Squares Texture File:"
msgstr ""
-#: dialogs.c:820
+#: dialogs.c:822
msgid "Dark-Squares Texture File:"
msgstr ""
-#: dialogs.c:821
+#: dialogs.c:823
msgid "Use external piece bitmaps with their own colors"
msgstr ""
-#: dialogs.c:822
+#: dialogs.c:824
msgid "Directory with Pieces Images:"
msgstr ""
-#: dialogs.c:872
+#: dialogs.c:874
msgid "Board Options"
msgstr "Настройки доски"
-#: dialogs.c:925 menus.c:634
+#: dialogs.c:927 menus.c:634
msgid "ICS text menu"
msgstr ""
-#: dialogs.c:947
+#: dialogs.c:949
msgid "clear"
msgstr ""
-#: dialogs.c:948 dialogs.c:1036
+#: dialogs.c:950 dialogs.c:1038
msgid "save changes"
msgstr ""
-#: dialogs.c:1051
+#: dialogs.c:1053
#, fuzzy
msgid "Edit book"
msgstr "Правка"
-#: dialogs.c:1051 menus.c:636
+#: dialogs.c:1053 menus.c:636
msgid "Tags"
msgstr "Описание"
-#: dialogs.c:1193
+#: dialogs.c:1195
msgid "ICS input box"
msgstr ""
-#: dialogs.c:1225
+#: dialogs.c:1227
msgid "Type a move"
msgstr ""
-#: dialogs.c:1251
+#: dialogs.c:1253
msgid "Engine has no options"
msgstr ""
-#: dialogs.c:1253
+#: dialogs.c:1255
msgid "Engine Settings"
msgstr ""
-#: dialogs.c:1278
+#: dialogs.c:1280
msgid "Select engine from list:"
msgstr ""
-#: dialogs.c:1281
+#: dialogs.c:1283
msgid "or specify one below:"
msgstr ""
-#: dialogs.c:1282
+#: dialogs.c:1284
msgid "Nickname (optional):"
msgstr ""
-#: dialogs.c:1283
+#: dialogs.c:1285
msgid "Use nickname in PGN player tags of engine-engine games"
msgstr ""
-#: dialogs.c:1284
+#: dialogs.c:1286
msgid "Engine Directory:"
msgstr ""
-#: dialogs.c:1285
+#: dialogs.c:1287
msgid "Engine Command:"
msgstr ""
-#: dialogs.c:1286
+#: dialogs.c:1288
msgid "(Directory will be derived from engine path when empty)"
msgstr ""
-#: dialogs.c:1287
+#: dialogs.c:1289
msgid "UCI"
msgstr ""
-#: dialogs.c:1288
+#: dialogs.c:1290
msgid "WB protocol v1 (do not wait for engine features)"
msgstr ""
-#: dialogs.c:1289
+#: dialogs.c:1291
msgid "Must not use GUI book"
msgstr ""
-#: dialogs.c:1290
+#: dialogs.c:1292
msgid "Add this engine to the list"
msgstr ""
-#: dialogs.c:1291
+#: dialogs.c:1293
msgid "Force current variant with this engine"
msgstr ""
-#: dialogs.c:1341
+#: dialogs.c:1343
msgid "Load first engine"
msgstr ""
-#: dialogs.c:1347
+#: dialogs.c:1349
msgid "Load second engine"
msgstr ""
-#: dialogs.c:1370
+#: dialogs.c:1372
msgid "shuffle"
msgstr ""
-#: dialogs.c:1371
+#: dialogs.c:1373
msgid "Start-position number:"
msgstr "Номер позиции:"
-#: dialogs.c:1372
+#: dialogs.c:1374
#, fuzzy
msgid "randomize"
msgstr "Случайно"
-#: dialogs.c:1373
+#: dialogs.c:1375
msgid "pick fixed"
msgstr ""
-#: dialogs.c:1390
+#: dialogs.c:1392
msgid "New Shuffle Game"
msgstr "Новая в смешанные шахматы..."
-#: dialogs.c:1409
+#: dialogs.c:1411
msgid "classical"
msgstr ""
-#: dialogs.c:1410
+#: dialogs.c:1412
msgid "incremental"
msgstr ""
-#: dialogs.c:1411
+#: dialogs.c:1413
msgid "fixed max"
msgstr ""
-#: dialogs.c:1412
+#: dialogs.c:1414
msgid "Moves per session:"
msgstr ""
-#: dialogs.c:1413
+#: dialogs.c:1415
msgid "Initial time (min):"
msgstr ""
-#: dialogs.c:1414
+#: dialogs.c:1416
msgid "Increment or max (sec/move):"
msgstr ""
-#: dialogs.c:1415
+#: dialogs.c:1417
#, fuzzy
msgid "Time-Odds factors:"
msgstr "Фактор времени движков:"
-#: dialogs.c:1416
+#: dialogs.c:1418
#, fuzzy
msgid "Engine #1"
msgstr "Движок"
-#: dialogs.c:1417
+#: dialogs.c:1419
#, fuzzy
msgid "Engine #2 / Human"
msgstr "Своя книга у движка 1"
-#: dialogs.c:1457 dialogs.c:1460 dialogs.c:1465 dialogs.c:1466
+#: dialogs.c:1459 dialogs.c:1462 dialogs.c:1467 dialogs.c:1468
#: gtk/xoptions.c:191
msgid "Unused"
msgstr ""
-#: dialogs.c:1478
+#: dialogs.c:1480
msgid "Time Control"
msgstr ""
-#: dialogs.c:1507
+#: dialogs.c:1509
msgid "Error writing to chess program"
msgstr "Ошибка подключения к шахматной программе"
-#: dialogs.c:1574
+#: dialogs.c:1576
#, fuzzy
msgid "Cancel"
msgstr "Отмена"
-#: dialogs.c:1579 dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1581 dialogs.c:1973 dialogs.c:1977
msgid "King"
msgstr "Король"
-#: dialogs.c:1582
+#: dialogs.c:1584
msgid "Captain"
msgstr ""
-#: dialogs.c:1583
+#: dialogs.c:1585
msgid "Lieutenant"
msgstr ""
-#: dialogs.c:1584
+#: dialogs.c:1586
msgid "General"
msgstr "Общие..."
-#: dialogs.c:1585
+#: dialogs.c:1587
msgid "Warlord"
msgstr ""
-#: dialogs.c:1587 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1589 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Knight"
msgstr "Конь"
-#: dialogs.c:1588 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1590 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Bishop"
msgstr "Слон"
-#: dialogs.c:1589 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1591 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Rook"
msgstr "Ладья"
-#: dialogs.c:1593 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1595 dialogs.c:1974 dialogs.c:1978
msgid "Archbishop"
msgstr "Архиепископ"
-#: dialogs.c:1594 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1596 dialogs.c:1974 dialogs.c:1978
msgid "Chancellor"
msgstr "Канцлер"
-#: dialogs.c:1596 dialogs.c:1971 dialogs.c:1975 dialogs.c:1993
+#: dialogs.c:1598 dialogs.c:1973 dialogs.c:1977 dialogs.c:1995
msgid "Queen"
msgstr "Ферзь"
-#: dialogs.c:1600
+#: dialogs.c:1602
msgid "Defer"
msgstr ""
-#: dialogs.c:1601 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1603 dialogs.c:1974 dialogs.c:1978
msgid "Promote"
msgstr "Превратить"
-#: dialogs.c:1616
+#: dialogs.c:1618
msgid "Chat partner:"
msgstr ""
-#: dialogs.c:1701
+#: dialogs.c:1703
msgid "Chat box"
msgstr ""
-#: dialogs.c:1742
+#: dialogs.c:1744
msgid "factory"
msgstr "Стандарт"
-#: dialogs.c:1743
+#: dialogs.c:1745
msgid "up"
msgstr "Вверх"
-#: dialogs.c:1744
+#: dialogs.c:1746
msgid "down"
msgstr "Вниз"
-#: dialogs.c:1762
+#: dialogs.c:1764
msgid "No tag selected"
msgstr ""
-#: dialogs.c:1793
+#: dialogs.c:1795
#, fuzzy
msgid "Game-list options"
msgstr "Параметры загрузки"
-#: dialogs.c:1869 dialogs.c:1883
+#: dialogs.c:1871 dialogs.c:1885
msgid "Error"
msgstr "Ошибка"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Fatal Error"
msgstr "Неисправимая ошибка"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Exiting"
msgstr "Выход"
-#: dialogs.c:1917
+#: dialogs.c:1919
msgid "Information"
msgstr "Информация"
-#: dialogs.c:1924
+#: dialogs.c:1926
msgid "Note"
msgstr "Примечание"
-#: dialogs.c:1970 dialogs.c:2245 dialogs.c:2248
+#: dialogs.c:1972 dialogs.c:2252 dialogs.c:2255
msgid "White"
msgstr "Белые"
-#: dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Pawn"
msgstr "Пешка"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Elephant"
msgstr "Слон (стар.)"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Cannon"
msgstr "Пушка"
-#: dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1974 dialogs.c:1978
msgid "Demote"
msgstr "Разжаловать"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Empty square"
msgstr "Пустое поле"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Clear board"
msgstr "Очистить доску"
-#: dialogs.c:1974 dialogs.c:2257 dialogs.c:2260
+#: dialogs.c:1976 dialogs.c:2264 dialogs.c:2267
msgid "Black"
msgstr "Черные"
-#: dialogs.c:2073 menus.c:787
+#: dialogs.c:2075 menus.c:787
msgid "File"
msgstr "Файл"
-#: dialogs.c:2074 menus.c:788
+#: dialogs.c:2076 menus.c:788
msgid "Edit"
msgstr "Правка"
-#: dialogs.c:2075 menus.c:789
+#: dialogs.c:2077 menus.c:789
msgid "View"
msgstr "Вид"
-#: dialogs.c:2076 menus.c:790
+#: dialogs.c:2078 menus.c:790
msgid "Mode"
msgstr "Режим"
-#: dialogs.c:2077 menus.c:791
+#: dialogs.c:2079 menus.c:791
msgid "Action"
msgstr "Игра"
-#: dialogs.c:2078 menus.c:792
+#: dialogs.c:2080 menus.c:792
msgid "Engine"
msgstr "Движок"
-#: dialogs.c:2079 menus.c:793
+#: dialogs.c:2081 menus.c:793
msgid "Options"
msgstr "Настройки"
-#: dialogs.c:2080 menus.c:794
+#: dialogs.c:2082 menus.c:794
msgid "Help"
msgstr "Справка"
-#: dialogs.c:2090
+#: dialogs.c:2092
msgid "<<"
msgstr ""
-#: dialogs.c:2091
+#: dialogs.c:2093
msgid "<"
msgstr ""
-#: dialogs.c:2093
+#: dialogs.c:2095
msgid ">"
msgstr ""
-#: dialogs.c:2094
+#: dialogs.c:2096
msgid ">>"
msgstr ""
-#: dialogs.c:2364
+#: dialogs.c:2371
msgid "Directories:"
msgstr ""
-#: dialogs.c:2365
+#: dialogs.c:2372
#, fuzzy
msgid "Files:"
msgstr "Файл"
-#: dialogs.c:2366
+#: dialogs.c:2373
msgid "by name"
msgstr ""
-#: dialogs.c:2367
+#: dialogs.c:2374
msgid "by type"
msgstr ""
-#: dialogs.c:2370
+#: dialogs.c:2377
#, fuzzy
msgid "Filename:"
msgstr "Фильтр"
-#: dialogs.c:2371
+#: dialogs.c:2378
msgid "New directory"
msgstr ""
-#: dialogs.c:2372
+#: dialogs.c:2379
#, fuzzy
msgid "File type:"
msgstr "Фильтр"
-#: dialogs.c:2447
+#: dialogs.c:2454
#, fuzzy
msgid "Contents of"
msgstr "Комментарии"
-#: dialogs.c:2473
+#: dialogs.c:2480
msgid " next page"
msgstr ""
-#: dialogs.c:2495
+#: dialogs.c:2502
msgid "FIRST TYPE DIRECTORY NAME HERE"
msgstr ""
-#: dialogs.c:2496
+#: dialogs.c:2503
msgid "TRY ANOTHER NAME"
msgstr ""
msgstr ""
"Project-Id-Version: XBoard 4.2.7\n"
"Report-Msgid-Bugs-To: bug-xboard@gnu.org\n"
-"POT-Creation-Date: 2013-08-28 21:49-0700\n"
+"POT-Creation-Date: 2013-08-28 22:03-0700\n"
"PO-Revision-Date: 2003-12-26 16:38+0200\n"
"Last-Translator: A. Alper Atýcý <alper_atici@yahoo.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: args.h:820
+#: args.h:821
#, c-format
msgid "%s in settings file\n"
msgstr ""
-#: args.h:830
+#: args.h:831
#, c-format
msgid "Bad integer value %s"
msgstr ""
-#: args.h:923 args.h:1164
+#: args.h:924 args.h:1165
#, c-format
msgid "Unrecognized argument %s"
msgstr ""
-#: args.h:954
+#: args.h:955
#, c-format
msgid "No value provided for argument %s"
msgstr ""
-#: args.h:1014
+#: args.h:1015
#, c-format
msgid "Incomplete \\ escape in value for %s"
msgstr ""
-#: args.h:1119
+#: args.h:1120
#, fuzzy, c-format
msgid "Failed to open indirection file %s"
msgstr "Dosya açýlamadý"
-#: args.h:1136
+#: args.h:1137
#, c-format
msgid "Unrecognized boolean argument value %s"
msgstr ""
#. TRANSLATORS: "first" is the first of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:744
+#: backend.c:753
msgid "first"
msgstr ""
#. TRANSLATORS: "second" is the second of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:747
+#: backend.c:756
msgid "second"
msgstr ""
-#: backend.c:827
+#: backend.c:837
#, c-format
msgid "protocol version %d not supported"
msgstr ""
-#: backend.c:933
+#: backend.c:943
msgid "You did not specify the engine executable"
msgstr ""
-#: backend.c:989
+#: backend.c:999
#, c-format
msgid "bad timeControl option %s"
msgstr ""
-#: backend.c:1004
+#: backend.c:1014
#, c-format
msgid "bad searchTime option %s"
msgstr ""
-#: backend.c:1110
+#: backend.c:1120
#, c-format
msgid "Variant %s supported only in ICS mode"
msgstr ""
-#: backend.c:1128
+#: backend.c:1138
#, c-format
msgid "Unknown variant name %s"
msgstr ""
-#: backend.c:1375
+#: backend.c:1386
msgid "Starting chess program"
msgstr ""
-#: backend.c:1398
+#: backend.c:1409
msgid "Bad game file"
msgstr ""
-#: backend.c:1405
+#: backend.c:1416
msgid "Bad position file"
msgstr ""
-#: backend.c:1419
+#: backend.c:1430
msgid "Pick new game"
msgstr ""
-#: backend.c:1488
+#: backend.c:1499
msgid ""
"You restarted an already completed tourney\n"
"One more cycle will now be added to it\n"
"Games commence in 10 sec"
msgstr ""
-#: backend.c:1495
+#: backend.c:1506
#, c-format
msgid "All games in tourney '%s' are already played or playing"
msgstr ""
-#: backend.c:1502
+#: backend.c:1513
msgid "Can't have a match with no chess programs"
msgstr ""
-#: backend.c:1539
+#: backend.c:1550
#, c-format
msgid "Could not open comm port %s"
msgstr ""
-#: backend.c:1542
+#: backend.c:1553
#, c-format
msgid "Could not connect to host %s, port %s"
msgstr ""
-#: backend.c:1598
+#: backend.c:1609
#, c-format
msgid "Unknown initialMode %s"
msgstr ""
-#: backend.c:1624
+#: backend.c:1635
msgid "AnalyzeFile mode requires a game file"
msgstr ""
-#: backend.c:1651
+#: backend.c:1662
msgid "Analysis mode requires a chess engine"
msgstr ""
-#: backend.c:1655
+#: backend.c:1666
msgid "Analysis mode does not work with ICS mode"
msgstr ""
-#: backend.c:1666
+#: backend.c:1677
msgid "MachineWhite mode requires a chess engine"
msgstr ""
-#: backend.c:1671
+#: backend.c:1682
msgid "MachineWhite mode does not work with ICS mode"
msgstr ""
-#: backend.c:1678
+#: backend.c:1689
msgid "MachineBlack mode requires a chess engine"
msgstr ""
-#: backend.c:1683
+#: backend.c:1694
msgid "MachineBlack mode does not work with ICS mode"
msgstr ""
-#: backend.c:1690
+#: backend.c:1701
msgid "TwoMachines mode requires a chess engine"
msgstr ""
-#: backend.c:1695
+#: backend.c:1706
msgid "TwoMachines mode does not work with ICS mode"
msgstr ""
-#: backend.c:1706
+#: backend.c:1717
msgid "Training mode requires a game file"
msgstr ""
-#: backend.c:1869 backend.c:1924 backend.c:1947 backend.c:2346
+#: backend.c:1880 backend.c:1935 backend.c:1958 backend.c:2357
msgid "Error writing to ICS"
msgstr ""
-#: backend.c:1884
+#: backend.c:1895
msgid "Error reading from keyboard"
msgstr ""
-#: backend.c:1887
+#: backend.c:1898
msgid "Got end of file from keyboard"
msgstr ""
-#: backend.c:2192
+#: backend.c:2203
#, c-format
msgid "Unknown wild type %d"
msgstr ""
-#: backend.c:2263 usystem.c:329
+#: backend.c:2274 usystem.c:329
msgid "Error writing to display"
msgstr ""
-#: backend.c:3019
+#: backend.c:3030
#, c-format
msgid "your opponent kibitzes: %s"
msgstr ""
-#: backend.c:3548
+#: backend.c:3559
msgid "Error gathering move list: two headers"
msgstr ""
-#: backend.c:3595
+#: backend.c:3606
msgid "Error gathering move list: nested"
msgstr ""
-#: backend.c:3699 backend.c:4117 backend.c:4321 backend.c:4880 backend.c:4884
-#: backend.c:6900 backend.c:12082 backend.c:13797 backend.c:13874
-#: backend.c:13920 backend.c:13926 backend.c:13931 backend.c:13936
+#: backend.c:3710 backend.c:4128 backend.c:4332 backend.c:4891 backend.c:4895
+#: backend.c:6919 backend.c:12213 backend.c:13928 backend.c:14005
+#: backend.c:14051 backend.c:14057 backend.c:14062 backend.c:14067
msgid "vs."
msgstr ""
-#: backend.c:3827
+#: backend.c:3838
msgid "Illegal move (rejected by ICS)"
msgstr ""
-#: backend.c:4165
+#: backend.c:4176
msgid "Connection closed by ICS"
msgstr ""
-#: backend.c:4167
+#: backend.c:4178
msgid "Error reading from ICS"
msgstr ""
-#: backend.c:4244
+#: backend.c:4255
#, c-format
msgid ""
"Failed to parse board string:\n"
"\"%s\""
msgstr ""
-#: backend.c:4253 backend.c:9755
+#: backend.c:4264 backend.c:9885
msgid "Game too long; increase MAX_MOVES and recompile"
msgstr ""
-#: backend.c:4372
+#: backend.c:4383
msgid "Error gathering move list: extra board"
msgstr ""
-#: backend.c:4804 backend.c:4826
+#: backend.c:4815 backend.c:4837
#, c-format
msgid "Couldn't parse move \"%s\" from ICS"
msgstr ""
-#: backend.c:5063
+#: backend.c:5074
#, c-format
msgid "say Internal error; bad moveType %d (%d,%d-%d,%d)"
msgstr ""
-#: backend.c:5133
+#: backend.c:5145
msgid "You cannot do this while you are playing or observing"
msgstr ""
-#: backend.c:6029
+#: backend.c:6046
msgid "Recompile to support this BOARD_RANKS or BOARD_FILES!"
msgstr ""
-#: backend.c:6491
+#: backend.c:6510
msgid "You are playing Black"
msgstr "Siz Siyah'sýnýz"
-#: backend.c:6500 backend.c:6527
+#: backend.c:6519 backend.c:6546
msgid "You are playing White"
msgstr "Siz Beyaz'sýnýz"
-#: backend.c:6509 backend.c:6535 backend.c:6655 backend.c:6680 backend.c:6696
-#: backend.c:14573
+#: backend.c:6528 backend.c:6554 backend.c:6674 backend.c:6699 backend.c:6715
+#: backend.c:14705
msgid "It is White's turn"
msgstr "Sýra Beyaz'da"
-#: backend.c:6513 backend.c:6539 backend.c:6663 backend.c:6686 backend.c:6717
-#: backend.c:14565
+#: backend.c:6532 backend.c:6558 backend.c:6682 backend.c:6705 backend.c:6736
+#: backend.c:14697
msgid "It is Black's turn"
msgstr "Sýra Siyah'ta"
-#: backend.c:6552
+#: backend.c:6571
msgid "Displayed position is not current"
msgstr ""
-#: backend.c:6790
+#: backend.c:6809
msgid "Illegal move"
msgstr "Geçersiz hamle"
-#: backend.c:6857
+#: backend.c:6876
msgid "End of game"
msgstr "Oyun sonu"
-#: backend.c:6860
+#: backend.c:6879
msgid "Incorrect move"
msgstr "Yanlýþ hamle"
-#: backend.c:7169 backend.c:7296
+#: backend.c:7257 backend.c:7392
msgid "Pull pawn backwards to under-promote"
msgstr ""
-#: backend.c:7527
+#: backend.c:7364
+msgid "only marked squares are legal"
+msgstr ""
+
+#: backend.c:7624
msgid "Swiss tourney finished"
msgstr ""
-#: backend.c:8102
+#: backend.c:8199
msgid "Invalid pairing from pairing engine"
msgstr ""
-#: backend.c:8235
+#: backend.c:8332
#, c-format
msgid "Illegal move \"%s\" from %s machine"
msgstr ""
-#: backend.c:8456
+#: backend.c:8564
msgid "Bad FEN received from engine"
msgstr ""
-#: backend.c:8600 backend.c:13662 backend.c:13727
+#: backend.c:8730 backend.c:13793 backend.c:13858
#, c-format
msgid "%s does not support analysis"
msgstr ""
-#: backend.c:8666
+#: backend.c:8796
#, c-format
msgid "Illegal move \"%s\" (rejected by %s chess program)"
msgstr ""
-#: backend.c:8693
+#: backend.c:8823
#, c-format
msgid "Failed to start %s chess program %s on %s: %s\n"
msgstr ""
-#: backend.c:8714
+#: backend.c:8844
#, fuzzy, c-format
msgid "Hint: %s"
msgstr "Ýpucu"
-#: backend.c:8719
+#: backend.c:8849
#, c-format
msgid ""
"Illegal hint move \"%s\"\n"
"from %s chess program"
msgstr ""
-#: backend.c:8894
+#: backend.c:9024
msgid "Machine accepts your draw offer"
msgstr ""
-#: backend.c:8897
+#: backend.c:9027
msgid ""
"Machine offers a draw\n"
"Select Action / Draw to agree"
msgstr ""
-#: backend.c:8976
+#: backend.c:9106
msgid "failed writing PV"
msgstr ""
-#: backend.c:9274
+#: backend.c:9404
#, c-format
msgid "Ambiguous move in ICS output: \"%s\""
msgstr ""
-#: backend.c:9284
+#: backend.c:9414
#, c-format
msgid "Illegal move in ICS output: \"%s\""
msgstr ""
-#: backend.c:9295
+#: backend.c:9425
msgid "Gap in move list"
msgstr ""
-#: backend.c:9916 dialogs.c:460
+#: backend.c:10046 dialogs.c:461
#, c-format
msgid "Variant %s not supported by %s"
msgstr ""
-#: backend.c:10037
+#: backend.c:10167
#, c-format
msgid "Startup failure on '%s'"
msgstr ""
-#: backend.c:10068
+#: backend.c:10198
msgid "Waiting for first chess program"
msgstr ""
-#: backend.c:10073 backend.c:13945
+#: backend.c:10203 backend.c:14076
msgid "Waiting for second chess program"
msgstr ""
-#: backend.c:10122
+#: backend.c:10252
msgid "Could not write on tourney file"
msgstr ""
-#: backend.c:10196
+#: backend.c:10326
msgid ""
"You cannot replace an engine while it is engaged!\n"
"Terminate its game first."
msgstr ""
-#: backend.c:10210
+#: backend.c:10340
msgid "No engine with the name you gave is installed"
msgstr ""
-#: backend.c:10212
+#: backend.c:10342
msgid ""
"First change an engine by editing the participants list\n"
"of the Tournament Options dialog"
msgstr ""
-#: backend.c:10213
+#: backend.c:10343
msgid "You can only change one engine at the time"
msgstr ""
-#: backend.c:10228 backend.c:10375
+#: backend.c:10358 backend.c:10505
#, c-format
msgid "No engine %s is installed"
msgstr ""
-#: backend.c:10248
+#: backend.c:10378
msgid ""
"You must supply a tournament file,\n"
"for storing the tourney progress"
msgstr ""
-#: backend.c:10258
+#: backend.c:10388
msgid "Not enough participants"
msgstr ""
-#: backend.c:10459
+#: backend.c:10589
#, fuzzy
msgid "Bad tournament file"
msgstr "Dosya açýlamadý"
-#: backend.c:10471
+#: backend.c:10601
msgid "Waiting for other game(s)"
msgstr ""
-#: backend.c:10484
+#: backend.c:10614
msgid "No pairing engine specified"
msgstr ""
-#: backend.c:10961
+#: backend.c:11092
#, c-format
msgid "Match %s vs. %s: final score %d-%d-%d"
msgstr ""
-#: backend.c:11423 backend.c:11454
+#: backend.c:11554 backend.c:11585
#, c-format
msgid "Illegal move: %d.%s%s"
msgstr ""
-#: backend.c:11443
+#: backend.c:11574
#, c-format
msgid "Ambiguous move: %d.%s%s"
msgstr ""
-#: backend.c:11496 backend.c:12505 backend.c:12698 backend.c:13059
+#: backend.c:11627 backend.c:12636 backend.c:12829 backend.c:13190
#, c-format
msgid "Can't open \"%s\""
msgstr ""
-#: backend.c:11508 menus.c:116
+#: backend.c:11639 menus.c:116
msgid "Cannot build game list"
msgstr ""
-#: backend.c:11593
+#: backend.c:11724
msgid "No more games in this message"
msgstr ""
-#: backend.c:11633
+#: backend.c:11764
msgid "No game has been loaded yet"
msgstr ""
-#: backend.c:11637 backend.c:12486 ngamelist.c:129
+#: backend.c:11768 backend.c:12617 ngamelist.c:129
msgid "Can't back up any further"
msgstr ""
-#: backend.c:12058
+#: backend.c:12189
msgid "Game number out of range"
msgstr ""
-#: backend.c:12069
+#: backend.c:12200
msgid "Can't seek on game file"
msgstr ""
-#: backend.c:12127
+#: backend.c:12258
msgid "Game not found in file"
msgstr ""
-#: backend.c:12255 backend.c:12582
+#: backend.c:12386 backend.c:12713
msgid "Bad FEN position in file"
msgstr ""
-#: backend.c:12407
+#: backend.c:12538
msgid "No moves in game"
msgstr ""
-#: backend.c:12482
+#: backend.c:12613
msgid "No position has been loaded yet"
msgstr ""
-#: backend.c:12543 backend.c:12554
+#: backend.c:12674 backend.c:12685
msgid "Can't seek on position file"
msgstr ""
-#: backend.c:12561 backend.c:12573
+#: backend.c:12692 backend.c:12704
msgid "Position not found in file"
msgstr ""
-#: backend.c:12613
+#: backend.c:12744
msgid "Black to play"
msgstr ""
-#: backend.c:12616
+#: backend.c:12747
msgid "White to play"
msgstr ""
-#: backend.c:12703 backend.c:13064
+#: backend.c:12834 backend.c:13195
msgid "Waiting for access to save file"
msgstr ""
-#: backend.c:12705
+#: backend.c:12836
msgid "Saving game"
msgstr ""
-#: backend.c:12706
+#: backend.c:12837
msgid "Bad Seek"
msgstr ""
-#: backend.c:13066
+#: backend.c:13197
msgid "Saving position"
msgstr ""
-#: backend.c:13192
+#: backend.c:13323
msgid ""
"You have edited the game history.\n"
"Use Reload Same Game and make your move again."
msgstr ""
-#: backend.c:13197
+#: backend.c:13328
msgid ""
"You have entered too many moves.\n"
"Back up to the correct position and try again."
msgstr ""
-#: backend.c:13202
+#: backend.c:13333
msgid ""
"Displayed position is not current.\n"
"Step forward to the correct position and try again."
msgstr ""
-#: backend.c:13249
+#: backend.c:13380
msgid "You have not made a move yet"
msgstr ""
-#: backend.c:13270
+#: backend.c:13401
msgid ""
"The cmail message is not loaded.\n"
"Use Reload CMail Message and make your move again."
msgstr ""
-#: backend.c:13275
+#: backend.c:13406
msgid "No unfinished games"
msgstr ""
-#: backend.c:13281
+#: backend.c:13412
#, c-format
msgid ""
"You have already mailed a move.\n"
"on the command line."
msgstr ""
-#: backend.c:13296
+#: backend.c:13427
msgid "Failed to invoke cmail"
msgstr ""
-#: backend.c:13358
+#: backend.c:13489
#, c-format
msgid "Waiting for reply from opponent\n"
msgstr ""
-#: backend.c:13380
+#: backend.c:13511
#, c-format
msgid "Still need to make move for game\n"
msgstr ""
-#: backend.c:13384
+#: backend.c:13515
#, c-format
msgid "Still need to make moves for both games\n"
msgstr ""
-#: backend.c:13388
+#: backend.c:13519
#, c-format
msgid "Still need to make moves for all %d games\n"
msgstr ""
-#: backend.c:13395
+#: backend.c:13526
#, c-format
msgid "Still need to make a move for game %s\n"
msgstr ""
-#: backend.c:13401
+#: backend.c:13532
#, c-format
msgid "No unfinished games\n"
msgstr ""
-#: backend.c:13403
+#: backend.c:13534
#, c-format
msgid "Ready to send mail\n"
msgstr ""
-#: backend.c:13408
+#: backend.c:13539
#, c-format
msgid "Still need to make moves for games %s\n"
msgstr ""
-#: backend.c:13612
+#: backend.c:13743
msgid "Edit comment"
msgstr ""
-#: backend.c:13614
+#: backend.c:13745
#, c-format
msgid "Edit comment on %d.%s%s"
msgstr ""
-#: backend.c:13669
+#: backend.c:13800
#, c-format
msgid "You are not observing a game"
msgstr ""
-#: backend.c:13777
+#: backend.c:13908
msgid "It is not White's turn"
msgstr ""
-#: backend.c:13858
+#: backend.c:13989
msgid "It is not Black's turn"
msgstr ""
-#: backend.c:13966
+#: backend.c:14097
#, c-format
msgid "Starting %s chess program"
msgstr ""
-#: backend.c:13994 backend.c:15108
+#: backend.c:14125 backend.c:15240
msgid ""
"Wait until your turn,\n"
"or select Move Now"
msgstr ""
-#: backend.c:14128
+#: backend.c:14259
msgid "Training mode off"
msgstr ""
-#: backend.c:14136
+#: backend.c:14267
msgid "Training mode on"
msgstr ""
-#: backend.c:14139
+#: backend.c:14270
msgid "Already at end of game"
msgstr ""
-#: backend.c:14219
+#: backend.c:14350
msgid "Warning: You are still playing a game"
msgstr ""
-#: backend.c:14222
+#: backend.c:14353
msgid "Warning: You are still observing a game"
msgstr ""
-#: backend.c:14225
+#: backend.c:14356
msgid "Warning: You are still examining a game"
msgstr ""
-#: backend.c:14292
+#: backend.c:14423
msgid "Click clock to clear board"
msgstr ""
-#: backend.c:14302
+#: backend.c:14433
msgid "Close ICS engine analyze..."
msgstr ""
-#: backend.c:14590
+#: backend.c:14722
msgid "That square is occupied"
msgstr ""
-#: backend.c:14614 backend.c:14640
+#: backend.c:14746 backend.c:14772
msgid "There is no pending offer on this move"
msgstr ""
-#: backend.c:14676 backend.c:14687
+#: backend.c:14808 backend.c:14819
msgid "Your opponent is not out of time"
msgstr ""
-#: backend.c:14753
+#: backend.c:14885
msgid "You must make your move before offering a draw"
msgstr ""
-#: backend.c:15090
+#: backend.c:15222
msgid "You are not examining a game"
msgstr ""
-#: backend.c:15094
+#: backend.c:15226
msgid "You can't revert while pausing"
msgstr ""
-#: backend.c:15148 backend.c:15155
+#: backend.c:15280 backend.c:15287
msgid "It is your turn"
msgstr ""
-#: backend.c:15206 backend.c:15213 backend.c:15266 backend.c:15273
+#: backend.c:15338 backend.c:15345 backend.c:15398 backend.c:15405
msgid "Wait until your turn"
msgstr ""
-#: backend.c:15218
+#: backend.c:15350
msgid "No hint available"
msgstr ""
-#: backend.c:15234 ngamelist.c:355
+#: backend.c:15366 ngamelist.c:355
msgid "Game list not loaded or empty"
msgstr ""
-#: backend.c:15241
+#: backend.c:15373
msgid "Book file exists! Try again for overwrite."
msgstr ""
-#: backend.c:15719
+#: backend.c:15851
#, c-format
msgid "Error writing to %s chess program"
msgstr ""
-#: backend.c:15722 backend.c:15753
+#: backend.c:15854 backend.c:15885
#, c-format
msgid "%s program exits in draw position (%s)"
msgstr ""
-#: backend.c:15748
+#: backend.c:15880
#, c-format
msgid "Error: %s chess program (%s) exited unexpectedly"
msgstr ""
-#: backend.c:15766
+#: backend.c:15898
#, c-format
msgid "Error reading from %s chess program (%s)"
msgstr ""
-#: backend.c:16168
+#: backend.c:16301
#, c-format
msgid "%s engine has too many options\n"
msgstr ""
-#: backend.c:16324
+#: backend.c:16457
msgid "Displayed move is not current"
msgstr ""
-#: backend.c:16333
+#: backend.c:16466
msgid "Could not parse move"
msgstr ""
-#: backend.c:16458 backend.c:16480
+#: backend.c:16591 backend.c:16613
msgid "Both flags fell"
msgstr "Berabere"
-#: backend.c:16460
+#: backend.c:16593
msgid "White's flag fell"
msgstr "Beyaz Þah mat"
-#: backend.c:16482
+#: backend.c:16615
msgid "Black's flag fell"
msgstr "Siyah Þah mat"
-#: backend.c:16613
+#: backend.c:16746
msgid "Clock adjustment not allowed in auto-flag mode"
msgstr ""
-#: backend.c:17448
+#: backend.c:17585
msgid "Bad FEN position in clipboard"
msgstr ""
msgid "First you must specify an existing tourney file to clone"
msgstr ""
-#: dialogs.c:332 dialogs.c:1320
+#: dialogs.c:332 dialogs.c:1322
msgid "# no engines are installed"
msgstr ""
msgid "Play Move(s) of Clicked PV (Analysis)"
msgstr ""
-#: dialogs.c:379 dialogs.c:514 menus.c:728
+#: dialogs.c:379 dialogs.c:515 menus.c:728
#, fuzzy
msgid "Ponder Next Move"
msgstr "Sonraki Oyunu Yükle"
msgstr ""
#: dialogs.c:429
-msgid "fairy"
+msgid "ASEAN"
msgstr ""
#: dialogs.c:430
msgstr ""
#: dialogs.c:447
-msgid " "
+msgid "fairy"
msgstr ""
-#: dialogs.c:448
+#: dialogs.c:449
msgid "courier (12x8)"
msgstr ""
-#: dialogs.c:465
+#: dialogs.c:466
#, c-format
msgid "Warning: second engine (%s) does not support this!"
msgstr ""
-#: dialogs.c:488
+#: dialogs.c:489
#, c-format
msgid "Only bughouse is not available in viewer mode"
msgstr ""
-#: dialogs.c:489
+#: dialogs.c:490
#, c-format
msgid ""
"All variants not supported by first engine\n"
"(currently %s) are disabled"
msgstr ""
-#: dialogs.c:490
+#: dialogs.c:491
msgid "New Variant"
msgstr ""
-#: dialogs.c:515
+#: dialogs.c:516
msgid "Maximum Number of CPUs per Engine:"
msgstr ""
-#: dialogs.c:516
+#: dialogs.c:517
msgid "Polygot Directory:"
msgstr ""
-#: dialogs.c:517
+#: dialogs.c:518
msgid "Hash-Table Size (MB):"
msgstr ""
-#: dialogs.c:518
+#: dialogs.c:519
msgid "Nalimov EGTB Path:"
msgstr ""
-#: dialogs.c:519
+#: dialogs.c:520
msgid "EGTB Cache Size (MB):"
msgstr ""
-#: dialogs.c:520
+#: dialogs.c:521
msgid "Use GUI Book"
msgstr ""
-#: dialogs.c:521
+#: dialogs.c:522
msgid "Opening-Book Filename:"
msgstr ""
-#: dialogs.c:522
+#: dialogs.c:523
msgid "Book Depth (moves):"
msgstr ""
-#: dialogs.c:523
+#: dialogs.c:524
msgid "Book Variety (0) vs. Strength (100):"
msgstr ""
-#: dialogs.c:524
+#: dialogs.c:525
msgid "Engine #1 Has Own Book"
msgstr ""
-#: dialogs.c:525
+#: dialogs.c:526
msgid "Engine #2 Has Own Book "
msgstr ""
-#: dialogs.c:534
+#: dialogs.c:535
msgid "Common Engine Settings"
msgstr ""
-#: dialogs.c:540
+#: dialogs.c:541
msgid "Detect all Mates"
msgstr ""
-#: dialogs.c:541
+#: dialogs.c:542
msgid "Verify Engine Result Claims"
msgstr ""
-#: dialogs.c:542
+#: dialogs.c:543
msgid "Draw if Insufficient Mating Material"
msgstr ""
-#: dialogs.c:543
+#: dialogs.c:544
msgid "Adjudicate Trivial Draws (3-Move Delay)"
msgstr ""
-#: dialogs.c:544
+#: dialogs.c:545
msgid "N-Move Rule:"
msgstr ""
-#: dialogs.c:545
+#: dialogs.c:546
msgid "N-fold Repeats:"
msgstr ""
-#: dialogs.c:546
+#: dialogs.c:547
msgid "Draw after N Moves Total:"
msgstr ""
-#: dialogs.c:547
+#: dialogs.c:548
msgid "Win / Loss Threshold:"
msgstr ""
-#: dialogs.c:548
+#: dialogs.c:549
msgid "Negate Score of Engine #1"
msgstr ""
-#: dialogs.c:549
+#: dialogs.c:550
msgid "Negate Score of Engine #2"
msgstr ""
-#: dialogs.c:556
+#: dialogs.c:557
#, fuzzy
msgid "Adjudicate non-ICS Games"
msgstr "Oyunu Kaydet"
-#: dialogs.c:569
+#: dialogs.c:570
msgid "Auto-Kibitz"
msgstr ""
-#: dialogs.c:570
+#: dialogs.c:571
msgid "Auto-Comment"
msgstr ""
-#: dialogs.c:571
+#: dialogs.c:572
msgid "Auto-Observe"
msgstr ""
-#: dialogs.c:572
+#: dialogs.c:573
#, fuzzy
msgid "Auto-Raise Board"
msgstr "XBoard Hakkýnda"
-#: dialogs.c:573
+#: dialogs.c:574
msgid "Auto-Create Logon Script"
msgstr ""
-#: dialogs.c:574
+#: dialogs.c:575
msgid "Background Observe while Playing"
msgstr ""
-#: dialogs.c:575
+#: dialogs.c:576
msgid "Dual Board for Background-Observed Game"
msgstr ""
-#: dialogs.c:576
+#: dialogs.c:577
#, fuzzy
msgid "Get Move List"
msgstr "Hamle Listesini Göster"
-#: dialogs.c:577
+#: dialogs.c:578
msgid "Quiet Play"
msgstr ""
-#: dialogs.c:578
+#: dialogs.c:579
msgid "Seek Graph"
msgstr ""
-#: dialogs.c:579
+#: dialogs.c:580
msgid "Auto-Refresh Seek Graph"
msgstr ""
-#: dialogs.c:580
+#: dialogs.c:581
msgid "Auto-InputBox PopUp"
msgstr ""
-#: dialogs.c:581
+#: dialogs.c:582
+msgid "Quit after game"
+msgstr ""
+
+#: dialogs.c:583
msgid "Premove"
msgstr ""
-#: dialogs.c:582
+#: dialogs.c:584
msgid "Premove for White"
msgstr ""
-#: dialogs.c:583
+#: dialogs.c:585
msgid "First White Move:"
msgstr ""
-#: dialogs.c:584
+#: dialogs.c:586
msgid "Premove for Black"
msgstr ""
-#: dialogs.c:585
+#: dialogs.c:587
msgid "First Black Move:"
msgstr ""
-#: dialogs.c:587
+#: dialogs.c:589
msgid "Alarm"
msgstr ""
-#: dialogs.c:588
+#: dialogs.c:590
msgid "Alarm Time (msec):"
msgstr ""
-#: dialogs.c:590
+#: dialogs.c:592
msgid "Colorize Messages"
msgstr ""
-#: dialogs.c:591
+#: dialogs.c:593
msgid "Shout Text Colors:"
msgstr ""
-#: dialogs.c:592
+#: dialogs.c:594
msgid "S-Shout Text Colors:"
msgstr ""
-#: dialogs.c:593
+#: dialogs.c:595
msgid "Channel #1 Text Colors:"
msgstr ""
-#: dialogs.c:594
+#: dialogs.c:596
msgid "Other Channel Text Colors:"
msgstr ""
-#: dialogs.c:595
+#: dialogs.c:597
msgid "Kibitz Text Colors:"
msgstr ""
-#: dialogs.c:596
+#: dialogs.c:598
msgid "Tell Text Colors:"
msgstr ""
-#: dialogs.c:597
+#: dialogs.c:599
msgid "Challenge Text Colors:"
msgstr ""
-#: dialogs.c:598
+#: dialogs.c:600
msgid "Request Text Colors:"
msgstr ""
-#: dialogs.c:599
+#: dialogs.c:601
msgid "Seek Text Colors:"
msgstr ""
-#: dialogs.c:606
+#: dialogs.c:608
#, fuzzy
msgid "ICS Options"
msgstr "Seçenekler"
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Exact position match"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Shown position is subset"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Same material with exactly same Pawn chain"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Same material"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material range (top board half optional)"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material difference (optional stuff balanced)"
msgstr ""
-#: dialogs.c:624
+#: dialogs.c:626
msgid "Auto-Display Tags"
msgstr ""
-#: dialogs.c:625
+#: dialogs.c:627
msgid "Auto-Display Comment"
msgstr ""
-#: dialogs.c:626
+#: dialogs.c:628
msgid ""
"Auto-Play speed of loaded games\n"
"(0 = instant, -1 = off):"
msgstr ""
-#: dialogs.c:627
+#: dialogs.c:629
msgid "Seconds per Move:"
msgstr ""
-#: dialogs.c:628
+#: dialogs.c:630
msgid ""
"\n"
"options to use in game-viewer mode:"
msgstr ""
-#: dialogs.c:630
+#: dialogs.c:632
msgid ""
"\n"
"Thresholds for position filtering in game list:"
msgstr ""
-#: dialogs.c:631
+#: dialogs.c:633
msgid "Elo of strongest player at least:"
msgstr ""
-#: dialogs.c:632
+#: dialogs.c:634
msgid "Elo of weakest player at least:"
msgstr ""
-#: dialogs.c:633
+#: dialogs.c:635
msgid "No games before year:"
msgstr ""
-#: dialogs.c:634
+#: dialogs.c:636
msgid "Minimum nr consecutive positions:"
msgstr ""
-#: dialogs.c:635
+#: dialogs.c:637
msgid "Search mode:"
msgstr ""
-#: dialogs.c:636
+#: dialogs.c:638
msgid "Also match reversed colors"
msgstr ""
-#: dialogs.c:637
+#: dialogs.c:639
msgid "Also match left-right flipped position"
msgstr ""
-#: dialogs.c:645
+#: dialogs.c:647
#, fuzzy
msgid "Load Game Options"
msgstr "Oyun Yükle"
-#: dialogs.c:657
+#: dialogs.c:659
#, fuzzy
msgid "Auto-Save Games"
msgstr "Oyunu Kaydet"
-#: dialogs.c:658
+#: dialogs.c:660
msgid "Own Games Only"
msgstr ""
-#: dialogs.c:659
+#: dialogs.c:661
#, fuzzy
msgid "Save Games on File:"
msgstr "Oyunu Kaydet"
-#: dialogs.c:660
+#: dialogs.c:662
msgid "Save Final Positions on File:"
msgstr ""
-#: dialogs.c:661
+#: dialogs.c:663
msgid "PGN Event Header:"
msgstr ""
-#: dialogs.c:662
+#: dialogs.c:664
msgid "Old Save Style (as opposed to PGN)"
msgstr ""
-#: dialogs.c:663
+#: dialogs.c:665
msgid "Include Number Tag in tourney PGN"
msgstr ""
-#: dialogs.c:664
+#: dialogs.c:666
msgid "Save Score/Depth Info in PGN"
msgstr ""
-#: dialogs.c:665
+#: dialogs.c:667
msgid "Save Out-of-Book Info in PGN "
msgstr ""
-#: dialogs.c:672
+#: dialogs.c:674
#, fuzzy
msgid "Save Game Options"
msgstr "Oyunu Kaydet"
-#: dialogs.c:681
+#: dialogs.c:683
msgid "No Sound"
msgstr ""
-#: dialogs.c:682
+#: dialogs.c:684
msgid "Default Beep"
msgstr ""
-#: dialogs.c:683
+#: dialogs.c:685
msgid "Above WAV File"
msgstr ""
-#: dialogs.c:684
+#: dialogs.c:686
msgid "Car Horn"
msgstr ""
-#: dialogs.c:685
+#: dialogs.c:687
msgid "Cymbal"
msgstr ""
-#: dialogs.c:686
+#: dialogs.c:688
msgid "Ding"
msgstr ""
-#: dialogs.c:687
+#: dialogs.c:689
msgid "Gong"
msgstr ""
-#: dialogs.c:688
+#: dialogs.c:690
msgid "Laser"
msgstr ""
-#: dialogs.c:689
+#: dialogs.c:691
msgid "Penalty"
msgstr ""
-#: dialogs.c:690
+#: dialogs.c:692
msgid "Phone"
msgstr ""
-#: dialogs.c:691
+#: dialogs.c:693
msgid "Pop"
msgstr ""
-#: dialogs.c:692
+#: dialogs.c:694
msgid "Slap"
msgstr ""
-#: dialogs.c:693
+#: dialogs.c:695
msgid "Wood Thunk"
msgstr ""
-#: dialogs.c:695
+#: dialogs.c:697
#, fuzzy
msgid "User File"
msgstr "Dosya"
-#: dialogs.c:717
+#: dialogs.c:719
msgid "User WAV File:"
msgstr ""
-#: dialogs.c:718
+#: dialogs.c:720
msgid "Sound Program:"
msgstr ""
-#: dialogs.c:719
+#: dialogs.c:721
msgid "Try-Out Sound:"
msgstr ""
-#: dialogs.c:720
+#: dialogs.c:722
msgid "Play"
msgstr ""
-#: dialogs.c:721
+#: dialogs.c:723
msgid "Move:"
msgstr ""
-#: dialogs.c:722
+#: dialogs.c:724
msgid "Win:"
msgstr ""
-#: dialogs.c:723
+#: dialogs.c:725
msgid "Lose:"
msgstr ""
-#: dialogs.c:724
+#: dialogs.c:726
#, fuzzy
msgid "Draw:"
msgstr "Berabere"
-#: dialogs.c:725
+#: dialogs.c:727
msgid "Unfinished:"
msgstr ""
-#: dialogs.c:726
+#: dialogs.c:728
msgid "Alarm:"
msgstr ""
-#: dialogs.c:727
+#: dialogs.c:729
msgid "Challenge:"
msgstr ""
-#: dialogs.c:729
+#: dialogs.c:731
msgid "Sounds Directory:"
msgstr ""
-#: dialogs.c:730
+#: dialogs.c:732
msgid "Shout:"
msgstr ""
-#: dialogs.c:731
+#: dialogs.c:733
msgid "S-Shout:"
msgstr ""
-#: dialogs.c:732
+#: dialogs.c:734
#, fuzzy
msgid "Channel:"
msgstr "iptal"
-#: dialogs.c:733
+#: dialogs.c:735
#, fuzzy
msgid "Channel 1:"
msgstr "iptal"
-#: dialogs.c:734
+#: dialogs.c:736
msgid "Tell:"
msgstr ""
-#: dialogs.c:735
+#: dialogs.c:737
msgid "Kibitz:"
msgstr ""
-#: dialogs.c:736
+#: dialogs.c:738
msgid "Request:"
msgstr ""
-#: dialogs.c:737
+#: dialogs.c:739
msgid "Seek:"
msgstr ""
-#: dialogs.c:753
+#: dialogs.c:755
#, fuzzy
msgid "Sound Options"
msgstr "Seçenekler"
-#: dialogs.c:774
+#: dialogs.c:776
msgid "White Piece Color:"
msgstr ""
#. TRANSLATORS: R = single letter for the color red
-#: dialogs.c:777 dialogs.c:786 dialogs.c:792 dialogs.c:798 dialogs.c:804
-#: dialogs.c:810
+#: dialogs.c:779 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
+#: dialogs.c:812
msgid "R"
msgstr ""
#. TRANSLATORS: G = single letter for the color green
-#: dialogs.c:779 dialogs.c:787 dialogs.c:793 dialogs.c:799 dialogs.c:805
-#: dialogs.c:811
+#: dialogs.c:781 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
+#: dialogs.c:813
msgid "G"
msgstr ""
#. TRANSLATORS: B = single letter for the color blue
-#: dialogs.c:781 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
-#: dialogs.c:812
+#: dialogs.c:783 dialogs.c:790 dialogs.c:796 dialogs.c:802 dialogs.c:808
+#: dialogs.c:814
msgid "B"
msgstr ""
#. TRANSLATORS: D = single letter to make a color darker
-#: dialogs.c:783 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
-#: dialogs.c:813
+#: dialogs.c:785 dialogs.c:791 dialogs.c:797 dialogs.c:803 dialogs.c:809
+#: dialogs.c:815
msgid "D"
msgstr ""
-#: dialogs.c:784
+#: dialogs.c:786
msgid "Black Piece Color:"
msgstr ""
-#: dialogs.c:790
+#: dialogs.c:792
msgid "Light Square Color:"
msgstr ""
-#: dialogs.c:796
+#: dialogs.c:798
msgid "Dark Square Color:"
msgstr ""
-#: dialogs.c:802
+#: dialogs.c:804
msgid "Highlight Color:"
msgstr ""
-#: dialogs.c:808
+#: dialogs.c:810
msgid "Premove Highlight Color:"
msgstr ""
-#: dialogs.c:814
+#: dialogs.c:816
msgid "Flip Pieces Shogi Style (Colored buttons restore default)"
msgstr ""
-#: dialogs.c:816
+#: dialogs.c:818
#, fuzzy
msgid "Mono Mode"
msgstr "Kip"
-#: dialogs.c:817
+#: dialogs.c:819
msgid "Line Gap ( -1 = default for board size):"
msgstr ""
-#: dialogs.c:818
+#: dialogs.c:820
msgid "Use Board Textures"
msgstr ""
-#: dialogs.c:819
+#: dialogs.c:821
msgid "Light-Squares Texture File:"
msgstr ""
-#: dialogs.c:820
+#: dialogs.c:822
msgid "Dark-Squares Texture File:"
msgstr ""
-#: dialogs.c:821
+#: dialogs.c:823
msgid "Use external piece bitmaps with their own colors"
msgstr ""
-#: dialogs.c:822
+#: dialogs.c:824
msgid "Directory with Pieces Images:"
msgstr ""
-#: dialogs.c:872
+#: dialogs.c:874
#, fuzzy
msgid "Board Options"
msgstr "Seçenekler"
-#: dialogs.c:925 menus.c:634
+#: dialogs.c:927 menus.c:634
msgid "ICS text menu"
msgstr ""
-#: dialogs.c:947
+#: dialogs.c:949
msgid "clear"
msgstr "temizle"
-#: dialogs.c:948 dialogs.c:1036
+#: dialogs.c:950 dialogs.c:1038
msgid "save changes"
msgstr ""
-#: dialogs.c:1051
+#: dialogs.c:1053
#, fuzzy
msgid "Edit book"
msgstr "Oyunu Düzenle"
-#: dialogs.c:1051 menus.c:636
+#: dialogs.c:1053 menus.c:636
msgid "Tags"
msgstr ""
-#: dialogs.c:1193
+#: dialogs.c:1195
#, fuzzy
msgid "ICS input box"
msgstr "ICS Ýstemcisi"
-#: dialogs.c:1225
+#: dialogs.c:1227
#, fuzzy
msgid "Type a move"
msgstr "Geçersiz hamle"
-#: dialogs.c:1251
+#: dialogs.c:1253
msgid "Engine has no options"
msgstr ""
-#: dialogs.c:1253
+#: dialogs.c:1255
msgid "Engine Settings"
msgstr ""
-#: dialogs.c:1278
+#: dialogs.c:1280
msgid "Select engine from list:"
msgstr ""
-#: dialogs.c:1281
+#: dialogs.c:1283
msgid "or specify one below:"
msgstr ""
-#: dialogs.c:1282
+#: dialogs.c:1284
msgid "Nickname (optional):"
msgstr ""
-#: dialogs.c:1283
+#: dialogs.c:1285
msgid "Use nickname in PGN player tags of engine-engine games"
msgstr ""
-#: dialogs.c:1284
+#: dialogs.c:1286
msgid "Engine Directory:"
msgstr ""
-#: dialogs.c:1285
+#: dialogs.c:1287
msgid "Engine Command:"
msgstr ""
-#: dialogs.c:1286
+#: dialogs.c:1288
msgid "(Directory will be derived from engine path when empty)"
msgstr ""
-#: dialogs.c:1287
+#: dialogs.c:1289
msgid "UCI"
msgstr ""
-#: dialogs.c:1288
+#: dialogs.c:1290
msgid "WB protocol v1 (do not wait for engine features)"
msgstr ""
-#: dialogs.c:1289
+#: dialogs.c:1291
msgid "Must not use GUI book"
msgstr ""
-#: dialogs.c:1290
+#: dialogs.c:1292
msgid "Add this engine to the list"
msgstr ""
-#: dialogs.c:1291
+#: dialogs.c:1293
msgid "Force current variant with this engine"
msgstr ""
-#: dialogs.c:1341
+#: dialogs.c:1343
msgid "Load first engine"
msgstr ""
-#: dialogs.c:1347
+#: dialogs.c:1349
msgid "Load second engine"
msgstr ""
-#: dialogs.c:1370
+#: dialogs.c:1372
msgid "shuffle"
msgstr ""
-#: dialogs.c:1371
+#: dialogs.c:1373
msgid "Start-position number:"
msgstr ""
-#: dialogs.c:1372
+#: dialogs.c:1374
msgid "randomize"
msgstr ""
-#: dialogs.c:1373
+#: dialogs.c:1375
msgid "pick fixed"
msgstr ""
-#: dialogs.c:1390
+#: dialogs.c:1392
msgid "New Shuffle Game"
msgstr ""
-#: dialogs.c:1409
+#: dialogs.c:1411
msgid "classical"
msgstr ""
-#: dialogs.c:1410
+#: dialogs.c:1412
msgid "incremental"
msgstr ""
-#: dialogs.c:1411
+#: dialogs.c:1413
msgid "fixed max"
msgstr ""
-#: dialogs.c:1412
+#: dialogs.c:1414
msgid "Moves per session:"
msgstr ""
-#: dialogs.c:1413
+#: dialogs.c:1415
msgid "Initial time (min):"
msgstr ""
-#: dialogs.c:1414
+#: dialogs.c:1416
msgid "Increment or max (sec/move):"
msgstr ""
-#: dialogs.c:1415
+#: dialogs.c:1417
msgid "Time-Odds factors:"
msgstr ""
-#: dialogs.c:1416
+#: dialogs.c:1418
msgid "Engine #1"
msgstr ""
-#: dialogs.c:1417
+#: dialogs.c:1419
msgid "Engine #2 / Human"
msgstr ""
-#: dialogs.c:1457 dialogs.c:1460 dialogs.c:1465 dialogs.c:1466
+#: dialogs.c:1459 dialogs.c:1462 dialogs.c:1467 dialogs.c:1468
#: gtk/xoptions.c:191
msgid "Unused"
msgstr ""
-#: dialogs.c:1478
+#: dialogs.c:1480
msgid "Time Control"
msgstr ""
-#: dialogs.c:1507
+#: dialogs.c:1509
msgid "Error writing to chess program"
msgstr ""
-#: dialogs.c:1574
+#: dialogs.c:1576
#, fuzzy
msgid "Cancel"
msgstr "iptal"
-#: dialogs.c:1579 dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1581 dialogs.c:1973 dialogs.c:1977
msgid "King"
msgstr "Þah"
-#: dialogs.c:1582
+#: dialogs.c:1584
msgid "Captain"
msgstr ""
-#: dialogs.c:1583
+#: dialogs.c:1585
msgid "Lieutenant"
msgstr ""
-#: dialogs.c:1584
+#: dialogs.c:1586
msgid "General"
msgstr ""
-#: dialogs.c:1585
+#: dialogs.c:1587
msgid "Warlord"
msgstr ""
-#: dialogs.c:1587 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1589 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Knight"
msgstr "At"
-#: dialogs.c:1588 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1590 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Bishop"
msgstr "Fil"
-#: dialogs.c:1589 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1591 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Rook"
msgstr "Kale"
-#: dialogs.c:1593 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1595 dialogs.c:1974 dialogs.c:1978
#, fuzzy
msgid "Archbishop"
msgstr "Fil"
-#: dialogs.c:1594 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1596 dialogs.c:1974 dialogs.c:1978
#, fuzzy
msgid "Chancellor"
msgstr "iptal"
-#: dialogs.c:1596 dialogs.c:1971 dialogs.c:1975 dialogs.c:1993
+#: dialogs.c:1598 dialogs.c:1973 dialogs.c:1977 dialogs.c:1995
msgid "Queen"
msgstr "Vezir"
-#: dialogs.c:1600
+#: dialogs.c:1602
msgid "Defer"
msgstr ""
-#: dialogs.c:1601 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1603 dialogs.c:1974 dialogs.c:1978
#, fuzzy
msgid "Promote"
msgstr "Terfi"
-#: dialogs.c:1616
+#: dialogs.c:1618
msgid "Chat partner:"
msgstr ""
-#: dialogs.c:1701
+#: dialogs.c:1703
msgid "Chat box"
msgstr ""
-#: dialogs.c:1742
+#: dialogs.c:1744
msgid "factory"
msgstr ""
-#: dialogs.c:1743
+#: dialogs.c:1745
msgid "up"
msgstr ""
-#: dialogs.c:1744
+#: dialogs.c:1746
msgid "down"
msgstr ""
-#: dialogs.c:1762
+#: dialogs.c:1764
msgid "No tag selected"
msgstr ""
-#: dialogs.c:1793
+#: dialogs.c:1795
#, fuzzy
msgid "Game-list options"
msgstr "Oyun Yükle"
-#: dialogs.c:1869 dialogs.c:1883
+#: dialogs.c:1871 dialogs.c:1885
msgid "Error"
msgstr "Hata"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Fatal Error"
msgstr ""
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Exiting"
msgstr ""
-#: dialogs.c:1917
+#: dialogs.c:1919
msgid "Information"
msgstr "Bilgi"
-#: dialogs.c:1924
+#: dialogs.c:1926
msgid "Note"
msgstr "Not"
-#: dialogs.c:1970 dialogs.c:2245 dialogs.c:2248
+#: dialogs.c:1972 dialogs.c:2252 dialogs.c:2255
msgid "White"
msgstr "Beyaz"
-#: dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Pawn"
msgstr "Piyon"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Elephant"
msgstr ""
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Cannon"
msgstr ""
-#: dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1974 dialogs.c:1978
msgid "Demote"
msgstr ""
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Empty square"
msgstr "Kareyi Boþalt"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Clear board"
msgstr "Tahtayý Temizle"
-#: dialogs.c:1974 dialogs.c:2257 dialogs.c:2260
+#: dialogs.c:1976 dialogs.c:2264 dialogs.c:2267
msgid "Black"
msgstr "Siyah"
-#: dialogs.c:2073 menus.c:787
+#: dialogs.c:2075 menus.c:787
msgid "File"
msgstr "Dosya"
-#: dialogs.c:2074 menus.c:788
+#: dialogs.c:2076 menus.c:788
#, fuzzy
msgid "Edit"
msgstr "Oyunu Düzenle"
-#: dialogs.c:2075 menus.c:789
+#: dialogs.c:2077 menus.c:789
msgid "View"
msgstr ""
-#: dialogs.c:2076 menus.c:790
+#: dialogs.c:2078 menus.c:790
msgid "Mode"
msgstr "Kip"
-#: dialogs.c:2077 menus.c:791
+#: dialogs.c:2079 menus.c:791
msgid "Action"
msgstr "Eylem"
-#: dialogs.c:2078 menus.c:792
+#: dialogs.c:2080 menus.c:792
msgid "Engine"
msgstr ""
-#: dialogs.c:2079 menus.c:793
+#: dialogs.c:2081 menus.c:793
msgid "Options"
msgstr "Seçenekler"
-#: dialogs.c:2080 menus.c:794
+#: dialogs.c:2082 menus.c:794
msgid "Help"
msgstr "Yardým"
-#: dialogs.c:2090
+#: dialogs.c:2092
msgid "<<"
msgstr ""
-#: dialogs.c:2091
+#: dialogs.c:2093
msgid "<"
msgstr ""
-#: dialogs.c:2093
+#: dialogs.c:2095
msgid ">"
msgstr ""
-#: dialogs.c:2094
+#: dialogs.c:2096
msgid ">>"
msgstr ""
-#: dialogs.c:2364
+#: dialogs.c:2371
msgid "Directories:"
msgstr ""
-#: dialogs.c:2365
+#: dialogs.c:2372
#, fuzzy
msgid "Files:"
msgstr "Dosya"
-#: dialogs.c:2366
+#: dialogs.c:2373
msgid "by name"
msgstr ""
-#: dialogs.c:2367
+#: dialogs.c:2374
msgid "by type"
msgstr ""
-#: dialogs.c:2370
+#: dialogs.c:2377
#, fuzzy
msgid "Filename:"
msgstr "Dosya adý giriþi"
-#: dialogs.c:2371
+#: dialogs.c:2378
msgid "New directory"
msgstr ""
-#: dialogs.c:2372
+#: dialogs.c:2379
#, fuzzy
msgid "File type:"
msgstr "Analiz edilecek dosya"
-#: dialogs.c:2447
+#: dialogs.c:2454
msgid "Contents of"
msgstr ""
-#: dialogs.c:2473
+#: dialogs.c:2480
#, fuzzy
msgid " next page"
msgstr "sonraki"
-#: dialogs.c:2495
+#: dialogs.c:2502
msgid "FIRST TYPE DIRECTORY NAME HERE"
msgstr ""
-#: dialogs.c:2496
+#: dialogs.c:2503
msgid "TRY ANOTHER NAME"
msgstr ""
# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2012, 2013.
msgid ""
msgstr ""
-"Project-Id-Version: GNU xboard-4.7.0.20130224\n"
+"Project-Id-Version: GNU xboard-4.7.2\n"
"Report-Msgid-Bugs-To: bug-xboard@gnu.org\n"
"POT-Creation-Date: 2013-08-28 21:49-0700\n"
-"PO-Revision-Date: 2013-02-26 22:30+0200\n"
+"PO-Revision-Date: 2013-11-19 13:57+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.5\n"
-"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
-"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#: args.h:820
#, c-format
#: backend.c:1690
msgid "TwoMachines mode requires a chess engine"
-msgstr ""
-"Режимом гри між двома комп’ютерами можна скористатися, лише якщо встановлено "
-"шаховий рушій"
+msgstr "Режимом гри між двома комп’ютерами можна скористатися, лише якщо встановлено шаховий рушій"
#: backend.c:1695
msgid "TwoMachines mode does not work with ICS mode"
#: backend.c:4253 backend.c:9755
msgid "Game too long; increase MAX_MOVES and recompile"
-msgstr ""
-"Гра є занадто довгою. Збільшіть значення MAX_MOVES і перезберіть програму."
+msgstr "Гра є занадто довгою. Збільшіть значення MAX_MOVES і перезберіть програму."
#: backend.c:4372
msgid "Error gathering move list: extra board"
#: backend.c:6029
msgid "Recompile to support this BOARD_RANKS or BOARD_FILES!"
-msgstr ""
-"Повторно зберіть програму з підтримкою цих значень BOARD_RANKS і BOARD_FILES!"
+msgstr "Повторно зберіть програму з підтримкою цих значень BOARD_RANKS і BOARD_FILES!"
#: backend.c:6491
msgid "You are playing Black"
#: backend.c:8666
#, c-format
msgid "Illegal move \"%s\" (rejected by %s chess program)"
-msgstr ""
-"Недозволений хід «%s» (у реєстрації ходу відмовлено шаховою програмою %s)"
+msgstr "Недозволений хід «%s» (у реєстрації ходу відмовлено шаховою програмою %s)"
#: backend.c:8693
#, c-format
"Use Reload CMail Message and make your move again."
msgstr ""
"Повідомлення cmail не завантажено.\n"
-"Скористайтеся пунктом «Перезавантажити повідомлення CMail» і повторіть ваш "
-"хід."
+"Скористайтеся пунктом «Перезавантажити повідомлення CMail» і повторіть ваш хід."
#: backend.c:13275
msgid "No unfinished games"
#: dialogs.c:282
msgid "Rewind Index after this many Games (0 = never):"
-msgstr ""
-"Відновлювати початковий номер після вказаної кількості ігор (0=ніколи):"
+msgstr "Відновлювати початковий номер після вказаної кількості ігор (0=ніколи):"
#: dialogs.c:283
msgid "Disable own engine books by default"
#: dialogs.c:1286
msgid "(Directory will be derived from engine path when empty)"
-msgstr ""
-"(Каталог буде визначено на основі шляху до рушія, якщо каталог не вказано)"
+msgstr "(Каталог буде визначено на основі шляху до рушія, якщо каталог не вказано)"
#: dialogs.c:1287
msgid "UCI"
msgstr "Вміст"
#: dialogs.c:2473
-#, fuzzy
msgid " next page"
-msgstr "\7f наступна сторінка"
+msgstr " наступна сторінка"
#: dialogs.c:2495
msgid "FIRST TYPE DIRECTORY NAME HERE"
#: gtk/xboard.c:811 xaw/xboard.c:1179
msgid "Recompile with larger BOARD_RANKS or BOARD_FILES to support this size"
-msgstr ""
-"Для того, щоб скористатися підтримкою цього розміру, слід зібрати програму з "
-"більшими значеннями BOARD_RANKS або BOARD_FILES"
+msgstr "Для того, щоб скористатися підтримкою цього розміру, слід зібрати програму з більшими значеннями BOARD_RANKS або BOARD_FILES"
#: gtk/xboard.c:830 xaw/xboard.c:1211
#, c-format
"Enhancements Copyright 1992-2013 Free Software Foundation\n"
"Enhancements Copyright 2005 Alessandro Scotti\n"
"\n"
-"%s is free software and carries NO WARRANTY;see the file COPYING for more "
-"information.\n"
+"%s is free software and carries NO WARRANTY;see the file COPYING for more information.\n"
"The GTK build of this version is experimental and unstable\n"
"\n"
"Visit XBoard on the web at: http://www.gnu.org/software/xboard/\n"
-"Check out the newest features at: http://www.gnu.org/software/xboard/"
-"whats_new.html\n"
+"Check out the newest features at: http://www.gnu.org/software/xboard/whats_new.html\n"
"\n"
"Report bugs via email at: <bug-xboard@gnu.org>\n"
"\n"
"© Free Software Foundation, 1992–2012\n"
"© Alessandro Scotti, 2005\n"
"\n"
-"%s є вільним програмним забезпеченням, його працездатність не гарантується. "
-"Докладніше про це у файлі COPYING.\n"
+"%s є вільним програмним забезпеченням, його працездатність не гарантується. Докладніше про це у файлі COPYING.\n"
"Збірка з GTK цієї версії є експериментальною і нестабільною\n"
"\n"
-"Відвідайте сторінку XBoard у мережі за адресою: http://www.gnu.org/software/"
-"xboard/\n"
-"Ознайомтеся з найсвіжішими можливостями програми: http://www.gnu.org/"
-"software/xboard/whats_new.html\n"
+"Відвідайте сторінку XBoard у мережі за адресою: http://www.gnu.org/software/xboard/\n"
+"Ознайомтеся з найсвіжішими можливостями програми: http://www.gnu.org/software/xboard/whats_new.html\n"
"\n"
"Надішліть повідомлення про ваду на адресу: <bug-xboard@gnu.org>\n"
"\n"
#~ msgstr "XsraSelFile: не вдалося отримати назву поточного каталогу"
#~ msgid "%s: titleWidget geometry error %d %d %d %d %d\n"
-#~ msgstr ""
-#~ "%s: помилка у геометричних параметрах titleWidget — %d %d %d %d %d\n"
+#~ msgstr "%s: помилка у геометричних параметрах titleWidget — %d %d %d %d %d\n"
#~ msgid "Error expanding path name \"%s\"\n"
#~ msgstr "Помилка під час спроби розгортання адреси каталогу «%s»\n"
#~ msgstr "Найближчий розмір %s: %d\n"
#~ msgid "%s: messageWidget geometry error %d %d %d %d %d\n"
-#~ msgstr ""
-#~ "%s: помилка у геометричних параметрах messageWidget — %d %d %d %d %d\n"
+#~ msgstr "%s: помилка у геометричних параметрах messageWidget — %d %d %d %d %d\n"
#~ msgid "%s: error loading XIM!\n"
#~ msgstr "%s: помилка завантаження XIM!\n"
#~ msgstr "Некоректне растрове зображення у файлі %s"
#~ msgid "Ran out of memory reading bitmap file %s"
-#~ msgstr ""
-#~ "Під час читання растрового зображення %s було вичерпано обсяг пам’яті"
+#~ msgstr "Під час читання растрового зображення %s було вичерпано обсяг пам’яті"
#~ msgid "Unknown XReadBitmapFile error %d on file %s"
#~ msgstr "Невідома помилка XReadBitmapFile %d під час обробки файла %s"
#~ msgstr "%s: %s… використовуємо вбудоване\n"
#~ msgid "%s: Bitmap %s is %dx%d, not %dx%d...using built-in\n"
-#~ msgstr ""
-#~ "%s: розміри растрового зображення %s дорівнюють %dx%d, а не %dx%d… "
-#~ "використовуємо вбудоване\n"
+#~ msgstr "%s: розміри растрового зображення %s дорівнюють %dx%d, а не %dx%d… використовуємо вбудоване\n"
#~ msgid "----"
#~ msgstr "----"
msgstr ""
"Project-Id-Version: GNU xboard master-20110507\n"
"Report-Msgid-Bugs-To: bug-xboard@gnu.org\n"
-"POT-Creation-Date: 2013-08-28 21:49-0700\n"
+"POT-Creation-Date: 2013-08-28 22:03-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: args.h:820
+#: args.h:821
#, c-format
msgid "%s in settings file\n"
msgstr ""
-#: args.h:830
+#: args.h:831
#, c-format
msgid "Bad integer value %s"
msgstr ""
-#: args.h:923 args.h:1164
+#: args.h:924 args.h:1165
#, c-format
msgid "Unrecognized argument %s"
msgstr ""
-#: args.h:954
+#: args.h:955
#, c-format
msgid "No value provided for argument %s"
msgstr ""
-#: args.h:1014
+#: args.h:1015
#, c-format
msgid "Incomplete \\ escape in value for %s"
msgstr ""
-#: args.h:1119
+#: args.h:1120
#, c-format
msgid "Failed to open indirection file %s"
msgstr ""
-#: args.h:1136
+#: args.h:1137
#, c-format
msgid "Unrecognized boolean argument value %s"
msgstr ""
#. TRANSLATORS: "first" is the first of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:744
+#: backend.c:753
msgid "first"
msgstr ""
#. TRANSLATORS: "second" is the second of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:747
+#: backend.c:756
msgid "second"
msgstr ""
-#: backend.c:827
+#: backend.c:837
#, c-format
msgid "protocol version %d not supported"
msgstr ""
-#: backend.c:933
+#: backend.c:943
msgid "You did not specify the engine executable"
msgstr ""
-#: backend.c:989
+#: backend.c:999
#, c-format
msgid "bad timeControl option %s"
msgstr ""
-#: backend.c:1004
+#: backend.c:1014
#, c-format
msgid "bad searchTime option %s"
msgstr ""
-#: backend.c:1110
+#: backend.c:1120
#, c-format
msgid "Variant %s supported only in ICS mode"
msgstr ""
-#: backend.c:1128
+#: backend.c:1138
#, c-format
msgid "Unknown variant name %s"
msgstr ""
-#: backend.c:1375
+#: backend.c:1386
msgid "Starting chess program"
msgstr ""
-#: backend.c:1398
+#: backend.c:1409
msgid "Bad game file"
msgstr ""
-#: backend.c:1405
+#: backend.c:1416
msgid "Bad position file"
msgstr ""
-#: backend.c:1419
+#: backend.c:1430
msgid "Pick new game"
msgstr ""
-#: backend.c:1488
+#: backend.c:1499
msgid ""
"You restarted an already completed tourney\n"
"One more cycle will now be added to it\n"
"Games commence in 10 sec"
msgstr ""
-#: backend.c:1495
+#: backend.c:1506
#, c-format
msgid "All games in tourney '%s' are already played or playing"
msgstr ""
-#: backend.c:1502
+#: backend.c:1513
msgid "Can't have a match with no chess programs"
msgstr ""
-#: backend.c:1539
+#: backend.c:1550
#, c-format
msgid "Could not open comm port %s"
msgstr ""
-#: backend.c:1542
+#: backend.c:1553
#, c-format
msgid "Could not connect to host %s, port %s"
msgstr ""
-#: backend.c:1598
+#: backend.c:1609
#, c-format
msgid "Unknown initialMode %s"
msgstr ""
-#: backend.c:1624
+#: backend.c:1635
msgid "AnalyzeFile mode requires a game file"
msgstr ""
-#: backend.c:1651
+#: backend.c:1662
msgid "Analysis mode requires a chess engine"
msgstr ""
-#: backend.c:1655
+#: backend.c:1666
msgid "Analysis mode does not work with ICS mode"
msgstr ""
-#: backend.c:1666
+#: backend.c:1677
msgid "MachineWhite mode requires a chess engine"
msgstr ""
-#: backend.c:1671
+#: backend.c:1682
msgid "MachineWhite mode does not work with ICS mode"
msgstr ""
-#: backend.c:1678
+#: backend.c:1689
msgid "MachineBlack mode requires a chess engine"
msgstr ""
-#: backend.c:1683
+#: backend.c:1694
msgid "MachineBlack mode does not work with ICS mode"
msgstr ""
-#: backend.c:1690
+#: backend.c:1701
msgid "TwoMachines mode requires a chess engine"
msgstr ""
-#: backend.c:1695
+#: backend.c:1706
msgid "TwoMachines mode does not work with ICS mode"
msgstr ""
-#: backend.c:1706
+#: backend.c:1717
msgid "Training mode requires a game file"
msgstr ""
-#: backend.c:1869 backend.c:1924 backend.c:1947 backend.c:2346
+#: backend.c:1880 backend.c:1935 backend.c:1958 backend.c:2357
msgid "Error writing to ICS"
msgstr ""
-#: backend.c:1884
+#: backend.c:1895
msgid "Error reading from keyboard"
msgstr ""
-#: backend.c:1887
+#: backend.c:1898
msgid "Got end of file from keyboard"
msgstr ""
-#: backend.c:2192
+#: backend.c:2203
#, c-format
msgid "Unknown wild type %d"
msgstr ""
-#: backend.c:2263 usystem.c:329
+#: backend.c:2274 usystem.c:329
msgid "Error writing to display"
msgstr ""
-#: backend.c:3019
+#: backend.c:3030
#, c-format
msgid "your opponent kibitzes: %s"
msgstr ""
-#: backend.c:3548
+#: backend.c:3559
msgid "Error gathering move list: two headers"
msgstr ""
-#: backend.c:3595
+#: backend.c:3606
msgid "Error gathering move list: nested"
msgstr ""
-#: backend.c:3699 backend.c:4117 backend.c:4321 backend.c:4880 backend.c:4884
-#: backend.c:6900 backend.c:12082 backend.c:13797 backend.c:13874
-#: backend.c:13920 backend.c:13926 backend.c:13931 backend.c:13936
+#: backend.c:3710 backend.c:4128 backend.c:4332 backend.c:4891 backend.c:4895
+#: backend.c:6919 backend.c:12213 backend.c:13928 backend.c:14005
+#: backend.c:14051 backend.c:14057 backend.c:14062 backend.c:14067
msgid "vs."
msgstr ""
-#: backend.c:3827
+#: backend.c:3838
msgid "Illegal move (rejected by ICS)"
msgstr ""
-#: backend.c:4165
+#: backend.c:4176
msgid "Connection closed by ICS"
msgstr ""
-#: backend.c:4167
+#: backend.c:4178
msgid "Error reading from ICS"
msgstr ""
-#: backend.c:4244
+#: backend.c:4255
#, c-format
msgid ""
"Failed to parse board string:\n"
"\"%s\""
msgstr ""
-#: backend.c:4253 backend.c:9755
+#: backend.c:4264 backend.c:9885
msgid "Game too long; increase MAX_MOVES and recompile"
msgstr ""
-#: backend.c:4372
+#: backend.c:4383
msgid "Error gathering move list: extra board"
msgstr ""
-#: backend.c:4804 backend.c:4826
+#: backend.c:4815 backend.c:4837
#, c-format
msgid "Couldn't parse move \"%s\" from ICS"
msgstr ""
-#: backend.c:5063
+#: backend.c:5074
#, c-format
msgid "say Internal error; bad moveType %d (%d,%d-%d,%d)"
msgstr ""
-#: backend.c:5133
+#: backend.c:5145
msgid "You cannot do this while you are playing or observing"
msgstr ""
-#: backend.c:6029
+#: backend.c:6046
msgid "Recompile to support this BOARD_RANKS or BOARD_FILES!"
msgstr ""
-#: backend.c:6491
+#: backend.c:6510
msgid "You are playing Black"
msgstr ""
-#: backend.c:6500 backend.c:6527
+#: backend.c:6519 backend.c:6546
msgid "You are playing White"
msgstr ""
-#: backend.c:6509 backend.c:6535 backend.c:6655 backend.c:6680 backend.c:6696
-#: backend.c:14573
+#: backend.c:6528 backend.c:6554 backend.c:6674 backend.c:6699 backend.c:6715
+#: backend.c:14705
msgid "It is White's turn"
msgstr ""
-#: backend.c:6513 backend.c:6539 backend.c:6663 backend.c:6686 backend.c:6717
-#: backend.c:14565
+#: backend.c:6532 backend.c:6558 backend.c:6682 backend.c:6705 backend.c:6736
+#: backend.c:14697
msgid "It is Black's turn"
msgstr ""
-#: backend.c:6552
+#: backend.c:6571
msgid "Displayed position is not current"
msgstr ""
-#: backend.c:6790
+#: backend.c:6809
msgid "Illegal move"
msgstr ""
-#: backend.c:6857
+#: backend.c:6876
msgid "End of game"
msgstr ""
-#: backend.c:6860
+#: backend.c:6879
msgid "Incorrect move"
msgstr ""
-#: backend.c:7169 backend.c:7296
+#: backend.c:7257 backend.c:7392
msgid "Pull pawn backwards to under-promote"
msgstr ""
-#: backend.c:7527
+#: backend.c:7364
+msgid "only marked squares are legal"
+msgstr ""
+
+#: backend.c:7624
msgid "Swiss tourney finished"
msgstr ""
-#: backend.c:8102
+#: backend.c:8199
msgid "Invalid pairing from pairing engine"
msgstr ""
-#: backend.c:8235
+#: backend.c:8332
#, c-format
msgid "Illegal move \"%s\" from %s machine"
msgstr ""
-#: backend.c:8456
+#: backend.c:8564
msgid "Bad FEN received from engine"
msgstr ""
-#: backend.c:8600 backend.c:13662 backend.c:13727
+#: backend.c:8730 backend.c:13793 backend.c:13858
#, c-format
msgid "%s does not support analysis"
msgstr ""
-#: backend.c:8666
+#: backend.c:8796
#, c-format
msgid "Illegal move \"%s\" (rejected by %s chess program)"
msgstr ""
-#: backend.c:8693
+#: backend.c:8823
#, c-format
msgid "Failed to start %s chess program %s on %s: %s\n"
msgstr ""
-#: backend.c:8714
+#: backend.c:8844
#, c-format
msgid "Hint: %s"
msgstr ""
-#: backend.c:8719
+#: backend.c:8849
#, c-format
msgid ""
"Illegal hint move \"%s\"\n"
"from %s chess program"
msgstr ""
-#: backend.c:8894
+#: backend.c:9024
msgid "Machine accepts your draw offer"
msgstr ""
-#: backend.c:8897
+#: backend.c:9027
msgid ""
"Machine offers a draw\n"
"Select Action / Draw to agree"
msgstr ""
-#: backend.c:8976
+#: backend.c:9106
msgid "failed writing PV"
msgstr ""
-#: backend.c:9274
+#: backend.c:9404
#, c-format
msgid "Ambiguous move in ICS output: \"%s\""
msgstr ""
-#: backend.c:9284
+#: backend.c:9414
#, c-format
msgid "Illegal move in ICS output: \"%s\""
msgstr ""
-#: backend.c:9295
+#: backend.c:9425
msgid "Gap in move list"
msgstr ""
-#: backend.c:9916 dialogs.c:460
+#: backend.c:10046 dialogs.c:461
#, c-format
msgid "Variant %s not supported by %s"
msgstr ""
-#: backend.c:10037
+#: backend.c:10167
#, c-format
msgid "Startup failure on '%s'"
msgstr ""
-#: backend.c:10068
+#: backend.c:10198
msgid "Waiting for first chess program"
msgstr ""
-#: backend.c:10073 backend.c:13945
+#: backend.c:10203 backend.c:14076
msgid "Waiting for second chess program"
msgstr ""
-#: backend.c:10122
+#: backend.c:10252
msgid "Could not write on tourney file"
msgstr ""
-#: backend.c:10196
+#: backend.c:10326
msgid ""
"You cannot replace an engine while it is engaged!\n"
"Terminate its game first."
msgstr ""
-#: backend.c:10210
+#: backend.c:10340
msgid "No engine with the name you gave is installed"
msgstr ""
-#: backend.c:10212
+#: backend.c:10342
msgid ""
"First change an engine by editing the participants list\n"
"of the Tournament Options dialog"
msgstr ""
-#: backend.c:10213
+#: backend.c:10343
msgid "You can only change one engine at the time"
msgstr ""
-#: backend.c:10228 backend.c:10375
+#: backend.c:10358 backend.c:10505
#, c-format
msgid "No engine %s is installed"
msgstr ""
-#: backend.c:10248
+#: backend.c:10378
msgid ""
"You must supply a tournament file,\n"
"for storing the tourney progress"
msgstr ""
-#: backend.c:10258
+#: backend.c:10388
msgid "Not enough participants"
msgstr ""
-#: backend.c:10459
+#: backend.c:10589
msgid "Bad tournament file"
msgstr ""
-#: backend.c:10471
+#: backend.c:10601
msgid "Waiting for other game(s)"
msgstr ""
-#: backend.c:10484
+#: backend.c:10614
msgid "No pairing engine specified"
msgstr ""
-#: backend.c:10961
+#: backend.c:11092
#, c-format
msgid "Match %s vs. %s: final score %d-%d-%d"
msgstr ""
-#: backend.c:11423 backend.c:11454
+#: backend.c:11554 backend.c:11585
#, c-format
msgid "Illegal move: %d.%s%s"
msgstr ""
-#: backend.c:11443
+#: backend.c:11574
#, c-format
msgid "Ambiguous move: %d.%s%s"
msgstr ""
-#: backend.c:11496 backend.c:12505 backend.c:12698 backend.c:13059
+#: backend.c:11627 backend.c:12636 backend.c:12829 backend.c:13190
#, c-format
msgid "Can't open \"%s\""
msgstr ""
-#: backend.c:11508 menus.c:116
+#: backend.c:11639 menus.c:116
msgid "Cannot build game list"
msgstr ""
-#: backend.c:11593
+#: backend.c:11724
msgid "No more games in this message"
msgstr ""
-#: backend.c:11633
+#: backend.c:11764
msgid "No game has been loaded yet"
msgstr ""
-#: backend.c:11637 backend.c:12486 ngamelist.c:129
+#: backend.c:11768 backend.c:12617 ngamelist.c:129
msgid "Can't back up any further"
msgstr ""
-#: backend.c:12058
+#: backend.c:12189
msgid "Game number out of range"
msgstr ""
-#: backend.c:12069
+#: backend.c:12200
msgid "Can't seek on game file"
msgstr ""
-#: backend.c:12127
+#: backend.c:12258
msgid "Game not found in file"
msgstr ""
-#: backend.c:12255 backend.c:12582
+#: backend.c:12386 backend.c:12713
msgid "Bad FEN position in file"
msgstr ""
-#: backend.c:12407
+#: backend.c:12538
msgid "No moves in game"
msgstr ""
-#: backend.c:12482
+#: backend.c:12613
msgid "No position has been loaded yet"
msgstr ""
-#: backend.c:12543 backend.c:12554
+#: backend.c:12674 backend.c:12685
msgid "Can't seek on position file"
msgstr ""
-#: backend.c:12561 backend.c:12573
+#: backend.c:12692 backend.c:12704
msgid "Position not found in file"
msgstr ""
-#: backend.c:12613
+#: backend.c:12744
msgid "Black to play"
msgstr ""
-#: backend.c:12616
+#: backend.c:12747
msgid "White to play"
msgstr ""
-#: backend.c:12703 backend.c:13064
+#: backend.c:12834 backend.c:13195
msgid "Waiting for access to save file"
msgstr ""
-#: backend.c:12705
+#: backend.c:12836
msgid "Saving game"
msgstr ""
-#: backend.c:12706
+#: backend.c:12837
msgid "Bad Seek"
msgstr ""
-#: backend.c:13066
+#: backend.c:13197
msgid "Saving position"
msgstr ""
-#: backend.c:13192
+#: backend.c:13323
msgid ""
"You have edited the game history.\n"
"Use Reload Same Game and make your move again."
msgstr ""
-#: backend.c:13197
+#: backend.c:13328
msgid ""
"You have entered too many moves.\n"
"Back up to the correct position and try again."
msgstr ""
-#: backend.c:13202
+#: backend.c:13333
msgid ""
"Displayed position is not current.\n"
"Step forward to the correct position and try again."
msgstr ""
-#: backend.c:13249
+#: backend.c:13380
msgid "You have not made a move yet"
msgstr ""
-#: backend.c:13270
+#: backend.c:13401
msgid ""
"The cmail message is not loaded.\n"
"Use Reload CMail Message and make your move again."
msgstr ""
-#: backend.c:13275
+#: backend.c:13406
msgid "No unfinished games"
msgstr ""
-#: backend.c:13281
+#: backend.c:13412
#, c-format
msgid ""
"You have already mailed a move.\n"
"on the command line."
msgstr ""
-#: backend.c:13296
+#: backend.c:13427
msgid "Failed to invoke cmail"
msgstr ""
-#: backend.c:13358
+#: backend.c:13489
#, c-format
msgid "Waiting for reply from opponent\n"
msgstr ""
-#: backend.c:13380
+#: backend.c:13511
#, c-format
msgid "Still need to make move for game\n"
msgstr ""
-#: backend.c:13384
+#: backend.c:13515
#, c-format
msgid "Still need to make moves for both games\n"
msgstr ""
-#: backend.c:13388
+#: backend.c:13519
#, c-format
msgid "Still need to make moves for all %d games\n"
msgstr ""
-#: backend.c:13395
+#: backend.c:13526
#, c-format
msgid "Still need to make a move for game %s\n"
msgstr ""
-#: backend.c:13401
+#: backend.c:13532
#, c-format
msgid "No unfinished games\n"
msgstr ""
-#: backend.c:13403
+#: backend.c:13534
#, c-format
msgid "Ready to send mail\n"
msgstr ""
-#: backend.c:13408
+#: backend.c:13539
#, c-format
msgid "Still need to make moves for games %s\n"
msgstr ""
-#: backend.c:13612
+#: backend.c:13743
msgid "Edit comment"
msgstr ""
-#: backend.c:13614
+#: backend.c:13745
#, c-format
msgid "Edit comment on %d.%s%s"
msgstr ""
-#: backend.c:13669
+#: backend.c:13800
#, c-format
msgid "You are not observing a game"
msgstr ""
-#: backend.c:13777
+#: backend.c:13908
msgid "It is not White's turn"
msgstr ""
-#: backend.c:13858
+#: backend.c:13989
msgid "It is not Black's turn"
msgstr ""
-#: backend.c:13966
+#: backend.c:14097
#, c-format
msgid "Starting %s chess program"
msgstr ""
-#: backend.c:13994 backend.c:15108
+#: backend.c:14125 backend.c:15240
msgid ""
"Wait until your turn,\n"
"or select Move Now"
msgstr ""
-#: backend.c:14128
+#: backend.c:14259
msgid "Training mode off"
msgstr ""
-#: backend.c:14136
+#: backend.c:14267
msgid "Training mode on"
msgstr ""
-#: backend.c:14139
+#: backend.c:14270
msgid "Already at end of game"
msgstr ""
-#: backend.c:14219
+#: backend.c:14350
msgid "Warning: You are still playing a game"
msgstr ""
-#: backend.c:14222
+#: backend.c:14353
msgid "Warning: You are still observing a game"
msgstr ""
-#: backend.c:14225
+#: backend.c:14356
msgid "Warning: You are still examining a game"
msgstr ""
-#: backend.c:14292
+#: backend.c:14423
msgid "Click clock to clear board"
msgstr ""
-#: backend.c:14302
+#: backend.c:14433
msgid "Close ICS engine analyze..."
msgstr ""
-#: backend.c:14590
+#: backend.c:14722
msgid "That square is occupied"
msgstr ""
-#: backend.c:14614 backend.c:14640
+#: backend.c:14746 backend.c:14772
msgid "There is no pending offer on this move"
msgstr ""
-#: backend.c:14676 backend.c:14687
+#: backend.c:14808 backend.c:14819
msgid "Your opponent is not out of time"
msgstr ""
-#: backend.c:14753
+#: backend.c:14885
msgid "You must make your move before offering a draw"
msgstr ""
-#: backend.c:15090
+#: backend.c:15222
msgid "You are not examining a game"
msgstr ""
-#: backend.c:15094
+#: backend.c:15226
msgid "You can't revert while pausing"
msgstr ""
-#: backend.c:15148 backend.c:15155
+#: backend.c:15280 backend.c:15287
msgid "It is your turn"
msgstr ""
-#: backend.c:15206 backend.c:15213 backend.c:15266 backend.c:15273
+#: backend.c:15338 backend.c:15345 backend.c:15398 backend.c:15405
msgid "Wait until your turn"
msgstr ""
-#: backend.c:15218
+#: backend.c:15350
msgid "No hint available"
msgstr ""
-#: backend.c:15234 ngamelist.c:355
+#: backend.c:15366 ngamelist.c:355
msgid "Game list not loaded or empty"
msgstr ""
-#: backend.c:15241
+#: backend.c:15373
msgid "Book file exists! Try again for overwrite."
msgstr ""
-#: backend.c:15719
+#: backend.c:15851
#, c-format
msgid "Error writing to %s chess program"
msgstr ""
-#: backend.c:15722 backend.c:15753
+#: backend.c:15854 backend.c:15885
#, c-format
msgid "%s program exits in draw position (%s)"
msgstr ""
-#: backend.c:15748
+#: backend.c:15880
#, c-format
msgid "Error: %s chess program (%s) exited unexpectedly"
msgstr ""
-#: backend.c:15766
+#: backend.c:15898
#, c-format
msgid "Error reading from %s chess program (%s)"
msgstr ""
-#: backend.c:16168
+#: backend.c:16301
#, c-format
msgid "%s engine has too many options\n"
msgstr ""
-#: backend.c:16324
+#: backend.c:16457
msgid "Displayed move is not current"
msgstr ""
-#: backend.c:16333
+#: backend.c:16466
msgid "Could not parse move"
msgstr ""
-#: backend.c:16458 backend.c:16480
+#: backend.c:16591 backend.c:16613
msgid "Both flags fell"
msgstr ""
-#: backend.c:16460
+#: backend.c:16593
msgid "White's flag fell"
msgstr ""
-#: backend.c:16482
+#: backend.c:16615
msgid "Black's flag fell"
msgstr ""
-#: backend.c:16613
+#: backend.c:16746
msgid "Clock adjustment not allowed in auto-flag mode"
msgstr ""
-#: backend.c:17448
+#: backend.c:17585
msgid "Bad FEN position in clipboard"
msgstr ""
msgid "First you must specify an existing tourney file to clone"
msgstr ""
-#: dialogs.c:332 dialogs.c:1320
+#: dialogs.c:332 dialogs.c:1322
msgid "# no engines are installed"
msgstr ""
msgid "Play Move(s) of Clicked PV (Analysis)"
msgstr ""
-#: dialogs.c:379 dialogs.c:514 menus.c:728
+#: dialogs.c:379 dialogs.c:515 menus.c:728
msgid "Ponder Next Move"
msgstr ""
msgstr ""
#: dialogs.c:429
-msgid "fairy"
+msgid "ASEAN"
msgstr ""
#: dialogs.c:430
msgstr ""
#: dialogs.c:447
-msgid " "
+msgid "fairy"
msgstr ""
-#: dialogs.c:448
+#: dialogs.c:449
msgid "courier (12x8)"
msgstr ""
-#: dialogs.c:465
+#: dialogs.c:466
#, c-format
msgid "Warning: second engine (%s) does not support this!"
msgstr ""
-#: dialogs.c:488
+#: dialogs.c:489
#, c-format
msgid "Only bughouse is not available in viewer mode"
msgstr ""
-#: dialogs.c:489
+#: dialogs.c:490
#, c-format
msgid ""
"All variants not supported by first engine\n"
"(currently %s) are disabled"
msgstr ""
-#: dialogs.c:490
+#: dialogs.c:491
msgid "New Variant"
msgstr ""
-#: dialogs.c:515
+#: dialogs.c:516
msgid "Maximum Number of CPUs per Engine:"
msgstr ""
-#: dialogs.c:516
+#: dialogs.c:517
msgid "Polygot Directory:"
msgstr ""
-#: dialogs.c:517
+#: dialogs.c:518
msgid "Hash-Table Size (MB):"
msgstr ""
-#: dialogs.c:518
+#: dialogs.c:519
msgid "Nalimov EGTB Path:"
msgstr ""
-#: dialogs.c:519
+#: dialogs.c:520
msgid "EGTB Cache Size (MB):"
msgstr ""
-#: dialogs.c:520
+#: dialogs.c:521
msgid "Use GUI Book"
msgstr ""
-#: dialogs.c:521
+#: dialogs.c:522
msgid "Opening-Book Filename:"
msgstr ""
-#: dialogs.c:522
+#: dialogs.c:523
msgid "Book Depth (moves):"
msgstr ""
-#: dialogs.c:523
+#: dialogs.c:524
msgid "Book Variety (0) vs. Strength (100):"
msgstr ""
-#: dialogs.c:524
+#: dialogs.c:525
msgid "Engine #1 Has Own Book"
msgstr ""
-#: dialogs.c:525
+#: dialogs.c:526
msgid "Engine #2 Has Own Book "
msgstr ""
-#: dialogs.c:534
+#: dialogs.c:535
msgid "Common Engine Settings"
msgstr ""
-#: dialogs.c:540
+#: dialogs.c:541
msgid "Detect all Mates"
msgstr ""
-#: dialogs.c:541
+#: dialogs.c:542
msgid "Verify Engine Result Claims"
msgstr ""
-#: dialogs.c:542
+#: dialogs.c:543
msgid "Draw if Insufficient Mating Material"
msgstr ""
-#: dialogs.c:543
+#: dialogs.c:544
msgid "Adjudicate Trivial Draws (3-Move Delay)"
msgstr ""
-#: dialogs.c:544
+#: dialogs.c:545
msgid "N-Move Rule:"
msgstr ""
-#: dialogs.c:545
+#: dialogs.c:546
msgid "N-fold Repeats:"
msgstr ""
-#: dialogs.c:546
+#: dialogs.c:547
msgid "Draw after N Moves Total:"
msgstr ""
-#: dialogs.c:547
+#: dialogs.c:548
msgid "Win / Loss Threshold:"
msgstr ""
-#: dialogs.c:548
+#: dialogs.c:549
msgid "Negate Score of Engine #1"
msgstr ""
-#: dialogs.c:549
+#: dialogs.c:550
msgid "Negate Score of Engine #2"
msgstr ""
-#: dialogs.c:556
+#: dialogs.c:557
#, fuzzy
msgid "Adjudicate non-ICS Games"
msgstr "Phân Xử Trắng Thắng"
-#: dialogs.c:569
+#: dialogs.c:570
msgid "Auto-Kibitz"
msgstr ""
-#: dialogs.c:570
+#: dialogs.c:571
msgid "Auto-Comment"
msgstr ""
-#: dialogs.c:571
+#: dialogs.c:572
msgid "Auto-Observe"
msgstr ""
-#: dialogs.c:572
+#: dialogs.c:573
msgid "Auto-Raise Board"
msgstr "Tự Động Hiện Bàn Cờ"
-#: dialogs.c:573
+#: dialogs.c:574
msgid "Auto-Create Logon Script"
msgstr ""
-#: dialogs.c:574
+#: dialogs.c:575
msgid "Background Observe while Playing"
msgstr ""
-#: dialogs.c:575
+#: dialogs.c:576
msgid "Dual Board for Background-Observed Game"
msgstr ""
-#: dialogs.c:576
+#: dialogs.c:577
msgid "Get Move List"
msgstr ""
-#: dialogs.c:577
+#: dialogs.c:578
msgid "Quiet Play"
msgstr ""
-#: dialogs.c:578
+#: dialogs.c:579
msgid "Seek Graph"
msgstr ""
-#: dialogs.c:579
+#: dialogs.c:580
msgid "Auto-Refresh Seek Graph"
msgstr ""
-#: dialogs.c:580
+#: dialogs.c:581
msgid "Auto-InputBox PopUp"
msgstr ""
-#: dialogs.c:581
+#: dialogs.c:582
+msgid "Quit after game"
+msgstr ""
+
+#: dialogs.c:583
msgid "Premove"
msgstr ""
-#: dialogs.c:582
+#: dialogs.c:584
msgid "Premove for White"
msgstr ""
-#: dialogs.c:583
+#: dialogs.c:585
msgid "First White Move:"
msgstr ""
-#: dialogs.c:584
+#: dialogs.c:586
msgid "Premove for Black"
msgstr ""
-#: dialogs.c:585
+#: dialogs.c:587
msgid "First Black Move:"
msgstr ""
-#: dialogs.c:587
+#: dialogs.c:589
msgid "Alarm"
msgstr ""
-#: dialogs.c:588
+#: dialogs.c:590
msgid "Alarm Time (msec):"
msgstr ""
-#: dialogs.c:590
+#: dialogs.c:592
msgid "Colorize Messages"
msgstr ""
-#: dialogs.c:591
+#: dialogs.c:593
msgid "Shout Text Colors:"
msgstr ""
-#: dialogs.c:592
+#: dialogs.c:594
msgid "S-Shout Text Colors:"
msgstr ""
-#: dialogs.c:593
+#: dialogs.c:595
msgid "Channel #1 Text Colors:"
msgstr ""
-#: dialogs.c:594
+#: dialogs.c:596
msgid "Other Channel Text Colors:"
msgstr ""
-#: dialogs.c:595
+#: dialogs.c:597
msgid "Kibitz Text Colors:"
msgstr ""
-#: dialogs.c:596
+#: dialogs.c:598
msgid "Tell Text Colors:"
msgstr ""
-#: dialogs.c:597
+#: dialogs.c:599
msgid "Challenge Text Colors:"
msgstr ""
-#: dialogs.c:598
+#: dialogs.c:600
msgid "Request Text Colors:"
msgstr ""
-#: dialogs.c:599
+#: dialogs.c:601
msgid "Seek Text Colors:"
msgstr ""
-#: dialogs.c:606
+#: dialogs.c:608
msgid "ICS Options"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Exact position match"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Shown position is subset"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Same material with exactly same Pawn chain"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Same material"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material range (top board half optional)"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material difference (optional stuff balanced)"
msgstr ""
-#: dialogs.c:624
+#: dialogs.c:626
msgid "Auto-Display Tags"
msgstr ""
-#: dialogs.c:625
+#: dialogs.c:627
msgid "Auto-Display Comment"
msgstr ""
-#: dialogs.c:626
+#: dialogs.c:628
msgid ""
"Auto-Play speed of loaded games\n"
"(0 = instant, -1 = off):"
msgstr ""
-#: dialogs.c:627
+#: dialogs.c:629
msgid "Seconds per Move:"
msgstr ""
-#: dialogs.c:628
+#: dialogs.c:630
msgid ""
"\n"
"options to use in game-viewer mode:"
msgstr ""
-#: dialogs.c:630
+#: dialogs.c:632
msgid ""
"\n"
"Thresholds for position filtering in game list:"
msgstr ""
-#: dialogs.c:631
+#: dialogs.c:633
msgid "Elo of strongest player at least:"
msgstr ""
-#: dialogs.c:632
+#: dialogs.c:634
msgid "Elo of weakest player at least:"
msgstr ""
-#: dialogs.c:633
+#: dialogs.c:635
msgid "No games before year:"
msgstr ""
-#: dialogs.c:634
+#: dialogs.c:636
msgid "Minimum nr consecutive positions:"
msgstr ""
-#: dialogs.c:635
+#: dialogs.c:637
msgid "Search mode:"
msgstr ""
-#: dialogs.c:636
+#: dialogs.c:638
msgid "Also match reversed colors"
msgstr ""
-#: dialogs.c:637
+#: dialogs.c:639
msgid "Also match left-right flipped position"
msgstr ""
-#: dialogs.c:645
+#: dialogs.c:647
msgid "Load Game Options"
msgstr "Các Lựa Chọn Tải Ván Cờ"
-#: dialogs.c:657
+#: dialogs.c:659
msgid "Auto-Save Games"
msgstr ""
-#: dialogs.c:658
+#: dialogs.c:660
msgid "Own Games Only"
msgstr ""
-#: dialogs.c:659
+#: dialogs.c:661
msgid "Save Games on File:"
msgstr ""
-#: dialogs.c:660
+#: dialogs.c:662
msgid "Save Final Positions on File:"
msgstr ""
-#: dialogs.c:661
+#: dialogs.c:663
msgid "PGN Event Header:"
msgstr ""
-#: dialogs.c:662
+#: dialogs.c:664
msgid "Old Save Style (as opposed to PGN)"
msgstr ""
-#: dialogs.c:663
+#: dialogs.c:665
msgid "Include Number Tag in tourney PGN"
msgstr ""
-#: dialogs.c:664
+#: dialogs.c:666
msgid "Save Score/Depth Info in PGN"
msgstr ""
-#: dialogs.c:665
+#: dialogs.c:667
msgid "Save Out-of-Book Info in PGN "
msgstr ""
-#: dialogs.c:672
+#: dialogs.c:674
msgid "Save Game Options"
msgstr "Các Lựa Chọn Lưu Ván Cờ"
-#: dialogs.c:681
+#: dialogs.c:683
msgid "No Sound"
msgstr "Không âm thanh"
-#: dialogs.c:682
+#: dialogs.c:684
msgid "Default Beep"
msgstr "Tiếng tút ngầm định"
-#: dialogs.c:683
+#: dialogs.c:685
msgid "Above WAV File"
msgstr ""
-#: dialogs.c:684
+#: dialogs.c:686
msgid "Car Horn"
msgstr ""
-#: dialogs.c:685
+#: dialogs.c:687
msgid "Cymbal"
msgstr ""
-#: dialogs.c:686
+#: dialogs.c:688
msgid "Ding"
msgstr ""
-#: dialogs.c:687
+#: dialogs.c:689
msgid "Gong"
msgstr ""
-#: dialogs.c:688
+#: dialogs.c:690
msgid "Laser"
msgstr ""
-#: dialogs.c:689
+#: dialogs.c:691
msgid "Penalty"
msgstr ""
-#: dialogs.c:690
+#: dialogs.c:692
msgid "Phone"
msgstr ""
-#: dialogs.c:691
+#: dialogs.c:693
msgid "Pop"
msgstr ""
-#: dialogs.c:692
+#: dialogs.c:694
msgid "Slap"
msgstr ""
-#: dialogs.c:693
+#: dialogs.c:695
msgid "Wood Thunk"
msgstr ""
-#: dialogs.c:695
+#: dialogs.c:697
msgid "User File"
msgstr ""
-#: dialogs.c:717
+#: dialogs.c:719
msgid "User WAV File:"
msgstr ""
-#: dialogs.c:718
+#: dialogs.c:720
msgid "Sound Program:"
msgstr ""
-#: dialogs.c:719
+#: dialogs.c:721
msgid "Try-Out Sound:"
msgstr ""
-#: dialogs.c:720
+#: dialogs.c:722
msgid "Play"
msgstr "Chơi"
-#: dialogs.c:721
+#: dialogs.c:723
msgid "Move:"
msgstr ""
-#: dialogs.c:722
+#: dialogs.c:724
msgid "Win:"
msgstr ""
-#: dialogs.c:723
+#: dialogs.c:725
msgid "Lose:"
msgstr ""
-#: dialogs.c:724
+#: dialogs.c:726
msgid "Draw:"
msgstr ""
-#: dialogs.c:725
+#: dialogs.c:727
msgid "Unfinished:"
msgstr ""
-#: dialogs.c:726
+#: dialogs.c:728
msgid "Alarm:"
msgstr ""
-#: dialogs.c:727
+#: dialogs.c:729
msgid "Challenge:"
msgstr ""
-#: dialogs.c:729
+#: dialogs.c:731
msgid "Sounds Directory:"
msgstr ""
-#: dialogs.c:730
+#: dialogs.c:732
msgid "Shout:"
msgstr ""
-#: dialogs.c:731
+#: dialogs.c:733
msgid "S-Shout:"
msgstr ""
-#: dialogs.c:732
+#: dialogs.c:734
msgid "Channel:"
msgstr ""
-#: dialogs.c:733
+#: dialogs.c:735
msgid "Channel 1:"
msgstr ""
-#: dialogs.c:734
+#: dialogs.c:736
msgid "Tell:"
msgstr ""
-#: dialogs.c:735
+#: dialogs.c:737
msgid "Kibitz:"
msgstr ""
-#: dialogs.c:736
+#: dialogs.c:738
msgid "Request:"
msgstr ""
-#: dialogs.c:737
+#: dialogs.c:739
msgid "Seek:"
msgstr ""
-#: dialogs.c:753
+#: dialogs.c:755
msgid "Sound Options"
msgstr "Âm thanh"
-#: dialogs.c:774
+#: dialogs.c:776
msgid "White Piece Color:"
msgstr ""
#. TRANSLATORS: R = single letter for the color red
-#: dialogs.c:777 dialogs.c:786 dialogs.c:792 dialogs.c:798 dialogs.c:804
-#: dialogs.c:810
+#: dialogs.c:779 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
+#: dialogs.c:812
msgid "R"
msgstr ""
#. TRANSLATORS: G = single letter for the color green
-#: dialogs.c:779 dialogs.c:787 dialogs.c:793 dialogs.c:799 dialogs.c:805
-#: dialogs.c:811
+#: dialogs.c:781 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
+#: dialogs.c:813
msgid "G"
msgstr ""
#. TRANSLATORS: B = single letter for the color blue
-#: dialogs.c:781 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
-#: dialogs.c:812
+#: dialogs.c:783 dialogs.c:790 dialogs.c:796 dialogs.c:802 dialogs.c:808
+#: dialogs.c:814
msgid "B"
msgstr ""
#. TRANSLATORS: D = single letter to make a color darker
-#: dialogs.c:783 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
-#: dialogs.c:813
+#: dialogs.c:785 dialogs.c:791 dialogs.c:797 dialogs.c:803 dialogs.c:809
+#: dialogs.c:815
msgid "D"
msgstr ""
-#: dialogs.c:784
+#: dialogs.c:786
msgid "Black Piece Color:"
msgstr ""
-#: dialogs.c:790
+#: dialogs.c:792
msgid "Light Square Color:"
msgstr ""
-#: dialogs.c:796
+#: dialogs.c:798
msgid "Dark Square Color:"
msgstr ""
-#: dialogs.c:802
+#: dialogs.c:804
msgid "Highlight Color:"
msgstr ""
-#: dialogs.c:808
+#: dialogs.c:810
msgid "Premove Highlight Color:"
msgstr ""
-#: dialogs.c:814
+#: dialogs.c:816
msgid "Flip Pieces Shogi Style (Colored buttons restore default)"
msgstr ""
-#: dialogs.c:816
+#: dialogs.c:818
msgid "Mono Mode"
msgstr ""
-#: dialogs.c:817
+#: dialogs.c:819
msgid "Line Gap ( -1 = default for board size):"
msgstr ""
-#: dialogs.c:818
+#: dialogs.c:820
msgid "Use Board Textures"
msgstr ""
-#: dialogs.c:819
+#: dialogs.c:821
msgid "Light-Squares Texture File:"
msgstr ""
-#: dialogs.c:820
+#: dialogs.c:822
msgid "Dark-Squares Texture File:"
msgstr ""
-#: dialogs.c:821
+#: dialogs.c:823
msgid "Use external piece bitmaps with their own colors"
msgstr ""
-#: dialogs.c:822
+#: dialogs.c:824
msgid "Directory with Pieces Images:"
msgstr ""
-#: dialogs.c:872
+#: dialogs.c:874
msgid "Board Options"
msgstr ""
-#: dialogs.c:925 menus.c:634
+#: dialogs.c:927 menus.c:634
msgid "ICS text menu"
msgstr ""
-#: dialogs.c:947
+#: dialogs.c:949
msgid "clear"
msgstr ""
-#: dialogs.c:948 dialogs.c:1036
+#: dialogs.c:950 dialogs.c:1038
msgid "save changes"
msgstr ""
-#: dialogs.c:1051
+#: dialogs.c:1053
#, fuzzy
msgid "Edit book"
msgstr "Soạn"
-#: dialogs.c:1051 menus.c:636
+#: dialogs.c:1053 menus.c:636
msgid "Tags"
msgstr "Các Thẻ"
-#: dialogs.c:1193
+#: dialogs.c:1195
msgid "ICS input box"
msgstr ""
-#: dialogs.c:1225
+#: dialogs.c:1227
msgid "Type a move"
msgstr ""
-#: dialogs.c:1251
+#: dialogs.c:1253
msgid "Engine has no options"
msgstr ""
-#: dialogs.c:1253
+#: dialogs.c:1255
msgid "Engine Settings"
msgstr ""
-#: dialogs.c:1278
+#: dialogs.c:1280
msgid "Select engine from list:"
msgstr ""
-#: dialogs.c:1281
+#: dialogs.c:1283
msgid "or specify one below:"
msgstr ""
-#: dialogs.c:1282
+#: dialogs.c:1284
msgid "Nickname (optional):"
msgstr ""
-#: dialogs.c:1283
+#: dialogs.c:1285
msgid "Use nickname in PGN player tags of engine-engine games"
msgstr ""
-#: dialogs.c:1284
+#: dialogs.c:1286
msgid "Engine Directory:"
msgstr ""
-#: dialogs.c:1285
+#: dialogs.c:1287
msgid "Engine Command:"
msgstr ""
-#: dialogs.c:1286
+#: dialogs.c:1288
msgid "(Directory will be derived from engine path when empty)"
msgstr ""
-#: dialogs.c:1287
+#: dialogs.c:1289
msgid "UCI"
msgstr ""
-#: dialogs.c:1288
+#: dialogs.c:1290
msgid "WB protocol v1 (do not wait for engine features)"
msgstr ""
-#: dialogs.c:1289
+#: dialogs.c:1291
msgid "Must not use GUI book"
msgstr ""
-#: dialogs.c:1290
+#: dialogs.c:1292
msgid "Add this engine to the list"
msgstr ""
-#: dialogs.c:1291
+#: dialogs.c:1293
msgid "Force current variant with this engine"
msgstr ""
-#: dialogs.c:1341
+#: dialogs.c:1343
msgid "Load first engine"
msgstr ""
-#: dialogs.c:1347
+#: dialogs.c:1349
msgid "Load second engine"
msgstr ""
-#: dialogs.c:1370
+#: dialogs.c:1372
msgid "shuffle"
msgstr ""
-#: dialogs.c:1371
+#: dialogs.c:1373
msgid "Start-position number:"
msgstr ""
-#: dialogs.c:1372
+#: dialogs.c:1374
msgid "randomize"
msgstr ""
-#: dialogs.c:1373
+#: dialogs.c:1375
msgid "pick fixed"
msgstr ""
-#: dialogs.c:1390
+#: dialogs.c:1392
msgid "New Shuffle Game"
msgstr "Tráo Bên..."
-#: dialogs.c:1409
+#: dialogs.c:1411
msgid "classical"
msgstr ""
-#: dialogs.c:1410
+#: dialogs.c:1412
msgid "incremental"
msgstr ""
-#: dialogs.c:1411
+#: dialogs.c:1413
msgid "fixed max"
msgstr ""
-#: dialogs.c:1412
+#: dialogs.c:1414
msgid "Moves per session:"
msgstr ""
-#: dialogs.c:1413
+#: dialogs.c:1415
msgid "Initial time (min):"
msgstr ""
-#: dialogs.c:1414
+#: dialogs.c:1416
msgid "Increment or max (sec/move):"
msgstr ""
-#: dialogs.c:1415
+#: dialogs.c:1417
#, fuzzy
msgid "Time-Odds factors:"
msgstr "Hệ số thời gian lẻ"
-#: dialogs.c:1416
+#: dialogs.c:1418
msgid "Engine #1"
msgstr ""
-#: dialogs.c:1417
+#: dialogs.c:1419
msgid "Engine #2 / Human"
msgstr ""
-#: dialogs.c:1457 dialogs.c:1460 dialogs.c:1465 dialogs.c:1466
+#: dialogs.c:1459 dialogs.c:1462 dialogs.c:1467 dialogs.c:1468
#: gtk/xoptions.c:191
msgid "Unused"
msgstr ""
-#: dialogs.c:1478
+#: dialogs.c:1480
msgid "Time Control"
msgstr ""
-#: dialogs.c:1507
+#: dialogs.c:1509
msgid "Error writing to chess program"
msgstr ""
-#: dialogs.c:1574
+#: dialogs.c:1576
#, fuzzy
msgid "Cancel"
msgstr "Bỏ"
-#: dialogs.c:1579 dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1581 dialogs.c:1973 dialogs.c:1977
msgid "King"
msgstr "Vua"
-#: dialogs.c:1582
+#: dialogs.c:1584
msgid "Captain"
msgstr ""
-#: dialogs.c:1583
+#: dialogs.c:1585
msgid "Lieutenant"
msgstr ""
-#: dialogs.c:1584
+#: dialogs.c:1586
msgid "General"
msgstr "Chung..."
-#: dialogs.c:1585
+#: dialogs.c:1587
msgid "Warlord"
msgstr ""
-#: dialogs.c:1587 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1589 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Knight"
msgstr "Mã"
-#: dialogs.c:1588 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1590 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Bishop"
msgstr "Tượng"
-#: dialogs.c:1589 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1591 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Rook"
msgstr "Xe"
-#: dialogs.c:1593 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1595 dialogs.c:1974 dialogs.c:1978
msgid "Archbishop"
msgstr "Sĩ"
-#: dialogs.c:1594 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1596 dialogs.c:1974 dialogs.c:1978
msgid "Chancellor"
msgstr "Xe"
-#: dialogs.c:1596 dialogs.c:1971 dialogs.c:1975 dialogs.c:1993
+#: dialogs.c:1598 dialogs.c:1973 dialogs.c:1977 dialogs.c:1995
msgid "Queen"
msgstr "Hoàng Hậu"
-#: dialogs.c:1600
+#: dialogs.c:1602
msgid "Defer"
msgstr ""
-#: dialogs.c:1601 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1603 dialogs.c:1974 dialogs.c:1978
msgid "Promote"
msgstr "Phong Cấp"
-#: dialogs.c:1616
+#: dialogs.c:1618
msgid "Chat partner:"
msgstr ""
-#: dialogs.c:1701
+#: dialogs.c:1703
msgid "Chat box"
msgstr ""
-#: dialogs.c:1742
+#: dialogs.c:1744
msgid "factory"
msgstr ""
-#: dialogs.c:1743
+#: dialogs.c:1745
msgid "up"
msgstr ""
-#: dialogs.c:1744
+#: dialogs.c:1746
msgid "down"
msgstr ""
-#: dialogs.c:1762
+#: dialogs.c:1764
msgid "No tag selected"
msgstr ""
-#: dialogs.c:1793
+#: dialogs.c:1795
#, fuzzy
msgid "Game-list options"
msgstr "Các Lựa Chọn Tải Ván Cờ"
-#: dialogs.c:1869 dialogs.c:1883
+#: dialogs.c:1871 dialogs.c:1885
msgid "Error"
msgstr ""
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Fatal Error"
msgstr ""
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Exiting"
msgstr ""
-#: dialogs.c:1917
+#: dialogs.c:1919
msgid "Information"
msgstr ""
-#: dialogs.c:1924
+#: dialogs.c:1926
msgid "Note"
msgstr ""
-#: dialogs.c:1970 dialogs.c:2245 dialogs.c:2248
+#: dialogs.c:1972 dialogs.c:2252 dialogs.c:2255
msgid "White"
msgstr "Trắng"
-#: dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Pawn"
msgstr "Tốt"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Elephant"
msgstr "Tượng"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Cannon"
msgstr "Pháo"
-#: dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1974 dialogs.c:1978
msgid "Demote"
msgstr ""
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Empty square"
msgstr "Ô Trống"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Clear board"
msgstr "Xóa Bàn Cờ"
-#: dialogs.c:1974 dialogs.c:2257 dialogs.c:2260
+#: dialogs.c:1976 dialogs.c:2264 dialogs.c:2267
msgid "Black"
msgstr "Đen"
-#: dialogs.c:2073 menus.c:787
+#: dialogs.c:2075 menus.c:787
msgid "File"
msgstr ""
-#: dialogs.c:2074 menus.c:788
+#: dialogs.c:2076 menus.c:788
msgid "Edit"
msgstr "Soạn"
-#: dialogs.c:2075 menus.c:789
+#: dialogs.c:2077 menus.c:789
msgid "View"
msgstr ""
-#: dialogs.c:2076 menus.c:790
+#: dialogs.c:2078 menus.c:790
msgid "Mode"
msgstr ""
-#: dialogs.c:2077 menus.c:791
+#: dialogs.c:2079 menus.c:791
msgid "Action"
msgstr ""
-#: dialogs.c:2078 menus.c:792
+#: dialogs.c:2080 menus.c:792
msgid "Engine"
msgstr ""
-#: dialogs.c:2079 menus.c:793
+#: dialogs.c:2081 menus.c:793
msgid "Options"
msgstr ""
-#: dialogs.c:2080 menus.c:794
+#: dialogs.c:2082 menus.c:794
msgid "Help"
msgstr "Hướng Dẫn"
-#: dialogs.c:2090
+#: dialogs.c:2092
msgid "<<"
msgstr ""
-#: dialogs.c:2091
+#: dialogs.c:2093
msgid "<"
msgstr ""
-#: dialogs.c:2093
+#: dialogs.c:2095
msgid ">"
msgstr ""
-#: dialogs.c:2094
+#: dialogs.c:2096
msgid ">>"
msgstr ""
-#: dialogs.c:2364
+#: dialogs.c:2371
msgid "Directories:"
msgstr ""
-#: dialogs.c:2365
+#: dialogs.c:2372
#, fuzzy
msgid "Files:"
msgstr "Lọc"
-#: dialogs.c:2366
+#: dialogs.c:2373
msgid "by name"
msgstr ""
-#: dialogs.c:2367
+#: dialogs.c:2374
msgid "by type"
msgstr ""
-#: dialogs.c:2370
+#: dialogs.c:2377
#, fuzzy
msgid "Filename:"
msgstr "Lọc"
-#: dialogs.c:2371
+#: dialogs.c:2378
msgid "New directory"
msgstr ""
-#: dialogs.c:2372
+#: dialogs.c:2379
#, fuzzy
msgid "File type:"
msgstr "Lọc"
-#: dialogs.c:2447
+#: dialogs.c:2454
#, fuzzy
msgid "Contents of"
msgstr "Bình Chú"
-#: dialogs.c:2473
+#: dialogs.c:2480
msgid " next page"
msgstr ""
-#: dialogs.c:2495
+#: dialogs.c:2502
msgid "FIRST TYPE DIRECTORY NAME HERE"
msgstr ""
-#: dialogs.c:2496
+#: dialogs.c:2503
msgid "TRY ANOTHER NAME"
msgstr ""
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: GNU xboard 4.7.2\n"
+"Project-Id-Version: GNU xboard master-20130828\n"
"Report-Msgid-Bugs-To: bug-xboard@gnu.org\n"
-"POT-Creation-Date: 2013-08-28 21:49-0700\n"
+"POT-Creation-Date: 2013-08-28 22:03-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: args.h:820
+#: args.h:821
#, c-format
msgid "%s in settings file\n"
msgstr ""
-#: args.h:830
+#: args.h:831
#, c-format
msgid "Bad integer value %s"
msgstr ""
-#: args.h:923 args.h:1164
+#: args.h:924 args.h:1165
#, c-format
msgid "Unrecognized argument %s"
msgstr ""
-#: args.h:954
+#: args.h:955
#, c-format
msgid "No value provided for argument %s"
msgstr ""
-#: args.h:1014
+#: args.h:1015
#, c-format
msgid "Incomplete \\ escape in value for %s"
msgstr ""
-#: args.h:1119
+#: args.h:1120
#, c-format
msgid "Failed to open indirection file %s"
msgstr ""
-#: args.h:1136
+#: args.h:1137
#, c-format
msgid "Unrecognized boolean argument value %s"
msgstr ""
#. TRANSLATORS: "first" is the first of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:744
+#: backend.c:753
msgid "first"
msgstr ""
#. TRANSLATORS: "second" is the second of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:747
+#: backend.c:756
msgid "second"
msgstr ""
-#: backend.c:827
+#: backend.c:837
#, c-format
msgid "protocol version %d not supported"
msgstr ""
-#: backend.c:933
+#: backend.c:943
msgid "You did not specify the engine executable"
msgstr ""
-#: backend.c:989
+#: backend.c:999
#, c-format
msgid "bad timeControl option %s"
msgstr ""
-#: backend.c:1004
+#: backend.c:1014
#, c-format
msgid "bad searchTime option %s"
msgstr ""
-#: backend.c:1110
+#: backend.c:1120
#, c-format
msgid "Variant %s supported only in ICS mode"
msgstr ""
-#: backend.c:1128
+#: backend.c:1138
#, c-format
msgid "Unknown variant name %s"
msgstr ""
-#: backend.c:1375
+#: backend.c:1386
msgid "Starting chess program"
msgstr ""
-#: backend.c:1398
+#: backend.c:1409
msgid "Bad game file"
msgstr ""
-#: backend.c:1405
+#: backend.c:1416
msgid "Bad position file"
msgstr ""
-#: backend.c:1419
+#: backend.c:1430
msgid "Pick new game"
msgstr ""
-#: backend.c:1488
+#: backend.c:1499
msgid ""
"You restarted an already completed tourney\n"
"One more cycle will now be added to it\n"
"Games commence in 10 sec"
msgstr ""
-#: backend.c:1495
+#: backend.c:1506
#, c-format
msgid "All games in tourney '%s' are already played or playing"
msgstr ""
-#: backend.c:1502
+#: backend.c:1513
msgid "Can't have a match with no chess programs"
msgstr ""
-#: backend.c:1539
+#: backend.c:1550
#, c-format
msgid "Could not open comm port %s"
msgstr ""
-#: backend.c:1542
+#: backend.c:1553
#, c-format
msgid "Could not connect to host %s, port %s"
msgstr ""
-#: backend.c:1598
+#: backend.c:1609
#, c-format
msgid "Unknown initialMode %s"
msgstr ""
-#: backend.c:1624
+#: backend.c:1635
msgid "AnalyzeFile mode requires a game file"
msgstr ""
-#: backend.c:1651
+#: backend.c:1662
msgid "Analysis mode requires a chess engine"
msgstr ""
-#: backend.c:1655
+#: backend.c:1666
msgid "Analysis mode does not work with ICS mode"
msgstr ""
-#: backend.c:1666
+#: backend.c:1677
msgid "MachineWhite mode requires a chess engine"
msgstr ""
-#: backend.c:1671
+#: backend.c:1682
msgid "MachineWhite mode does not work with ICS mode"
msgstr ""
-#: backend.c:1678
+#: backend.c:1689
msgid "MachineBlack mode requires a chess engine"
msgstr ""
-#: backend.c:1683
+#: backend.c:1694
msgid "MachineBlack mode does not work with ICS mode"
msgstr ""
-#: backend.c:1690
+#: backend.c:1701
msgid "TwoMachines mode requires a chess engine"
msgstr ""
-#: backend.c:1695
+#: backend.c:1706
msgid "TwoMachines mode does not work with ICS mode"
msgstr ""
-#: backend.c:1706
+#: backend.c:1717
msgid "Training mode requires a game file"
msgstr ""
-#: backend.c:1869 backend.c:1924 backend.c:1947 backend.c:2346
+#: backend.c:1880 backend.c:1935 backend.c:1958 backend.c:2357
msgid "Error writing to ICS"
msgstr ""
-#: backend.c:1884
+#: backend.c:1895
msgid "Error reading from keyboard"
msgstr ""
-#: backend.c:1887
+#: backend.c:1898
msgid "Got end of file from keyboard"
msgstr ""
-#: backend.c:2192
+#: backend.c:2203
#, c-format
msgid "Unknown wild type %d"
msgstr ""
-#: backend.c:2263 usystem.c:329
+#: backend.c:2274 usystem.c:329
msgid "Error writing to display"
msgstr ""
-#: backend.c:3019
+#: backend.c:3030
#, c-format
msgid "your opponent kibitzes: %s"
msgstr ""
-#: backend.c:3548
+#: backend.c:3559
msgid "Error gathering move list: two headers"
msgstr ""
-#: backend.c:3595
+#: backend.c:3606
msgid "Error gathering move list: nested"
msgstr ""
-#: backend.c:3699 backend.c:4117 backend.c:4321 backend.c:4880 backend.c:4884
-#: backend.c:6900 backend.c:12082 backend.c:13797 backend.c:13874
-#: backend.c:13920 backend.c:13926 backend.c:13931 backend.c:13936
+#: backend.c:3710 backend.c:4128 backend.c:4332 backend.c:4891 backend.c:4895
+#: backend.c:6919 backend.c:12213 backend.c:13928 backend.c:14005
+#: backend.c:14051 backend.c:14057 backend.c:14062 backend.c:14067
msgid "vs."
msgstr ""
-#: backend.c:3827
+#: backend.c:3838
msgid "Illegal move (rejected by ICS)"
msgstr ""
-#: backend.c:4165
+#: backend.c:4176
msgid "Connection closed by ICS"
msgstr ""
-#: backend.c:4167
+#: backend.c:4178
msgid "Error reading from ICS"
msgstr ""
-#: backend.c:4244
+#: backend.c:4255
#, c-format
msgid ""
"Failed to parse board string:\n"
"\"%s\""
msgstr ""
-#: backend.c:4253 backend.c:9755
+#: backend.c:4264 backend.c:9885
msgid "Game too long; increase MAX_MOVES and recompile"
msgstr ""
-#: backend.c:4372
+#: backend.c:4383
msgid "Error gathering move list: extra board"
msgstr ""
-#: backend.c:4804 backend.c:4826
+#: backend.c:4815 backend.c:4837
#, c-format
msgid "Couldn't parse move \"%s\" from ICS"
msgstr ""
-#: backend.c:5063
+#: backend.c:5074
#, c-format
msgid "say Internal error; bad moveType %d (%d,%d-%d,%d)"
msgstr ""
-#: backend.c:5133
+#: backend.c:5145
msgid "You cannot do this while you are playing or observing"
msgstr ""
-#: backend.c:6029
+#: backend.c:6046
msgid "Recompile to support this BOARD_RANKS or BOARD_FILES!"
msgstr ""
-#: backend.c:6491
+#: backend.c:6510
msgid "You are playing Black"
msgstr ""
-#: backend.c:6500 backend.c:6527
+#: backend.c:6519 backend.c:6546
msgid "You are playing White"
msgstr ""
-#: backend.c:6509 backend.c:6535 backend.c:6655 backend.c:6680 backend.c:6696
-#: backend.c:14573
+#: backend.c:6528 backend.c:6554 backend.c:6674 backend.c:6699 backend.c:6715
+#: backend.c:14705
msgid "It is White's turn"
msgstr ""
-#: backend.c:6513 backend.c:6539 backend.c:6663 backend.c:6686 backend.c:6717
-#: backend.c:14565
+#: backend.c:6532 backend.c:6558 backend.c:6682 backend.c:6705 backend.c:6736
+#: backend.c:14697
msgid "It is Black's turn"
msgstr ""
-#: backend.c:6552
+#: backend.c:6571
msgid "Displayed position is not current"
msgstr ""
-#: backend.c:6790
+#: backend.c:6809
msgid "Illegal move"
msgstr ""
-#: backend.c:6857
+#: backend.c:6876
msgid "End of game"
msgstr ""
-#: backend.c:6860
+#: backend.c:6879
msgid "Incorrect move"
msgstr ""
-#: backend.c:7169 backend.c:7296
+#: backend.c:7257 backend.c:7392
msgid "Pull pawn backwards to under-promote"
msgstr ""
-#: backend.c:7527
+#: backend.c:7364
+msgid "only marked squares are legal"
+msgstr ""
+
+#: backend.c:7624
msgid "Swiss tourney finished"
msgstr ""
-#: backend.c:8102
+#: backend.c:8199
msgid "Invalid pairing from pairing engine"
msgstr ""
-#: backend.c:8235
+#: backend.c:8332
#, c-format
msgid "Illegal move \"%s\" from %s machine"
msgstr ""
-#: backend.c:8456
+#: backend.c:8564
msgid "Bad FEN received from engine"
msgstr ""
-#: backend.c:8600 backend.c:13662 backend.c:13727
+#: backend.c:8730 backend.c:13793 backend.c:13858
#, c-format
msgid "%s does not support analysis"
msgstr ""
-#: backend.c:8666
+#: backend.c:8796
#, c-format
msgid "Illegal move \"%s\" (rejected by %s chess program)"
msgstr ""
-#: backend.c:8693
+#: backend.c:8823
#, c-format
msgid "Failed to start %s chess program %s on %s: %s\n"
msgstr ""
-#: backend.c:8714
+#: backend.c:8844
#, c-format
msgid "Hint: %s"
msgstr ""
-#: backend.c:8719
+#: backend.c:8849
#, c-format
msgid ""
"Illegal hint move \"%s\"\n"
"from %s chess program"
msgstr ""
-#: backend.c:8894
+#: backend.c:9024
msgid "Machine accepts your draw offer"
msgstr ""
-#: backend.c:8897
+#: backend.c:9027
msgid ""
"Machine offers a draw\n"
"Select Action / Draw to agree"
msgstr ""
-#: backend.c:8976
+#: backend.c:9106
msgid "failed writing PV"
msgstr ""
-#: backend.c:9274
+#: backend.c:9404
#, c-format
msgid "Ambiguous move in ICS output: \"%s\""
msgstr ""
-#: backend.c:9284
+#: backend.c:9414
#, c-format
msgid "Illegal move in ICS output: \"%s\""
msgstr ""
-#: backend.c:9295
+#: backend.c:9425
msgid "Gap in move list"
msgstr ""
-#: backend.c:9916 dialogs.c:460
+#: backend.c:10046 dialogs.c:461
#, c-format
msgid "Variant %s not supported by %s"
msgstr ""
-#: backend.c:10037
+#: backend.c:10167
#, c-format
msgid "Startup failure on '%s'"
msgstr ""
-#: backend.c:10068
+#: backend.c:10198
msgid "Waiting for first chess program"
msgstr ""
-#: backend.c:10073 backend.c:13945
+#: backend.c:10203 backend.c:14076
msgid "Waiting for second chess program"
msgstr ""
-#: backend.c:10122
+#: backend.c:10252
msgid "Could not write on tourney file"
msgstr ""
-#: backend.c:10196
+#: backend.c:10326
msgid ""
"You cannot replace an engine while it is engaged!\n"
"Terminate its game first."
msgstr ""
-#: backend.c:10210
+#: backend.c:10340
msgid "No engine with the name you gave is installed"
msgstr ""
-#: backend.c:10212
+#: backend.c:10342
msgid ""
"First change an engine by editing the participants list\n"
"of the Tournament Options dialog"
msgstr ""
-#: backend.c:10213
+#: backend.c:10343
msgid "You can only change one engine at the time"
msgstr ""
-#: backend.c:10228 backend.c:10375
+#: backend.c:10358 backend.c:10505
#, c-format
msgid "No engine %s is installed"
msgstr ""
-#: backend.c:10248
+#: backend.c:10378
msgid ""
"You must supply a tournament file,\n"
"for storing the tourney progress"
msgstr ""
-#: backend.c:10258
+#: backend.c:10388
msgid "Not enough participants"
msgstr ""
-#: backend.c:10459
+#: backend.c:10589
msgid "Bad tournament file"
msgstr ""
-#: backend.c:10471
+#: backend.c:10601
msgid "Waiting for other game(s)"
msgstr ""
-#: backend.c:10484
+#: backend.c:10614
msgid "No pairing engine specified"
msgstr ""
-#: backend.c:10961
+#: backend.c:11092
#, c-format
msgid "Match %s vs. %s: final score %d-%d-%d"
msgstr ""
-#: backend.c:11423 backend.c:11454
+#: backend.c:11554 backend.c:11585
#, c-format
msgid "Illegal move: %d.%s%s"
msgstr ""
-#: backend.c:11443
+#: backend.c:11574
#, c-format
msgid "Ambiguous move: %d.%s%s"
msgstr ""
-#: backend.c:11496 backend.c:12505 backend.c:12698 backend.c:13059
+#: backend.c:11627 backend.c:12636 backend.c:12829 backend.c:13190
#, c-format
msgid "Can't open \"%s\""
msgstr ""
-#: backend.c:11508 menus.c:116
+#: backend.c:11639 menus.c:116
msgid "Cannot build game list"
msgstr ""
-#: backend.c:11593
+#: backend.c:11724
msgid "No more games in this message"
msgstr ""
-#: backend.c:11633
+#: backend.c:11764
msgid "No game has been loaded yet"
msgstr ""
-#: backend.c:11637 backend.c:12486 ngamelist.c:129
+#: backend.c:11768 backend.c:12617 ngamelist.c:129
msgid "Can't back up any further"
msgstr ""
-#: backend.c:12058
+#: backend.c:12189
msgid "Game number out of range"
msgstr ""
-#: backend.c:12069
+#: backend.c:12200
msgid "Can't seek on game file"
msgstr ""
-#: backend.c:12127
+#: backend.c:12258
msgid "Game not found in file"
msgstr ""
-#: backend.c:12255 backend.c:12582
+#: backend.c:12386 backend.c:12713
msgid "Bad FEN position in file"
msgstr ""
-#: backend.c:12407
+#: backend.c:12538
msgid "No moves in game"
msgstr ""
-#: backend.c:12482
+#: backend.c:12613
msgid "No position has been loaded yet"
msgstr ""
-#: backend.c:12543 backend.c:12554
+#: backend.c:12674 backend.c:12685
msgid "Can't seek on position file"
msgstr ""
-#: backend.c:12561 backend.c:12573
+#: backend.c:12692 backend.c:12704
msgid "Position not found in file"
msgstr ""
-#: backend.c:12613
+#: backend.c:12744
msgid "Black to play"
msgstr ""
-#: backend.c:12616
+#: backend.c:12747
msgid "White to play"
msgstr ""
-#: backend.c:12703 backend.c:13064
+#: backend.c:12834 backend.c:13195
msgid "Waiting for access to save file"
msgstr ""
-#: backend.c:12705
+#: backend.c:12836
msgid "Saving game"
msgstr ""
-#: backend.c:12706
+#: backend.c:12837
msgid "Bad Seek"
msgstr ""
-#: backend.c:13066
+#: backend.c:13197
msgid "Saving position"
msgstr ""
-#: backend.c:13192
+#: backend.c:13323
msgid ""
"You have edited the game history.\n"
"Use Reload Same Game and make your move again."
msgstr ""
-#: backend.c:13197
+#: backend.c:13328
msgid ""
"You have entered too many moves.\n"
"Back up to the correct position and try again."
msgstr ""
-#: backend.c:13202
+#: backend.c:13333
msgid ""
"Displayed position is not current.\n"
"Step forward to the correct position and try again."
msgstr ""
-#: backend.c:13249
+#: backend.c:13380
msgid "You have not made a move yet"
msgstr ""
-#: backend.c:13270
+#: backend.c:13401
msgid ""
"The cmail message is not loaded.\n"
"Use Reload CMail Message and make your move again."
msgstr ""
-#: backend.c:13275
+#: backend.c:13406
msgid "No unfinished games"
msgstr ""
-#: backend.c:13281
+#: backend.c:13412
#, c-format
msgid ""
"You have already mailed a move.\n"
"on the command line."
msgstr ""
-#: backend.c:13296
+#: backend.c:13427
msgid "Failed to invoke cmail"
msgstr ""
-#: backend.c:13358
+#: backend.c:13489
#, c-format
msgid "Waiting for reply from opponent\n"
msgstr ""
-#: backend.c:13380
+#: backend.c:13511
#, c-format
msgid "Still need to make move for game\n"
msgstr ""
-#: backend.c:13384
+#: backend.c:13515
#, c-format
msgid "Still need to make moves for both games\n"
msgstr ""
-#: backend.c:13388
+#: backend.c:13519
#, c-format
msgid "Still need to make moves for all %d games\n"
msgstr ""
-#: backend.c:13395
+#: backend.c:13526
#, c-format
msgid "Still need to make a move for game %s\n"
msgstr ""
-#: backend.c:13401
+#: backend.c:13532
#, c-format
msgid "No unfinished games\n"
msgstr ""
-#: backend.c:13403
+#: backend.c:13534
#, c-format
msgid "Ready to send mail\n"
msgstr ""
-#: backend.c:13408
+#: backend.c:13539
#, c-format
msgid "Still need to make moves for games %s\n"
msgstr ""
-#: backend.c:13612
+#: backend.c:13743
msgid "Edit comment"
msgstr ""
-#: backend.c:13614
+#: backend.c:13745
#, c-format
msgid "Edit comment on %d.%s%s"
msgstr ""
-#: backend.c:13669
+#: backend.c:13800
#, c-format
msgid "You are not observing a game"
msgstr ""
-#: backend.c:13777
+#: backend.c:13908
msgid "It is not White's turn"
msgstr ""
-#: backend.c:13858
+#: backend.c:13989
msgid "It is not Black's turn"
msgstr ""
-#: backend.c:13966
+#: backend.c:14097
#, c-format
msgid "Starting %s chess program"
msgstr ""
-#: backend.c:13994 backend.c:15108
+#: backend.c:14125 backend.c:15240
msgid ""
"Wait until your turn,\n"
"or select Move Now"
msgstr ""
-#: backend.c:14128
+#: backend.c:14259
msgid "Training mode off"
msgstr ""
-#: backend.c:14136
+#: backend.c:14267
msgid "Training mode on"
msgstr ""
-#: backend.c:14139
+#: backend.c:14270
msgid "Already at end of game"
msgstr ""
-#: backend.c:14219
+#: backend.c:14350
msgid "Warning: You are still playing a game"
msgstr ""
-#: backend.c:14222
+#: backend.c:14353
msgid "Warning: You are still observing a game"
msgstr ""
-#: backend.c:14225
+#: backend.c:14356
msgid "Warning: You are still examining a game"
msgstr ""
-#: backend.c:14292
+#: backend.c:14423
msgid "Click clock to clear board"
msgstr ""
-#: backend.c:14302
+#: backend.c:14433
msgid "Close ICS engine analyze..."
msgstr ""
-#: backend.c:14590
+#: backend.c:14722
msgid "That square is occupied"
msgstr ""
-#: backend.c:14614 backend.c:14640
+#: backend.c:14746 backend.c:14772
msgid "There is no pending offer on this move"
msgstr ""
-#: backend.c:14676 backend.c:14687
+#: backend.c:14808 backend.c:14819
msgid "Your opponent is not out of time"
msgstr ""
-#: backend.c:14753
+#: backend.c:14885
msgid "You must make your move before offering a draw"
msgstr ""
-#: backend.c:15090
+#: backend.c:15222
msgid "You are not examining a game"
msgstr ""
-#: backend.c:15094
+#: backend.c:15226
msgid "You can't revert while pausing"
msgstr ""
-#: backend.c:15148 backend.c:15155
+#: backend.c:15280 backend.c:15287
msgid "It is your turn"
msgstr ""
-#: backend.c:15206 backend.c:15213 backend.c:15266 backend.c:15273
+#: backend.c:15338 backend.c:15345 backend.c:15398 backend.c:15405
msgid "Wait until your turn"
msgstr ""
-#: backend.c:15218
+#: backend.c:15350
msgid "No hint available"
msgstr ""
-#: backend.c:15234 ngamelist.c:355
+#: backend.c:15366 ngamelist.c:355
msgid "Game list not loaded or empty"
msgstr ""
-#: backend.c:15241
+#: backend.c:15373
msgid "Book file exists! Try again for overwrite."
msgstr ""
-#: backend.c:15719
+#: backend.c:15851
#, c-format
msgid "Error writing to %s chess program"
msgstr ""
-#: backend.c:15722 backend.c:15753
+#: backend.c:15854 backend.c:15885
#, c-format
msgid "%s program exits in draw position (%s)"
msgstr ""
-#: backend.c:15748
+#: backend.c:15880
#, c-format
msgid "Error: %s chess program (%s) exited unexpectedly"
msgstr ""
-#: backend.c:15766
+#: backend.c:15898
#, c-format
msgid "Error reading from %s chess program (%s)"
msgstr ""
-#: backend.c:16168
+#: backend.c:16301
#, c-format
msgid "%s engine has too many options\n"
msgstr ""
-#: backend.c:16324
+#: backend.c:16457
msgid "Displayed move is not current"
msgstr ""
-#: backend.c:16333
+#: backend.c:16466
msgid "Could not parse move"
msgstr ""
-#: backend.c:16458 backend.c:16480
+#: backend.c:16591 backend.c:16613
msgid "Both flags fell"
msgstr ""
-#: backend.c:16460
+#: backend.c:16593
msgid "White's flag fell"
msgstr ""
-#: backend.c:16482
+#: backend.c:16615
msgid "Black's flag fell"
msgstr ""
-#: backend.c:16613
+#: backend.c:16746
msgid "Clock adjustment not allowed in auto-flag mode"
msgstr ""
-#: backend.c:17448
+#: backend.c:17585
msgid "Bad FEN position in clipboard"
msgstr ""
msgid "First you must specify an existing tourney file to clone"
msgstr ""
-#: dialogs.c:332 dialogs.c:1320
+#: dialogs.c:332 dialogs.c:1322
msgid "# no engines are installed"
msgstr ""
msgid "Play Move(s) of Clicked PV (Analysis)"
msgstr ""
-#: dialogs.c:379 dialogs.c:514 menus.c:728
+#: dialogs.c:379 dialogs.c:515 menus.c:728
msgid "Ponder Next Move"
msgstr ""
msgstr ""
#: dialogs.c:429
-msgid "fairy"
+msgid "ASEAN"
msgstr ""
#: dialogs.c:430
msgstr ""
#: dialogs.c:447
-msgid " "
+msgid "fairy"
msgstr ""
-#: dialogs.c:448
+#: dialogs.c:449
msgid "courier (12x8)"
msgstr ""
-#: dialogs.c:465
+#: dialogs.c:466
#, c-format
msgid "Warning: second engine (%s) does not support this!"
msgstr ""
-#: dialogs.c:488
+#: dialogs.c:489
#, c-format
msgid "Only bughouse is not available in viewer mode"
msgstr ""
-#: dialogs.c:489
+#: dialogs.c:490
#, c-format
msgid ""
"All variants not supported by first engine\n"
"(currently %s) are disabled"
msgstr ""
-#: dialogs.c:490
+#: dialogs.c:491
msgid "New Variant"
msgstr ""
-#: dialogs.c:515
+#: dialogs.c:516
msgid "Maximum Number of CPUs per Engine:"
msgstr ""
-#: dialogs.c:516
+#: dialogs.c:517
msgid "Polygot Directory:"
msgstr ""
-#: dialogs.c:517
+#: dialogs.c:518
msgid "Hash-Table Size (MB):"
msgstr ""
-#: dialogs.c:518
+#: dialogs.c:519
msgid "Nalimov EGTB Path:"
msgstr ""
-#: dialogs.c:519
+#: dialogs.c:520
msgid "EGTB Cache Size (MB):"
msgstr ""
-#: dialogs.c:520
+#: dialogs.c:521
msgid "Use GUI Book"
msgstr ""
-#: dialogs.c:521
+#: dialogs.c:522
msgid "Opening-Book Filename:"
msgstr ""
-#: dialogs.c:522
+#: dialogs.c:523
msgid "Book Depth (moves):"
msgstr ""
-#: dialogs.c:523
+#: dialogs.c:524
msgid "Book Variety (0) vs. Strength (100):"
msgstr ""
-#: dialogs.c:524
+#: dialogs.c:525
msgid "Engine #1 Has Own Book"
msgstr ""
-#: dialogs.c:525
+#: dialogs.c:526
msgid "Engine #2 Has Own Book "
msgstr ""
-#: dialogs.c:534
+#: dialogs.c:535
msgid "Common Engine Settings"
msgstr ""
-#: dialogs.c:540
+#: dialogs.c:541
msgid "Detect all Mates"
msgstr ""
-#: dialogs.c:541
+#: dialogs.c:542
msgid "Verify Engine Result Claims"
msgstr ""
-#: dialogs.c:542
+#: dialogs.c:543
msgid "Draw if Insufficient Mating Material"
msgstr ""
-#: dialogs.c:543
+#: dialogs.c:544
msgid "Adjudicate Trivial Draws (3-Move Delay)"
msgstr ""
-#: dialogs.c:544
+#: dialogs.c:545
msgid "N-Move Rule:"
msgstr ""
-#: dialogs.c:545
+#: dialogs.c:546
msgid "N-fold Repeats:"
msgstr ""
-#: dialogs.c:546
+#: dialogs.c:547
msgid "Draw after N Moves Total:"
msgstr ""
-#: dialogs.c:547
+#: dialogs.c:548
msgid "Win / Loss Threshold:"
msgstr ""
-#: dialogs.c:548
+#: dialogs.c:549
msgid "Negate Score of Engine #1"
msgstr ""
-#: dialogs.c:549
+#: dialogs.c:550
msgid "Negate Score of Engine #2"
msgstr ""
-#: dialogs.c:556
+#: dialogs.c:557
msgid "Adjudicate non-ICS Games"
msgstr ""
-#: dialogs.c:569
+#: dialogs.c:570
msgid "Auto-Kibitz"
msgstr ""
-#: dialogs.c:570
+#: dialogs.c:571
msgid "Auto-Comment"
msgstr ""
-#: dialogs.c:571
+#: dialogs.c:572
msgid "Auto-Observe"
msgstr ""
-#: dialogs.c:572
+#: dialogs.c:573
msgid "Auto-Raise Board"
msgstr ""
-#: dialogs.c:573
+#: dialogs.c:574
msgid "Auto-Create Logon Script"
msgstr ""
-#: dialogs.c:574
+#: dialogs.c:575
msgid "Background Observe while Playing"
msgstr ""
-#: dialogs.c:575
+#: dialogs.c:576
msgid "Dual Board for Background-Observed Game"
msgstr ""
-#: dialogs.c:576
+#: dialogs.c:577
msgid "Get Move List"
msgstr ""
-#: dialogs.c:577
+#: dialogs.c:578
msgid "Quiet Play"
msgstr ""
-#: dialogs.c:578
+#: dialogs.c:579
msgid "Seek Graph"
msgstr ""
-#: dialogs.c:579
+#: dialogs.c:580
msgid "Auto-Refresh Seek Graph"
msgstr ""
-#: dialogs.c:580
+#: dialogs.c:581
msgid "Auto-InputBox PopUp"
msgstr ""
-#: dialogs.c:581
+#: dialogs.c:582
+msgid "Quit after game"
+msgstr ""
+
+#: dialogs.c:583
msgid "Premove"
msgstr ""
-#: dialogs.c:582
+#: dialogs.c:584
msgid "Premove for White"
msgstr ""
-#: dialogs.c:583
+#: dialogs.c:585
msgid "First White Move:"
msgstr ""
-#: dialogs.c:584
+#: dialogs.c:586
msgid "Premove for Black"
msgstr ""
-#: dialogs.c:585
+#: dialogs.c:587
msgid "First Black Move:"
msgstr ""
-#: dialogs.c:587
+#: dialogs.c:589
msgid "Alarm"
msgstr ""
-#: dialogs.c:588
+#: dialogs.c:590
msgid "Alarm Time (msec):"
msgstr ""
-#: dialogs.c:590
+#: dialogs.c:592
msgid "Colorize Messages"
msgstr ""
-#: dialogs.c:591
+#: dialogs.c:593
msgid "Shout Text Colors:"
msgstr ""
-#: dialogs.c:592
+#: dialogs.c:594
msgid "S-Shout Text Colors:"
msgstr ""
-#: dialogs.c:593
+#: dialogs.c:595
msgid "Channel #1 Text Colors:"
msgstr ""
-#: dialogs.c:594
+#: dialogs.c:596
msgid "Other Channel Text Colors:"
msgstr ""
-#: dialogs.c:595
+#: dialogs.c:597
msgid "Kibitz Text Colors:"
msgstr ""
-#: dialogs.c:596
+#: dialogs.c:598
msgid "Tell Text Colors:"
msgstr ""
-#: dialogs.c:597
+#: dialogs.c:599
msgid "Challenge Text Colors:"
msgstr ""
-#: dialogs.c:598
+#: dialogs.c:600
msgid "Request Text Colors:"
msgstr ""
-#: dialogs.c:599
+#: dialogs.c:601
msgid "Seek Text Colors:"
msgstr ""
-#: dialogs.c:606
+#: dialogs.c:608
msgid "ICS Options"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Exact position match"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Shown position is subset"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Same material with exactly same Pawn chain"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Same material"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material range (top board half optional)"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material difference (optional stuff balanced)"
msgstr ""
-#: dialogs.c:624
+#: dialogs.c:626
msgid "Auto-Display Tags"
msgstr ""
-#: dialogs.c:625
+#: dialogs.c:627
msgid "Auto-Display Comment"
msgstr ""
-#: dialogs.c:626
+#: dialogs.c:628
msgid ""
"Auto-Play speed of loaded games\n"
"(0 = instant, -1 = off):"
msgstr ""
-#: dialogs.c:627
+#: dialogs.c:629
msgid "Seconds per Move:"
msgstr ""
-#: dialogs.c:628
+#: dialogs.c:630
msgid ""
"\n"
"options to use in game-viewer mode:"
msgstr ""
-#: dialogs.c:630
+#: dialogs.c:632
msgid ""
"\n"
"Thresholds for position filtering in game list:"
msgstr ""
-#: dialogs.c:631
+#: dialogs.c:633
msgid "Elo of strongest player at least:"
msgstr ""
-#: dialogs.c:632
+#: dialogs.c:634
msgid "Elo of weakest player at least:"
msgstr ""
-#: dialogs.c:633
+#: dialogs.c:635
msgid "No games before year:"
msgstr ""
-#: dialogs.c:634
+#: dialogs.c:636
msgid "Minimum nr consecutive positions:"
msgstr ""
-#: dialogs.c:635
+#: dialogs.c:637
msgid "Search mode:"
msgstr ""
-#: dialogs.c:636
+#: dialogs.c:638
msgid "Also match reversed colors"
msgstr ""
-#: dialogs.c:637
+#: dialogs.c:639
msgid "Also match left-right flipped position"
msgstr ""
-#: dialogs.c:645
+#: dialogs.c:647
msgid "Load Game Options"
msgstr ""
-#: dialogs.c:657
+#: dialogs.c:659
msgid "Auto-Save Games"
msgstr ""
-#: dialogs.c:658
+#: dialogs.c:660
msgid "Own Games Only"
msgstr ""
-#: dialogs.c:659
+#: dialogs.c:661
msgid "Save Games on File:"
msgstr ""
-#: dialogs.c:660
+#: dialogs.c:662
msgid "Save Final Positions on File:"
msgstr ""
-#: dialogs.c:661
+#: dialogs.c:663
msgid "PGN Event Header:"
msgstr ""
-#: dialogs.c:662
+#: dialogs.c:664
msgid "Old Save Style (as opposed to PGN)"
msgstr ""
-#: dialogs.c:663
+#: dialogs.c:665
msgid "Include Number Tag in tourney PGN"
msgstr ""
-#: dialogs.c:664
+#: dialogs.c:666
msgid "Save Score/Depth Info in PGN"
msgstr ""
-#: dialogs.c:665
+#: dialogs.c:667
msgid "Save Out-of-Book Info in PGN "
msgstr ""
-#: dialogs.c:672
+#: dialogs.c:674
msgid "Save Game Options"
msgstr ""
-#: dialogs.c:681
+#: dialogs.c:683
msgid "No Sound"
msgstr ""
-#: dialogs.c:682
+#: dialogs.c:684
msgid "Default Beep"
msgstr ""
-#: dialogs.c:683
+#: dialogs.c:685
msgid "Above WAV File"
msgstr ""
-#: dialogs.c:684
+#: dialogs.c:686
msgid "Car Horn"
msgstr ""
-#: dialogs.c:685
+#: dialogs.c:687
msgid "Cymbal"
msgstr ""
-#: dialogs.c:686
+#: dialogs.c:688
msgid "Ding"
msgstr ""
-#: dialogs.c:687
+#: dialogs.c:689
msgid "Gong"
msgstr ""
-#: dialogs.c:688
+#: dialogs.c:690
msgid "Laser"
msgstr ""
-#: dialogs.c:689
+#: dialogs.c:691
msgid "Penalty"
msgstr ""
-#: dialogs.c:690
+#: dialogs.c:692
msgid "Phone"
msgstr ""
-#: dialogs.c:691
+#: dialogs.c:693
msgid "Pop"
msgstr ""
-#: dialogs.c:692
+#: dialogs.c:694
msgid "Slap"
msgstr ""
-#: dialogs.c:693
+#: dialogs.c:695
msgid "Wood Thunk"
msgstr ""
-#: dialogs.c:695
+#: dialogs.c:697
msgid "User File"
msgstr ""
-#: dialogs.c:717
+#: dialogs.c:719
msgid "User WAV File:"
msgstr ""
-#: dialogs.c:718
+#: dialogs.c:720
msgid "Sound Program:"
msgstr ""
-#: dialogs.c:719
+#: dialogs.c:721
msgid "Try-Out Sound:"
msgstr ""
-#: dialogs.c:720
+#: dialogs.c:722
msgid "Play"
msgstr ""
-#: dialogs.c:721
+#: dialogs.c:723
msgid "Move:"
msgstr ""
-#: dialogs.c:722
+#: dialogs.c:724
msgid "Win:"
msgstr ""
-#: dialogs.c:723
+#: dialogs.c:725
msgid "Lose:"
msgstr ""
-#: dialogs.c:724
+#: dialogs.c:726
msgid "Draw:"
msgstr ""
-#: dialogs.c:725
+#: dialogs.c:727
msgid "Unfinished:"
msgstr ""
-#: dialogs.c:726
+#: dialogs.c:728
msgid "Alarm:"
msgstr ""
-#: dialogs.c:727
+#: dialogs.c:729
msgid "Challenge:"
msgstr ""
-#: dialogs.c:729
+#: dialogs.c:731
msgid "Sounds Directory:"
msgstr ""
-#: dialogs.c:730
+#: dialogs.c:732
msgid "Shout:"
msgstr ""
-#: dialogs.c:731
+#: dialogs.c:733
msgid "S-Shout:"
msgstr ""
-#: dialogs.c:732
+#: dialogs.c:734
msgid "Channel:"
msgstr ""
-#: dialogs.c:733
+#: dialogs.c:735
msgid "Channel 1:"
msgstr ""
-#: dialogs.c:734
+#: dialogs.c:736
msgid "Tell:"
msgstr ""
-#: dialogs.c:735
+#: dialogs.c:737
msgid "Kibitz:"
msgstr ""
-#: dialogs.c:736
+#: dialogs.c:738
msgid "Request:"
msgstr ""
-#: dialogs.c:737
+#: dialogs.c:739
msgid "Seek:"
msgstr ""
-#: dialogs.c:753
+#: dialogs.c:755
msgid "Sound Options"
msgstr ""
-#: dialogs.c:774
+#: dialogs.c:776
msgid "White Piece Color:"
msgstr ""
#. TRANSLATORS: R = single letter for the color red
-#: dialogs.c:777 dialogs.c:786 dialogs.c:792 dialogs.c:798 dialogs.c:804
-#: dialogs.c:810
+#: dialogs.c:779 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
+#: dialogs.c:812
msgid "R"
msgstr ""
#. TRANSLATORS: G = single letter for the color green
-#: dialogs.c:779 dialogs.c:787 dialogs.c:793 dialogs.c:799 dialogs.c:805
-#: dialogs.c:811
+#: dialogs.c:781 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
+#: dialogs.c:813
msgid "G"
msgstr ""
#. TRANSLATORS: B = single letter for the color blue
-#: dialogs.c:781 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
-#: dialogs.c:812
+#: dialogs.c:783 dialogs.c:790 dialogs.c:796 dialogs.c:802 dialogs.c:808
+#: dialogs.c:814
msgid "B"
msgstr ""
#. TRANSLATORS: D = single letter to make a color darker
-#: dialogs.c:783 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
-#: dialogs.c:813
+#: dialogs.c:785 dialogs.c:791 dialogs.c:797 dialogs.c:803 dialogs.c:809
+#: dialogs.c:815
msgid "D"
msgstr ""
-#: dialogs.c:784
+#: dialogs.c:786
msgid "Black Piece Color:"
msgstr ""
-#: dialogs.c:790
+#: dialogs.c:792
msgid "Light Square Color:"
msgstr ""
-#: dialogs.c:796
+#: dialogs.c:798
msgid "Dark Square Color:"
msgstr ""
-#: dialogs.c:802
+#: dialogs.c:804
msgid "Highlight Color:"
msgstr ""
-#: dialogs.c:808
+#: dialogs.c:810
msgid "Premove Highlight Color:"
msgstr ""
-#: dialogs.c:814
+#: dialogs.c:816
msgid "Flip Pieces Shogi Style (Colored buttons restore default)"
msgstr ""
-#: dialogs.c:816
+#: dialogs.c:818
msgid "Mono Mode"
msgstr ""
-#: dialogs.c:817
+#: dialogs.c:819
msgid "Line Gap ( -1 = default for board size):"
msgstr ""
-#: dialogs.c:818
+#: dialogs.c:820
msgid "Use Board Textures"
msgstr ""
-#: dialogs.c:819
+#: dialogs.c:821
msgid "Light-Squares Texture File:"
msgstr ""
-#: dialogs.c:820
+#: dialogs.c:822
msgid "Dark-Squares Texture File:"
msgstr ""
-#: dialogs.c:821
+#: dialogs.c:823
msgid "Use external piece bitmaps with their own colors"
msgstr ""
-#: dialogs.c:822
+#: dialogs.c:824
msgid "Directory with Pieces Images:"
msgstr ""
-#: dialogs.c:872
+#: dialogs.c:874
msgid "Board Options"
msgstr ""
-#: dialogs.c:925 menus.c:634
+#: dialogs.c:927 menus.c:634
msgid "ICS text menu"
msgstr ""
-#: dialogs.c:947
+#: dialogs.c:949
msgid "clear"
msgstr ""
-#: dialogs.c:948 dialogs.c:1036
+#: dialogs.c:950 dialogs.c:1038
msgid "save changes"
msgstr ""
-#: dialogs.c:1051
+#: dialogs.c:1053
msgid "Edit book"
msgstr ""
-#: dialogs.c:1051 menus.c:636
+#: dialogs.c:1053 menus.c:636
msgid "Tags"
msgstr ""
-#: dialogs.c:1193
+#: dialogs.c:1195
msgid "ICS input box"
msgstr ""
-#: dialogs.c:1225
+#: dialogs.c:1227
msgid "Type a move"
msgstr ""
-#: dialogs.c:1251
+#: dialogs.c:1253
msgid "Engine has no options"
msgstr ""
-#: dialogs.c:1253
+#: dialogs.c:1255
msgid "Engine Settings"
msgstr ""
-#: dialogs.c:1278
+#: dialogs.c:1280
msgid "Select engine from list:"
msgstr ""
-#: dialogs.c:1281
+#: dialogs.c:1283
msgid "or specify one below:"
msgstr ""
-#: dialogs.c:1282
+#: dialogs.c:1284
msgid "Nickname (optional):"
msgstr ""
-#: dialogs.c:1283
+#: dialogs.c:1285
msgid "Use nickname in PGN player tags of engine-engine games"
msgstr ""
-#: dialogs.c:1284
+#: dialogs.c:1286
msgid "Engine Directory:"
msgstr ""
-#: dialogs.c:1285
+#: dialogs.c:1287
msgid "Engine Command:"
msgstr ""
-#: dialogs.c:1286
+#: dialogs.c:1288
msgid "(Directory will be derived from engine path when empty)"
msgstr ""
-#: dialogs.c:1287
+#: dialogs.c:1289
msgid "UCI"
msgstr ""
-#: dialogs.c:1288
+#: dialogs.c:1290
msgid "WB protocol v1 (do not wait for engine features)"
msgstr ""
-#: dialogs.c:1289
+#: dialogs.c:1291
msgid "Must not use GUI book"
msgstr ""
-#: dialogs.c:1290
+#: dialogs.c:1292
msgid "Add this engine to the list"
msgstr ""
-#: dialogs.c:1291
+#: dialogs.c:1293
msgid "Force current variant with this engine"
msgstr ""
-#: dialogs.c:1341
+#: dialogs.c:1343
msgid "Load first engine"
msgstr ""
-#: dialogs.c:1347
+#: dialogs.c:1349
msgid "Load second engine"
msgstr ""
-#: dialogs.c:1370
+#: dialogs.c:1372
msgid "shuffle"
msgstr ""
-#: dialogs.c:1371
+#: dialogs.c:1373
msgid "Start-position number:"
msgstr ""
-#: dialogs.c:1372
+#: dialogs.c:1374
msgid "randomize"
msgstr ""
-#: dialogs.c:1373
+#: dialogs.c:1375
msgid "pick fixed"
msgstr ""
-#: dialogs.c:1390
+#: dialogs.c:1392
msgid "New Shuffle Game"
msgstr ""
-#: dialogs.c:1409
+#: dialogs.c:1411
msgid "classical"
msgstr ""
-#: dialogs.c:1410
+#: dialogs.c:1412
msgid "incremental"
msgstr ""
-#: dialogs.c:1411
+#: dialogs.c:1413
msgid "fixed max"
msgstr ""
-#: dialogs.c:1412
+#: dialogs.c:1414
msgid "Moves per session:"
msgstr ""
-#: dialogs.c:1413
+#: dialogs.c:1415
msgid "Initial time (min):"
msgstr ""
-#: dialogs.c:1414
+#: dialogs.c:1416
msgid "Increment or max (sec/move):"
msgstr ""
-#: dialogs.c:1415
+#: dialogs.c:1417
msgid "Time-Odds factors:"
msgstr ""
-#: dialogs.c:1416
+#: dialogs.c:1418
msgid "Engine #1"
msgstr ""
-#: dialogs.c:1417
+#: dialogs.c:1419
msgid "Engine #2 / Human"
msgstr ""
-#: dialogs.c:1457 dialogs.c:1460 dialogs.c:1465 dialogs.c:1466
+#: dialogs.c:1459 dialogs.c:1462 dialogs.c:1467 dialogs.c:1468
#: gtk/xoptions.c:191
msgid "Unused"
msgstr ""
-#: dialogs.c:1478
+#: dialogs.c:1480
msgid "Time Control"
msgstr ""
-#: dialogs.c:1507
+#: dialogs.c:1509
msgid "Error writing to chess program"
msgstr ""
-#: dialogs.c:1574
+#: dialogs.c:1576
msgid "Cancel"
msgstr ""
-#: dialogs.c:1579 dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1581 dialogs.c:1973 dialogs.c:1977
msgid "King"
msgstr ""
-#: dialogs.c:1582
+#: dialogs.c:1584
msgid "Captain"
msgstr ""
-#: dialogs.c:1583
+#: dialogs.c:1585
msgid "Lieutenant"
msgstr ""
-#: dialogs.c:1584
+#: dialogs.c:1586
msgid "General"
msgstr ""
-#: dialogs.c:1585
+#: dialogs.c:1587
msgid "Warlord"
msgstr ""
-#: dialogs.c:1587 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1589 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Knight"
msgstr ""
-#: dialogs.c:1588 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1590 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Bishop"
msgstr ""
-#: dialogs.c:1589 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1591 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Rook"
msgstr ""
-#: dialogs.c:1593 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1595 dialogs.c:1974 dialogs.c:1978
msgid "Archbishop"
msgstr ""
-#: dialogs.c:1594 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1596 dialogs.c:1974 dialogs.c:1978
msgid "Chancellor"
msgstr ""
-#: dialogs.c:1596 dialogs.c:1971 dialogs.c:1975 dialogs.c:1993
+#: dialogs.c:1598 dialogs.c:1973 dialogs.c:1977 dialogs.c:1995
msgid "Queen"
msgstr ""
-#: dialogs.c:1600
+#: dialogs.c:1602
msgid "Defer"
msgstr ""
-#: dialogs.c:1601 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1603 dialogs.c:1974 dialogs.c:1978
msgid "Promote"
msgstr ""
-#: dialogs.c:1616
+#: dialogs.c:1618
msgid "Chat partner:"
msgstr ""
-#: dialogs.c:1701
+#: dialogs.c:1703
msgid "Chat box"
msgstr ""
-#: dialogs.c:1742
+#: dialogs.c:1744
msgid "factory"
msgstr ""
-#: dialogs.c:1743
+#: dialogs.c:1745
msgid "up"
msgstr ""
-#: dialogs.c:1744
+#: dialogs.c:1746
msgid "down"
msgstr ""
-#: dialogs.c:1762
+#: dialogs.c:1764
msgid "No tag selected"
msgstr ""
-#: dialogs.c:1793
+#: dialogs.c:1795
msgid "Game-list options"
msgstr ""
-#: dialogs.c:1869 dialogs.c:1883
+#: dialogs.c:1871 dialogs.c:1885
msgid "Error"
msgstr ""
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Fatal Error"
msgstr ""
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Exiting"
msgstr ""
-#: dialogs.c:1917
+#: dialogs.c:1919
msgid "Information"
msgstr ""
-#: dialogs.c:1924
+#: dialogs.c:1926
msgid "Note"
msgstr ""
-#: dialogs.c:1970 dialogs.c:2245 dialogs.c:2248
+#: dialogs.c:1972 dialogs.c:2252 dialogs.c:2255
msgid "White"
msgstr ""
-#: dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Pawn"
msgstr ""
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Elephant"
msgstr ""
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Cannon"
msgstr ""
-#: dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1974 dialogs.c:1978
msgid "Demote"
msgstr ""
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Empty square"
msgstr ""
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Clear board"
msgstr ""
-#: dialogs.c:1974 dialogs.c:2257 dialogs.c:2260
+#: dialogs.c:1976 dialogs.c:2264 dialogs.c:2267
msgid "Black"
msgstr ""
-#: dialogs.c:2073 menus.c:787
+#: dialogs.c:2075 menus.c:787
msgid "File"
msgstr ""
-#: dialogs.c:2074 menus.c:788
+#: dialogs.c:2076 menus.c:788
msgid "Edit"
msgstr ""
-#: dialogs.c:2075 menus.c:789
+#: dialogs.c:2077 menus.c:789
msgid "View"
msgstr ""
-#: dialogs.c:2076 menus.c:790
+#: dialogs.c:2078 menus.c:790
msgid "Mode"
msgstr ""
-#: dialogs.c:2077 menus.c:791
+#: dialogs.c:2079 menus.c:791
msgid "Action"
msgstr ""
-#: dialogs.c:2078 menus.c:792
+#: dialogs.c:2080 menus.c:792
msgid "Engine"
msgstr ""
-#: dialogs.c:2079 menus.c:793
+#: dialogs.c:2081 menus.c:793
msgid "Options"
msgstr ""
-#: dialogs.c:2080 menus.c:794
+#: dialogs.c:2082 menus.c:794
msgid "Help"
msgstr ""
-#: dialogs.c:2090
+#: dialogs.c:2092
msgid "<<"
msgstr ""
-#: dialogs.c:2091
+#: dialogs.c:2093
msgid "<"
msgstr ""
-#: dialogs.c:2093
+#: dialogs.c:2095
msgid ">"
msgstr ""
-#: dialogs.c:2094
+#: dialogs.c:2096
msgid ">>"
msgstr ""
-#: dialogs.c:2364
+#: dialogs.c:2371
msgid "Directories:"
msgstr ""
-#: dialogs.c:2365
+#: dialogs.c:2372
msgid "Files:"
msgstr ""
-#: dialogs.c:2366
+#: dialogs.c:2373
msgid "by name"
msgstr ""
-#: dialogs.c:2367
+#: dialogs.c:2374
msgid "by type"
msgstr ""
-#: dialogs.c:2370
+#: dialogs.c:2377
msgid "Filename:"
msgstr ""
-#: dialogs.c:2371
+#: dialogs.c:2378
msgid "New directory"
msgstr ""
-#: dialogs.c:2372
+#: dialogs.c:2379
msgid "File type:"
msgstr ""
-#: dialogs.c:2447
+#: dialogs.c:2454
msgid "Contents of"
msgstr ""
-#: dialogs.c:2473
+#: dialogs.c:2480
msgid " next page"
msgstr ""
-#: dialogs.c:2495
+#: dialogs.c:2502
msgid "FIRST TYPE DIRECTORY NAME HERE"
msgstr ""
-#: dialogs.c:2496
+#: dialogs.c:2503
msgid "TRY ANOTHER NAME"
msgstr ""
msgstr ""
"Project-Id-Version: GNU xboard master-20110507\n"
"Report-Msgid-Bugs-To: bug-xboard@gnu.org\n"
-"POT-Creation-Date: 2013-08-28 21:49-0700\n"
+"POT-Creation-Date: 2013-08-28 22:03-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: args.h:820
+#: args.h:821
#, c-format
msgid "%s in settings file\n"
msgstr ""
-#: args.h:830
+#: args.h:831
#, c-format
msgid "Bad integer value %s"
msgstr ""
-#: args.h:923 args.h:1164
+#: args.h:924 args.h:1165
#, c-format
msgid "Unrecognized argument %s"
msgstr ""
-#: args.h:954
+#: args.h:955
#, c-format
msgid "No value provided for argument %s"
msgstr ""
-#: args.h:1014
+#: args.h:1015
#, c-format
msgid "Incomplete \\ escape in value for %s"
msgstr ""
-#: args.h:1119
+#: args.h:1120
#, c-format
msgid "Failed to open indirection file %s"
msgstr ""
-#: args.h:1136
+#: args.h:1137
#, c-format
msgid "Unrecognized boolean argument value %s"
msgstr ""
#. TRANSLATORS: "first" is the first of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:744
+#: backend.c:753
msgid "first"
msgstr ""
#. TRANSLATORS: "second" is the second of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:747
+#: backend.c:756
msgid "second"
msgstr ""
-#: backend.c:827
+#: backend.c:837
#, c-format
msgid "protocol version %d not supported"
msgstr "协议版本 %d 不被支持"
-#: backend.c:933
+#: backend.c:943
msgid "You did not specify the engine executable"
msgstr ""
-#: backend.c:989
+#: backend.c:999
#, c-format
msgid "bad timeControl option %s"
msgstr "非法的\"timeControl\"(时间控制)选项 %s"
-#: backend.c:1004
+#: backend.c:1014
#, c-format
msgid "bad searchTime option %s"
msgstr "非法的\"searchTime\"(搜索时间)选项 %s"
-#: backend.c:1110
+#: backend.c:1120
#, c-format
msgid "Variant %s supported only in ICS mode"
msgstr "变体 %s 只在ICS模式下支持"
-#: backend.c:1128
+#: backend.c:1138
#, c-format
msgid "Unknown variant name %s"
msgstr "未知的变体名 %s"
-#: backend.c:1375
+#: backend.c:1386
msgid "Starting chess program"
msgstr "启动国际象棋程序"
-#: backend.c:1398
+#: backend.c:1409
msgid "Bad game file"
msgstr "棋局文件错误"
-#: backend.c:1405
+#: backend.c:1416
msgid "Bad position file"
msgstr "局面文件错误"
-#: backend.c:1419
+#: backend.c:1430
msgid "Pick new game"
msgstr ""
-#: backend.c:1488
+#: backend.c:1499
msgid ""
"You restarted an already completed tourney\n"
"One more cycle will now be added to it\n"
"Games commence in 10 sec"
msgstr ""
-#: backend.c:1495
+#: backend.c:1506
#, c-format
msgid "All games in tourney '%s' are already played or playing"
msgstr ""
-#: backend.c:1502
+#: backend.c:1513
msgid "Can't have a match with no chess programs"
msgstr "没有象棋程序时无法进行比赛"
-#: backend.c:1539
+#: backend.c:1550
#, c-format
msgid "Could not open comm port %s"
msgstr "无法打开通讯端口 %s"
-#: backend.c:1542
+#: backend.c:1553
#, c-format
msgid "Could not connect to host %s, port %s"
msgstr "无法连接主机 %s 端口 %s"
-#: backend.c:1598
+#: backend.c:1609
#, c-format
msgid "Unknown initialMode %s"
msgstr "未知的\"initialMode\"(初始模式)选项 %s"
-#: backend.c:1624
+#: backend.c:1635
msgid "AnalyzeFile mode requires a game file"
msgstr "\"AnalyzeFile\"(分析文件)模式必须指定一个棋局文件"
-#: backend.c:1651
+#: backend.c:1662
msgid "Analysis mode requires a chess engine"
msgstr "\"Analysis\"(分析)模式必须启动国际象棋引擎"
-#: backend.c:1655
+#: backend.c:1666
msgid "Analysis mode does not work with ICS mode"
msgstr "\"Analysis\"(分析)模式无法在ICS模式下工作"
-#: backend.c:1666
+#: backend.c:1677
msgid "MachineWhite mode requires a chess engine"
msgstr "\"MachineWhite\"(电脑执白)模式必须启动国际象棋引擎"
-#: backend.c:1671
+#: backend.c:1682
msgid "MachineWhite mode does not work with ICS mode"
msgstr "\"MachineWhite\"(电脑执白)模式无法在ICS模式下运行"
-#: backend.c:1678
+#: backend.c:1689
msgid "MachineBlack mode requires a chess engine"
msgstr "\"MachineBlack\"(电脑执黑)模式必须启动国际象棋引擎"
-#: backend.c:1683
+#: backend.c:1694
msgid "MachineBlack mode does not work with ICS mode"
msgstr "\"MachineBlack\"(电脑执黑)模式无法在ICS模式下运行"
-#: backend.c:1690
+#: backend.c:1701
msgid "TwoMachines mode requires a chess engine"
msgstr "\"TwoMachines\"(分析)模式必须启动国际象棋引擎"
-#: backend.c:1695
+#: backend.c:1706
msgid "TwoMachines mode does not work with ICS mode"
msgstr "\"TwoMachines\"(电脑对弈)模式无法在ICS模式下运行"
-#: backend.c:1706
+#: backend.c:1717
msgid "Training mode requires a game file"
msgstr "\"Training\"(训练)模式必须指定一个棋局文件"
-#: backend.c:1869 backend.c:1924 backend.c:1947 backend.c:2346
+#: backend.c:1880 backend.c:1935 backend.c:1958 backend.c:2357
msgid "Error writing to ICS"
msgstr "发送信息给ICS时出错"
-#: backend.c:1884
+#: backend.c:1895
msgid "Error reading from keyboard"
msgstr "读取键盘时出错"
-#: backend.c:1887
+#: backend.c:1898
msgid "Got end of file from keyboard"
msgstr "读取键盘时遇到文件尾"
-#: backend.c:2192
+#: backend.c:2203
#, c-format
msgid "Unknown wild type %d"
msgstr ""
-#: backend.c:2263 usystem.c:329
+#: backend.c:2274 usystem.c:329
msgid "Error writing to display"
msgstr "发送信息给显示器时出错"
-#: backend.c:3019
+#: backend.c:3030
#, c-format
msgid "your opponent kibitzes: %s"
msgstr ""
-#: backend.c:3548
+#: backend.c:3559
msgid "Error gathering move list: two headers"
msgstr "读取着法时出错,出现两个开头"
-#: backend.c:3595
+#: backend.c:3606
msgid "Error gathering move list: nested"
msgstr "读取着法时出错,嵌套错误"
-#: backend.c:3699 backend.c:4117 backend.c:4321 backend.c:4880 backend.c:4884
-#: backend.c:6900 backend.c:12082 backend.c:13797 backend.c:13874
-#: backend.c:13920 backend.c:13926 backend.c:13931 backend.c:13936
+#: backend.c:3710 backend.c:4128 backend.c:4332 backend.c:4891 backend.c:4895
+#: backend.c:6919 backend.c:12213 backend.c:13928 backend.c:14005
+#: backend.c:14051 backend.c:14057 backend.c:14062 backend.c:14067
msgid "vs."
msgstr ""
-#: backend.c:3827
+#: backend.c:3838
msgid "Illegal move (rejected by ICS)"
msgstr ""
-#: backend.c:4165
+#: backend.c:4176
msgid "Connection closed by ICS"
msgstr "连接被ICS关闭"
-#: backend.c:4167
+#: backend.c:4178
msgid "Error reading from ICS"
msgstr "读取ICS信息时出错"
-#: backend.c:4244
+#: backend.c:4255
#, c-format
msgid ""
"Failed to parse board string:\n"
"\"%s\""
msgstr ""
-#: backend.c:4253 backend.c:9755
+#: backend.c:4264 backend.c:9885
msgid "Game too long; increase MAX_MOVES and recompile"
msgstr "棋局太长,需要增加\"MAX_MOVES\"并重新编译"
-#: backend.c:4372
+#: backend.c:4383
msgid "Error gathering move list: extra board"
msgstr "读取着法时出错,超出棋盘"
-#: backend.c:4804 backend.c:4826
+#: backend.c:4815 backend.c:4837
#, c-format
msgid "Couldn't parse move \"%s\" from ICS"
msgstr "无法解析从ICS读到的着法\"%s\""
-#: backend.c:5063
+#: backend.c:5074
#, c-format
msgid "say Internal error; bad moveType %d (%d,%d-%d,%d)"
msgstr "say 内部错误,非法的\"moveType\"(着法类型) %d (%d,%d-%d,%d)"
-#: backend.c:5133
+#: backend.c:5145
msgid "You cannot do this while you are playing or observing"
msgstr ""
-#: backend.c:6029
+#: backend.c:6046
msgid "Recompile to support this BOARD_RANKS or BOARD_FILES!"
msgstr ""
-#: backend.c:6491
+#: backend.c:6510
msgid "You are playing Black"
msgstr "你在执黑"
-#: backend.c:6500 backend.c:6527
+#: backend.c:6519 backend.c:6546
msgid "You are playing White"
msgstr "你在执白"
-#: backend.c:6509 backend.c:6535 backend.c:6655 backend.c:6680 backend.c:6696
-#: backend.c:14573
+#: backend.c:6528 backend.c:6554 backend.c:6674 backend.c:6699 backend.c:6715
+#: backend.c:14705
msgid "It is White's turn"
msgstr "轮到白方走棋"
-#: backend.c:6513 backend.c:6539 backend.c:6663 backend.c:6686 backend.c:6717
-#: backend.c:14565
+#: backend.c:6532 backend.c:6558 backend.c:6682 backend.c:6705 backend.c:6736
+#: backend.c:14697
msgid "It is Black's turn"
msgstr "轮到黑方走棋"
-#: backend.c:6552
+#: backend.c:6571
msgid "Displayed position is not current"
msgstr "显示的局面不是当前局面"
-#: backend.c:6790
+#: backend.c:6809
msgid "Illegal move"
msgstr "着法错误"
-#: backend.c:6857
+#: backend.c:6876
msgid "End of game"
msgstr "棋局结束"
-#: backend.c:6860
+#: backend.c:6879
msgid "Incorrect move"
msgstr "着法错误"
-#: backend.c:7169 backend.c:7296
+#: backend.c:7257 backend.c:7392
msgid "Pull pawn backwards to under-promote"
msgstr ""
-#: backend.c:7527
+#: backend.c:7364
+msgid "only marked squares are legal"
+msgstr ""
+
+#: backend.c:7624
msgid "Swiss tourney finished"
msgstr ""
-#: backend.c:8102
+#: backend.c:8199
msgid "Invalid pairing from pairing engine"
msgstr ""
-#: backend.c:8235
+#: backend.c:8332
#, c-format
msgid "Illegal move \"%s\" from %s machine"
msgstr "从%s机器读到不合理着法\"%s\""
-#: backend.c:8456
+#: backend.c:8564
msgid "Bad FEN received from engine"
msgstr ""
-#: backend.c:8600 backend.c:13662 backend.c:13727
+#: backend.c:8730 backend.c:13793 backend.c:13858
#, c-format
msgid "%s does not support analysis"
msgstr "%s 不支持分析功能"
-#: backend.c:8666
+#: backend.c:8796
#, c-format
msgid "Illegal move \"%s\" (rejected by %s chess program)"
msgstr "不合理着法\"%s\" (%s国际象棋程序拒绝接受该着法)"
-#: backend.c:8693
+#: backend.c:8823
#, c-format
msgid "Failed to start %s chess program %s on %s: %s\n"
msgstr "无法启动%s国际象棋程序 %s(在主机 %s 上),%s\n"
-#: backend.c:8714
+#: backend.c:8844
#, c-format
msgid "Hint: %s"
msgstr "提示 %s"
-#: backend.c:8719
+#: backend.c:8849
#, c-format
msgid ""
"Illegal hint move \"%s\"\n"
"from %s chess program"
msgstr ""
-#: backend.c:8894
+#: backend.c:9024
msgid "Machine accepts your draw offer"
msgstr " *.*"
-#: backend.c:8897
+#: backend.c:9027
msgid ""
"Machine offers a draw\n"
"Select Action / Draw to agree"
msgstr ""
-#: backend.c:8976
+#: backend.c:9106
msgid "failed writing PV"
msgstr ""
-#: backend.c:9274
+#: backend.c:9404
#, c-format
msgid "Ambiguous move in ICS output: \"%s\""
msgstr "ICS输出不明确的着法\"%s\""
-#: backend.c:9284
+#: backend.c:9414
#, c-format
msgid "Illegal move in ICS output: \"%s\""
msgstr "ICS输出不明确的着法\"%s\""
-#: backend.c:9295
+#: backend.c:9425
msgid "Gap in move list"
msgstr "着法断开"
-#: backend.c:9916 dialogs.c:460
+#: backend.c:10046 dialogs.c:461
#, c-format
msgid "Variant %s not supported by %s"
msgstr "变体 %s 不被 %s 所支持"
-#: backend.c:10037
+#: backend.c:10167
#, c-format
msgid "Startup failure on '%s'"
msgstr "无法启动'%s'"
-#: backend.c:10068
+#: backend.c:10198
msgid "Waiting for first chess program"
msgstr "等待第一个国际象棋程序"
-#: backend.c:10073 backend.c:13945
+#: backend.c:10203 backend.c:14076
msgid "Waiting for second chess program"
msgstr "等待第二个国际象棋程序"
-#: backend.c:10122
+#: backend.c:10252
msgid "Could not write on tourney file"
msgstr ""
-#: backend.c:10196
+#: backend.c:10326
msgid ""
"You cannot replace an engine while it is engaged!\n"
"Terminate its game first."
msgstr ""
-#: backend.c:10210
+#: backend.c:10340
msgid "No engine with the name you gave is installed"
msgstr ""
-#: backend.c:10212
+#: backend.c:10342
msgid ""
"First change an engine by editing the participants list\n"
"of the Tournament Options dialog"
msgstr ""
-#: backend.c:10213
+#: backend.c:10343
msgid "You can only change one engine at the time"
msgstr ""
-#: backend.c:10228 backend.c:10375
+#: backend.c:10358 backend.c:10505
#, c-format
msgid "No engine %s is installed"
msgstr ""
-#: backend.c:10248
+#: backend.c:10378
msgid ""
"You must supply a tournament file,\n"
"for storing the tourney progress"
msgstr ""
-#: backend.c:10258
+#: backend.c:10388
msgid "Not enough participants"
msgstr ""
-#: backend.c:10459
+#: backend.c:10589
msgid "Bad tournament file"
msgstr ""
-#: backend.c:10471
+#: backend.c:10601
msgid "Waiting for other game(s)"
msgstr ""
-#: backend.c:10484
+#: backend.c:10614
msgid "No pairing engine specified"
msgstr ""
-#: backend.c:10961
+#: backend.c:11092
#, c-format
msgid "Match %s vs. %s: final score %d-%d-%d"
msgstr "比赛 %s vs. %s: 最终比分 %d-%d-%d"
-#: backend.c:11423 backend.c:11454
+#: backend.c:11554 backend.c:11585
#, c-format
msgid "Illegal move: %d.%s%s"
msgstr "不合理着法 %d.%s%s"
-#: backend.c:11443
+#: backend.c:11574
#, c-format
msgid "Ambiguous move: %d.%s%s"
msgstr "不明确的着法 %d.%s%s"
-#: backend.c:11496 backend.c:12505 backend.c:12698 backend.c:13059
+#: backend.c:11627 backend.c:12636 backend.c:12829 backend.c:13190
#, c-format
msgid "Can't open \"%s\""
msgstr "无法打开\"%s\""
-#: backend.c:11508 menus.c:116
+#: backend.c:11639 menus.c:116
msgid "Cannot build game list"
msgstr "无法建立棋局列表"
-#: backend.c:11593
+#: backend.c:11724
msgid "No more games in this message"
msgstr "这条信息不包含更多的棋局"
-#: backend.c:11633
+#: backend.c:11764
msgid "No game has been loaded yet"
msgstr "尚未有棋局载入"
-#: backend.c:11637 backend.c:12486 ngamelist.c:129
+#: backend.c:11768 backend.c:12617 ngamelist.c:129
msgid "Can't back up any further"
msgstr "无法再后退了"
-#: backend.c:12058
+#: backend.c:12189
msgid "Game number out of range"
msgstr "棋局数量超出范围"
-#: backend.c:12069
+#: backend.c:12200
msgid "Can't seek on game file"
msgstr "无法搜索棋局文件"
-#: backend.c:12127
+#: backend.c:12258
msgid "Game not found in file"
msgstr "文件中没有找到棋局"
-#: backend.c:12255 backend.c:12582
+#: backend.c:12386 backend.c:12713
msgid "Bad FEN position in file"
msgstr "文件中的FEN局面错误"
-#: backend.c:12407
+#: backend.c:12538
msgid "No moves in game"
msgstr "棋局中没有着法"
-#: backend.c:12482
+#: backend.c:12613
msgid "No position has been loaded yet"
msgstr "尚未有局面载入"
-#: backend.c:12543 backend.c:12554
+#: backend.c:12674 backend.c:12685
msgid "Can't seek on position file"
msgstr "无法搜索局面文件"
-#: backend.c:12561 backend.c:12573
+#: backend.c:12692 backend.c:12704
msgid "Position not found in file"
msgstr "文件中没有着到局面"
-#: backend.c:12613
+#: backend.c:12744
msgid "Black to play"
msgstr "轮到黑方走棋"
-#: backend.c:12616
+#: backend.c:12747
msgid "White to play"
msgstr "轮到白方走棋"
-#: backend.c:12703 backend.c:13064
+#: backend.c:12834 backend.c:13195
msgid "Waiting for access to save file"
msgstr ""
-#: backend.c:12705
+#: backend.c:12836
msgid "Saving game"
msgstr ""
-#: backend.c:12706
+#: backend.c:12837
msgid "Bad Seek"
msgstr ""
-#: backend.c:13066
+#: backend.c:13197
msgid "Saving position"
msgstr ""
-#: backend.c:13192
+#: backend.c:13323
msgid ""
"You have edited the game history.\n"
"Use Reload Same Game and make your move again."
msgstr ""
-#: backend.c:13197
+#: backend.c:13328
msgid ""
"You have entered too many moves.\n"
"Back up to the correct position and try again."
msgstr ""
-#: backend.c:13202
+#: backend.c:13333
msgid ""
"Displayed position is not current.\n"
"Step forward to the correct position and try again."
msgstr ""
-#: backend.c:13249
+#: backend.c:13380
msgid "You have not made a move yet"
msgstr "一步棋也没走过"
-#: backend.c:13270
+#: backend.c:13401
msgid ""
"The cmail message is not loaded.\n"
"Use Reload CMail Message and make your move again."
msgstr ""
-#: backend.c:13275
+#: backend.c:13406
msgid "No unfinished games"
msgstr "No unfinished games"
-#: backend.c:13281
+#: backend.c:13412
#, c-format
msgid ""
"You have already mailed a move.\n"
"on the command line."
msgstr ""
-#: backend.c:13296
+#: backend.c:13427
msgid "Failed to invoke cmail"
msgstr "Failed to invoke cmail"
-#: backend.c:13358
+#: backend.c:13489
#, c-format
msgid "Waiting for reply from opponent\n"
msgstr "Waiting for reply from opponent\n"
-#: backend.c:13380
+#: backend.c:13511
#, c-format
msgid "Still need to make move for game\n"
msgstr "Still need to make move for game\n"
-#: backend.c:13384
+#: backend.c:13515
#, c-format
msgid "Still need to make moves for both games\n"
msgstr "Still need to make moves for both games\n"
-#: backend.c:13388
+#: backend.c:13519
#, c-format
msgid "Still need to make moves for all %d games\n"
msgstr "Still need to make moves for all %d games\n"
-#: backend.c:13395
+#: backend.c:13526
#, c-format
msgid "Still need to make a move for game %s\n"
msgstr "Still need to make a move for game %s\n"
-#: backend.c:13401
+#: backend.c:13532
#, c-format
msgid "No unfinished games\n"
msgstr "No unfinished games\n"
-#: backend.c:13403
+#: backend.c:13534
#, c-format
msgid "Ready to send mail\n"
msgstr "Ready to send mail\n"
-#: backend.c:13408
+#: backend.c:13539
#, c-format
msgid "Still need to make moves for games %s\n"
msgstr "Still need to make moves for games %s\n"
-#: backend.c:13612
+#: backend.c:13743
msgid "Edit comment"
msgstr "编辑注释"
-#: backend.c:13614
+#: backend.c:13745
#, c-format
msgid "Edit comment on %d.%s%s"
msgstr "编辑注释 %d.%s%s"
-#: backend.c:13669
+#: backend.c:13800
#, c-format
msgid "You are not observing a game"
msgstr ""
-#: backend.c:13777
+#: backend.c:13908
msgid "It is not White's turn"
msgstr "没有轮到白方走棋"
-#: backend.c:13858
+#: backend.c:13989
msgid "It is not Black's turn"
msgstr "没有轮到黑方走棋"
-#: backend.c:13966
+#: backend.c:14097
#, c-format
msgid "Starting %s chess program"
msgstr ""
-#: backend.c:13994 backend.c:15108
+#: backend.c:14125 backend.c:15240
msgid ""
"Wait until your turn,\n"
"or select Move Now"
msgstr ""
-#: backend.c:14128
+#: backend.c:14259
msgid "Training mode off"
msgstr "训练模式已关闭"
-#: backend.c:14136
+#: backend.c:14267
msgid "Training mode on"
msgstr "训练模式已打开"
-#: backend.c:14139
+#: backend.c:14270
msgid "Already at end of game"
msgstr "棋局已经结束"
-#: backend.c:14219
+#: backend.c:14350
msgid "Warning: You are still playing a game"
msgstr "注意:你正在进行棋局"
-#: backend.c:14222
+#: backend.c:14353
msgid "Warning: You are still observing a game"
msgstr "注意:你正在旁观棋局"
-#: backend.c:14225
+#: backend.c:14356
msgid "Warning: You are still examining a game"
msgstr "注意:你正在研究棋局"
-#: backend.c:14292
+#: backend.c:14423
msgid "Click clock to clear board"
msgstr ""
-#: backend.c:14302
+#: backend.c:14433
msgid "Close ICS engine analyze..."
msgstr ""
-#: backend.c:14590
+#: backend.c:14722
msgid "That square is occupied"
msgstr "格子已放棋子"
-#: backend.c:14614 backend.c:14640
+#: backend.c:14746 backend.c:14772
msgid "There is no pending offer on this move"
msgstr "该着法没有待定的提议"
-#: backend.c:14676 backend.c:14687
+#: backend.c:14808 backend.c:14819
msgid "Your opponent is not out of time"
msgstr "对手没有超时"
-#: backend.c:14753
+#: backend.c:14885
msgid "You must make your move before offering a draw"
msgstr "必须走完棋才能提和"
-#: backend.c:15090
+#: backend.c:15222
msgid "You are not examining a game"
msgstr "没有分析棋局"
-#: backend.c:15094
+#: backend.c:15226
msgid "You can't revert while pausing"
msgstr "暂停时不能复原棋局"
-#: backend.c:15148 backend.c:15155
+#: backend.c:15280 backend.c:15287
msgid "It is your turn"
msgstr "轮到你走棋"
-#: backend.c:15206 backend.c:15213 backend.c:15266 backend.c:15273
+#: backend.c:15338 backend.c:15345 backend.c:15398 backend.c:15405
msgid "Wait until your turn"
msgstr "等待对手走棋"
-#: backend.c:15218
+#: backend.c:15350
msgid "No hint available"
msgstr "没有可用的提示"
-#: backend.c:15234 ngamelist.c:355
+#: backend.c:15366 ngamelist.c:355
#, fuzzy
msgid "Game list not loaded or empty"
msgstr "尚未有棋局载入"
-#: backend.c:15241
+#: backend.c:15373
msgid "Book file exists! Try again for overwrite."
msgstr ""
-#: backend.c:15719
+#: backend.c:15851
#, c-format
msgid "Error writing to %s chess program"
msgstr "发送信息到%s国际象棋程序时出错"
-#: backend.c:15722 backend.c:15753
+#: backend.c:15854 backend.c:15885
#, c-format
msgid "%s program exits in draw position (%s)"
msgstr ""
-#: backend.c:15748
+#: backend.c:15880
#, c-format
msgid "Error: %s chess program (%s) exited unexpectedly"
msgstr "错误:%s国际象棋程序(%s)突然退出了"
-#: backend.c:15766
+#: backend.c:15898
#, c-format
msgid "Error reading from %s chess program (%s)"
msgstr "从%s国际象棋程序(%s)接收信息时出错"
-#: backend.c:16168
+#: backend.c:16301
#, c-format
msgid "%s engine has too many options\n"
msgstr ""
-#: backend.c:16324
+#: backend.c:16457
msgid "Displayed move is not current"
msgstr "显示的着法不是当前着法"
-#: backend.c:16333
+#: backend.c:16466
msgid "Could not parse move"
msgstr "无法解析着法"
-#: backend.c:16458 backend.c:16480
+#: backend.c:16591 backend.c:16613
msgid "Both flags fell"
msgstr "双方都超时了"
-#: backend.c:16460
+#: backend.c:16593
msgid "White's flag fell"
msgstr "白方超时"
-#: backend.c:16482
+#: backend.c:16615
msgid "Black's flag fell"
msgstr "黑方超时"
-#: backend.c:16613
+#: backend.c:16746
msgid "Clock adjustment not allowed in auto-flag mode"
msgstr ""
-#: backend.c:17448
+#: backend.c:17585
msgid "Bad FEN position in clipboard"
msgstr "剪贴板的FEN局面错误"
msgid "First you must specify an existing tourney file to clone"
msgstr ""
-#: dialogs.c:332 dialogs.c:1320
+#: dialogs.c:332 dialogs.c:1322
msgid "# no engines are installed"
msgstr ""
msgid "Play Move(s) of Clicked PV (Analysis)"
msgstr ""
-#: dialogs.c:379 dialogs.c:514 menus.c:728
+#: dialogs.c:379 dialogs.c:515 menus.c:728
msgid "Ponder Next Move"
msgstr "同步思考(N)"
msgstr ""
#: dialogs.c:429
-msgid "fairy"
+msgid "ASEAN"
msgstr ""
#: dialogs.c:430
msgstr ""
#: dialogs.c:447
-msgid " "
+msgid "fairy"
msgstr ""
-#: dialogs.c:448
+#: dialogs.c:449
msgid "courier (12x8)"
msgstr ""
-#: dialogs.c:465
+#: dialogs.c:466
#, c-format
msgid "Warning: second engine (%s) does not support this!"
msgstr "警告: 第二个引擎(%s) 不支持此!"
-#: dialogs.c:488
+#: dialogs.c:489
#, c-format
msgid "Only bughouse is not available in viewer mode"
msgstr ""
-#: dialogs.c:489
+#: dialogs.c:490
#, c-format
msgid ""
"All variants not supported by first engine\n"
"(currently %s) are disabled"
msgstr ""
-#: dialogs.c:490
+#: dialogs.c:491
msgid "New Variant"
msgstr "变种"
-#: dialogs.c:515
+#: dialogs.c:516
msgid "Maximum Number of CPUs per Engine:"
msgstr "最大CPU数"
-#: dialogs.c:516
+#: dialogs.c:517
msgid "Polygot Directory:"
msgstr ""
-#: dialogs.c:517
+#: dialogs.c:518
msgid "Hash-Table Size (MB):"
msgstr "Hash 大小(MB)"
-#: dialogs.c:518
+#: dialogs.c:519
msgid "Nalimov EGTB Path:"
msgstr "EGTB 路径"
-#: dialogs.c:519
+#: dialogs.c:520
msgid "EGTB Cache Size (MB):"
msgstr "EGTB 大小(MB)"
-#: dialogs.c:520
+#: dialogs.c:521
msgid "Use GUI Book"
msgstr ""
-#: dialogs.c:521
+#: dialogs.c:522
msgid "Opening-Book Filename:"
msgstr ""
-#: dialogs.c:522
+#: dialogs.c:523
msgid "Book Depth (moves):"
msgstr "库着法深度"
-#: dialogs.c:523
+#: dialogs.c:524
msgid "Book Variety (0) vs. Strength (100):"
msgstr "库变例"
-#: dialogs.c:524
+#: dialogs.c:525
msgid "Engine #1 Has Own Book"
msgstr "引擎1有自用库"
-#: dialogs.c:525
+#: dialogs.c:526
msgid "Engine #2 Has Own Book "
msgstr ""
-#: dialogs.c:534
+#: dialogs.c:535
msgid "Common Engine Settings"
msgstr "通用引擎设置"
-#: dialogs.c:540
+#: dialogs.c:541
msgid "Detect all Mates"
msgstr "检测将杀(M)"
-#: dialogs.c:541
+#: dialogs.c:542
msgid "Verify Engine Result Claims"
msgstr "验证引擎声明(V)"
-#: dialogs.c:542
+#: dialogs.c:543
msgid "Draw if Insufficient Mating Material"
msgstr "子力不足时判和(I)"
-#: dialogs.c:543
+#: dialogs.c:544
msgid "Adjudicate Trivial Draws (3-Move Delay)"
msgstr "一般和棋判决(T)"
-#: dialogs.c:544
+#: dialogs.c:545
msgid "N-Move Rule:"
msgstr ""
-#: dialogs.c:545
+#: dialogs.c:546
msgid "N-fold Repeats:"
msgstr ""
-#: dialogs.c:546
+#: dialogs.c:547
msgid "Draw after N Moves Total:"
msgstr "几着后判决"
-#: dialogs.c:547
+#: dialogs.c:548
msgid "Win / Loss Threshold:"
msgstr "输/赢判决阈值"
-#: dialogs.c:548
+#: dialogs.c:549
msgid "Negate Score of Engine #1"
msgstr "引擎 #1 是绝对分数"
-#: dialogs.c:549
+#: dialogs.c:550
msgid "Negate Score of Engine #2"
msgstr "引擎 #2 是绝对分数"
-#: dialogs.c:556
+#: dialogs.c:557
#, fuzzy
msgid "Adjudicate non-ICS Games"
msgstr "裁决白赢 (W)"
-#: dialogs.c:569
+#: dialogs.c:570
msgid "Auto-Kibitz"
msgstr "自动\"kibitz\"(A)"
-#: dialogs.c:570
+#: dialogs.c:571
msgid "Auto-Comment"
msgstr "自动注释(A)"
-#: dialogs.c:571
+#: dialogs.c:572
msgid "Auto-Observe"
msgstr "自动旁观(O)"
-#: dialogs.c:572
+#: dialogs.c:573
msgid "Auto-Raise Board"
msgstr "自动改变棋盘大小(R)"
-#: dialogs.c:573
+#: dialogs.c:574
msgid "Auto-Create Logon Script"
msgstr ""
-#: dialogs.c:574
+#: dialogs.c:575
msgid "Background Observe while Playing"
msgstr "后台观察(v)"
-#: dialogs.c:575
+#: dialogs.c:576
msgid "Dual Board for Background-Observed Game"
msgstr "双棋盘(D)"
-#: dialogs.c:576
+#: dialogs.c:577
msgid "Get Move List"
msgstr "获取着法列表(G)"
-#: dialogs.c:577
+#: dialogs.c:578
msgid "Quiet Play"
msgstr "落子无声(Q)"
-#: dialogs.c:578
+#: dialogs.c:579
msgid "Seek Graph"
msgstr "可选对手图表(k)"
-#: dialogs.c:579
+#: dialogs.c:580
msgid "Auto-Refresh Seek Graph"
msgstr "自动刷新图表(R)"
-#: dialogs.c:580
+#: dialogs.c:581
msgid "Auto-InputBox PopUp"
msgstr ""
-#: dialogs.c:581
+#: dialogs.c:582
+msgid "Quit after game"
+msgstr ""
+
+#: dialogs.c:583
msgid "Premove"
msgstr "预先走棋(P)"
-#: dialogs.c:582
+#: dialogs.c:584
msgid "Premove for White"
msgstr ""
-#: dialogs.c:583
+#: dialogs.c:585
msgid "First White Move:"
msgstr "白方先行(W)"
-#: dialogs.c:584
+#: dialogs.c:586
msgid "Premove for Black"
msgstr ""
-#: dialogs.c:585
+#: dialogs.c:587
msgid "First Black Move:"
msgstr "黑方先行(B)"
-#: dialogs.c:587
+#: dialogs.c:589
msgid "Alarm"
msgstr "提示"
-#: dialogs.c:588
+#: dialogs.c:590
msgid "Alarm Time (msec):"
msgstr ""
-#: dialogs.c:590
+#: dialogs.c:592
msgid "Colorize Messages"
msgstr ""
-#: dialogs.c:591
+#: dialogs.c:593
msgid "Shout Text Colors:"
msgstr ""
-#: dialogs.c:592
+#: dialogs.c:594
msgid "S-Shout Text Colors:"
msgstr ""
-#: dialogs.c:593
+#: dialogs.c:595
msgid "Channel #1 Text Colors:"
msgstr ""
-#: dialogs.c:594
+#: dialogs.c:596
msgid "Other Channel Text Colors:"
msgstr ""
-#: dialogs.c:595
+#: dialogs.c:597
msgid "Kibitz Text Colors:"
msgstr ""
-#: dialogs.c:596
+#: dialogs.c:598
msgid "Tell Text Colors:"
msgstr ""
-#: dialogs.c:597
+#: dialogs.c:599
msgid "Challenge Text Colors:"
msgstr ""
-#: dialogs.c:598
+#: dialogs.c:600
msgid "Request Text Colors:"
msgstr ""
-#: dialogs.c:599
+#: dialogs.c:601
msgid "Seek Text Colors:"
msgstr ""
-#: dialogs.c:606
+#: dialogs.c:608
msgid "ICS Options"
msgstr "ICS设置"
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Exact position match"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Shown position is subset"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Same material with exactly same Pawn chain"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Same material"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material range (top board half optional)"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material difference (optional stuff balanced)"
msgstr ""
-#: dialogs.c:624
+#: dialogs.c:626
msgid "Auto-Display Tags"
msgstr ""
-#: dialogs.c:625
+#: dialogs.c:627
msgid "Auto-Display Comment"
msgstr ""
-#: dialogs.c:626
+#: dialogs.c:628
msgid ""
"Auto-Play speed of loaded games\n"
"(0 = instant, -1 = off):"
msgstr ""
-#: dialogs.c:627
+#: dialogs.c:629
msgid "Seconds per Move:"
msgstr ""
-#: dialogs.c:628
+#: dialogs.c:630
msgid ""
"\n"
"options to use in game-viewer mode:"
msgstr ""
-#: dialogs.c:630
+#: dialogs.c:632
msgid ""
"\n"
"Thresholds for position filtering in game list:"
msgstr ""
-#: dialogs.c:631
+#: dialogs.c:633
msgid "Elo of strongest player at least:"
msgstr ""
-#: dialogs.c:632
+#: dialogs.c:634
msgid "Elo of weakest player at least:"
msgstr ""
-#: dialogs.c:633
+#: dialogs.c:635
#, fuzzy
msgid "No games before year:"
msgstr "尚未有棋局载入"
-#: dialogs.c:634
+#: dialogs.c:636
msgid "Minimum nr consecutive positions:"
msgstr ""
-#: dialogs.c:635
+#: dialogs.c:637
msgid "Search mode:"
msgstr ""
-#: dialogs.c:636
+#: dialogs.c:638
msgid "Also match reversed colors"
msgstr ""
-#: dialogs.c:637
+#: dialogs.c:639
msgid "Also match left-right flipped position"
msgstr ""
-#: dialogs.c:645
+#: dialogs.c:647
msgid "Load Game Options"
msgstr "载入棋局选项"
-#: dialogs.c:657
+#: dialogs.c:659
msgid "Auto-Save Games"
msgstr ""
-#: dialogs.c:658
+#: dialogs.c:660
msgid "Own Games Only"
msgstr ""
-#: dialogs.c:659
+#: dialogs.c:661
msgid "Save Games on File:"
msgstr ""
-#: dialogs.c:660
+#: dialogs.c:662
msgid "Save Final Positions on File:"
msgstr ""
-#: dialogs.c:661
+#: dialogs.c:663
msgid "PGN Event Header:"
msgstr ""
-#: dialogs.c:662
+#: dialogs.c:664
msgid "Old Save Style (as opposed to PGN)"
msgstr ""
-#: dialogs.c:663
+#: dialogs.c:665
msgid "Include Number Tag in tourney PGN"
msgstr ""
-#: dialogs.c:664
+#: dialogs.c:666
msgid "Save Score/Depth Info in PGN"
msgstr ""
-#: dialogs.c:665
+#: dialogs.c:667
msgid "Save Out-of-Book Info in PGN "
msgstr ""
-#: dialogs.c:672
+#: dialogs.c:674
msgid "Save Game Options"
msgstr "保存棋局选项"
-#: dialogs.c:681
+#: dialogs.c:683
msgid "No Sound"
msgstr "无声"
-#: dialogs.c:682
+#: dialogs.c:684
msgid "Default Beep"
msgstr "默认声音"
-#: dialogs.c:683
+#: dialogs.c:685
msgid "Above WAV File"
msgstr ""
-#: dialogs.c:684
+#: dialogs.c:686
msgid "Car Horn"
msgstr ""
-#: dialogs.c:685
+#: dialogs.c:687
msgid "Cymbal"
msgstr ""
-#: dialogs.c:686
+#: dialogs.c:688
msgid "Ding"
msgstr ""
-#: dialogs.c:687
+#: dialogs.c:689
msgid "Gong"
msgstr ""
-#: dialogs.c:688
+#: dialogs.c:690
msgid "Laser"
msgstr ""
-#: dialogs.c:689
+#: dialogs.c:691
msgid "Penalty"
msgstr ""
-#: dialogs.c:690
+#: dialogs.c:692
msgid "Phone"
msgstr ""
-#: dialogs.c:691
+#: dialogs.c:693
msgid "Pop"
msgstr ""
-#: dialogs.c:692
+#: dialogs.c:694
msgid "Slap"
msgstr ""
-#: dialogs.c:693
+#: dialogs.c:695
msgid "Wood Thunk"
msgstr ""
-#: dialogs.c:695
+#: dialogs.c:697
msgid "User File"
msgstr ""
-#: dialogs.c:717
+#: dialogs.c:719
msgid "User WAV File:"
msgstr ""
-#: dialogs.c:718
+#: dialogs.c:720
msgid "Sound Program:"
msgstr ""
-#: dialogs.c:719
+#: dialogs.c:721
msgid "Try-Out Sound:"
msgstr ""
-#: dialogs.c:720
+#: dialogs.c:722
msgid "Play"
msgstr "播放"
-#: dialogs.c:721
+#: dialogs.c:723
msgid "Move:"
msgstr ""
-#: dialogs.c:722
+#: dialogs.c:724
msgid "Win:"
msgstr ""
-#: dialogs.c:723
+#: dialogs.c:725
msgid "Lose:"
msgstr ""
-#: dialogs.c:724
+#: dialogs.c:726
msgid "Draw:"
msgstr ""
-#: dialogs.c:725
+#: dialogs.c:727
msgid "Unfinished:"
msgstr ""
-#: dialogs.c:726
+#: dialogs.c:728
msgid "Alarm:"
msgstr ""
-#: dialogs.c:727
+#: dialogs.c:729
msgid "Challenge:"
msgstr ""
-#: dialogs.c:729
+#: dialogs.c:731
msgid "Sounds Directory:"
msgstr ""
-#: dialogs.c:730
+#: dialogs.c:732
msgid "Shout:"
msgstr ""
-#: dialogs.c:731
+#: dialogs.c:733
msgid "S-Shout:"
msgstr ""
-#: dialogs.c:732
+#: dialogs.c:734
msgid "Channel:"
msgstr ""
-#: dialogs.c:733
+#: dialogs.c:735
msgid "Channel 1:"
msgstr ""
-#: dialogs.c:734
+#: dialogs.c:736
msgid "Tell:"
msgstr ""
-#: dialogs.c:735
+#: dialogs.c:737
msgid "Kibitz:"
msgstr ""
-#: dialogs.c:736
+#: dialogs.c:738
msgid "Request:"
msgstr ""
-#: dialogs.c:737
+#: dialogs.c:739
msgid "Seek:"
msgstr ""
-#: dialogs.c:753
+#: dialogs.c:755
msgid "Sound Options"
msgstr "声音"
-#: dialogs.c:774
+#: dialogs.c:776
msgid "White Piece Color:"
msgstr ""
#. TRANSLATORS: R = single letter for the color red
-#: dialogs.c:777 dialogs.c:786 dialogs.c:792 dialogs.c:798 dialogs.c:804
-#: dialogs.c:810
+#: dialogs.c:779 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
+#: dialogs.c:812
msgid "R"
msgstr ""
#. TRANSLATORS: G = single letter for the color green
-#: dialogs.c:779 dialogs.c:787 dialogs.c:793 dialogs.c:799 dialogs.c:805
-#: dialogs.c:811
+#: dialogs.c:781 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
+#: dialogs.c:813
msgid "G"
msgstr ""
#. TRANSLATORS: B = single letter for the color blue
-#: dialogs.c:781 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
-#: dialogs.c:812
+#: dialogs.c:783 dialogs.c:790 dialogs.c:796 dialogs.c:802 dialogs.c:808
+#: dialogs.c:814
msgid "B"
msgstr ""
#. TRANSLATORS: D = single letter to make a color darker
-#: dialogs.c:783 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
-#: dialogs.c:813
+#: dialogs.c:785 dialogs.c:791 dialogs.c:797 dialogs.c:803 dialogs.c:809
+#: dialogs.c:815
msgid "D"
msgstr ""
-#: dialogs.c:784
+#: dialogs.c:786
msgid "Black Piece Color:"
msgstr "黑子"
-#: dialogs.c:790
+#: dialogs.c:792
msgid "Light Square Color:"
msgstr "白格"
-#: dialogs.c:796
+#: dialogs.c:798
msgid "Dark Square Color:"
msgstr "黑格"
-#: dialogs.c:802
+#: dialogs.c:804
msgid "Highlight Color:"
msgstr "格子标记"
-#: dialogs.c:808
+#: dialogs.c:810
msgid "Premove Highlight Color:"
msgstr "预先走棋标记"
-#: dialogs.c:814
+#: dialogs.c:816
msgid "Flip Pieces Shogi Style (Colored buttons restore default)"
msgstr ""
-#: dialogs.c:816
+#: dialogs.c:818
msgid "Mono Mode"
msgstr "黑白"
-#: dialogs.c:817
+#: dialogs.c:819
msgid "Line Gap ( -1 = default for board size):"
msgstr ""
-#: dialogs.c:818
+#: dialogs.c:820
msgid "Use Board Textures"
msgstr ""
-#: dialogs.c:819
+#: dialogs.c:821
msgid "Light-Squares Texture File:"
msgstr ""
-#: dialogs.c:820
+#: dialogs.c:822
msgid "Dark-Squares Texture File:"
msgstr ""
-#: dialogs.c:821
+#: dialogs.c:823
msgid "Use external piece bitmaps with their own colors"
msgstr ""
-#: dialogs.c:822
+#: dialogs.c:824
msgid "Directory with Pieces Images:"
msgstr ""
-#: dialogs.c:872
+#: dialogs.c:874
msgid "Board Options"
msgstr "棋盘选项"
-#: dialogs.c:925 menus.c:634
+#: dialogs.c:927 menus.c:634
msgid "ICS text menu"
msgstr ""
-#: dialogs.c:947
+#: dialogs.c:949
msgid "clear"
msgstr ""
-#: dialogs.c:948 dialogs.c:1036
+#: dialogs.c:950 dialogs.c:1038
msgid "save changes"
msgstr ""
-#: dialogs.c:1051
+#: dialogs.c:1053
#, fuzzy
msgid "Edit book"
msgstr "编辑(E)"
-#: dialogs.c:1051 menus.c:636
+#: dialogs.c:1053 menus.c:636
msgid "Tags"
msgstr "编辑标签(T)"
-#: dialogs.c:1193
+#: dialogs.c:1195
msgid "ICS input box"
msgstr ""
-#: dialogs.c:1225
+#: dialogs.c:1227
msgid "Type a move"
msgstr ""
-#: dialogs.c:1251
+#: dialogs.c:1253
msgid "Engine has no options"
msgstr ""
-#: dialogs.c:1253
+#: dialogs.c:1255
msgid "Engine Settings"
msgstr ""
-#: dialogs.c:1278
+#: dialogs.c:1280
msgid "Select engine from list:"
msgstr ""
-#: dialogs.c:1281
+#: dialogs.c:1283
msgid "or specify one below:"
msgstr ""
-#: dialogs.c:1282
+#: dialogs.c:1284
msgid "Nickname (optional):"
msgstr ""
-#: dialogs.c:1283
+#: dialogs.c:1285
msgid "Use nickname in PGN player tags of engine-engine games"
msgstr ""
-#: dialogs.c:1284
+#: dialogs.c:1286
msgid "Engine Directory:"
msgstr ""
-#: dialogs.c:1285
+#: dialogs.c:1287
msgid "Engine Command:"
msgstr ""
-#: dialogs.c:1286
+#: dialogs.c:1288
msgid "(Directory will be derived from engine path when empty)"
msgstr ""
-#: dialogs.c:1287
+#: dialogs.c:1289
msgid "UCI"
msgstr ""
-#: dialogs.c:1288
+#: dialogs.c:1290
msgid "WB protocol v1 (do not wait for engine features)"
msgstr ""
-#: dialogs.c:1289
+#: dialogs.c:1291
msgid "Must not use GUI book"
msgstr ""
-#: dialogs.c:1290
+#: dialogs.c:1292
msgid "Add this engine to the list"
msgstr ""
-#: dialogs.c:1291
+#: dialogs.c:1293
msgid "Force current variant with this engine"
msgstr ""
-#: dialogs.c:1341
+#: dialogs.c:1343
msgid "Load first engine"
msgstr ""
-#: dialogs.c:1347
+#: dialogs.c:1349
msgid "Load second engine"
msgstr ""
-#: dialogs.c:1370
+#: dialogs.c:1372
msgid "shuffle"
msgstr ""
-#: dialogs.c:1371
+#: dialogs.c:1373
msgid "Start-position number:"
msgstr "启动位置号码(S)"
-#: dialogs.c:1372
+#: dialogs.c:1374
#, fuzzy
msgid "randomize"
msgstr "随机"
-#: dialogs.c:1373
+#: dialogs.c:1375
msgid "pick fixed"
msgstr ""
-#: dialogs.c:1390
+#: dialogs.c:1392
msgid "New Shuffle Game"
msgstr "洗牌游戏(u)..."
-#: dialogs.c:1409
+#: dialogs.c:1411
msgid "classical"
msgstr ""
-#: dialogs.c:1410
+#: dialogs.c:1412
msgid "incremental"
msgstr ""
-#: dialogs.c:1411
+#: dialogs.c:1413
msgid "fixed max"
msgstr ""
-#: dialogs.c:1412
+#: dialogs.c:1414
msgid "Moves per session:"
msgstr ""
-#: dialogs.c:1413
+#: dialogs.c:1415
msgid "Initial time (min):"
msgstr ""
-#: dialogs.c:1414
+#: dialogs.c:1416
msgid "Increment or max (sec/move):"
msgstr ""
-#: dialogs.c:1415
+#: dialogs.c:1417
#, fuzzy
msgid "Time-Odds factors:"
msgstr "时间倍数"
-#: dialogs.c:1416
+#: dialogs.c:1418
#, fuzzy
msgid "Engine #1"
msgstr "引擎(N)"
-#: dialogs.c:1417
+#: dialogs.c:1419
#, fuzzy
msgid "Engine #2 / Human"
msgstr "引擎1有自用库"
-#: dialogs.c:1457 dialogs.c:1460 dialogs.c:1465 dialogs.c:1466
+#: dialogs.c:1459 dialogs.c:1462 dialogs.c:1467 dialogs.c:1468
#: gtk/xoptions.c:191
msgid "Unused"
msgstr ""
-#: dialogs.c:1478
+#: dialogs.c:1480
msgid "Time Control"
msgstr ""
-#: dialogs.c:1507
+#: dialogs.c:1509
msgid "Error writing to chess program"
msgstr "发送信息给国际象棋程序时出错"
-#: dialogs.c:1574
+#: dialogs.c:1576
#, fuzzy
msgid "Cancel"
msgstr "取消(C)"
-#: dialogs.c:1579 dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1581 dialogs.c:1973 dialogs.c:1977
msgid "King"
msgstr "王"
-#: dialogs.c:1582
+#: dialogs.c:1584
msgid "Captain"
msgstr ""
-#: dialogs.c:1583
+#: dialogs.c:1585
msgid "Lieutenant"
msgstr ""
-#: dialogs.c:1584
+#: dialogs.c:1586
msgid "General"
msgstr "常规选项(G)..."
-#: dialogs.c:1585
+#: dialogs.c:1587
msgid "Warlord"
msgstr ""
-#: dialogs.c:1587 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1589 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Knight"
msgstr "马"
-#: dialogs.c:1588 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1590 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Bishop"
msgstr "象"
-#: dialogs.c:1589 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1591 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Rook"
msgstr "车"
-#: dialogs.c:1593 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1595 dialogs.c:1974 dialogs.c:1978
msgid "Archbishop"
msgstr "国师"
-#: dialogs.c:1594 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1596 dialogs.c:1974 dialogs.c:1978
msgid "Chancellor"
msgstr "宰相"
-#: dialogs.c:1596 dialogs.c:1971 dialogs.c:1975 dialogs.c:1993
+#: dialogs.c:1598 dialogs.c:1973 dialogs.c:1977 dialogs.c:1995
msgid "Queen"
msgstr "后"
-#: dialogs.c:1600
+#: dialogs.c:1602
msgid "Defer"
msgstr ""
-#: dialogs.c:1601 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1603 dialogs.c:1974 dialogs.c:1978
msgid "Promote"
msgstr "升变"
-#: dialogs.c:1616
+#: dialogs.c:1618
msgid "Chat partner:"
msgstr ""
-#: dialogs.c:1701
+#: dialogs.c:1703
msgid "Chat box"
msgstr ""
-#: dialogs.c:1742
+#: dialogs.c:1744
msgid "factory"
msgstr ""
-#: dialogs.c:1743
+#: dialogs.c:1745
msgid "up"
msgstr "向上"
-#: dialogs.c:1744
+#: dialogs.c:1746
msgid "down"
msgstr "向下"
-#: dialogs.c:1762
+#: dialogs.c:1764
msgid "No tag selected"
msgstr ""
-#: dialogs.c:1793
+#: dialogs.c:1795
#, fuzzy
msgid "Game-list options"
msgstr "载入棋局选项"
-#: dialogs.c:1869 dialogs.c:1883
+#: dialogs.c:1871 dialogs.c:1885
msgid "Error"
msgstr "错误"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Fatal Error"
msgstr "严重错误"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Exiting"
msgstr "退出"
-#: dialogs.c:1917
+#: dialogs.c:1919
msgid "Information"
msgstr ""
-#: dialogs.c:1924
+#: dialogs.c:1926
msgid "Note"
msgstr "注释"
-#: dialogs.c:1970 dialogs.c:2245 dialogs.c:2248
+#: dialogs.c:1972 dialogs.c:2252 dialogs.c:2255
msgid "White"
msgstr "白方"
-#: dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Pawn"
msgstr "兵"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Elephant"
msgstr "象"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Cannon"
msgstr "炮"
-#: dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1974 dialogs.c:1978
msgid "Demote"
msgstr "降级"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Empty square"
msgstr "清空格子"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Clear board"
msgstr "清空棋盘"
-#: dialogs.c:1974 dialogs.c:2257 dialogs.c:2260
+#: dialogs.c:1976 dialogs.c:2264 dialogs.c:2267
msgid "Black"
msgstr "黑方"
-#: dialogs.c:2073 menus.c:787
+#: dialogs.c:2075 menus.c:787
msgid "File"
msgstr "文件(F)"
-#: dialogs.c:2074 menus.c:788
+#: dialogs.c:2076 menus.c:788
msgid "Edit"
msgstr "编辑(E)"
-#: dialogs.c:2075 menus.c:789
+#: dialogs.c:2077 menus.c:789
msgid "View"
msgstr "外观(V)"
-#: dialogs.c:2076 menus.c:790
+#: dialogs.c:2078 menus.c:790
msgid "Mode"
msgstr "模式(M)"
-#: dialogs.c:2077 menus.c:791
+#: dialogs.c:2079 menus.c:791
msgid "Action"
msgstr "行为(A)"
-#: dialogs.c:2078 menus.c:792
+#: dialogs.c:2080 menus.c:792
msgid "Engine"
msgstr "引擎(N)"
-#: dialogs.c:2079 menus.c:793
+#: dialogs.c:2081 menus.c:793
msgid "Options"
msgstr "选项(O)"
-#: dialogs.c:2080 menus.c:794
+#: dialogs.c:2082 menus.c:794
msgid "Help"
msgstr "帮助(H)"
-#: dialogs.c:2090
+#: dialogs.c:2092
msgid "<<"
msgstr ""
-#: dialogs.c:2091
+#: dialogs.c:2093
msgid "<"
msgstr ""
-#: dialogs.c:2093
+#: dialogs.c:2095
msgid ">"
msgstr ""
-#: dialogs.c:2094
+#: dialogs.c:2096
msgid ">>"
msgstr ""
-#: dialogs.c:2364
+#: dialogs.c:2371
msgid "Directories:"
msgstr ""
-#: dialogs.c:2365
+#: dialogs.c:2372
#, fuzzy
msgid "Files:"
msgstr "文件(F)"
-#: dialogs.c:2366
+#: dialogs.c:2373
msgid "by name"
msgstr ""
-#: dialogs.c:2367
+#: dialogs.c:2374
msgid "by type"
msgstr ""
-#: dialogs.c:2370
+#: dialogs.c:2377
#, fuzzy
msgid "Filename:"
msgstr "过滤器"
-#: dialogs.c:2371
+#: dialogs.c:2378
msgid "New directory"
msgstr ""
-#: dialogs.c:2372
+#: dialogs.c:2379
#, fuzzy
msgid "File type:"
msgstr "过滤器"
-#: dialogs.c:2447
+#: dialogs.c:2454
#, fuzzy
msgid "Contents of"
msgstr "编辑注释(C) *.*"
-#: dialogs.c:2473
+#: dialogs.c:2480
msgid " next page"
msgstr ""
-#: dialogs.c:2495
+#: dialogs.c:2502
msgid "FIRST TYPE DIRECTORY NAME HERE"
msgstr ""
-#: dialogs.c:2496
+#: dialogs.c:2503
msgid "TRY ANOTHER NAME"
msgstr ""
msgstr ""
"Project-Id-Version: GNU xboard master-20110411\n"
"Report-Msgid-Bugs-To: bug-xboard@gnu.org\n"
-"POT-Creation-Date: 2013-08-28 21:49-0700\n"
+"POT-Creation-Date: 2013-08-28 22:03-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: args.h:820
+#: args.h:821
#, c-format
msgid "%s in settings file\n"
msgstr ""
-#: args.h:830
+#: args.h:831
#, c-format
msgid "Bad integer value %s"
msgstr ""
-#: args.h:923 args.h:1164
+#: args.h:924 args.h:1165
#, c-format
msgid "Unrecognized argument %s"
msgstr ""
-#: args.h:954
+#: args.h:955
#, c-format
msgid "No value provided for argument %s"
msgstr ""
-#: args.h:1014
+#: args.h:1015
#, c-format
msgid "Incomplete \\ escape in value for %s"
msgstr ""
-#: args.h:1119
+#: args.h:1120
#, c-format
msgid "Failed to open indirection file %s"
msgstr ""
-#: args.h:1136
+#: args.h:1137
#, c-format
msgid "Unrecognized boolean argument value %s"
msgstr ""
#. TRANSLATORS: "first" is the first of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:744
+#: backend.c:753
msgid "first"
msgstr ""
#. TRANSLATORS: "second" is the second of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:747
+#: backend.c:756
msgid "second"
msgstr ""
-#: backend.c:827
+#: backend.c:837
#, c-format
msgid "protocol version %d not supported"
msgstr "通訊協定版本 %d 不被支持"
-#: backend.c:933
+#: backend.c:943
msgid "You did not specify the engine executable"
msgstr ""
-#: backend.c:989
+#: backend.c:999
#, c-format
msgid "bad timeControl option %s"
msgstr "非法的\"timeControl\"(時間控制)選項 %s"
-#: backend.c:1004
+#: backend.c:1014
#, c-format
msgid "bad searchTime option %s"
msgstr "非法的\"searchTime\"(搜尋時間)選項 %s"
-#: backend.c:1110
+#: backend.c:1120
#, c-format
msgid "Variant %s supported only in ICS mode"
msgstr "變體 %s 只在ICS模式下支持"
-#: backend.c:1128
+#: backend.c:1138
#, c-format
msgid "Unknown variant name %s"
msgstr "未知的變體名 %s"
-#: backend.c:1375
+#: backend.c:1386
msgid "Starting chess program"
msgstr "啟動國際象棋程式"
-#: backend.c:1398
+#: backend.c:1409
msgid "Bad game file"
msgstr "棋局檔案錯誤"
-#: backend.c:1405
+#: backend.c:1416
msgid "Bad position file"
msgstr "盤面檔案錯誤"
-#: backend.c:1419
+#: backend.c:1430
msgid "Pick new game"
msgstr ""
-#: backend.c:1488
+#: backend.c:1499
msgid ""
"You restarted an already completed tourney\n"
"One more cycle will now be added to it\n"
"Games commence in 10 sec"
msgstr ""
-#: backend.c:1495
+#: backend.c:1506
#, c-format
msgid "All games in tourney '%s' are already played or playing"
msgstr ""
-#: backend.c:1502
+#: backend.c:1513
msgid "Can't have a match with no chess programs"
msgstr "沒有象棋程式時無法進行比賽"
-#: backend.c:1539
+#: backend.c:1550
#, c-format
msgid "Could not open comm port %s"
msgstr "無法打開通訊連接埠 %s"
-#: backend.c:1542
+#: backend.c:1553
#, c-format
msgid "Could not connect to host %s, port %s"
msgstr "無法連接主機 %s 連接埠 %s"
-#: backend.c:1598
+#: backend.c:1609
#, c-format
msgid "Unknown initialMode %s"
msgstr "未知的\"initialMode\"(初始模式)選項 %s"
-#: backend.c:1624
+#: backend.c:1635
msgid "AnalyzeFile mode requires a game file"
msgstr "\"AnalyzeFile\"(分析檔案)模式必須指定一個棋局檔案"
-#: backend.c:1651
+#: backend.c:1662
msgid "Analysis mode requires a chess engine"
msgstr "\"Analysis\"(分析)模式必須啟動國際象棋引擎"
-#: backend.c:1655
+#: backend.c:1666
msgid "Analysis mode does not work with ICS mode"
msgstr "\"Analysis\"(分析)模式無法在ICS模式下工作"
-#: backend.c:1666
+#: backend.c:1677
msgid "MachineWhite mode requires a chess engine"
msgstr "\"MachineWhite\"(電腦執紅)模式必須啟動國際象棋引擎"
-#: backend.c:1671
+#: backend.c:1682
msgid "MachineWhite mode does not work with ICS mode"
msgstr "\"MachineWhite\"(電腦執紅)模式無法在ICS模式下運行"
-#: backend.c:1678
+#: backend.c:1689
msgid "MachineBlack mode requires a chess engine"
msgstr "\"MachineBlack\"(電腦執黑)模式必須啟動國際象棋引擎"
-#: backend.c:1683
+#: backend.c:1694
msgid "MachineBlack mode does not work with ICS mode"
msgstr "\"MachineBlack\"(電腦執黑)模式無法在ICS模式下運行"
-#: backend.c:1690
+#: backend.c:1701
msgid "TwoMachines mode requires a chess engine"
msgstr "\"TwoMachines\"(分析)模式必須啟動國際象棋引擎"
-#: backend.c:1695
+#: backend.c:1706
msgid "TwoMachines mode does not work with ICS mode"
msgstr "\"TwoMachines\"(電腦對弈)模式無法在ICS模式下運行"
-#: backend.c:1706
+#: backend.c:1717
msgid "Training mode requires a game file"
msgstr "\"Training\"(訓練)模式必須指定一個棋局檔案"
-#: backend.c:1869 backend.c:1924 backend.c:1947 backend.c:2346
+#: backend.c:1880 backend.c:1935 backend.c:1958 backend.c:2357
msgid "Error writing to ICS"
msgstr "發送訊息給ICS時出錯"
-#: backend.c:1884
+#: backend.c:1895
msgid "Error reading from keyboard"
msgstr "讀取鍵盤時出錯"
-#: backend.c:1887
+#: backend.c:1898
msgid "Got end of file from keyboard"
msgstr "讀取鍵盤時遇到檔案尾"
-#: backend.c:2192
+#: backend.c:2203
#, c-format
msgid "Unknown wild type %d"
msgstr ""
-#: backend.c:2263 usystem.c:329
+#: backend.c:2274 usystem.c:329
msgid "Error writing to display"
msgstr "發送訊息給顯示器時出錯"
-#: backend.c:3019
+#: backend.c:3030
#, c-format
msgid "your opponent kibitzes: %s"
msgstr ""
-#: backend.c:3548
+#: backend.c:3559
msgid "Error gathering move list: two headers"
msgstr "讀取著法時出錯,出現兩個開頭"
-#: backend.c:3595
+#: backend.c:3606
msgid "Error gathering move list: nested"
msgstr "讀取著法時出錯,巢狀錯誤"
-#: backend.c:3699 backend.c:4117 backend.c:4321 backend.c:4880 backend.c:4884
-#: backend.c:6900 backend.c:12082 backend.c:13797 backend.c:13874
-#: backend.c:13920 backend.c:13926 backend.c:13931 backend.c:13936
+#: backend.c:3710 backend.c:4128 backend.c:4332 backend.c:4891 backend.c:4895
+#: backend.c:6919 backend.c:12213 backend.c:13928 backend.c:14005
+#: backend.c:14051 backend.c:14057 backend.c:14062 backend.c:14067
msgid "vs."
msgstr ""
-#: backend.c:3827
+#: backend.c:3838
msgid "Illegal move (rejected by ICS)"
msgstr ""
-#: backend.c:4165
+#: backend.c:4176
msgid "Connection closed by ICS"
msgstr "連接被ICS關閉"
-#: backend.c:4167
+#: backend.c:4178
msgid "Error reading from ICS"
msgstr "讀取ICS訊息時出錯"
-#: backend.c:4244
+#: backend.c:4255
#, c-format
msgid ""
"Failed to parse board string:\n"
"\"%s\""
msgstr ""
-#: backend.c:4253 backend.c:9755
+#: backend.c:4264 backend.c:9885
msgid "Game too long; increase MAX_MOVES and recompile"
msgstr "棋局太長,需要增加\"MAX_MOVES\"並重新編譯"
-#: backend.c:4372
+#: backend.c:4383
msgid "Error gathering move list: extra board"
msgstr "讀取著法時出錯,超出棋盤"
-#: backend.c:4804 backend.c:4826
+#: backend.c:4815 backend.c:4837
#, c-format
msgid "Couldn't parse move \"%s\" from ICS"
msgstr "無法解析從ICS讀到的著法\"%s\""
-#: backend.c:5063
+#: backend.c:5074
#, c-format
msgid "say Internal error; bad moveType %d (%d,%d-%d,%d)"
msgstr "say 內部錯誤,非法的\"moveType\"(著法類型) %d (%d,%d-%d,%d)"
-#: backend.c:5133
+#: backend.c:5145
msgid "You cannot do this while you are playing or observing"
msgstr ""
-#: backend.c:6029
+#: backend.c:6046
msgid "Recompile to support this BOARD_RANKS or BOARD_FILES!"
msgstr ""
-#: backend.c:6491
+#: backend.c:6510
msgid "You are playing Black"
msgstr "你在執黑"
-#: backend.c:6500 backend.c:6527
+#: backend.c:6519 backend.c:6546
msgid "You are playing White"
msgstr "你在執紅"
-#: backend.c:6509 backend.c:6535 backend.c:6655 backend.c:6680 backend.c:6696
-#: backend.c:14573
+#: backend.c:6528 backend.c:6554 backend.c:6674 backend.c:6699 backend.c:6715
+#: backend.c:14705
msgid "It is White's turn"
msgstr "輪到紅方走棋"
-#: backend.c:6513 backend.c:6539 backend.c:6663 backend.c:6686 backend.c:6717
-#: backend.c:14565
+#: backend.c:6532 backend.c:6558 backend.c:6682 backend.c:6705 backend.c:6736
+#: backend.c:14697
msgid "It is Black's turn"
msgstr "輪到黑方走棋"
-#: backend.c:6552
+#: backend.c:6571
msgid "Displayed position is not current"
msgstr "顯示的盤面不是當前盤面"
-#: backend.c:6790
+#: backend.c:6809
msgid "Illegal move"
msgstr "著法錯誤"
-#: backend.c:6857
+#: backend.c:6876
msgid "End of game"
msgstr "棋局結束"
-#: backend.c:6860
+#: backend.c:6879
msgid "Incorrect move"
msgstr "著法錯誤"
-#: backend.c:7169 backend.c:7296
+#: backend.c:7257 backend.c:7392
msgid "Pull pawn backwards to under-promote"
msgstr ""
-#: backend.c:7527
+#: backend.c:7364
+msgid "only marked squares are legal"
+msgstr ""
+
+#: backend.c:7624
msgid "Swiss tourney finished"
msgstr ""
-#: backend.c:8102
+#: backend.c:8199
msgid "Invalid pairing from pairing engine"
msgstr ""
-#: backend.c:8235
+#: backend.c:8332
#, c-format
msgid "Illegal move \"%s\" from %s machine"
msgstr "從%s機器讀到不合法著法\"%s\""
-#: backend.c:8456
+#: backend.c:8564
msgid "Bad FEN received from engine"
msgstr ""
-#: backend.c:8600 backend.c:13662 backend.c:13727
+#: backend.c:8730 backend.c:13793 backend.c:13858
#, c-format
msgid "%s does not support analysis"
msgstr "%s 不支持分析功能"
-#: backend.c:8666
+#: backend.c:8796
#, c-format
msgid "Illegal move \"%s\" (rejected by %s chess program)"
msgstr "不合法著法\"%s\" (%s國際象棋程式拒絕接受該著法)"
-#: backend.c:8693
+#: backend.c:8823
#, c-format
msgid "Failed to start %s chess program %s on %s: %s\n"
msgstr "無法啟動%s國際象棋程式 %s(在主機 %s 上),%s\n"
-#: backend.c:8714
+#: backend.c:8844
#, c-format
msgid "Hint: %s"
msgstr "提示 %s"
-#: backend.c:8719
+#: backend.c:8849
#, c-format
msgid ""
"Illegal hint move \"%s\"\n"
"from %s chess program"
msgstr ""
-#: backend.c:8894
+#: backend.c:9024
msgid "Machine accepts your draw offer"
msgstr "電腦同意和棋"
-#: backend.c:8897
+#: backend.c:9027
msgid ""
"Machine offers a draw\n"
"Select Action / Draw to agree"
msgstr ""
-#: backend.c:8976
+#: backend.c:9106
msgid "failed writing PV"
msgstr ""
-#: backend.c:9274
+#: backend.c:9404
#, c-format
msgid "Ambiguous move in ICS output: \"%s\""
msgstr "ICS輸出不明確的著法\"%s\""
-#: backend.c:9284
+#: backend.c:9414
#, c-format
msgid "Illegal move in ICS output: \"%s\""
msgstr "ICS輸出不明確的著法\"%s\""
-#: backend.c:9295
+#: backend.c:9425
msgid "Gap in move list"
msgstr "著法斷開"
-#: backend.c:9916 dialogs.c:460
+#: backend.c:10046 dialogs.c:461
#, c-format
msgid "Variant %s not supported by %s"
msgstr "變體 %s 不被 %s 所支持"
-#: backend.c:10037
+#: backend.c:10167
#, c-format
msgid "Startup failure on '%s'"
msgstr "無法啟動'%s'"
-#: backend.c:10068
+#: backend.c:10198
msgid "Waiting for first chess program"
msgstr "等待第一個國際象棋程式"
-#: backend.c:10073 backend.c:13945
+#: backend.c:10203 backend.c:14076
msgid "Waiting for second chess program"
msgstr "等待第二個國際象棋程式"
-#: backend.c:10122
+#: backend.c:10252
msgid "Could not write on tourney file"
msgstr ""
-#: backend.c:10196
+#: backend.c:10326
msgid ""
"You cannot replace an engine while it is engaged!\n"
"Terminate its game first."
msgstr ""
-#: backend.c:10210
+#: backend.c:10340
msgid "No engine with the name you gave is installed"
msgstr ""
-#: backend.c:10212
+#: backend.c:10342
msgid ""
"First change an engine by editing the participants list\n"
"of the Tournament Options dialog"
msgstr ""
-#: backend.c:10213
+#: backend.c:10343
msgid "You can only change one engine at the time"
msgstr ""
-#: backend.c:10228 backend.c:10375
+#: backend.c:10358 backend.c:10505
#, c-format
msgid "No engine %s is installed"
msgstr ""
-#: backend.c:10248
+#: backend.c:10378
msgid ""
"You must supply a tournament file,\n"
"for storing the tourney progress"
msgstr ""
-#: backend.c:10258
+#: backend.c:10388
msgid "Not enough participants"
msgstr ""
-#: backend.c:10459
+#: backend.c:10589
#, fuzzy
msgid "Bad tournament file"
msgstr "棋局檔案錯誤"
-#: backend.c:10471
+#: backend.c:10601
#, fuzzy
msgid "Waiting for other game(s)"
msgstr "等待第一個國際象棋程式"
-#: backend.c:10484
+#: backend.c:10614
msgid "No pairing engine specified"
msgstr ""
-#: backend.c:10961
+#: backend.c:11092
#, c-format
msgid "Match %s vs. %s: final score %d-%d-%d"
msgstr "比賽 %s vs. %s: 最終比分 %d-%d-%d"
-#: backend.c:11423 backend.c:11454
+#: backend.c:11554 backend.c:11585
#, c-format
msgid "Illegal move: %d.%s%s"
msgstr "不合法著法 %d.%s%s"
-#: backend.c:11443
+#: backend.c:11574
#, c-format
msgid "Ambiguous move: %d.%s%s"
msgstr "不明確的著法 %d.%s%s"
-#: backend.c:11496 backend.c:12505 backend.c:12698 backend.c:13059
+#: backend.c:11627 backend.c:12636 backend.c:12829 backend.c:13190
#, c-format
msgid "Can't open \"%s\""
msgstr "無法打開\"%s\""
-#: backend.c:11508 menus.c:116
+#: backend.c:11639 menus.c:116
msgid "Cannot build game list"
msgstr "無法建立棋局列表"
-#: backend.c:11593
+#: backend.c:11724
msgid "No more games in this message"
msgstr "這條訊息不包含更多的棋局"
-#: backend.c:11633
+#: backend.c:11764
msgid "No game has been loaded yet"
msgstr "尚未有棋局載入"
-#: backend.c:11637 backend.c:12486 ngamelist.c:129
+#: backend.c:11768 backend.c:12617 ngamelist.c:129
msgid "Can't back up any further"
msgstr "無法再後退了"
-#: backend.c:12058
+#: backend.c:12189
msgid "Game number out of range"
msgstr "棋局數量超出範圍"
-#: backend.c:12069
+#: backend.c:12200
msgid "Can't seek on game file"
msgstr "無法搜尋棋局檔案"
-#: backend.c:12127
+#: backend.c:12258
msgid "Game not found in file"
msgstr "檔案中沒有找到棋局"
-#: backend.c:12255 backend.c:12582
+#: backend.c:12386 backend.c:12713
msgid "Bad FEN position in file"
msgstr "檔案中的FEN盤面錯誤"
-#: backend.c:12407
+#: backend.c:12538
msgid "No moves in game"
msgstr "棋局中沒有著法"
-#: backend.c:12482
+#: backend.c:12613
msgid "No position has been loaded yet"
msgstr "尚未有盤面載入"
-#: backend.c:12543 backend.c:12554
+#: backend.c:12674 backend.c:12685
msgid "Can't seek on position file"
msgstr "無法搜尋盤面檔案"
-#: backend.c:12561 backend.c:12573
+#: backend.c:12692 backend.c:12704
msgid "Position not found in file"
msgstr "檔案中沒有找到盤面"
-#: backend.c:12613
+#: backend.c:12744
msgid "Black to play"
msgstr "輪到黑方走棋"
-#: backend.c:12616
+#: backend.c:12747
msgid "White to play"
msgstr "輪到紅方走棋"
-#: backend.c:12703 backend.c:13064
+#: backend.c:12834 backend.c:13195
#, fuzzy
msgid "Waiting for access to save file"
msgstr "等待第二個國際象棋程式"
-#: backend.c:12705
+#: backend.c:12836
msgid "Saving game"
msgstr ""
-#: backend.c:12706
+#: backend.c:12837
msgid "Bad Seek"
msgstr ""
-#: backend.c:13066
+#: backend.c:13197
#, fuzzy
msgid "Saving position"
msgstr "盤面檔案錯誤"
-#: backend.c:13192
+#: backend.c:13323
msgid ""
"You have edited the game history.\n"
"Use Reload Same Game and make your move again."
msgstr ""
-#: backend.c:13197
+#: backend.c:13328
msgid ""
"You have entered too many moves.\n"
"Back up to the correct position and try again."
msgstr ""
-#: backend.c:13202
+#: backend.c:13333
msgid ""
"Displayed position is not current.\n"
"Step forward to the correct position and try again."
msgstr ""
-#: backend.c:13249
+#: backend.c:13380
msgid "You have not made a move yet"
msgstr "你尚未走棋"
-#: backend.c:13270
+#: backend.c:13401
msgid ""
"The cmail message is not loaded.\n"
"Use Reload CMail Message and make your move again."
msgstr ""
-#: backend.c:13275
+#: backend.c:13406
msgid "No unfinished games"
msgstr "不存在未完成棋局"
-#: backend.c:13281
+#: backend.c:13412
#, c-format
msgid ""
"You have already mailed a move.\n"
"on the command line."
msgstr ""
-#: backend.c:13296
+#: backend.c:13427
msgid "Failed to invoke cmail"
msgstr "呼叫cmail失敗"
-#: backend.c:13358
+#: backend.c:13489
#, c-format
msgid "Waiting for reply from opponent\n"
msgstr "等待對手回應\n"
-#: backend.c:13380
+#: backend.c:13511
#, c-format
msgid "Still need to make move for game\n"
msgstr "本棋局仍需走棋\n"
-#: backend.c:13384
+#: backend.c:13515
#, c-format
msgid "Still need to make moves for both games\n"
msgstr "兩棋局皆仍需走棋\n"
-#: backend.c:13388
+#: backend.c:13519
#, c-format
msgid "Still need to make moves for all %d games\n"
msgstr "所有 %d 棋局皆仍需走棋\n"
-#: backend.c:13395
+#: backend.c:13526
#, c-format
msgid "Still need to make a move for game %s\n"
msgstr "棋局 %s 仍需走棋\n"
-#: backend.c:13401
+#: backend.c:13532
#, c-format
msgid "No unfinished games\n"
msgstr "不存在未完成棋局\n"
-#: backend.c:13403
+#: backend.c:13534
#, c-format
msgid "Ready to send mail\n"
msgstr "準備送信就緒\n"
-#: backend.c:13408
+#: backend.c:13539
#, c-format
msgid "Still need to make moves for games %s\n"
msgstr "棋局 %s 仍需走棋\n"
-#: backend.c:13612
+#: backend.c:13743
msgid "Edit comment"
msgstr "編輯註解"
-#: backend.c:13614
+#: backend.c:13745
#, c-format
msgid "Edit comment on %d.%s%s"
msgstr "編輯註解 %d.%s%s"
-#: backend.c:13669
+#: backend.c:13800
#, c-format
msgid "You are not observing a game"
msgstr ""
-#: backend.c:13777
+#: backend.c:13908
msgid "It is not White's turn"
msgstr "沒有輪到紅方走棋"
-#: backend.c:13858
+#: backend.c:13989
msgid "It is not Black's turn"
msgstr "沒有輪到黑方走棋"
-#: backend.c:13966
+#: backend.c:14097
#, c-format
msgid "Starting %s chess program"
msgstr ""
-#: backend.c:13994 backend.c:15108
+#: backend.c:14125 backend.c:15240
msgid ""
"Wait until your turn,\n"
"or select Move Now"
msgstr ""
-#: backend.c:14128
+#: backend.c:14259
msgid "Training mode off"
msgstr "訓練模式已關閉"
-#: backend.c:14136
+#: backend.c:14267
msgid "Training mode on"
msgstr "訓練模式已打開"
-#: backend.c:14139
+#: backend.c:14270
msgid "Already at end of game"
msgstr "棋局已經結束"
-#: backend.c:14219
+#: backend.c:14350
msgid "Warning: You are still playing a game"
msgstr "注意:你正在進行棋局"
-#: backend.c:14222
+#: backend.c:14353
msgid "Warning: You are still observing a game"
msgstr "注意:你正在觀棋棋局"
-#: backend.c:14225
+#: backend.c:14356
msgid "Warning: You are still examining a game"
msgstr "注意:你正在研究棋局"
-#: backend.c:14292
+#: backend.c:14423
msgid "Click clock to clear board"
msgstr ""
-#: backend.c:14302
+#: backend.c:14433
msgid "Close ICS engine analyze..."
msgstr ""
-#: backend.c:14590
+#: backend.c:14722
msgid "That square is occupied"
msgstr "格子已有棋子"
-#: backend.c:14614 backend.c:14640
+#: backend.c:14746 backend.c:14772
msgid "There is no pending offer on this move"
msgstr "該著法沒有待定的提議"
-#: backend.c:14676 backend.c:14687
+#: backend.c:14808 backend.c:14819
msgid "Your opponent is not out of time"
msgstr "對手沒有超時"
-#: backend.c:14753
+#: backend.c:14885
msgid "You must make your move before offering a draw"
msgstr "必須走完棋才能提和"
-#: backend.c:15090
+#: backend.c:15222
msgid "You are not examining a game"
msgstr "沒有分析棋局"
-#: backend.c:15094
+#: backend.c:15226
msgid "You can't revert while pausing"
msgstr "暫停時不能復原棋局"
-#: backend.c:15148 backend.c:15155
+#: backend.c:15280 backend.c:15287
msgid "It is your turn"
msgstr "輪到你走棋"
-#: backend.c:15206 backend.c:15213 backend.c:15266 backend.c:15273
+#: backend.c:15338 backend.c:15345 backend.c:15398 backend.c:15405
msgid "Wait until your turn"
msgstr "等待對手走棋"
-#: backend.c:15218
+#: backend.c:15350
msgid "No hint available"
msgstr "沒有可用的提示"
-#: backend.c:15234 ngamelist.c:355
+#: backend.c:15366 ngamelist.c:355
#, fuzzy
msgid "Game list not loaded or empty"
msgstr "尚未有棋局載入"
-#: backend.c:15241
+#: backend.c:15373
msgid "Book file exists! Try again for overwrite."
msgstr ""
-#: backend.c:15719
+#: backend.c:15851
#, c-format
msgid "Error writing to %s chess program"
msgstr "發送訊息到%s國際象棋程式時出錯"
-#: backend.c:15722 backend.c:15753
+#: backend.c:15854 backend.c:15885
#, c-format
msgid "%s program exits in draw position (%s)"
msgstr ""
-#: backend.c:15748
+#: backend.c:15880
#, c-format
msgid "Error: %s chess program (%s) exited unexpectedly"
msgstr "錯誤:%s國際象棋程式(%s)異常終止"
-#: backend.c:15766
+#: backend.c:15898
#, c-format
msgid "Error reading from %s chess program (%s)"
msgstr "從%s國際象棋程式(%s)接收訊息時出錯"
-#: backend.c:16168
+#: backend.c:16301
#, c-format
msgid "%s engine has too many options\n"
msgstr ""
-#: backend.c:16324
+#: backend.c:16457
msgid "Displayed move is not current"
msgstr "顯示的著法不是當前著法"
-#: backend.c:16333
+#: backend.c:16466
msgid "Could not parse move"
msgstr "無法解析著法"
-#: backend.c:16458 backend.c:16480
+#: backend.c:16591 backend.c:16613
msgid "Both flags fell"
msgstr "雙方都超時了"
-#: backend.c:16460
+#: backend.c:16593
msgid "White's flag fell"
msgstr "紅方超時"
-#: backend.c:16482
+#: backend.c:16615
msgid "Black's flag fell"
msgstr "黑方超時"
-#: backend.c:16613
+#: backend.c:16746
msgid "Clock adjustment not allowed in auto-flag mode"
msgstr ""
-#: backend.c:17448
+#: backend.c:17585
msgid "Bad FEN position in clipboard"
msgstr "剪貼簿的FEN盤面錯誤"
msgid "First you must specify an existing tourney file to clone"
msgstr ""
-#: dialogs.c:332 dialogs.c:1320
+#: dialogs.c:332 dialogs.c:1322
msgid "# no engines are installed"
msgstr ""
msgid "Play Move(s) of Clicked PV (Analysis)"
msgstr ""
-#: dialogs.c:379 dialogs.c:514 menus.c:728
+#: dialogs.c:379 dialogs.c:515 menus.c:728
msgid "Ponder Next Move"
msgstr "同步思考(N)"
msgstr ""
#: dialogs.c:429
-msgid "fairy"
+msgid "ASEAN"
msgstr ""
#: dialogs.c:430
msgstr ""
#: dialogs.c:447
-msgid " "
+msgid "fairy"
msgstr ""
-#: dialogs.c:448
+#: dialogs.c:449
msgid "courier (12x8)"
msgstr ""
-#: dialogs.c:465
+#: dialogs.c:466
#, c-format
msgid "Warning: second engine (%s) does not support this!"
msgstr "警告: 第二個引擎(%s) 不支持此!"
-#: dialogs.c:488
+#: dialogs.c:489
#, c-format
msgid "Only bughouse is not available in viewer mode"
msgstr ""
-#: dialogs.c:489
+#: dialogs.c:490
#, c-format
msgid ""
"All variants not supported by first engine\n"
"(currently %s) are disabled"
msgstr ""
-#: dialogs.c:490
+#: dialogs.c:491
msgid "New Variant"
msgstr "變種"
-#: dialogs.c:515
+#: dialogs.c:516
msgid "Maximum Number of CPUs per Engine:"
msgstr "最大CPU數"
-#: dialogs.c:516
+#: dialogs.c:517
msgid "Polygot Directory:"
msgstr ""
-#: dialogs.c:517
+#: dialogs.c:518
msgid "Hash-Table Size (MB):"
msgstr "雜湊表大小(MB)"
-#: dialogs.c:518
+#: dialogs.c:519
msgid "Nalimov EGTB Path:"
msgstr "EGTB 路徑"
-#: dialogs.c:519
+#: dialogs.c:520
msgid "EGTB Cache Size (MB):"
msgstr "EGTB 大小(MB)"
-#: dialogs.c:520
+#: dialogs.c:521
msgid "Use GUI Book"
msgstr ""
-#: dialogs.c:521
+#: dialogs.c:522
msgid "Opening-Book Filename:"
msgstr ""
-#: dialogs.c:522
+#: dialogs.c:523
msgid "Book Depth (moves):"
msgstr "庫著法深度"
-#: dialogs.c:523
+#: dialogs.c:524
msgid "Book Variety (0) vs. Strength (100):"
msgstr "庫變例"
-#: dialogs.c:524
+#: dialogs.c:525
msgid "Engine #1 Has Own Book"
msgstr "引擎1有自用庫"
-#: dialogs.c:525
+#: dialogs.c:526
msgid "Engine #2 Has Own Book "
msgstr ""
-#: dialogs.c:534
+#: dialogs.c:535
msgid "Common Engine Settings"
msgstr "通用引擎設定"
-#: dialogs.c:540
+#: dialogs.c:541
msgid "Detect all Mates"
msgstr "檢測將殺(M)"
-#: dialogs.c:541
+#: dialogs.c:542
msgid "Verify Engine Result Claims"
msgstr "驗證引擎聲明(V)"
-#: dialogs.c:542
+#: dialogs.c:543
msgid "Draw if Insufficient Mating Material"
msgstr "子力不足時判和(I)"
-#: dialogs.c:543
+#: dialogs.c:544
msgid "Adjudicate Trivial Draws (3-Move Delay)"
msgstr "簡易和棋判決(T)"
-#: dialogs.c:544
+#: dialogs.c:545
msgid "N-Move Rule:"
msgstr ""
-#: dialogs.c:545
+#: dialogs.c:546
msgid "N-fold Repeats:"
msgstr ""
-#: dialogs.c:546
+#: dialogs.c:547
msgid "Draw after N Moves Total:"
msgstr "幾著後判和"
-#: dialogs.c:547
+#: dialogs.c:548
msgid "Win / Loss Threshold:"
msgstr "輸/贏判決門檻"
-#: dialogs.c:548
+#: dialogs.c:549
msgid "Negate Score of Engine #1"
msgstr "引擎 #1 是絕對分數"
-#: dialogs.c:549
+#: dialogs.c:550
msgid "Negate Score of Engine #2"
msgstr "引擎 #2 是絕對分數"
-#: dialogs.c:556
+#: dialogs.c:557
#, fuzzy
msgid "Adjudicate non-ICS Games"
msgstr "裁決紅贏 (W)"
-#: dialogs.c:569
+#: dialogs.c:570
msgid "Auto-Kibitz"
msgstr "自動\"kibitz\"(A)"
-#: dialogs.c:570
+#: dialogs.c:571
msgid "Auto-Comment"
msgstr "自動註解(A)"
-#: dialogs.c:571
+#: dialogs.c:572
msgid "Auto-Observe"
msgstr "自動觀棋(O)"
-#: dialogs.c:572
+#: dialogs.c:573
msgid "Auto-Raise Board"
msgstr "自動改變棋盤大小(R)"
-#: dialogs.c:573
+#: dialogs.c:574
msgid "Auto-Create Logon Script"
msgstr ""
-#: dialogs.c:574
+#: dialogs.c:575
msgid "Background Observe while Playing"
msgstr "背景觀察(v)"
-#: dialogs.c:575
+#: dialogs.c:576
msgid "Dual Board for Background-Observed Game"
msgstr "雙棋盤(D)"
-#: dialogs.c:576
+#: dialogs.c:577
msgid "Get Move List"
msgstr "取得著法列表(G)"
-#: dialogs.c:577
+#: dialogs.c:578
msgid "Quiet Play"
msgstr "落子無聲(Q)"
-#: dialogs.c:578
+#: dialogs.c:579
msgid "Seek Graph"
msgstr "可選對手圖表(k)"
-#: dialogs.c:579
+#: dialogs.c:580
msgid "Auto-Refresh Seek Graph"
msgstr "自動刷新圖表(R)"
-#: dialogs.c:580
+#: dialogs.c:581
msgid "Auto-InputBox PopUp"
msgstr ""
-#: dialogs.c:581
+#: dialogs.c:582
+#, fuzzy
+msgid "Quit after game"
+msgstr "等待第一個國際象棋程式"
+
+#: dialogs.c:583
msgid "Premove"
msgstr "預先走棋(P)"
-#: dialogs.c:582
+#: dialogs.c:584
msgid "Premove for White"
msgstr ""
-#: dialogs.c:583
+#: dialogs.c:585
msgid "First White Move:"
msgstr "紅方先走(W)"
-#: dialogs.c:584
+#: dialogs.c:586
msgid "Premove for Black"
msgstr ""
-#: dialogs.c:585
+#: dialogs.c:587
msgid "First Black Move:"
msgstr "黑方先走(B)"
-#: dialogs.c:587
+#: dialogs.c:589
msgid "Alarm"
msgstr "提示"
-#: dialogs.c:588
+#: dialogs.c:590
msgid "Alarm Time (msec):"
msgstr ""
-#: dialogs.c:590
+#: dialogs.c:592
msgid "Colorize Messages"
msgstr ""
-#: dialogs.c:591
+#: dialogs.c:593
msgid "Shout Text Colors:"
msgstr ""
-#: dialogs.c:592
+#: dialogs.c:594
msgid "S-Shout Text Colors:"
msgstr ""
-#: dialogs.c:593
+#: dialogs.c:595
msgid "Channel #1 Text Colors:"
msgstr ""
-#: dialogs.c:594
+#: dialogs.c:596
msgid "Other Channel Text Colors:"
msgstr ""
-#: dialogs.c:595
+#: dialogs.c:597
msgid "Kibitz Text Colors:"
msgstr ""
-#: dialogs.c:596
+#: dialogs.c:598
msgid "Tell Text Colors:"
msgstr ""
-#: dialogs.c:597
+#: dialogs.c:599
msgid "Challenge Text Colors:"
msgstr ""
-#: dialogs.c:598
+#: dialogs.c:600
msgid "Request Text Colors:"
msgstr ""
-#: dialogs.c:599
+#: dialogs.c:601
msgid "Seek Text Colors:"
msgstr ""
-#: dialogs.c:606
+#: dialogs.c:608
msgid "ICS Options"
msgstr "ICS設定"
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Exact position match"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Shown position is subset"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Same material with exactly same Pawn chain"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Same material"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material range (top board half optional)"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material difference (optional stuff balanced)"
msgstr ""
-#: dialogs.c:624
+#: dialogs.c:626
msgid "Auto-Display Tags"
msgstr ""
-#: dialogs.c:625
+#: dialogs.c:627
msgid "Auto-Display Comment"
msgstr ""
-#: dialogs.c:626
+#: dialogs.c:628
msgid ""
"Auto-Play speed of loaded games\n"
"(0 = instant, -1 = off):"
msgstr ""
-#: dialogs.c:627
+#: dialogs.c:629
msgid "Seconds per Move:"
msgstr ""
-#: dialogs.c:628
+#: dialogs.c:630
msgid ""
"\n"
"options to use in game-viewer mode:"
msgstr ""
-#: dialogs.c:630
+#: dialogs.c:632
msgid ""
"\n"
"Thresholds for position filtering in game list:"
msgstr ""
-#: dialogs.c:631
+#: dialogs.c:633
msgid "Elo of strongest player at least:"
msgstr ""
-#: dialogs.c:632
+#: dialogs.c:634
msgid "Elo of weakest player at least:"
msgstr ""
-#: dialogs.c:633
+#: dialogs.c:635
#, fuzzy
msgid "No games before year:"
msgstr "尚未有棋局載入"
-#: dialogs.c:634
+#: dialogs.c:636
msgid "Minimum nr consecutive positions:"
msgstr ""
-#: dialogs.c:635
+#: dialogs.c:637
msgid "Search mode:"
msgstr ""
-#: dialogs.c:636
+#: dialogs.c:638
msgid "Also match reversed colors"
msgstr ""
-#: dialogs.c:637
+#: dialogs.c:639
msgid "Also match left-right flipped position"
msgstr ""
-#: dialogs.c:645
+#: dialogs.c:647
msgid "Load Game Options"
msgstr "載入棋局選項"
-#: dialogs.c:657
+#: dialogs.c:659
msgid "Auto-Save Games"
msgstr ""
-#: dialogs.c:658
+#: dialogs.c:660
msgid "Own Games Only"
msgstr ""
-#: dialogs.c:659
+#: dialogs.c:661
msgid "Save Games on File:"
msgstr ""
-#: dialogs.c:660
+#: dialogs.c:662
msgid "Save Final Positions on File:"
msgstr ""
-#: dialogs.c:661
+#: dialogs.c:663
msgid "PGN Event Header:"
msgstr ""
-#: dialogs.c:662
+#: dialogs.c:664
msgid "Old Save Style (as opposed to PGN)"
msgstr ""
-#: dialogs.c:663
+#: dialogs.c:665
msgid "Include Number Tag in tourney PGN"
msgstr ""
-#: dialogs.c:664
+#: dialogs.c:666
msgid "Save Score/Depth Info in PGN"
msgstr ""
-#: dialogs.c:665
+#: dialogs.c:667
msgid "Save Out-of-Book Info in PGN "
msgstr ""
-#: dialogs.c:672
+#: dialogs.c:674
msgid "Save Game Options"
msgstr "儲存棋局選項"
-#: dialogs.c:681
+#: dialogs.c:683
msgid "No Sound"
msgstr "無聲"
-#: dialogs.c:682
+#: dialogs.c:684
msgid "Default Beep"
msgstr "預設聲音"
-#: dialogs.c:683
+#: dialogs.c:685
msgid "Above WAV File"
msgstr ""
-#: dialogs.c:684
+#: dialogs.c:686
msgid "Car Horn"
msgstr ""
-#: dialogs.c:685
+#: dialogs.c:687
msgid "Cymbal"
msgstr ""
-#: dialogs.c:686
+#: dialogs.c:688
msgid "Ding"
msgstr ""
-#: dialogs.c:687
+#: dialogs.c:689
msgid "Gong"
msgstr ""
-#: dialogs.c:688
+#: dialogs.c:690
msgid "Laser"
msgstr ""
-#: dialogs.c:689
+#: dialogs.c:691
msgid "Penalty"
msgstr ""
-#: dialogs.c:690
+#: dialogs.c:692
msgid "Phone"
msgstr ""
-#: dialogs.c:691
+#: dialogs.c:693
msgid "Pop"
msgstr ""
-#: dialogs.c:692
+#: dialogs.c:694
msgid "Slap"
msgstr ""
-#: dialogs.c:693
+#: dialogs.c:695
msgid "Wood Thunk"
msgstr ""
-#: dialogs.c:695
+#: dialogs.c:697
msgid "User File"
msgstr ""
-#: dialogs.c:717
+#: dialogs.c:719
msgid "User WAV File:"
msgstr ""
-#: dialogs.c:718
+#: dialogs.c:720
msgid "Sound Program:"
msgstr ""
-#: dialogs.c:719
+#: dialogs.c:721
msgid "Try-Out Sound:"
msgstr ""
-#: dialogs.c:720
+#: dialogs.c:722
msgid "Play"
msgstr "播放"
-#: dialogs.c:721
+#: dialogs.c:723
msgid "Move:"
msgstr ""
-#: dialogs.c:722
+#: dialogs.c:724
msgid "Win:"
msgstr ""
-#: dialogs.c:723
+#: dialogs.c:725
msgid "Lose:"
msgstr ""
-#: dialogs.c:724
+#: dialogs.c:726
msgid "Draw:"
msgstr ""
-#: dialogs.c:725
+#: dialogs.c:727
msgid "Unfinished:"
msgstr ""
-#: dialogs.c:726
+#: dialogs.c:728
msgid "Alarm:"
msgstr ""
-#: dialogs.c:727
+#: dialogs.c:729
msgid "Challenge:"
msgstr ""
-#: dialogs.c:729
+#: dialogs.c:731
msgid "Sounds Directory:"
msgstr ""
-#: dialogs.c:730
+#: dialogs.c:732
msgid "Shout:"
msgstr ""
-#: dialogs.c:731
+#: dialogs.c:733
msgid "S-Shout:"
msgstr ""
-#: dialogs.c:732
+#: dialogs.c:734
msgid "Channel:"
msgstr ""
-#: dialogs.c:733
+#: dialogs.c:735
msgid "Channel 1:"
msgstr ""
-#: dialogs.c:734
+#: dialogs.c:736
msgid "Tell:"
msgstr ""
-#: dialogs.c:735
+#: dialogs.c:737
msgid "Kibitz:"
msgstr ""
-#: dialogs.c:736
+#: dialogs.c:738
msgid "Request:"
msgstr ""
-#: dialogs.c:737
+#: dialogs.c:739
msgid "Seek:"
msgstr ""
-#: dialogs.c:753
+#: dialogs.c:755
msgid "Sound Options"
msgstr "聲音"
-#: dialogs.c:774
+#: dialogs.c:776
msgid "White Piece Color:"
msgstr ""
#. TRANSLATORS: R = single letter for the color red
-#: dialogs.c:777 dialogs.c:786 dialogs.c:792 dialogs.c:798 dialogs.c:804
-#: dialogs.c:810
+#: dialogs.c:779 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
+#: dialogs.c:812
msgid "R"
msgstr ""
#. TRANSLATORS: G = single letter for the color green
-#: dialogs.c:779 dialogs.c:787 dialogs.c:793 dialogs.c:799 dialogs.c:805
-#: dialogs.c:811
+#: dialogs.c:781 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
+#: dialogs.c:813
msgid "G"
msgstr ""
#. TRANSLATORS: B = single letter for the color blue
-#: dialogs.c:781 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
-#: dialogs.c:812
+#: dialogs.c:783 dialogs.c:790 dialogs.c:796 dialogs.c:802 dialogs.c:808
+#: dialogs.c:814
msgid "B"
msgstr ""
#. TRANSLATORS: D = single letter to make a color darker
-#: dialogs.c:783 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
-#: dialogs.c:813
+#: dialogs.c:785 dialogs.c:791 dialogs.c:797 dialogs.c:803 dialogs.c:809
+#: dialogs.c:815
msgid "D"
msgstr ""
-#: dialogs.c:784
+#: dialogs.c:786
msgid "Black Piece Color:"
msgstr "黑子"
-#: dialogs.c:790
+#: dialogs.c:792
msgid "Light Square Color:"
msgstr "白格"
-#: dialogs.c:796
+#: dialogs.c:798
msgid "Dark Square Color:"
msgstr "黑格"
-#: dialogs.c:802
+#: dialogs.c:804
msgid "Highlight Color:"
msgstr "格子標記"
-#: dialogs.c:808
+#: dialogs.c:810
msgid "Premove Highlight Color:"
msgstr "預先走棋標記"
-#: dialogs.c:814
+#: dialogs.c:816
msgid "Flip Pieces Shogi Style (Colored buttons restore default)"
msgstr ""
-#: dialogs.c:816
+#: dialogs.c:818
msgid "Mono Mode"
msgstr "黑白"
-#: dialogs.c:817
+#: dialogs.c:819
msgid "Line Gap ( -1 = default for board size):"
msgstr ""
-#: dialogs.c:818
+#: dialogs.c:820
msgid "Use Board Textures"
msgstr ""
-#: dialogs.c:819
+#: dialogs.c:821
msgid "Light-Squares Texture File:"
msgstr ""
-#: dialogs.c:820
+#: dialogs.c:822
msgid "Dark-Squares Texture File:"
msgstr ""
-#: dialogs.c:821
+#: dialogs.c:823
msgid "Use external piece bitmaps with their own colors"
msgstr ""
-#: dialogs.c:822
+#: dialogs.c:824
msgid "Directory with Pieces Images:"
msgstr ""
-#: dialogs.c:872
+#: dialogs.c:874
msgid "Board Options"
msgstr "棋盤選項"
-#: dialogs.c:925 menus.c:634
+#: dialogs.c:927 menus.c:634
msgid "ICS text menu"
msgstr ""
-#: dialogs.c:947
+#: dialogs.c:949
msgid "clear"
msgstr ""
-#: dialogs.c:948 dialogs.c:1036
+#: dialogs.c:950 dialogs.c:1038
msgid "save changes"
msgstr ""
-#: dialogs.c:1051
+#: dialogs.c:1053
#, fuzzy
msgid "Edit book"
msgstr "編輯(E)"
-#: dialogs.c:1051 menus.c:636
+#: dialogs.c:1053 menus.c:636
msgid "Tags"
msgstr "編輯標籤(T)"
-#: dialogs.c:1193
+#: dialogs.c:1195
msgid "ICS input box"
msgstr ""
-#: dialogs.c:1225
+#: dialogs.c:1227
msgid "Type a move"
msgstr ""
-#: dialogs.c:1251
+#: dialogs.c:1253
#, fuzzy
msgid "Engine has no options"
msgstr "引擎1有自用庫"
-#: dialogs.c:1253
+#: dialogs.c:1255
msgid "Engine Settings"
msgstr ""
-#: dialogs.c:1278
+#: dialogs.c:1280
msgid "Select engine from list:"
msgstr ""
-#: dialogs.c:1281
+#: dialogs.c:1283
msgid "or specify one below:"
msgstr ""
-#: dialogs.c:1282
+#: dialogs.c:1284
msgid "Nickname (optional):"
msgstr ""
-#: dialogs.c:1283
+#: dialogs.c:1285
msgid "Use nickname in PGN player tags of engine-engine games"
msgstr ""
-#: dialogs.c:1284
+#: dialogs.c:1286
msgid "Engine Directory:"
msgstr ""
-#: dialogs.c:1285
+#: dialogs.c:1287
msgid "Engine Command:"
msgstr ""
-#: dialogs.c:1286
+#: dialogs.c:1288
msgid "(Directory will be derived from engine path when empty)"
msgstr ""
-#: dialogs.c:1287
+#: dialogs.c:1289
msgid "UCI"
msgstr ""
-#: dialogs.c:1288
+#: dialogs.c:1290
msgid "WB protocol v1 (do not wait for engine features)"
msgstr ""
-#: dialogs.c:1289
+#: dialogs.c:1291
msgid "Must not use GUI book"
msgstr ""
-#: dialogs.c:1290
+#: dialogs.c:1292
msgid "Add this engine to the list"
msgstr ""
-#: dialogs.c:1291
+#: dialogs.c:1293
msgid "Force current variant with this engine"
msgstr ""
-#: dialogs.c:1341
+#: dialogs.c:1343
msgid "Load first engine"
msgstr ""
-#: dialogs.c:1347
+#: dialogs.c:1349
msgid "Load second engine"
msgstr ""
-#: dialogs.c:1370
+#: dialogs.c:1372
msgid "shuffle"
msgstr ""
-#: dialogs.c:1371
+#: dialogs.c:1373
msgid "Start-position number:"
msgstr "啟動位置號碼(S)"
-#: dialogs.c:1372
+#: dialogs.c:1374
#, fuzzy
msgid "randomize"
msgstr "隨機"
-#: dialogs.c:1373
+#: dialogs.c:1375
msgid "pick fixed"
msgstr ""
-#: dialogs.c:1390
+#: dialogs.c:1392
msgid "New Shuffle Game"
msgstr "洗牌遊戲(u)..."
-#: dialogs.c:1409
+#: dialogs.c:1411
msgid "classical"
msgstr ""
-#: dialogs.c:1410
+#: dialogs.c:1412
msgid "incremental"
msgstr ""
-#: dialogs.c:1411
+#: dialogs.c:1413
msgid "fixed max"
msgstr ""
-#: dialogs.c:1412
+#: dialogs.c:1414
msgid "Moves per session:"
msgstr ""
-#: dialogs.c:1413
+#: dialogs.c:1415
msgid "Initial time (min):"
msgstr ""
-#: dialogs.c:1414
+#: dialogs.c:1416
msgid "Increment or max (sec/move):"
msgstr ""
-#: dialogs.c:1415
+#: dialogs.c:1417
#, fuzzy
msgid "Time-Odds factors:"
msgstr "時間倍數"
-#: dialogs.c:1416
+#: dialogs.c:1418
#, fuzzy
msgid "Engine #1"
msgstr "引擎輸出"
-#: dialogs.c:1417
+#: dialogs.c:1419
#, fuzzy
msgid "Engine #2 / Human"
msgstr "引擎1有自用庫"
-#: dialogs.c:1457 dialogs.c:1460 dialogs.c:1465 dialogs.c:1466
+#: dialogs.c:1459 dialogs.c:1462 dialogs.c:1467 dialogs.c:1468
#: gtk/xoptions.c:191
msgid "Unused"
msgstr ""
-#: dialogs.c:1478
+#: dialogs.c:1480
msgid "Time Control"
msgstr ""
-#: dialogs.c:1507
+#: dialogs.c:1509
msgid "Error writing to chess program"
msgstr "發送訊息給國際象棋程式時出錯"
-#: dialogs.c:1574
+#: dialogs.c:1576
#, fuzzy
msgid "Cancel"
msgstr "取消(C)"
-#: dialogs.c:1579 dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1581 dialogs.c:1973 dialogs.c:1977
msgid "King"
msgstr "王"
-#: dialogs.c:1582
+#: dialogs.c:1584
msgid "Captain"
msgstr ""
-#: dialogs.c:1583
+#: dialogs.c:1585
msgid "Lieutenant"
msgstr ""
-#: dialogs.c:1584
+#: dialogs.c:1586
msgid "General"
msgstr "一般選項(G)..."
-#: dialogs.c:1585
+#: dialogs.c:1587
msgid "Warlord"
msgstr ""
-#: dialogs.c:1587 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1589 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Knight"
msgstr "馬"
-#: dialogs.c:1588 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1590 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Bishop"
msgstr "象"
-#: dialogs.c:1589 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1591 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Rook"
msgstr "車"
-#: dialogs.c:1593 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1595 dialogs.c:1974 dialogs.c:1978
msgid "Archbishop"
msgstr "國師"
-#: dialogs.c:1594 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1596 dialogs.c:1974 dialogs.c:1978
msgid "Chancellor"
msgstr "宰相"
-#: dialogs.c:1596 dialogs.c:1971 dialogs.c:1975 dialogs.c:1993
+#: dialogs.c:1598 dialogs.c:1973 dialogs.c:1977 dialogs.c:1995
msgid "Queen"
msgstr "后"
-#: dialogs.c:1600
+#: dialogs.c:1602
msgid "Defer"
msgstr ""
-#: dialogs.c:1601 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1603 dialogs.c:1974 dialogs.c:1978
msgid "Promote"
msgstr "升變"
-#: dialogs.c:1616
+#: dialogs.c:1618
msgid "Chat partner:"
msgstr ""
-#: dialogs.c:1701
+#: dialogs.c:1703
msgid "Chat box"
msgstr ""
-#: dialogs.c:1742
+#: dialogs.c:1744
msgid "factory"
msgstr ""
-#: dialogs.c:1743
+#: dialogs.c:1745
msgid "up"
msgstr "向上"
-#: dialogs.c:1744
+#: dialogs.c:1746
msgid "down"
msgstr "向下"
-#: dialogs.c:1762
+#: dialogs.c:1764
msgid "No tag selected"
msgstr ""
-#: dialogs.c:1793
+#: dialogs.c:1795
#, fuzzy
msgid "Game-list options"
msgstr "載入棋局選項"
-#: dialogs.c:1869 dialogs.c:1883
+#: dialogs.c:1871 dialogs.c:1885
msgid "Error"
msgstr "錯誤"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Fatal Error"
msgstr "嚴重錯誤"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Exiting"
msgstr "離開"
-#: dialogs.c:1917
+#: dialogs.c:1919
msgid "Information"
msgstr "資訊"
-#: dialogs.c:1924
+#: dialogs.c:1926
msgid "Note"
msgstr "註解"
-#: dialogs.c:1970 dialogs.c:2245 dialogs.c:2248
+#: dialogs.c:1972 dialogs.c:2252 dialogs.c:2255
msgid "White"
msgstr "紅方"
-#: dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Pawn"
msgstr "兵"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Elephant"
msgstr "象"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Cannon"
msgstr "炮"
-#: dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1974 dialogs.c:1978
msgid "Demote"
msgstr "降級"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Empty square"
msgstr "清空格子"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Clear board"
msgstr "清空棋盤"
-#: dialogs.c:1974 dialogs.c:2257 dialogs.c:2260
+#: dialogs.c:1976 dialogs.c:2264 dialogs.c:2267
msgid "Black"
msgstr "黑方"
-#: dialogs.c:2073 menus.c:787
+#: dialogs.c:2075 menus.c:787
msgid "File"
msgstr "檔案(F)"
-#: dialogs.c:2074 menus.c:788
+#: dialogs.c:2076 menus.c:788
msgid "Edit"
msgstr "編輯(E)"
-#: dialogs.c:2075 menus.c:789
+#: dialogs.c:2077 menus.c:789
msgid "View"
msgstr ""
-#: dialogs.c:2076 menus.c:790
+#: dialogs.c:2078 menus.c:790
msgid "Mode"
msgstr "模式(M)"
-#: dialogs.c:2077 menus.c:791
+#: dialogs.c:2079 menus.c:791
msgid "Action"
msgstr "行為(A)"
-#: dialogs.c:2078 menus.c:792
+#: dialogs.c:2080 menus.c:792
msgid "Engine"
msgstr ""
-#: dialogs.c:2079 menus.c:793
+#: dialogs.c:2081 menus.c:793
msgid "Options"
msgstr "選項(O)"
-#: dialogs.c:2080 menus.c:794
+#: dialogs.c:2082 menus.c:794
msgid "Help"
msgstr "說明(H)"
-#: dialogs.c:2090
+#: dialogs.c:2092
msgid "<<"
msgstr ""
-#: dialogs.c:2091
+#: dialogs.c:2093
msgid "<"
msgstr ""
-#: dialogs.c:2093
+#: dialogs.c:2095
msgid ">"
msgstr ""
-#: dialogs.c:2094
+#: dialogs.c:2096
msgid ">>"
msgstr ""
-#: dialogs.c:2364
+#: dialogs.c:2371
msgid "Directories:"
msgstr ""
-#: dialogs.c:2365
+#: dialogs.c:2372
#, fuzzy
msgid "Files:"
msgstr "檔案(F)"
-#: dialogs.c:2366
+#: dialogs.c:2373
msgid "by name"
msgstr ""
-#: dialogs.c:2367
+#: dialogs.c:2374
msgid "by type"
msgstr ""
-#: dialogs.c:2370
+#: dialogs.c:2377
#, fuzzy
msgid "Filename:"
msgstr "過濾器"
-#: dialogs.c:2371
+#: dialogs.c:2378
msgid "New directory"
msgstr ""
-#: dialogs.c:2372
+#: dialogs.c:2379
#, fuzzy
msgid "File type:"
msgstr "過濾器"
-#: dialogs.c:2447
+#: dialogs.c:2454
#, fuzzy
msgid "Contents of"
msgstr "編輯註解(C) *.*"
-#: dialogs.c:2473
+#: dialogs.c:2480
msgid " next page"
msgstr ""
-#: dialogs.c:2495
+#: dialogs.c:2502
msgid "FIRST TYPE DIRECTORY NAME HERE"
msgstr ""
-#: dialogs.c:2496
+#: dialogs.c:2503
msgid "TRY ANOTHER NAME"
msgstr ""
msgstr ""
"Project-Id-Version: GNU xboard master-20110507\n"
"Report-Msgid-Bugs-To: bug-xboard@gnu.org\n"
-"POT-Creation-Date: 2013-08-28 21:49-0700\n"
+"POT-Creation-Date: 2013-08-28 22:03-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: args.h:820
+#: args.h:821
#, c-format
msgid "%s in settings file\n"
msgstr ""
-#: args.h:830
+#: args.h:831
#, c-format
msgid "Bad integer value %s"
msgstr ""
-#: args.h:923 args.h:1164
+#: args.h:924 args.h:1165
#, c-format
msgid "Unrecognized argument %s"
msgstr ""
-#: args.h:954
+#: args.h:955
#, c-format
msgid "No value provided for argument %s"
msgstr ""
-#: args.h:1014
+#: args.h:1015
#, c-format
msgid "Incomplete \\ escape in value for %s"
msgstr ""
-#: args.h:1119
+#: args.h:1120
#, c-format
msgid "Failed to open indirection file %s"
msgstr ""
-#: args.h:1136
+#: args.h:1137
#, c-format
msgid "Unrecognized boolean argument value %s"
msgstr ""
#. TRANSLATORS: "first" is the first of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:744
+#: backend.c:753
msgid "first"
msgstr ""
#. TRANSLATORS: "second" is the second of possible two chess engines. It is inserted into strings
#. such as "%s engine" / "%s chess program" / "%s machine" - all meaning the same thing
-#: backend.c:747
+#: backend.c:756
msgid "second"
msgstr ""
-#: backend.c:827
+#: backend.c:837
#, c-format
msgid "protocol version %d not supported"
msgstr "通訊協定版本 %d 不被支持"
-#: backend.c:933
+#: backend.c:943
msgid "You did not specify the engine executable"
msgstr ""
-#: backend.c:989
+#: backend.c:999
#, c-format
msgid "bad timeControl option %s"
msgstr "非法的\"timeControl\"(時間控制)選項 %s"
-#: backend.c:1004
+#: backend.c:1014
#, c-format
msgid "bad searchTime option %s"
msgstr "非法的\"searchTime\"(搜尋時間)選項 %s"
-#: backend.c:1110
+#: backend.c:1120
#, c-format
msgid "Variant %s supported only in ICS mode"
msgstr "變體 %s 只在ICS模式下支持"
-#: backend.c:1128
+#: backend.c:1138
#, c-format
msgid "Unknown variant name %s"
msgstr "未知的變體名 %s"
-#: backend.c:1375
+#: backend.c:1386
msgid "Starting chess program"
msgstr "啟動國際象棋程式"
-#: backend.c:1398
+#: backend.c:1409
msgid "Bad game file"
msgstr "棋局檔案錯誤"
-#: backend.c:1405
+#: backend.c:1416
msgid "Bad position file"
msgstr "盤面檔案錯誤"
-#: backend.c:1419
+#: backend.c:1430
msgid "Pick new game"
msgstr ""
-#: backend.c:1488
+#: backend.c:1499
msgid ""
"You restarted an already completed tourney\n"
"One more cycle will now be added to it\n"
"Games commence in 10 sec"
msgstr ""
-#: backend.c:1495
+#: backend.c:1506
#, c-format
msgid "All games in tourney '%s' are already played or playing"
msgstr ""
-#: backend.c:1502
+#: backend.c:1513
msgid "Can't have a match with no chess programs"
msgstr "沒有象棋程式時無法進行比賽"
-#: backend.c:1539
+#: backend.c:1550
#, c-format
msgid "Could not open comm port %s"
msgstr "無法打開通訊連接埠 %s"
-#: backend.c:1542
+#: backend.c:1553
#, c-format
msgid "Could not connect to host %s, port %s"
msgstr "無法連接主機 %s 連接埠 %s"
-#: backend.c:1598
+#: backend.c:1609
#, c-format
msgid "Unknown initialMode %s"
msgstr "未知的\"initialMode\"(初始模式)選項 %s"
-#: backend.c:1624
+#: backend.c:1635
msgid "AnalyzeFile mode requires a game file"
msgstr "\"AnalyzeFile\"(分析檔案)模式必須指定一個棋局檔案"
-#: backend.c:1651
+#: backend.c:1662
msgid "Analysis mode requires a chess engine"
msgstr "\"Analysis\"(分析)模式必須啟動國際象棋引擎"
-#: backend.c:1655
+#: backend.c:1666
msgid "Analysis mode does not work with ICS mode"
msgstr "\"Analysis\"(分析)模式無法在ICS模式下工作"
-#: backend.c:1666
+#: backend.c:1677
msgid "MachineWhite mode requires a chess engine"
msgstr "\"MachineWhite\"(電腦執紅)模式必須啟動國際象棋引擎"
-#: backend.c:1671
+#: backend.c:1682
msgid "MachineWhite mode does not work with ICS mode"
msgstr "\"MachineWhite\"(電腦執紅)模式無法在ICS模式下運行"
-#: backend.c:1678
+#: backend.c:1689
msgid "MachineBlack mode requires a chess engine"
msgstr "\"MachineBlack\"(電腦執黑)模式必須啟動國際象棋引擎"
-#: backend.c:1683
+#: backend.c:1694
msgid "MachineBlack mode does not work with ICS mode"
msgstr "\"MachineBlack\"(電腦執黑)模式無法在ICS模式下運行"
-#: backend.c:1690
+#: backend.c:1701
msgid "TwoMachines mode requires a chess engine"
msgstr "\"TwoMachines\"(分析)模式必須啟動國際象棋引擎"
-#: backend.c:1695
+#: backend.c:1706
msgid "TwoMachines mode does not work with ICS mode"
msgstr "\"TwoMachines\"(電腦對弈)模式無法在ICS模式下運行"
-#: backend.c:1706
+#: backend.c:1717
msgid "Training mode requires a game file"
msgstr "\"Training\"(訓練)模式必須指定一個棋局檔案"
-#: backend.c:1869 backend.c:1924 backend.c:1947 backend.c:2346
+#: backend.c:1880 backend.c:1935 backend.c:1958 backend.c:2357
msgid "Error writing to ICS"
msgstr "發送訊息給ICS時出錯"
-#: backend.c:1884
+#: backend.c:1895
msgid "Error reading from keyboard"
msgstr "讀取鍵盤時出錯"
-#: backend.c:1887
+#: backend.c:1898
msgid "Got end of file from keyboard"
msgstr "讀取鍵盤時遇到檔案尾"
-#: backend.c:2192
+#: backend.c:2203
#, c-format
msgid "Unknown wild type %d"
msgstr ""
-#: backend.c:2263 usystem.c:329
+#: backend.c:2274 usystem.c:329
msgid "Error writing to display"
msgstr "發送訊息給顯示器時出錯"
-#: backend.c:3019
+#: backend.c:3030
#, c-format
msgid "your opponent kibitzes: %s"
msgstr ""
-#: backend.c:3548
+#: backend.c:3559
msgid "Error gathering move list: two headers"
msgstr "讀取著法時出錯,出現兩個開頭"
-#: backend.c:3595
+#: backend.c:3606
msgid "Error gathering move list: nested"
msgstr "讀取著法時出錯,巢狀錯誤"
-#: backend.c:3699 backend.c:4117 backend.c:4321 backend.c:4880 backend.c:4884
-#: backend.c:6900 backend.c:12082 backend.c:13797 backend.c:13874
-#: backend.c:13920 backend.c:13926 backend.c:13931 backend.c:13936
+#: backend.c:3710 backend.c:4128 backend.c:4332 backend.c:4891 backend.c:4895
+#: backend.c:6919 backend.c:12213 backend.c:13928 backend.c:14005
+#: backend.c:14051 backend.c:14057 backend.c:14062 backend.c:14067
msgid "vs."
msgstr ""
-#: backend.c:3827
+#: backend.c:3838
msgid "Illegal move (rejected by ICS)"
msgstr ""
-#: backend.c:4165
+#: backend.c:4176
msgid "Connection closed by ICS"
msgstr "連接被ICS關閉"
-#: backend.c:4167
+#: backend.c:4178
msgid "Error reading from ICS"
msgstr "讀取ICS訊息時出錯"
-#: backend.c:4244
+#: backend.c:4255
#, c-format
msgid ""
"Failed to parse board string:\n"
"\"%s\""
msgstr ""
-#: backend.c:4253 backend.c:9755
+#: backend.c:4264 backend.c:9885
msgid "Game too long; increase MAX_MOVES and recompile"
msgstr "棋局太長,需要增加\"MAX_MOVES\"並重新編譯"
-#: backend.c:4372
+#: backend.c:4383
msgid "Error gathering move list: extra board"
msgstr "讀取著法時出錯,超出棋盤"
-#: backend.c:4804 backend.c:4826
+#: backend.c:4815 backend.c:4837
#, c-format
msgid "Couldn't parse move \"%s\" from ICS"
msgstr "無法解析從ICS讀到的著法\"%s\""
-#: backend.c:5063
+#: backend.c:5074
#, c-format
msgid "say Internal error; bad moveType %d (%d,%d-%d,%d)"
msgstr "say 內部錯誤,非法的\"moveType\"(著法類型) %d (%d,%d-%d,%d)"
-#: backend.c:5133
+#: backend.c:5145
msgid "You cannot do this while you are playing or observing"
msgstr ""
-#: backend.c:6029
+#: backend.c:6046
msgid "Recompile to support this BOARD_RANKS or BOARD_FILES!"
msgstr ""
-#: backend.c:6491
+#: backend.c:6510
msgid "You are playing Black"
msgstr "你在執黑"
-#: backend.c:6500 backend.c:6527
+#: backend.c:6519 backend.c:6546
msgid "You are playing White"
msgstr "你在執紅"
-#: backend.c:6509 backend.c:6535 backend.c:6655 backend.c:6680 backend.c:6696
-#: backend.c:14573
+#: backend.c:6528 backend.c:6554 backend.c:6674 backend.c:6699 backend.c:6715
+#: backend.c:14705
msgid "It is White's turn"
msgstr "輪到紅方走棋"
-#: backend.c:6513 backend.c:6539 backend.c:6663 backend.c:6686 backend.c:6717
-#: backend.c:14565
+#: backend.c:6532 backend.c:6558 backend.c:6682 backend.c:6705 backend.c:6736
+#: backend.c:14697
msgid "It is Black's turn"
msgstr "輪到黑方走棋"
-#: backend.c:6552
+#: backend.c:6571
msgid "Displayed position is not current"
msgstr "顯示的盤面不是當前盤面"
-#: backend.c:6790
+#: backend.c:6809
msgid "Illegal move"
msgstr "著法錯誤"
-#: backend.c:6857
+#: backend.c:6876
msgid "End of game"
msgstr "棋局結束"
-#: backend.c:6860
+#: backend.c:6879
msgid "Incorrect move"
msgstr "著法錯誤"
-#: backend.c:7169 backend.c:7296
+#: backend.c:7257 backend.c:7392
msgid "Pull pawn backwards to under-promote"
msgstr ""
-#: backend.c:7527
+#: backend.c:7364
+msgid "only marked squares are legal"
+msgstr ""
+
+#: backend.c:7624
msgid "Swiss tourney finished"
msgstr ""
-#: backend.c:8102
+#: backend.c:8199
msgid "Invalid pairing from pairing engine"
msgstr ""
-#: backend.c:8235
+#: backend.c:8332
#, c-format
msgid "Illegal move \"%s\" from %s machine"
msgstr "從%s機器讀到不合法著法\"%s\""
-#: backend.c:8456
+#: backend.c:8564
msgid "Bad FEN received from engine"
msgstr ""
-#: backend.c:8600 backend.c:13662 backend.c:13727
+#: backend.c:8730 backend.c:13793 backend.c:13858
#, c-format
msgid "%s does not support analysis"
msgstr "%s 不支持分析功能"
-#: backend.c:8666
+#: backend.c:8796
#, c-format
msgid "Illegal move \"%s\" (rejected by %s chess program)"
msgstr "不合法著法\"%s\" (%s國際象棋程式拒絕接受該著法)"
-#: backend.c:8693
+#: backend.c:8823
#, c-format
msgid "Failed to start %s chess program %s on %s: %s\n"
msgstr "無法啟動%s國際象棋程式 %s(在主機 %s 上),%s\n"
-#: backend.c:8714
+#: backend.c:8844
#, c-format
msgid "Hint: %s"
msgstr "提示 %s"
-#: backend.c:8719
+#: backend.c:8849
#, c-format
msgid ""
"Illegal hint move \"%s\"\n"
"from %s chess program"
msgstr ""
-#: backend.c:8894
+#: backend.c:9024
msgid "Machine accepts your draw offer"
msgstr "電腦同意和棋"
-#: backend.c:8897
+#: backend.c:9027
msgid ""
"Machine offers a draw\n"
"Select Action / Draw to agree"
msgstr ""
-#: backend.c:8976
+#: backend.c:9106
msgid "failed writing PV"
msgstr ""
-#: backend.c:9274
+#: backend.c:9404
#, c-format
msgid "Ambiguous move in ICS output: \"%s\""
msgstr "ICS輸出不明確的著法\"%s\""
-#: backend.c:9284
+#: backend.c:9414
#, c-format
msgid "Illegal move in ICS output: \"%s\""
msgstr "ICS輸出不明確的著法\"%s\""
-#: backend.c:9295
+#: backend.c:9425
msgid "Gap in move list"
msgstr "著法斷開"
-#: backend.c:9916 dialogs.c:460
+#: backend.c:10046 dialogs.c:461
#, c-format
msgid "Variant %s not supported by %s"
msgstr "變體 %s 不被 %s 所支持"
-#: backend.c:10037
+#: backend.c:10167
#, c-format
msgid "Startup failure on '%s'"
msgstr "無法啟動'%s'"
-#: backend.c:10068
+#: backend.c:10198
msgid "Waiting for first chess program"
msgstr "等待第一個國際象棋程式"
-#: backend.c:10073 backend.c:13945
+#: backend.c:10203 backend.c:14076
msgid "Waiting for second chess program"
msgstr "等待第二個國際象棋程式"
-#: backend.c:10122
+#: backend.c:10252
msgid "Could not write on tourney file"
msgstr ""
-#: backend.c:10196
+#: backend.c:10326
msgid ""
"You cannot replace an engine while it is engaged!\n"
"Terminate its game first."
msgstr ""
-#: backend.c:10210
+#: backend.c:10340
msgid "No engine with the name you gave is installed"
msgstr ""
-#: backend.c:10212
+#: backend.c:10342
msgid ""
"First change an engine by editing the participants list\n"
"of the Tournament Options dialog"
msgstr ""
-#: backend.c:10213
+#: backend.c:10343
msgid "You can only change one engine at the time"
msgstr ""
-#: backend.c:10228 backend.c:10375
+#: backend.c:10358 backend.c:10505
#, c-format
msgid "No engine %s is installed"
msgstr ""
-#: backend.c:10248
+#: backend.c:10378
msgid ""
"You must supply a tournament file,\n"
"for storing the tourney progress"
msgstr ""
-#: backend.c:10258
+#: backend.c:10388
msgid "Not enough participants"
msgstr ""
-#: backend.c:10459
+#: backend.c:10589
msgid "Bad tournament file"
msgstr ""
-#: backend.c:10471
+#: backend.c:10601
msgid "Waiting for other game(s)"
msgstr ""
-#: backend.c:10484
+#: backend.c:10614
msgid "No pairing engine specified"
msgstr ""
-#: backend.c:10961
+#: backend.c:11092
#, c-format
msgid "Match %s vs. %s: final score %d-%d-%d"
msgstr "比賽 %s vs. %s: 最終比分 %d-%d-%d"
-#: backend.c:11423 backend.c:11454
+#: backend.c:11554 backend.c:11585
#, c-format
msgid "Illegal move: %d.%s%s"
msgstr "不合法著法 %d.%s%s"
-#: backend.c:11443
+#: backend.c:11574
#, c-format
msgid "Ambiguous move: %d.%s%s"
msgstr "不明確的著法 %d.%s%s"
-#: backend.c:11496 backend.c:12505 backend.c:12698 backend.c:13059
+#: backend.c:11627 backend.c:12636 backend.c:12829 backend.c:13190
#, c-format
msgid "Can't open \"%s\""
msgstr "無法打開\"%s\""
-#: backend.c:11508 menus.c:116
+#: backend.c:11639 menus.c:116
msgid "Cannot build game list"
msgstr "無法建立棋局列表"
-#: backend.c:11593
+#: backend.c:11724
msgid "No more games in this message"
msgstr "這條訊息不包含更多的棋局"
-#: backend.c:11633
+#: backend.c:11764
msgid "No game has been loaded yet"
msgstr "尚未有棋局載入"
-#: backend.c:11637 backend.c:12486 ngamelist.c:129
+#: backend.c:11768 backend.c:12617 ngamelist.c:129
msgid "Can't back up any further"
msgstr "無法再後退了"
-#: backend.c:12058
+#: backend.c:12189
msgid "Game number out of range"
msgstr "棋局數量超出範圍"
-#: backend.c:12069
+#: backend.c:12200
msgid "Can't seek on game file"
msgstr "無法搜尋棋局檔案"
-#: backend.c:12127
+#: backend.c:12258
msgid "Game not found in file"
msgstr "檔案中沒有找到棋局"
-#: backend.c:12255 backend.c:12582
+#: backend.c:12386 backend.c:12713
msgid "Bad FEN position in file"
msgstr "檔案中的FEN盤面錯誤"
-#: backend.c:12407
+#: backend.c:12538
msgid "No moves in game"
msgstr "棋局中沒有著法"
-#: backend.c:12482
+#: backend.c:12613
msgid "No position has been loaded yet"
msgstr "尚未有盤面載入"
-#: backend.c:12543 backend.c:12554
+#: backend.c:12674 backend.c:12685
msgid "Can't seek on position file"
msgstr "無法搜尋盤面檔案"
-#: backend.c:12561 backend.c:12573
+#: backend.c:12692 backend.c:12704
msgid "Position not found in file"
msgstr "檔案中沒有找到盤面"
-#: backend.c:12613
+#: backend.c:12744
msgid "Black to play"
msgstr "輪到黑方走棋"
-#: backend.c:12616
+#: backend.c:12747
msgid "White to play"
msgstr "輪到紅方走棋"
-#: backend.c:12703 backend.c:13064
+#: backend.c:12834 backend.c:13195
msgid "Waiting for access to save file"
msgstr ""
-#: backend.c:12705
+#: backend.c:12836
msgid "Saving game"
msgstr ""
-#: backend.c:12706
+#: backend.c:12837
msgid "Bad Seek"
msgstr ""
-#: backend.c:13066
+#: backend.c:13197
msgid "Saving position"
msgstr ""
-#: backend.c:13192
+#: backend.c:13323
msgid ""
"You have edited the game history.\n"
"Use Reload Same Game and make your move again."
msgstr ""
-#: backend.c:13197
+#: backend.c:13328
msgid ""
"You have entered too many moves.\n"
"Back up to the correct position and try again."
msgstr ""
-#: backend.c:13202
+#: backend.c:13333
msgid ""
"Displayed position is not current.\n"
"Step forward to the correct position and try again."
msgstr ""
-#: backend.c:13249
+#: backend.c:13380
msgid "You have not made a move yet"
msgstr "你尚未走棋"
-#: backend.c:13270
+#: backend.c:13401
msgid ""
"The cmail message is not loaded.\n"
"Use Reload CMail Message and make your move again."
msgstr ""
-#: backend.c:13275
+#: backend.c:13406
msgid "No unfinished games"
msgstr "不存在未完成棋局"
-#: backend.c:13281
+#: backend.c:13412
#, c-format
msgid ""
"You have already mailed a move.\n"
"on the command line."
msgstr ""
-#: backend.c:13296
+#: backend.c:13427
msgid "Failed to invoke cmail"
msgstr "呼叫cmail失敗"
-#: backend.c:13358
+#: backend.c:13489
#, c-format
msgid "Waiting for reply from opponent\n"
msgstr "等待對手回應\n"
-#: backend.c:13380
+#: backend.c:13511
#, c-format
msgid "Still need to make move for game\n"
msgstr "本棋局仍需走棋\n"
-#: backend.c:13384
+#: backend.c:13515
#, c-format
msgid "Still need to make moves for both games\n"
msgstr "兩棋局皆仍需走棋\n"
-#: backend.c:13388
+#: backend.c:13519
#, c-format
msgid "Still need to make moves for all %d games\n"
msgstr "所有 %d 棋局皆仍需走棋\n"
-#: backend.c:13395
+#: backend.c:13526
#, c-format
msgid "Still need to make a move for game %s\n"
msgstr "棋局 %s 仍需走棋\n"
-#: backend.c:13401
+#: backend.c:13532
#, c-format
msgid "No unfinished games\n"
msgstr "不存在未完成棋局\n"
-#: backend.c:13403
+#: backend.c:13534
#, c-format
msgid "Ready to send mail\n"
msgstr "準備送信就緒\n"
-#: backend.c:13408
+#: backend.c:13539
#, c-format
msgid "Still need to make moves for games %s\n"
msgstr "棋局 %s 仍需走棋\n"
-#: backend.c:13612
+#: backend.c:13743
msgid "Edit comment"
msgstr "編輯註解"
-#: backend.c:13614
+#: backend.c:13745
#, c-format
msgid "Edit comment on %d.%s%s"
msgstr "編輯註解 %d.%s%s"
-#: backend.c:13669
+#: backend.c:13800
#, c-format
msgid "You are not observing a game"
msgstr ""
-#: backend.c:13777
+#: backend.c:13908
msgid "It is not White's turn"
msgstr "沒有輪到紅方走棋"
-#: backend.c:13858
+#: backend.c:13989
msgid "It is not Black's turn"
msgstr "沒有輪到黑方走棋"
-#: backend.c:13966
+#: backend.c:14097
#, c-format
msgid "Starting %s chess program"
msgstr ""
-#: backend.c:13994 backend.c:15108
+#: backend.c:14125 backend.c:15240
msgid ""
"Wait until your turn,\n"
"or select Move Now"
msgstr ""
-#: backend.c:14128
+#: backend.c:14259
msgid "Training mode off"
msgstr "訓練模式已關閉"
-#: backend.c:14136
+#: backend.c:14267
msgid "Training mode on"
msgstr "訓練模式已打開"
-#: backend.c:14139
+#: backend.c:14270
msgid "Already at end of game"
msgstr "棋局已經結束"
-#: backend.c:14219
+#: backend.c:14350
msgid "Warning: You are still playing a game"
msgstr "注意:你正在進行棋局"
-#: backend.c:14222
+#: backend.c:14353
msgid "Warning: You are still observing a game"
msgstr "注意:你正在觀棋棋局"
-#: backend.c:14225
+#: backend.c:14356
msgid "Warning: You are still examining a game"
msgstr "注意:你正在研究棋局"
-#: backend.c:14292
+#: backend.c:14423
msgid "Click clock to clear board"
msgstr ""
-#: backend.c:14302
+#: backend.c:14433
msgid "Close ICS engine analyze..."
msgstr ""
-#: backend.c:14590
+#: backend.c:14722
msgid "That square is occupied"
msgstr "格子已有棋子"
-#: backend.c:14614 backend.c:14640
+#: backend.c:14746 backend.c:14772
msgid "There is no pending offer on this move"
msgstr "該著法沒有待定的提議"
-#: backend.c:14676 backend.c:14687
+#: backend.c:14808 backend.c:14819
msgid "Your opponent is not out of time"
msgstr "對手沒有超時"
-#: backend.c:14753
+#: backend.c:14885
msgid "You must make your move before offering a draw"
msgstr "必須走完棋才能提和"
-#: backend.c:15090
+#: backend.c:15222
msgid "You are not examining a game"
msgstr "沒有分析棋局"
-#: backend.c:15094
+#: backend.c:15226
msgid "You can't revert while pausing"
msgstr "暫停時不能復原棋局"
-#: backend.c:15148 backend.c:15155
+#: backend.c:15280 backend.c:15287
msgid "It is your turn"
msgstr "輪到你走棋"
-#: backend.c:15206 backend.c:15213 backend.c:15266 backend.c:15273
+#: backend.c:15338 backend.c:15345 backend.c:15398 backend.c:15405
msgid "Wait until your turn"
msgstr "等待對手走棋"
-#: backend.c:15218
+#: backend.c:15350
msgid "No hint available"
msgstr "沒有可用的提示"
-#: backend.c:15234 ngamelist.c:355
+#: backend.c:15366 ngamelist.c:355
#, fuzzy
msgid "Game list not loaded or empty"
msgstr "尚未有棋局載入"
-#: backend.c:15241
+#: backend.c:15373
msgid "Book file exists! Try again for overwrite."
msgstr ""
-#: backend.c:15719
+#: backend.c:15851
#, c-format
msgid "Error writing to %s chess program"
msgstr "發送訊息到%s國際象棋程式時出錯"
-#: backend.c:15722 backend.c:15753
+#: backend.c:15854 backend.c:15885
#, c-format
msgid "%s program exits in draw position (%s)"
msgstr ""
-#: backend.c:15748
+#: backend.c:15880
#, c-format
msgid "Error: %s chess program (%s) exited unexpectedly"
msgstr "錯誤:%s國際象棋程式(%s)異常終止"
-#: backend.c:15766
+#: backend.c:15898
#, c-format
msgid "Error reading from %s chess program (%s)"
msgstr "從%s國際象棋程式(%s)接收訊息時出錯"
-#: backend.c:16168
+#: backend.c:16301
#, c-format
msgid "%s engine has too many options\n"
msgstr ""
-#: backend.c:16324
+#: backend.c:16457
msgid "Displayed move is not current"
msgstr "顯示的著法不是當前著法"
-#: backend.c:16333
+#: backend.c:16466
msgid "Could not parse move"
msgstr "無法解析著法"
-#: backend.c:16458 backend.c:16480
+#: backend.c:16591 backend.c:16613
msgid "Both flags fell"
msgstr "雙方都超時了"
-#: backend.c:16460
+#: backend.c:16593
msgid "White's flag fell"
msgstr "紅方超時"
-#: backend.c:16482
+#: backend.c:16615
msgid "Black's flag fell"
msgstr "黑方超時"
-#: backend.c:16613
+#: backend.c:16746
msgid "Clock adjustment not allowed in auto-flag mode"
msgstr ""
-#: backend.c:17448
+#: backend.c:17585
msgid "Bad FEN position in clipboard"
msgstr "剪貼簿的FEN盤面錯誤"
msgid "First you must specify an existing tourney file to clone"
msgstr ""
-#: dialogs.c:332 dialogs.c:1320
+#: dialogs.c:332 dialogs.c:1322
msgid "# no engines are installed"
msgstr ""
msgid "Play Move(s) of Clicked PV (Analysis)"
msgstr ""
-#: dialogs.c:379 dialogs.c:514 menus.c:728
+#: dialogs.c:379 dialogs.c:515 menus.c:728
msgid "Ponder Next Move"
msgstr "同步思考(N)"
msgstr ""
#: dialogs.c:429
-msgid "fairy"
+msgid "ASEAN"
msgstr ""
#: dialogs.c:430
msgstr ""
#: dialogs.c:447
-msgid " "
+msgid "fairy"
msgstr ""
-#: dialogs.c:448
+#: dialogs.c:449
msgid "courier (12x8)"
msgstr ""
-#: dialogs.c:465
+#: dialogs.c:466
#, c-format
msgid "Warning: second engine (%s) does not support this!"
msgstr "警告: 第二個引擎(%s) 不支持此!"
-#: dialogs.c:488
+#: dialogs.c:489
#, c-format
msgid "Only bughouse is not available in viewer mode"
msgstr ""
-#: dialogs.c:489
+#: dialogs.c:490
#, c-format
msgid ""
"All variants not supported by first engine\n"
"(currently %s) are disabled"
msgstr ""
-#: dialogs.c:490
+#: dialogs.c:491
msgid "New Variant"
msgstr "變種"
-#: dialogs.c:515
+#: dialogs.c:516
msgid "Maximum Number of CPUs per Engine:"
msgstr "最大CPU數"
-#: dialogs.c:516
+#: dialogs.c:517
msgid "Polygot Directory:"
msgstr ""
-#: dialogs.c:517
+#: dialogs.c:518
msgid "Hash-Table Size (MB):"
msgstr "雜湊表大小(MB)"
-#: dialogs.c:518
+#: dialogs.c:519
msgid "Nalimov EGTB Path:"
msgstr "EGTB 路徑"
-#: dialogs.c:519
+#: dialogs.c:520
msgid "EGTB Cache Size (MB):"
msgstr "EGTB 大小(MB)"
-#: dialogs.c:520
+#: dialogs.c:521
msgid "Use GUI Book"
msgstr ""
-#: dialogs.c:521
+#: dialogs.c:522
msgid "Opening-Book Filename:"
msgstr ""
-#: dialogs.c:522
+#: dialogs.c:523
msgid "Book Depth (moves):"
msgstr "庫著法深度"
-#: dialogs.c:523
+#: dialogs.c:524
msgid "Book Variety (0) vs. Strength (100):"
msgstr "庫變例"
-#: dialogs.c:524
+#: dialogs.c:525
msgid "Engine #1 Has Own Book"
msgstr "引擎1有自用庫"
-#: dialogs.c:525
+#: dialogs.c:526
msgid "Engine #2 Has Own Book "
msgstr ""
-#: dialogs.c:534
+#: dialogs.c:535
msgid "Common Engine Settings"
msgstr "通用引擎設定"
-#: dialogs.c:540
+#: dialogs.c:541
msgid "Detect all Mates"
msgstr "檢測將殺(M)"
-#: dialogs.c:541
+#: dialogs.c:542
msgid "Verify Engine Result Claims"
msgstr "驗證引擎聲明(V)"
-#: dialogs.c:542
+#: dialogs.c:543
msgid "Draw if Insufficient Mating Material"
msgstr "子力不足時判和(I)"
-#: dialogs.c:543
+#: dialogs.c:544
msgid "Adjudicate Trivial Draws (3-Move Delay)"
msgstr "簡易和棋判決(T)"
-#: dialogs.c:544
+#: dialogs.c:545
msgid "N-Move Rule:"
msgstr ""
-#: dialogs.c:545
+#: dialogs.c:546
msgid "N-fold Repeats:"
msgstr ""
-#: dialogs.c:546
+#: dialogs.c:547
msgid "Draw after N Moves Total:"
msgstr "幾著後判和"
-#: dialogs.c:547
+#: dialogs.c:548
msgid "Win / Loss Threshold:"
msgstr "輸/贏判決門檻"
-#: dialogs.c:548
+#: dialogs.c:549
msgid "Negate Score of Engine #1"
msgstr "引擎 #1 是絕對分數"
-#: dialogs.c:549
+#: dialogs.c:550
msgid "Negate Score of Engine #2"
msgstr "引擎 #2 是絕對分數"
-#: dialogs.c:556
+#: dialogs.c:557
#, fuzzy
msgid "Adjudicate non-ICS Games"
msgstr "裁決紅贏 (W)"
-#: dialogs.c:569
+#: dialogs.c:570
msgid "Auto-Kibitz"
msgstr "自動\"kibitz\"(A)"
-#: dialogs.c:570
+#: dialogs.c:571
msgid "Auto-Comment"
msgstr "自動註解(A)"
-#: dialogs.c:571
+#: dialogs.c:572
msgid "Auto-Observe"
msgstr "自動觀棋(O)"
-#: dialogs.c:572
+#: dialogs.c:573
msgid "Auto-Raise Board"
msgstr "自動改變棋盤大小(R)"
-#: dialogs.c:573
+#: dialogs.c:574
msgid "Auto-Create Logon Script"
msgstr ""
-#: dialogs.c:574
+#: dialogs.c:575
msgid "Background Observe while Playing"
msgstr "背景觀察(v)"
-#: dialogs.c:575
+#: dialogs.c:576
msgid "Dual Board for Background-Observed Game"
msgstr "雙棋盤(D)"
-#: dialogs.c:576
+#: dialogs.c:577
msgid "Get Move List"
msgstr "取得著法列表(G)"
-#: dialogs.c:577
+#: dialogs.c:578
msgid "Quiet Play"
msgstr "落子無聲(Q)"
-#: dialogs.c:578
+#: dialogs.c:579
msgid "Seek Graph"
msgstr "可選對手圖表(k)"
-#: dialogs.c:579
+#: dialogs.c:580
msgid "Auto-Refresh Seek Graph"
msgstr "自動刷新圖表(R)"
-#: dialogs.c:580
+#: dialogs.c:581
msgid "Auto-InputBox PopUp"
msgstr ""
-#: dialogs.c:581
+#: dialogs.c:582
+msgid "Quit after game"
+msgstr ""
+
+#: dialogs.c:583
msgid "Premove"
msgstr "預先走棋(P)"
-#: dialogs.c:582
+#: dialogs.c:584
msgid "Premove for White"
msgstr ""
-#: dialogs.c:583
+#: dialogs.c:585
msgid "First White Move:"
msgstr "紅方先走(W)"
-#: dialogs.c:584
+#: dialogs.c:586
msgid "Premove for Black"
msgstr ""
-#: dialogs.c:585
+#: dialogs.c:587
msgid "First Black Move:"
msgstr "黑方先走(B)"
-#: dialogs.c:587
+#: dialogs.c:589
msgid "Alarm"
msgstr "提示"
-#: dialogs.c:588
+#: dialogs.c:590
msgid "Alarm Time (msec):"
msgstr ""
-#: dialogs.c:590
+#: dialogs.c:592
msgid "Colorize Messages"
msgstr ""
-#: dialogs.c:591
+#: dialogs.c:593
msgid "Shout Text Colors:"
msgstr ""
-#: dialogs.c:592
+#: dialogs.c:594
msgid "S-Shout Text Colors:"
msgstr ""
-#: dialogs.c:593
+#: dialogs.c:595
msgid "Channel #1 Text Colors:"
msgstr ""
-#: dialogs.c:594
+#: dialogs.c:596
msgid "Other Channel Text Colors:"
msgstr ""
-#: dialogs.c:595
+#: dialogs.c:597
msgid "Kibitz Text Colors:"
msgstr ""
-#: dialogs.c:596
+#: dialogs.c:598
msgid "Tell Text Colors:"
msgstr ""
-#: dialogs.c:597
+#: dialogs.c:599
msgid "Challenge Text Colors:"
msgstr ""
-#: dialogs.c:598
+#: dialogs.c:600
msgid "Request Text Colors:"
msgstr ""
-#: dialogs.c:599
+#: dialogs.c:601
msgid "Seek Text Colors:"
msgstr ""
-#: dialogs.c:606
+#: dialogs.c:608
msgid "ICS Options"
msgstr "ICS設定"
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Exact position match"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Shown position is subset"
msgstr ""
-#: dialogs.c:611
+#: dialogs.c:613
msgid "Same material with exactly same Pawn chain"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Same material"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material range (top board half optional)"
msgstr ""
-#: dialogs.c:612
+#: dialogs.c:614
msgid "Material difference (optional stuff balanced)"
msgstr ""
-#: dialogs.c:624
+#: dialogs.c:626
msgid "Auto-Display Tags"
msgstr ""
-#: dialogs.c:625
+#: dialogs.c:627
msgid "Auto-Display Comment"
msgstr ""
-#: dialogs.c:626
+#: dialogs.c:628
msgid ""
"Auto-Play speed of loaded games\n"
"(0 = instant, -1 = off):"
msgstr ""
-#: dialogs.c:627
+#: dialogs.c:629
msgid "Seconds per Move:"
msgstr ""
-#: dialogs.c:628
+#: dialogs.c:630
msgid ""
"\n"
"options to use in game-viewer mode:"
msgstr ""
-#: dialogs.c:630
+#: dialogs.c:632
msgid ""
"\n"
"Thresholds for position filtering in game list:"
msgstr ""
-#: dialogs.c:631
+#: dialogs.c:633
msgid "Elo of strongest player at least:"
msgstr ""
-#: dialogs.c:632
+#: dialogs.c:634
msgid "Elo of weakest player at least:"
msgstr ""
-#: dialogs.c:633
+#: dialogs.c:635
#, fuzzy
msgid "No games before year:"
msgstr "尚未有棋局載入"
-#: dialogs.c:634
+#: dialogs.c:636
msgid "Minimum nr consecutive positions:"
msgstr ""
-#: dialogs.c:635
+#: dialogs.c:637
msgid "Search mode:"
msgstr ""
-#: dialogs.c:636
+#: dialogs.c:638
msgid "Also match reversed colors"
msgstr ""
-#: dialogs.c:637
+#: dialogs.c:639
msgid "Also match left-right flipped position"
msgstr ""
-#: dialogs.c:645
+#: dialogs.c:647
msgid "Load Game Options"
msgstr "載入棋局選項"
-#: dialogs.c:657
+#: dialogs.c:659
msgid "Auto-Save Games"
msgstr ""
-#: dialogs.c:658
+#: dialogs.c:660
msgid "Own Games Only"
msgstr ""
-#: dialogs.c:659
+#: dialogs.c:661
msgid "Save Games on File:"
msgstr ""
-#: dialogs.c:660
+#: dialogs.c:662
msgid "Save Final Positions on File:"
msgstr ""
-#: dialogs.c:661
+#: dialogs.c:663
msgid "PGN Event Header:"
msgstr ""
-#: dialogs.c:662
+#: dialogs.c:664
msgid "Old Save Style (as opposed to PGN)"
msgstr ""
-#: dialogs.c:663
+#: dialogs.c:665
msgid "Include Number Tag in tourney PGN"
msgstr ""
-#: dialogs.c:664
+#: dialogs.c:666
msgid "Save Score/Depth Info in PGN"
msgstr ""
-#: dialogs.c:665
+#: dialogs.c:667
msgid "Save Out-of-Book Info in PGN "
msgstr ""
-#: dialogs.c:672
+#: dialogs.c:674
msgid "Save Game Options"
msgstr "儲存棋局選項"
-#: dialogs.c:681
+#: dialogs.c:683
msgid "No Sound"
msgstr "無聲"
-#: dialogs.c:682
+#: dialogs.c:684
msgid "Default Beep"
msgstr "預設聲音"
-#: dialogs.c:683
+#: dialogs.c:685
msgid "Above WAV File"
msgstr ""
-#: dialogs.c:684
+#: dialogs.c:686
msgid "Car Horn"
msgstr ""
-#: dialogs.c:685
+#: dialogs.c:687
msgid "Cymbal"
msgstr ""
-#: dialogs.c:686
+#: dialogs.c:688
msgid "Ding"
msgstr ""
-#: dialogs.c:687
+#: dialogs.c:689
msgid "Gong"
msgstr ""
-#: dialogs.c:688
+#: dialogs.c:690
msgid "Laser"
msgstr ""
-#: dialogs.c:689
+#: dialogs.c:691
msgid "Penalty"
msgstr ""
-#: dialogs.c:690
+#: dialogs.c:692
msgid "Phone"
msgstr ""
-#: dialogs.c:691
+#: dialogs.c:693
msgid "Pop"
msgstr ""
-#: dialogs.c:692
+#: dialogs.c:694
msgid "Slap"
msgstr ""
-#: dialogs.c:693
+#: dialogs.c:695
msgid "Wood Thunk"
msgstr ""
-#: dialogs.c:695
+#: dialogs.c:697
msgid "User File"
msgstr ""
-#: dialogs.c:717
+#: dialogs.c:719
msgid "User WAV File:"
msgstr ""
-#: dialogs.c:718
+#: dialogs.c:720
msgid "Sound Program:"
msgstr ""
-#: dialogs.c:719
+#: dialogs.c:721
msgid "Try-Out Sound:"
msgstr ""
-#: dialogs.c:720
+#: dialogs.c:722
msgid "Play"
msgstr "播放"
-#: dialogs.c:721
+#: dialogs.c:723
msgid "Move:"
msgstr ""
-#: dialogs.c:722
+#: dialogs.c:724
msgid "Win:"
msgstr ""
-#: dialogs.c:723
+#: dialogs.c:725
msgid "Lose:"
msgstr ""
-#: dialogs.c:724
+#: dialogs.c:726
msgid "Draw:"
msgstr ""
-#: dialogs.c:725
+#: dialogs.c:727
msgid "Unfinished:"
msgstr ""
-#: dialogs.c:726
+#: dialogs.c:728
msgid "Alarm:"
msgstr ""
-#: dialogs.c:727
+#: dialogs.c:729
msgid "Challenge:"
msgstr ""
-#: dialogs.c:729
+#: dialogs.c:731
msgid "Sounds Directory:"
msgstr ""
-#: dialogs.c:730
+#: dialogs.c:732
msgid "Shout:"
msgstr ""
-#: dialogs.c:731
+#: dialogs.c:733
msgid "S-Shout:"
msgstr ""
-#: dialogs.c:732
+#: dialogs.c:734
msgid "Channel:"
msgstr ""
-#: dialogs.c:733
+#: dialogs.c:735
msgid "Channel 1:"
msgstr ""
-#: dialogs.c:734
+#: dialogs.c:736
msgid "Tell:"
msgstr ""
-#: dialogs.c:735
+#: dialogs.c:737
msgid "Kibitz:"
msgstr ""
-#: dialogs.c:736
+#: dialogs.c:738
msgid "Request:"
msgstr ""
-#: dialogs.c:737
+#: dialogs.c:739
msgid "Seek:"
msgstr ""
-#: dialogs.c:753
+#: dialogs.c:755
msgid "Sound Options"
msgstr "聲音"
-#: dialogs.c:774
+#: dialogs.c:776
msgid "White Piece Color:"
msgstr ""
#. TRANSLATORS: R = single letter for the color red
-#: dialogs.c:777 dialogs.c:786 dialogs.c:792 dialogs.c:798 dialogs.c:804
-#: dialogs.c:810
+#: dialogs.c:779 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
+#: dialogs.c:812
msgid "R"
msgstr ""
#. TRANSLATORS: G = single letter for the color green
-#: dialogs.c:779 dialogs.c:787 dialogs.c:793 dialogs.c:799 dialogs.c:805
-#: dialogs.c:811
+#: dialogs.c:781 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
+#: dialogs.c:813
msgid "G"
msgstr ""
#. TRANSLATORS: B = single letter for the color blue
-#: dialogs.c:781 dialogs.c:788 dialogs.c:794 dialogs.c:800 dialogs.c:806
-#: dialogs.c:812
+#: dialogs.c:783 dialogs.c:790 dialogs.c:796 dialogs.c:802 dialogs.c:808
+#: dialogs.c:814
msgid "B"
msgstr ""
#. TRANSLATORS: D = single letter to make a color darker
-#: dialogs.c:783 dialogs.c:789 dialogs.c:795 dialogs.c:801 dialogs.c:807
-#: dialogs.c:813
+#: dialogs.c:785 dialogs.c:791 dialogs.c:797 dialogs.c:803 dialogs.c:809
+#: dialogs.c:815
msgid "D"
msgstr ""
-#: dialogs.c:784
+#: dialogs.c:786
msgid "Black Piece Color:"
msgstr "黑子"
-#: dialogs.c:790
+#: dialogs.c:792
msgid "Light Square Color:"
msgstr "白格"
-#: dialogs.c:796
+#: dialogs.c:798
msgid "Dark Square Color:"
msgstr "黑格"
-#: dialogs.c:802
+#: dialogs.c:804
msgid "Highlight Color:"
msgstr "格子標記"
-#: dialogs.c:808
+#: dialogs.c:810
msgid "Premove Highlight Color:"
msgstr "預先走棋標記"
-#: dialogs.c:814
+#: dialogs.c:816
msgid "Flip Pieces Shogi Style (Colored buttons restore default)"
msgstr ""
-#: dialogs.c:816
+#: dialogs.c:818
msgid "Mono Mode"
msgstr "黑白"
-#: dialogs.c:817
+#: dialogs.c:819
msgid "Line Gap ( -1 = default for board size):"
msgstr ""
-#: dialogs.c:818
+#: dialogs.c:820
msgid "Use Board Textures"
msgstr ""
-#: dialogs.c:819
+#: dialogs.c:821
msgid "Light-Squares Texture File:"
msgstr ""
-#: dialogs.c:820
+#: dialogs.c:822
msgid "Dark-Squares Texture File:"
msgstr ""
-#: dialogs.c:821
+#: dialogs.c:823
msgid "Use external piece bitmaps with their own colors"
msgstr ""
-#: dialogs.c:822
+#: dialogs.c:824
msgid "Directory with Pieces Images:"
msgstr ""
-#: dialogs.c:872
+#: dialogs.c:874
msgid "Board Options"
msgstr "棋盤選項"
-#: dialogs.c:925 menus.c:634
+#: dialogs.c:927 menus.c:634
msgid "ICS text menu"
msgstr ""
-#: dialogs.c:947
+#: dialogs.c:949
msgid "clear"
msgstr ""
-#: dialogs.c:948 dialogs.c:1036
+#: dialogs.c:950 dialogs.c:1038
msgid "save changes"
msgstr ""
-#: dialogs.c:1051
+#: dialogs.c:1053
#, fuzzy
msgid "Edit book"
msgstr "編輯(E)"
-#: dialogs.c:1051 menus.c:636
+#: dialogs.c:1053 menus.c:636
msgid "Tags"
msgstr "編輯標籤(T)"
-#: dialogs.c:1193
+#: dialogs.c:1195
msgid "ICS input box"
msgstr ""
-#: dialogs.c:1225
+#: dialogs.c:1227
msgid "Type a move"
msgstr ""
-#: dialogs.c:1251
+#: dialogs.c:1253
msgid "Engine has no options"
msgstr ""
-#: dialogs.c:1253
+#: dialogs.c:1255
msgid "Engine Settings"
msgstr ""
-#: dialogs.c:1278
+#: dialogs.c:1280
msgid "Select engine from list:"
msgstr ""
-#: dialogs.c:1281
+#: dialogs.c:1283
msgid "or specify one below:"
msgstr ""
-#: dialogs.c:1282
+#: dialogs.c:1284
msgid "Nickname (optional):"
msgstr ""
-#: dialogs.c:1283
+#: dialogs.c:1285
msgid "Use nickname in PGN player tags of engine-engine games"
msgstr ""
-#: dialogs.c:1284
+#: dialogs.c:1286
msgid "Engine Directory:"
msgstr ""
-#: dialogs.c:1285
+#: dialogs.c:1287
msgid "Engine Command:"
msgstr ""
-#: dialogs.c:1286
+#: dialogs.c:1288
msgid "(Directory will be derived from engine path when empty)"
msgstr ""
-#: dialogs.c:1287
+#: dialogs.c:1289
msgid "UCI"
msgstr ""
-#: dialogs.c:1288
+#: dialogs.c:1290
msgid "WB protocol v1 (do not wait for engine features)"
msgstr ""
-#: dialogs.c:1289
+#: dialogs.c:1291
msgid "Must not use GUI book"
msgstr ""
-#: dialogs.c:1290
+#: dialogs.c:1292
msgid "Add this engine to the list"
msgstr ""
-#: dialogs.c:1291
+#: dialogs.c:1293
msgid "Force current variant with this engine"
msgstr ""
-#: dialogs.c:1341
+#: dialogs.c:1343
msgid "Load first engine"
msgstr ""
-#: dialogs.c:1347
+#: dialogs.c:1349
msgid "Load second engine"
msgstr ""
-#: dialogs.c:1370
+#: dialogs.c:1372
msgid "shuffle"
msgstr ""
-#: dialogs.c:1371
+#: dialogs.c:1373
msgid "Start-position number:"
msgstr "啟動位置號碼(S)"
-#: dialogs.c:1372
+#: dialogs.c:1374
#, fuzzy
msgid "randomize"
msgstr "隨機"
-#: dialogs.c:1373
+#: dialogs.c:1375
msgid "pick fixed"
msgstr ""
-#: dialogs.c:1390
+#: dialogs.c:1392
msgid "New Shuffle Game"
msgstr "洗牌遊戲(u)..."
-#: dialogs.c:1409
+#: dialogs.c:1411
msgid "classical"
msgstr ""
-#: dialogs.c:1410
+#: dialogs.c:1412
msgid "incremental"
msgstr ""
-#: dialogs.c:1411
+#: dialogs.c:1413
msgid "fixed max"
msgstr ""
-#: dialogs.c:1412
+#: dialogs.c:1414
msgid "Moves per session:"
msgstr ""
-#: dialogs.c:1413
+#: dialogs.c:1415
msgid "Initial time (min):"
msgstr ""
-#: dialogs.c:1414
+#: dialogs.c:1416
msgid "Increment or max (sec/move):"
msgstr ""
-#: dialogs.c:1415
+#: dialogs.c:1417
#, fuzzy
msgid "Time-Odds factors:"
msgstr "時間倍數"
-#: dialogs.c:1416
+#: dialogs.c:1418
#, fuzzy
msgid "Engine #1"
msgstr "引擎輸出"
-#: dialogs.c:1417
+#: dialogs.c:1419
#, fuzzy
msgid "Engine #2 / Human"
msgstr "引擎1有自用庫"
-#: dialogs.c:1457 dialogs.c:1460 dialogs.c:1465 dialogs.c:1466
+#: dialogs.c:1459 dialogs.c:1462 dialogs.c:1467 dialogs.c:1468
#: gtk/xoptions.c:191
msgid "Unused"
msgstr ""
-#: dialogs.c:1478
+#: dialogs.c:1480
msgid "Time Control"
msgstr ""
-#: dialogs.c:1507
+#: dialogs.c:1509
msgid "Error writing to chess program"
msgstr "發送訊息給國際象棋程式時出錯"
-#: dialogs.c:1574
+#: dialogs.c:1576
#, fuzzy
msgid "Cancel"
msgstr "取消(C)"
-#: dialogs.c:1579 dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1581 dialogs.c:1973 dialogs.c:1977
msgid "King"
msgstr "王"
-#: dialogs.c:1582
+#: dialogs.c:1584
msgid "Captain"
msgstr ""
-#: dialogs.c:1583
+#: dialogs.c:1585
msgid "Lieutenant"
msgstr ""
-#: dialogs.c:1584
+#: dialogs.c:1586
msgid "General"
msgstr "一般選項(G)..."
-#: dialogs.c:1585
+#: dialogs.c:1587
msgid "Warlord"
msgstr ""
-#: dialogs.c:1587 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1589 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Knight"
msgstr "馬"
-#: dialogs.c:1588 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1590 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Bishop"
msgstr "象"
-#: dialogs.c:1589 dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1591 dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Rook"
msgstr "車"
-#: dialogs.c:1593 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1595 dialogs.c:1974 dialogs.c:1978
msgid "Archbishop"
msgstr "國師"
-#: dialogs.c:1594 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1596 dialogs.c:1974 dialogs.c:1978
msgid "Chancellor"
msgstr "宰相"
-#: dialogs.c:1596 dialogs.c:1971 dialogs.c:1975 dialogs.c:1993
+#: dialogs.c:1598 dialogs.c:1973 dialogs.c:1977 dialogs.c:1995
msgid "Queen"
msgstr "后"
-#: dialogs.c:1600
+#: dialogs.c:1602
msgid "Defer"
msgstr ""
-#: dialogs.c:1601 dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1603 dialogs.c:1974 dialogs.c:1978
msgid "Promote"
msgstr "升變"
-#: dialogs.c:1616
+#: dialogs.c:1618
msgid "Chat partner:"
msgstr ""
-#: dialogs.c:1701
+#: dialogs.c:1703
msgid "Chat box"
msgstr ""
-#: dialogs.c:1742
+#: dialogs.c:1744
msgid "factory"
msgstr ""
-#: dialogs.c:1743
+#: dialogs.c:1745
msgid "up"
msgstr "向上"
-#: dialogs.c:1744
+#: dialogs.c:1746
msgid "down"
msgstr "向下"
-#: dialogs.c:1762
+#: dialogs.c:1764
msgid "No tag selected"
msgstr ""
-#: dialogs.c:1793
+#: dialogs.c:1795
#, fuzzy
msgid "Game-list options"
msgstr "載入棋局選項"
-#: dialogs.c:1869 dialogs.c:1883
+#: dialogs.c:1871 dialogs.c:1885
msgid "Error"
msgstr "錯誤"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Fatal Error"
msgstr "嚴重錯誤"
-#: dialogs.c:1906
+#: dialogs.c:1908
msgid "Exiting"
msgstr "離開"
-#: dialogs.c:1917
+#: dialogs.c:1919
msgid "Information"
msgstr "資訊"
-#: dialogs.c:1924
+#: dialogs.c:1926
msgid "Note"
msgstr "註解"
-#: dialogs.c:1970 dialogs.c:2245 dialogs.c:2248
+#: dialogs.c:1972 dialogs.c:2252 dialogs.c:2255
msgid "White"
msgstr "紅方"
-#: dialogs.c:1970 dialogs.c:1974 dialogs.c:1993
+#: dialogs.c:1972 dialogs.c:1976 dialogs.c:1995
msgid "Pawn"
msgstr "兵"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Elephant"
msgstr "象"
-#: dialogs.c:1971 dialogs.c:1975
+#: dialogs.c:1973 dialogs.c:1977
msgid "Cannon"
msgstr "炮"
-#: dialogs.c:1972 dialogs.c:1976
+#: dialogs.c:1974 dialogs.c:1978
msgid "Demote"
msgstr "降級"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Empty square"
msgstr "清空格子"
-#: dialogs.c:1973 dialogs.c:1977
+#: dialogs.c:1975 dialogs.c:1979
msgid "Clear board"
msgstr "清空棋盤"
-#: dialogs.c:1974 dialogs.c:2257 dialogs.c:2260
+#: dialogs.c:1976 dialogs.c:2264 dialogs.c:2267
msgid "Black"
msgstr "黑方"
-#: dialogs.c:2073 menus.c:787
+#: dialogs.c:2075 menus.c:787
msgid "File"
msgstr "檔案(F)"
-#: dialogs.c:2074 menus.c:788
+#: dialogs.c:2076 menus.c:788
msgid "Edit"
msgstr "編輯(E)"
-#: dialogs.c:2075 menus.c:789
+#: dialogs.c:2077 menus.c:789
msgid "View"
msgstr ""
-#: dialogs.c:2076 menus.c:790
+#: dialogs.c:2078 menus.c:790
msgid "Mode"
msgstr "模式(M)"
-#: dialogs.c:2077 menus.c:791
+#: dialogs.c:2079 menus.c:791
msgid "Action"
msgstr "行為(A)"
-#: dialogs.c:2078 menus.c:792
+#: dialogs.c:2080 menus.c:792
msgid "Engine"
msgstr ""
-#: dialogs.c:2079 menus.c:793
+#: dialogs.c:2081 menus.c:793
msgid "Options"
msgstr "選項(O)"
-#: dialogs.c:2080 menus.c:794
+#: dialogs.c:2082 menus.c:794
msgid "Help"
msgstr "說明(H)"
-#: dialogs.c:2090
+#: dialogs.c:2092
msgid "<<"
msgstr ""
-#: dialogs.c:2091
+#: dialogs.c:2093
msgid "<"
msgstr ""
-#: dialogs.c:2093
+#: dialogs.c:2095
msgid ">"
msgstr ""
-#: dialogs.c:2094
+#: dialogs.c:2096
msgid ">>"
msgstr ""
-#: dialogs.c:2364
+#: dialogs.c:2371
msgid "Directories:"
msgstr ""
-#: dialogs.c:2365
+#: dialogs.c:2372
#, fuzzy
msgid "Files:"
msgstr "檔案(F)"
-#: dialogs.c:2366
+#: dialogs.c:2373
msgid "by name"
msgstr ""
-#: dialogs.c:2367
+#: dialogs.c:2374
msgid "by type"
msgstr ""
-#: dialogs.c:2370
+#: dialogs.c:2377
#, fuzzy
msgid "Filename:"
msgstr "過濾器"
-#: dialogs.c:2371
+#: dialogs.c:2378
msgid "New directory"
msgstr ""
-#: dialogs.c:2372
+#: dialogs.c:2379
#, fuzzy
msgid "File type:"
msgstr "過濾器"
-#: dialogs.c:2447
+#: dialogs.c:2454
#, fuzzy
msgid "Contents of"
msgstr "編輯註解(C) *.*"
-#: dialogs.c:2473
+#: dialogs.c:2480
msgid " next page"
msgstr ""
-#: dialogs.c:2495
+#: dialogs.c:2502
msgid "FIRST TYPE DIRECTORY NAME HERE"
msgstr ""
-#: dialogs.c:2496
+#: dialogs.c:2503
msgid "TRY ANOTHER NAME"
msgstr ""
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhiteClaw.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2828"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2850"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2872"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2894"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2918"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2940"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2962"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.8704322"
+ inkscape:cx="26.42854"
+ inkscape:cy="46.467809"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1280"
+ inkscape:window-height="726"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-952.36218)">
+ <g
+ id="g3788"
+ style="fill:#000000">
+ <path
+ sodipodi:nodetypes="cccccccccccccccccccc"
+ id="path2816"
+ d="m 49.667863,1012.1206 2.166994,9.0012 -0.333383,6.3344 -2.333687,8.3346 -4.167298,4.5007 -5.167449,2.5004 -5.334142,0.3334 -6.334292,-3.3339 -3.500529,-4.8341 -1.000152,-7.5011 -2.166995,-4.334 -5.334141,-4.1672 -2.500379,-6.001 2.000304,-6.1675 5.000756,-3.1672 5.500834,-0.8335 6.500984,0.3334 7.667828,1.0002 5.834217,3.0004 3.50053,5.0008 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccccccccc"
+ id="path2818"
+ d="m 39.626874,999.80011 -1.847886,-3.07981 0.821283,-5.95429 2.874488,-5.33834 5.338336,-3.07981 5.338334,0.61596 3.901092,3.49045 0,5.74898 -2.669167,5.13301 -4.517054,3.28514 -4.517053,1.0266 -4.722373,-1.84789 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccccccccc"
+ id="path2818-3"
+ d="m 70.11698,997.5416 1.847886,3.0798 -0.821283,5.9543 -2.874488,5.3383 -5.338336,3.0798 -5.748975,-0.2053 -3.490451,-3.9011 0,-5.749 2.258526,-5.54356 4.927695,-2.87454 4.517053,-1.0266 4.722373,1.8479 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccccccccc"
+ id="path2818-3-2"
+ d="m 33.569916,981.32129 1.847886,3.07984 -0.821283,5.9543 -2.874488,5.33826 -5.338336,3.0798 -5.748975,-0.2053 -3.490451,-3.9011 0,-5.74896 2.258526,-5.5436 4.927695,-2.87454 4.517053,-1.0266 4.722373,1.8479 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccccccccc"
+ id="path2818-3-6"
+ d="m 72.375506,1019.9215 2.463848,4.5171 -0.410642,4.7223 -4.106412,4.9277 -5.133015,2.0532 -5.748975,-0.2053 -3.490451,-3.9011 0,-5.749 2.669167,-4.7223 4.722375,-2.4639 4.722373,-0.8213 4.311732,1.6426 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2908"
+ d="m 34.083217,975.98293 -2.053206,-0.61597 0.821282,-4.51705 2.463847,-2.66917 4.106412,-0.41064 2.053206,0.61596 -3.285129,0.82129 -2.258527,2.46384 -1.847885,4.31174 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2908-4"
+ d="m 56.216861,980.17756 -1.915052,-0.96315 1.593184,-4.30582 2.88991,-2.20078 4.115337,0.30866 1.915052,0.96314 -3.37784,0.2383 -2.652056,2.03423 -2.568537,3.92535 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2908-4-6"
+ d="m 73.878161,994.50275 0.963152,1.91506 4.30582,-1.59319 2.200779,-2.88991 -0.308659,-4.11533 -0.96314,-1.91506 -0.238295,3.37784 -2.03423,2.65206 -3.92535,2.56854 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2908-4-6-3"
+ d="m 77.705679,1018.2026 0.792583,1.9916 4.428292,-1.2118 2.444276,-2.6871 0.05119,-4.1266 -0.792563,-1.9917 -0.531791,3.3443 -2.257627,2.4646 -4.134281,2.2167 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhiteDolphin.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2826"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2834"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.5167464"
+ inkscape:cx="49.318911"
+ inkscape:cy="45.354981"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1280"
+ inkscape:window-height="726"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-952.36218)">
+ <g
+ id="g3632">
+ <path
+ sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
+ id="path2832"
+ d="m 25.422502,1009.2837 3.64721,-5.9885 4.085169,-6.56537 5.708527,-7.19404 4.800386,-5.25188 5.245237,-4.27474 5.082411,-3.5041 1.946123,-0.99064 1.6641,-2.73841 0.962415,-3.52748 -0.632865,-2.14233 -0.672599,-2.98178 -0.538857,-1.55972 1.891848,-0.73376 2.890098,0.70676 3.063572,2.96828 1.833675,3.65165 1.576843,3.8397 0.376031,2.33037 5.103703,2.56023 5.548553,3.53738 3.967814,3.8262 4.264383,4.47761 3.345595,4.71602 2.184518,4.04622 2.111695,4.21583 1.08172,4.303 0.394076,2.7853 -0.774149,3.9553 -1.327296,3.8618 0.358095,6.9663 0.220603,4.9517 -2.02898,1.0799 -1.768755,-2.6475 -3.591278,-8.7269 -2.55102,-1.9435 -2.810742,-3.6758 -2.991865,-3.2423 -0.142145,2.7315 c -1.121073,2.1006 -0.689228,2.1788 -1.581243,2.8704 l -2.69519,1.7911 -2.936977,0.2938 -3.51896,-1.444 2.889234,-3.0578 1.147291,-2.2168 0.26874,-3.0564 -1.420295,-3.2124 -5.299117,-2.2551 -6.091307,-0.9685 -7.726322,-0.423 -6.525511,1.0865 -5.838372,2.972 -5.798638,3.8114 -4.543551,5.0637 -4.138435,5.2015 5.420085,1.0098 4.07875,2.9434 3.376311,4.809 -1.331302,3.3423 -5.333223,-3.9007 -5.221783,-1.6086 -4.260732,0.3486 0.558749,-4.1561 -5.121869,4.8579 -3.891237,0.4048 -4.328943,0.8646 -5.5362864,2.5972 -0.4024811,-1.0225 2.2487192,-3.6566 4.5144665,-3.314 4.7424668,-2.0465 4.062579,-1.1241 3.564969,-4.871 3.145565,-5.7562 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2.13330363999999983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2834"
+ d="m 73.483788,1000.6302 -4.875955,-0.5555 -3.848618,-1.30775 -4.184918,-2.79866 -3.765255,-3.75745 -3.088762,-4.90406 6.521615,3.04205 3.566594,-0.43998 3.552051,0.65635"
+ style="fill:none;stroke:#ffffff;stroke-width:2.13330363999999983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2842"
+ d="m 83.218266,1002.246 1.146534,1.7662"
+ style="fill:none;stroke:#ffffff;stroke-width:2.13330363999999983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path2844"
+ d="m 58.132709,974.47627 2.933349,-0.28601 3.031842,-0.0454 3.111499,0.26395"
+ style="fill:none;stroke:#ffffff;stroke-width:2.13330363999999983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path2860"
+ d="m 73.834376,1008.1422 4.251769,3.5005"
+ style="fill:none;stroke:#ffffff;stroke-width:2.13330363999999983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="100"
+ height="100"
+ id="svg2833"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="BlackPrincess.svg">
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="487"
+ id="namedview19"
+ showgrid="false"
+ inkscape:zoom="2.36"
+ inkscape:cx="50"
+ inkscape:cy="50"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2833" />
+ <defs
+ id="defs2835">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="100 : 50 : 1"
+ inkscape:persp3d-origin="50 : 33.333333 : 1"
+ id="perspective21" />
+ </defs>
+ <metadata
+ id="metadata2838">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="matrix(0,1,-1,0,153.07625,-67.67229)"
+ id="layer1">
+ <g
+ transform="matrix(1.2596048,0,0,1.2596048,289.23085,230.95079)"
+ id="g785"
+ style="display:inline">
+ <path
+ d="m -156.47216,-94.874455 -4.26455,-25.678565 13.9998,24.343464"
+ inkscape:connector-curvature="0"
+ id="path759"
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.58779967;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -147.53286,-95.88723 2.24615,-30.00621 9.5955,27.886232 z"
+ inkscape:connector-curvature="0"
+ id="path761"
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.58779967;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -115.90261,-94.82073 3.71313,-24.84222 -13.39901,23.408891"
+ inkscape:connector-curvature="0"
+ id="path763"
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.58779967;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -124.90445,-95.734359 -2.37837,-29.892061 -8.86156,28.106514 z"
+ inkscape:connector-curvature="0"
+ id="path765"
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.58779967;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -119.72211,-75.003615 c 0,2.494743 -7.32288,4.517114 -16.3561,4.517114 -9.03322,0 -16.3561,-2.022371 -16.3561,-4.517114 l 2.32529,-6.475256 -0.0643,-6.631027 -5.81139,-6.453037 4.35812,-3.075207 4.1094,1.001045 5.74678,-2.877825 5.77127,1.347215 5.20349,-1.347215 5.2463,2.877825 4.86129,-1.001045 4.29553,3.075207 -5.81005,6.453037 0.0603,6.631027 z"
+ inkscape:connector-curvature="0"
+ id="path767"
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.58779979;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -148.95013,-88.785387 c 2.99191,-1.065977 7.67325,-1.752122 12.93486,-1.752122 4.87905,0 9.25913,0.589996 12.25587,1.525744"
+ inkscape:connector-curvature="0"
+ id="path769"
+ style="color:#000000;fill:none;stroke:#ffffcc;stroke-width:1.58779979;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -35.496787,129.14731 a 3.776254,3.776254 0 1 1 -7.552508,0 3.776254,3.776254 0 1 1 7.552508,0 z"
+ transform="matrix(0.94504751,0,0,0.94166667,-124.72108,-244.63895)"
+ id="path771"
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.68314004;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -35.496787,129.14731 a 3.776254,3.776254 0 1 1 -7.552508,0 3.776254,3.776254 0 1 1 7.552508,0 z"
+ transform="matrix(0.94504751,0,0,0.94166667,-73.5917,-244.56074)"
+ id="path773"
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.68314004;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -35.496787,129.14731 a 3.776254,3.776254 0 1 1 -7.552508,0 3.776254,3.776254 0 1 1 7.552508,0 z"
+ transform="matrix(0.94504751,0,0,0.94166667,-89.629862,-250.59195)"
+ id="path775"
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.68314004;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -35.496787,129.14731 a 3.776254,3.776254 0 1 1 -7.552508,0 3.776254,3.776254 0 1 1 7.552508,0 z"
+ transform="matrix(0.94504751,0,0,0.94166667,-108.61241,-250.61038)"
+ id="path777"
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.68314004;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -147.82599,-82.093587 c 2.97713,-0.857995 7.16803,-1.392212 11.81072,-1.392212 4.27282,0 8.16296,0.452487 11.07644,1.19342"
+ inkscape:connector-curvature="0"
+ id="path781"
+ style="color:#000000;fill:none;stroke:#ffffcc;stroke-width:1.58779979;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -149.85434,-77.004684 a 1.007001,0.53496927 0 1 1 -2.014,0 1.007001,0.53496927 0 1 1 2.014,0 z"
+ transform="matrix(1,0,0,0.95588235,-0.03933598,-3.491672)"
+ id="path783"
+ style="color:#000000;fill:#ffffcc;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="BlackHSword.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2838"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="54.904244"
+ inkscape:cy="34.708552"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="792"
+ inkscape:window-height="655"
+ inkscape:window-x="62"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(366.71429,-981.93367)">
+ <g
+ id="g3599"
+ transform="matrix(1,0,0,1.1286567,0,-136.71042)">
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path3687"
+ d="m -270.42482,1041.7792 -10.32341,-9.3014 -54.35055,-0.1786 0,18.9597 53.89325,0 10.78071,-9.4797 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ transform="matrix(0,1,-1,0,0,0)"
+ y="335.26187"
+ x="1021.9576"
+ height="7.3214288"
+ width="39.642857"
+ id="rect3689"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ transform="matrix(0,1,-1,0,0,0)"
+ y="342.71426"
+ x="1036.7313"
+ height="19.202518"
+ width="9.0239458"
+ id="rect3693"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3701"
+ d="m -282.35544,1041.779 -52.24134,0"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3777"
+ d="m -343.5,1037.2908 0,7.8572"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3781"
+ d="m -334.21429,1033.1837 0,17.3214"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="BlackKnight.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2838"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="41.498447"
+ inkscape:cy="44.13901"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="792"
+ inkscape:window-height="655"
+ inkscape:window-x="62"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(366.71429,-981.93367)">
+ <g
+ id="g3645">
+ <path
+ sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccc"
+ id="path2844"
+ d="m -317.73295,1002.1086 10.04546,1.3788 7.87879,3.7424 1.57575,-3.7424 3.34849,-3.54549 3.15151,-1.18182 4.92424,-0.39393 2.36364,2.75754 0.39394,4.5304 -1.57576,3.7424 -1.57575,2.7575 -3.15152,1.1818 1.37879,2.9546 -0.98485,2.7576 -1.18182,1.3788 1.37879,5.909 0.5909,4.5303 -0.39393,5.3182 -1.57576,4.9242 -2.95454,5.5153 -3.9394,3.5453 -3.34848,0.197 -3.54545,2.1667 -0.98485,4.9243 -1.37879,6.6969 -3.74242,3.9394 -4.13636,1.5758 -4.33334,-0.197 -5.12121,-3.1515 -2.36364,-2.5606 0.39394,-2.9545 -1.77273,-3.5455 -1.77272,-4.1364 -0.78788,-2.3636 -4.13637,-3.9394 -4.33333,-2.7576 -4.13636,-5.909 0,-7.288 0.78788,-5.909 1.37879,-5.1212 -2.56061,-3.1516 -0.19697,-5.3181 -2.36363,-3.1516 -0.98485,-4.1363 1.57575,-4.92427 1.9697,-2.75757 1.77273,0.59091 2.95454,2.75758 3.15152,3.74245 0.98484,2.3636 2.56062,0.5909 4.13635,-2.7576 5.71213,-1.1818 4.92423,-0.3939 z"
+ style="fill:#000000;stroke:#000000;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2846"
+ d="m -301.7784,1022.9874 -5.75487,0.2656 -1.33604,0.7452 -4.51354,4.35 3.61418,-1.7986 4.00813,0.4627 2.09794,-0.8734 0.70238,-2.7576 1.18182,-0.3939 z"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccccc"
+ id="path2848"
+ d="m -334.8693,1022.5934 5.71212,0.4627 2.40638,1.1818 1.92695,2.8858 -2.6461,0.085 -2.67208,0.042 -1.74673,-0.8994 -0.89937,-1.3529 -0.30845,-1.8154 1.43076,0.1543 -3.20348,-0.7452 z"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccccccc"
+ id="path2850"
+ d="m -318.56357,1039.6016 3.23701,-1.0276 1.42154,0.9421 -1.37879,3.2538 -1.85822,2.3636 -2.08118,0.042 -2.18343,-2.2949 -1.53301,-3.3484 1.02759,-1.0276 3.34849,1.0963 z"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path2854"
+ d="m -308.14094,1049.0989 -3.31497,9.2333 -1.79871,-9.7387 5.11368,1.1227 0,-0.6173 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:1.72730826999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;fill-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path2856"
+ d="m -321.31192,1048.8758 -2.30413,8.7967 -1.91018,-2.9897 -0.7024,-4.4022 4.91671,-1.4048 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:1.72730826999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;fill-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2858"
+ d="m -311.44668,1062.6898 c 1.06226,-0.731 1.71366,-1.5642 1.79872,-2.3469 l 0.92535,-4.4709 c -1.03934,0.8994 -1.92444,1.953 -2.96377,2.8524 l -1.20782,0.5054 c -0.78907,-0.7043 -2.74549,-0.6155 -2.06441,-1.6873 l -0.47943,3.1348 1.44752,2.2354 2.54384,-0.2229 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:1.72730826999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;fill-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2860"
+ d="m -318.77729,1057.2768 -2.10717,1.559 -0.78788,0 -2.43236,-1.756 -0.0688,3.0921 1.86745,2.3041 2.36364,0.6336 1.71322,-1.9268 -0.54816,-3.906 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:1.72730826999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;fill-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccccccccc"
+ id="path2862"
+ d="m -296.85416,1009.0025 1.42154,-3.9989 3.27974,-3.4004 4.40207,-0.069 0.9421,2.9379 -1.05358,3.5881 -1.22455,2.2095 -2.64611,0.8993 -3.34848,-0.197 -1.77273,-1.9697 z"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccccccc"
+ id="path2864"
+ d="m -342.74809,1000.3359 2.99729,2.672 1.77273,2.4232 0.54816,3.5714 -2.75758,1.5758 -2.40638,-1.6445 -2.05519,-3.2797 0,-2.3805 1.07034,-2.6293 0.83063,-0.3084 z"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2866"
+ d="m -305.91476,1036.1843 12.40909,-9.2576 10.04545,-6.303 5.71212,-4.5303"
+ style="fill:none;stroke:#ffffff;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2868"
+ d="m -305.71779,1038.9419 12.21212,-3.5455 8.66667,-0.9848 9.06059,0 2.16668,0.5909"
+ style="fill:none;stroke:#ffffff;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2870"
+ d="m -304.92991,1042.4874 8.86363,-2.3637 8.86364,-0.7879 5.90908,0.5909 8.66667,1.7728"
+ style="fill:none;stroke:#ffffff;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2872"
+ d="m -305.91476,1044.851 8.66666,0.5909 7.28788,3.3485"
+ style="fill:none;stroke:#ffffff;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2874"
+ d="m -331.71779,1037.7601 -8.86364,-4.3333 -6.69696,-2.5607 -7.48485,-1.1818 -8.66667,-0.3939"
+ style="fill:none;stroke:#ffffff;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2876"
+ d="m -332.11173,1040.9116 -12.01515,-1.7727 -7.87879,0.1969 -10.63636,3.3486 -7.87879,3.7424"
+ style="fill:none;stroke:#ffffff;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2878"
+ d="m -332.3087,1044.0631 -6.30302,0.7879 -8.66667,3.1515 -7.48485,3.9394 c 0,0 -3.74243,3.3485 -4.53031,3.1515"
+ style="fill:none;stroke:#ffffff;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2880"
+ d="m -328.17234,1046.4268 -5.71211,2.3636 -5.9091,3.5455 -4.13636,3.9394"
+ style="fill:none;stroke:#ffffff;stroke-width:1.72730827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccccccccc"
+ id="path2852"
+ d="m -314.81361,1048.439 3.60519,0.8186 3.12699,-0.01 c 0.63924,-0.4931 1.12426,-0.1508 1.45505,-0.5481 l -1.25973,6.442 -0.0979,2.9254 -0.74514,3.3592 -2.24894,2.0504 -3.73913,0.2153 -4.55952,0.2636 -3.09631,-0.4736 -1.56653,-1.8231 -1.18941,-2.3543 -1.37714,-4.4627 -1.85392,-4.9183 1.96047,0.2397 4.5303,-1.3787 4.33334,-0.4275 -0.46267,0 3.18503,0.076 0,0.01 z"
+ style="fill:none;stroke:#ffffff;stroke-width:1.72730826999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg3738"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="BlackQueen.svg">
+ <defs
+ id="defs3740">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3746" />
+ <inkscape:perspective
+ id="perspective3800"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.3532769"
+ inkscape:cx="40.467173"
+ inkscape:cy="50.142845"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="716"
+ inkscape:window-height="487"
+ inkscape:window-x="3"
+ inkscape:window-y="71"
+ inkscape:window-maximized="0"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ position="0.17142614,0.85712"
+ orientation="0,744.09448"
+ id="guide4498" />
+ <sodipodi:guide
+ position="744.26591,0.85712"
+ orientation="-1052.3622,0"
+ id="guide4500" />
+ <sodipodi:guide
+ position="744.26591,1053.2193"
+ orientation="0,-744.09448"
+ id="guide4502" />
+ <sodipodi:guide
+ position="0.17142614,1053.2193"
+ orientation="1052.3622,0"
+ id="guide4504" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3743">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0.17142614,-953.2193)">
+ <g
+ id="g4569"
+ transform="matrix(0.97053726,0,0,0.97053726,1.9949493,30.030726)">
+ <path
+ id="path3888"
+ d="m 18.200002,987.30504 2.742858,-6.85715 -1.828571,-4.11428 5.942856,-8.22857 9.142858,-6.4 12.342857,-0.45715 2.285714,-7.31428 7.771429,0 7.314286,4.11428 10.971427,1.82858 -1.371427,5.94285 11.885713,3.2 -1.371428,4.57143 6.857142,6.85714 -2.285713,2.28572 7.314286,10.97143 -2.742858,2.74285 4.571429,10.05711 -0.457144,6.4 0,11.4286 -6.4,-8.2286 0.457144,16.9143 -2.285715,3.2 -6.4,-5.9428 0,9.1428 -5.028571,3.6572 0.914286,-10.0572 -7.314286,12.3429 -4.114285,-5.0286 -4.571429,10.5143 -10.514286,1.3714 -10.057143,-1.3714 -8.685715,-6.8571 -4.571427,-2.2858 -10.971429,6.8572 -0.457144,-12.8 -2.285713,-7.7714 -3.2,2.7428 -5.0285719,-4.1143 0.9142856,-9.1428 -2.2857142,-4.1143 0.9142858,-5.4857 -5.0285716,-3.6572 1.3714287,-3.6571 15.5428566,-13.25716 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path3890"
+ d="m 36.94286,989.59075 -8.685715,-1.82857 3.657144,1.37143 -5.485715,4.57143 5.485715,-2.74286 3.857141,0.2 1.17143,-1.57143 z"
+ style="fill:#000000;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3892"
+ d="m 59.34286,988.21932 0,-6.4 -0.457144,-7.77143 -1.828571,-5.02857 -3.2,-2.28571 -6.857143,0.91428 -3.657142,4.11429 -1.828571,3.65714"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3894"
+ d="m 54.771431,984.10504 -0.914286,-4.57143 -2.742856,-3.65714 -3.2,0 -1.828573,4.11428 0,0 0.914286,0.45714 -0.914286,-0.45714"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3896"
+ d="m 12.714289,1003.7622 0,0 z"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path3898"
+ d="M 11.471431,1004.3764 0.82857386,1002.8479"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3900"
+ d="m 6.3142883,1010.1622 2.2857142,-2.7429 2.2857135,-0.4571 0.457144,-2.7429 0,0"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path3902"
+ d="m 8.9220373,1018.1269 2.8308047,3.1321 5.565079,0.2674 6.824939,1.4358 5.028571,0.4571 0.457143,0 0,0.4572"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3904"
+ d="m 43.34286,1003.305 -0.457144,8.6858 -3.657142,6.4 -0.914285,7.3142 -5.485715,6.4 -4.114285,6.8572"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3906"
+ d="m 72.600003,997.36218 -3.200001,13.71432 -5.942857,10.9714 -6.857142,8.6857 -5.028572,13.7143"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path3908"
+ d="m 66.557145,1040.7193 -0.357143,-7.2428 4.114287,-9.1429 4.571427,-10.0571 2.285715,-10.9715 -0.457142,-7.31425"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3910"
+ d="m 80.371431,996.44789 0,7.31431 0,5.4857 0.914285,7.7714 -4.571427,6.8572 -2.742858,5.4857 -1.371428,6.4"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path3912"
+ d="m 72.14286,976.79075 6.857143,7.31429 8.228571,5.94285 -0.1,20.97141 3.185714,4.0572"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3914"
+ d="m 72.14286,971.30504 7.771429,0.91428 5.028571,2.74286 0,0"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccc"
+ id="path3916"
+ d="m 19.114289,986.99075 11.885713,-8.37143 4.571429,-2.74285"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path4508"
+ d="m 14.471431,1011.0764 c 8.571429,-1.7857 8.214286,-1.7857 8.214286,-1.7857"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path4510"
+ d="m 15.185717,1013.9336 c 11.785714,-0.3572 11.785714,-0.3572 11.785714,-0.3572"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path4512"
+ d="m 15.542859,1016.4336 c 11.071429,4.2857 11.071429,4.2857 11.071429,4.2857"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="100"
+ height="100"
+ id="svg2833"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="BlackPromoBishop.svg">
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="487"
+ id="namedview15"
+ showgrid="false"
+ inkscape:zoom="2.36"
+ inkscape:cx="50"
+ inkscape:cy="115.63849"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2833" />
+ <defs
+ id="defs2835">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="100 : 50 : 1"
+ inkscape:persp3d-origin="50 : 33.333333 : 1"
+ id="perspective17" />
+ </defs>
+ <metadata
+ id="metadata2838">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="g2861">
+ <path
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path457"
+ d="m 55.21546,11.229857 a 5.2154485,5.2270692 0 0 1 -10.430897,0 5.2154485,5.2270692 0 1 1 10.430897,0 z" />
+ <path
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path459"
+ inkscape:connector-curvature="0"
+ d="M 35.907425,58.203367 C 33.709813,55.600983 27.938004,54.20094 27.834509,41.315188 27.742075,29.80588 42.868715,17.773397 50.193329,17.67821 57.523654,17.583 72.14423,29.820628 72.165806,41.315188 c 0.02622,13.95243 -5.611021,14.852859 -7.714863,16.888179 z" />
+ <path
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path461"
+ inkscape:connector-curvature="0"
+ d="m 69.315766,70.339665 c 0,2.158388 -8.648281,3.908094 -19.316459,3.908094 -10.66819,0 -19.316471,-1.749706 -19.316471,-3.908094 0.06829,-1.450802 2.759449,-10.112943 6.706186,-11.445443 6.931028,-2.340042 18.489497,-2.613508 25.675173,0 3.857302,1.402945 6.319871,10.132812 6.251571,11.445443 z" />
+ <path
+ style="color:#000000;fill:none;stroke:#ffffcc;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path463"
+ inkscape:connector-curvature="0"
+ d="m 35.131354,67.737307 c 3.543362,-0.857773 8.870992,-1.403431 14.828539,-1.403431 6.002673,0 11.365849,0.553958 14.908744,1.422973" />
+ <path
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path469"
+ inkscape:connector-curvature="0"
+ d="m 9.7679649,84.066302 4.5239711,4.933705 c 2.082446,-1.380292 4.155818,-1.648242 6.836257,-1.648242 l 18.646284,0 c 3.294244,0 7.957334,-4.086424 10.338673,-5.67977 2.349142,1.682334 6.958135,5.67977 10.338673,5.67977 l 19.545817,0 c 2.265965,0 3.637121,0.21467 5.800123,1.648242 L 90.232026,84.16401 C 87.999867,82.458628 79.024912,80.473962 75.08046,80.634393 71.136008,80.794824 63.39618,81.896777 59.919196,80.772564 56.442212,79.648351 53.249061,77.010455 51.83357,75.578552 l -3.610572,0.09771 c -1.763613,1.563783 -4.048493,4.144826 -8.518834,5.096303 -4.470341,0.951476 -10.447841,-0.113862 -14.34174,-0.138171 -3.893912,-0.02443 -12.98049,0.959632 -15.5944591,3.431909 z" />
+ <path
+ style="color:#000000;fill:none;stroke:#ffffcc;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path491"
+ inkscape:connector-curvature="0"
+ d="m 37.811507,58.504451 c 3.543376,-0.857773 6.021822,-1.403431 11.979356,-1.403431 6.002673,0 8.854713,0.456249 12.397621,1.325264" />
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="100"
+ height="100"
+ id="svg2833"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="BlackCrownedRook.svg">
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="487"
+ id="namedview14"
+ showgrid="false"
+ inkscape:zoom="2.36"
+ inkscape:cx="50"
+ inkscape:cy="50"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2833" />
+ <defs
+ id="defs2835">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="100 : 50 : 1"
+ inkscape:persp3d-origin="50 : 33.333333 : 1"
+ id="perspective16" />
+ </defs>
+ <metadata
+ id="metadata2838">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="g2837">
+ <path
+ style="color:#000000;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path1402"
+ inkscape:connector-curvature="0"
+ d="m 19.988303,23.445622 0,14.198833 8.215969,6.314278 0,24.361717 -6.811166,6.394709 0,8.26495 -6.811165,0 0,6.019891 70.836118,0 0,-6.019891 -6.811161,0 0,-9.423938 -6.811171,-6.3545 0,-23.283156 8.173399,-6.27406 0,-14.198833 -4.917138,0 L 50.144989,10.953295 24.599353,23.445622 z" />
+ <rect
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#ffffcc;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect1406"
+ y="35.693176"
+ x="23.309896"
+ height="1.2846808"
+ width="53.148762" />
+ <rect
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#ffffcc;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect1408"
+ y="42.138672"
+ x="30.139942"
+ height="1.2846808"
+ width="39.488659" />
+ <rect
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#ffffcc;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect1410"
+ y="66.474022"
+ x="30.106775"
+ height="1.2846808"
+ width="39.554974" />
+ <rect
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#ffffcc;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect1412"
+ y="81.930573"
+ x="23.309896"
+ height="1.2846808"
+ width="53.148762" />
+ <rect
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#ffffcc;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect1414"
+ y="72.905128"
+ x="24.669277"
+ height="1.2846808"
+ width="50.430004" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ style="color:#000000;fill:none;stroke:#ffffcc;stroke-width:2;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path1482"
+ inkscape:connector-curvature="0"
+ d="m 30.88249,22.205315 4.08547,0 6.778405,0 16.328359,0 10.97547,0" />
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="BlackHSword.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2838"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="54.904244"
+ inkscape:cy="34.708552"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="792"
+ inkscape:window-height="655"
+ inkscape:window-x="62"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(366.71429,-981.93367)">
+ <g
+ id="g2827">
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path3687"
+ d="m -270.42482,1039.1007 -10.32341,-10.4981 -54.35055,-0.2016 0,21.399 53.89325,0 10.78071,-10.6993 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2.12476516;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ transform="matrix(0,1,-1,0,0,0)"
+ y="335.26187"
+ x="1016.7288"
+ height="7.3214288"
+ width="44.743176"
+ id="rect3689"
+ style="fill:#000000;stroke:#000000;stroke-width:2.12476516;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ transform="matrix(0,1,-1,0,0,0)"
+ y="342.71426"
+ x="1033.4033"
+ height="19.202518"
+ width="10.184937"
+ id="rect3693"
+ style="fill:#000000;stroke:#000000;stroke-width:2.12476516;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3777"
+ d="m -343.5,1034.0348 0,8.8681"
+ style="fill:none;stroke:#ffffff;stroke-width:2.12476516;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3781"
+ d="m -334.21429,1029.3993 0,19.5499"
+ style="fill:none;stroke:#ffffff;stroke-width:2.12476516;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="100"
+ height="100"
+ id="svg2833"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="BlackCrownedBishop.svg">
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="487"
+ id="namedview14"
+ showgrid="false"
+ inkscape:zoom="2.36"
+ inkscape:cx="50"
+ inkscape:cy="50"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2833" />
+ <defs
+ id="defs2835">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="100 : 50 : 1"
+ inkscape:persp3d-origin="50 : 33.333333 : 1"
+ id="perspective16" />
+ </defs>
+ <metadata
+ id="metadata2838">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="g2837">
+ <path
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path900"
+ inkscape:connector-curvature="0"
+ d="M 36.30595,59.417265 24.376483,48.033607 C 20.139397,43.990392 12.237729,46.016232 12.268826,40.407532 12.311717,32.670013 34.907175,27.788378 44.547031,18.103208 l 11.078999,0 c 10.065834,10.160662 32.354717,13.792369 32.370902,22.304324 0.01009,5.621984 -8.151701,3.891832 -12.055165,7.626075 L 64.042286,59.417265 z" />
+ <path
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path902"
+ inkscape:connector-curvature="0"
+ d="m 68.769536,71.07519 c 0,2.073311 -8.403716,3.754049 -18.770208,3.754049 -10.366505,0 -18.770221,-1.680738 -18.770221,-3.754049 0.06636,-1.393616 2.681415,-9.714324 6.516542,-10.994302 6.735026,-2.247804 17.966632,-2.510491 24.949104,0 3.748221,1.347646 6.141152,9.733411 6.074783,10.994302 z" />
+ <path
+ style="color:#000000;fill:none;stroke:#ffffcc;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path904"
+ inkscape:connector-curvature="0"
+ d="m 35.551825,68.575408 c 3.44316,-0.823963 8.62013,-1.348112 14.409203,-1.348112 5.832924,0 11.044434,0.532122 14.48714,1.366884" />
+ <path
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path910"
+ inkscape:connector-curvature="0"
+ d="m 10.905688,84.260767 4.396038,4.739234 c 2.023556,-1.325884 4.038295,-1.583273 6.642934,-1.583273 l 18.118985,0 c 3.201087,0 7.732309,-3.925351 10.046306,-5.455892 2.282711,1.616022 6.761365,5.455892 10.046305,5.455892 l 18.993081,0 c 2.201886,0 3.534267,0.206209 5.636101,1.583273 l 4.308867,-4.645377 C 86.925269,82.716462 78.204117,80.810025 74.37121,80.964133 70.538303,81.11824 63.01735,82.176758 59.638692,81.096858 56.260033,80.016957 53.157182,77.483039 51.781719,76.107577 l -3.508468,0.09386 c -1.71374,1.502144 -3.934006,3.981451 -8.27793,4.895424 -4.343924,0.913972 -10.152387,-0.109374 -13.93617,-0.132725 -3.783796,-0.02347 -12.613414,0.921806 -15.153463,3.296634 z" />
+ <path
+ style="color:#000000;fill:none;stroke:#ffffcc;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path912"
+ inkscape:connector-curvature="0"
+ d="m 38.156186,59.706481 c 3.443173,-0.823963 5.851531,-1.348112 11.640592,-1.348112 5.832923,0 8.60431,0.438265 12.047028,1.273026" />
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="100"
+ height="100"
+ id="svg2833"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="BlackRook.svg">
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="783"
+ inkscape:window-height="647"
+ id="namedview13"
+ showgrid="false"
+ inkscape:zoom="2.36"
+ inkscape:cx="50"
+ inkscape:cy="50"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2833" />
+ <defs
+ id="defs2835">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="100 : 50 : 1"
+ inkscape:persp3d-origin="50 : 33.333333 : 1"
+ id="perspective15" />
+ </defs>
+ <metadata
+ id="metadata2838">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="g2833">
+ <path
+ sodipodi:nodetypes="ccccccccccccccccc"
+ d="m 19.830741,11.000003 1e-6,13.68421 8.259102,6.713817 0,34.381577 -6.846924,6.79933 0,9.57895 -6.846923,0 0,6.84211 71.208007,0 0,-6.84211 -6.84693,0 0,-9.57895 -6.84692,-6.75657 0,-34.467101 8.21631,-6.671053 0,-13.68421 -60.295723,0 z"
+ inkscape:connector-curvature="0"
+ id="path1039"
+ style="color:#000000;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.99999988;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#ffffcc;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect1074"
+ y="22.911417"
+ x="22.061972"
+ height="1.4222356"
+ width="55.633793" />
+ <rect
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#ffffcc;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect1076"
+ y="30.047054"
+ x="29.211357"
+ height="1.4222356"
+ width="41.334999" />
+ <rect
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#ffffcc;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect1078"
+ y="65.668564"
+ x="29.176641"
+ height="1.4222356"
+ width="41.404411" />
+ <rect
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#ffffcc;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect1080"
+ y="82.780083"
+ x="22.061972"
+ height="1.4222356"
+ width="55.633793" />
+ <rect
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#ffffcc;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect1082"
+ y="72.788261"
+ x="23.484905"
+ height="1.4222356"
+ width="52.787918" />
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="BlackSword.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2838"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="54.904244"
+ inkscape:cy="56.199236"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="792"
+ inkscape:window-height="655"
+ inkscape:window-x="62"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(366.71429,-981.93367)">
+ <g
+ id="g2827">
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path3687"
+ d="m -316.71407,986.20383 -10.33918,10.32341 -0.19853,54.35056 21.07508,0 0,-53.89326 -10.53737,-10.78071 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2.10862303;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ y="1051.0409"
+ x="-338.74722"
+ height="7.3214288"
+ width="44.065918"
+ id="rect3689"
+ style="fill:#000000;stroke:#000000;stroke-width:2.10862303;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ y="1058.4933"
+ x="-322.32513"
+ height="19.202518"
+ width="10.030772"
+ id="rect3693"
+ style="fill:#000000;stroke:#000000;stroke-width:2.10862303;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3777"
+ d="m -321.70324,1059.279 8.73379,0"
+ style="fill:none;stroke:#ffffff;stroke-width:2.10862303;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3781"
+ d="m -326.26863,1049.9933 19.25403,0"
+ style="fill:none;stroke:#ffffff;stroke-width:2.10862303;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="BlackSword.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2838"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="54.904244"
+ inkscape:cy="56.199236"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="792"
+ inkscape:window-height="655"
+ inkscape:window-x="62"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(366.71429,-981.93367)">
+ <g
+ id="g3839"
+ transform="matrix(1.1115727,0,0,1,35.336676,0)">
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path3687"
+ d="m -316.7141,986.20383 -9.3014,10.32341 -0.1786,54.35056 18.9597,0 0,-53.89326 -9.4797,-10.78071 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ y="1051.0409"
+ x="-336.53571"
+ height="7.3214288"
+ width="39.642857"
+ id="rect3689"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ y="1058.4933"
+ x="-321.76196"
+ height="19.202518"
+ width="9.0239458"
+ id="rect3693"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3701"
+ d="m -316.7143,998.13445 0,52.24135"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3777"
+ d="m -321.20249,1059.279 7.85715,0"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3781"
+ d="m -325.30963,1049.9933 17.32143,0"
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="New document 1">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2828"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2850"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2872"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2894"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2918"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2940"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2962"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.8704322"
+ inkscape:cx="26.42854"
+ inkscape:cy="46.467809"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1280"
+ inkscape:window-height="726"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-952.36218)">
+ <g
+ id="g3788">
+ <path
+ sodipodi:nodetypes="cccccccccccccccccccc"
+ id="path2816"
+ d="m 49.667863,1012.1206 2.166994,9.0012 -0.333383,6.3344 -2.333687,8.3346 -4.167298,4.5007 -5.167449,2.5004 -5.334142,0.3334 -6.334292,-3.3339 -3.500529,-4.8341 -1.000152,-7.5011 -2.166995,-4.334 -5.334141,-4.1672 -2.500379,-6.001 2.000304,-6.1675 5.000756,-3.1672 5.500834,-0.8335 6.500984,0.3334 7.667828,1.0002 5.834217,3.0004 3.50053,5.0008 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccccccccc"
+ id="path2818"
+ d="m 39.626874,999.80011 -1.847886,-3.07981 0.821283,-5.95429 2.874488,-5.33834 5.338336,-3.07981 5.338334,0.61596 3.901092,3.49045 0,5.74898 -2.669167,5.13301 -4.517054,3.28514 -4.517053,1.0266 -4.722373,-1.84789 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccccccccc"
+ id="path2818-3"
+ d="m 70.11698,997.5416 1.847886,3.0798 -0.821283,5.9543 -2.874488,5.3383 -5.338336,3.0798 -5.748975,-0.2053 -3.490451,-3.9011 0,-5.749 2.258526,-5.54356 4.927695,-2.87454 4.517053,-1.0266 4.722373,1.8479 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccccccccc"
+ id="path2818-3-2"
+ d="m 33.569916,981.32129 1.847886,3.07984 -0.821283,5.9543 -2.874488,5.33826 -5.338336,3.0798 -5.748975,-0.2053 -3.490451,-3.9011 0,-5.74896 2.258526,-5.5436 4.927695,-2.87454 4.517053,-1.0266 4.722373,1.8479 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccccccccc"
+ id="path2818-3-6"
+ d="m 72.375506,1019.9215 2.463848,4.5171 -0.410642,4.7223 -4.106412,4.9277 -5.133015,2.0532 -5.748975,-0.2053 -3.490451,-3.9011 0,-5.749 2.669167,-4.7223 4.722375,-2.4639 4.722373,-0.8213 4.311732,1.6426 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2908"
+ d="m 34.083217,975.98293 -2.053206,-0.61597 0.821282,-4.51705 2.463847,-2.66917 4.106412,-0.41064 2.053206,0.61596 -3.285129,0.82129 -2.258527,2.46384 -1.847885,4.31174 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2908-4"
+ d="m 56.216861,980.17756 -1.915052,-0.96315 1.593184,-4.30582 2.88991,-2.20078 4.115337,0.30866 1.915052,0.96314 -3.37784,0.2383 -2.652056,2.03423 -2.568537,3.92535 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2908-4-6"
+ d="m 73.878161,994.50275 0.963152,1.91506 4.30582,-1.59319 2.200779,-2.88991 -0.308659,-4.11533 -0.96314,-1.91506 -0.238295,3.37784 -2.03423,2.65206 -3.92535,2.56854 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2908-4-6-3"
+ d="m 77.705679,1018.2026 0.792583,1.9916 4.428292,-1.2118 2.444276,-2.6871 0.05119,-4.1266 -0.792563,-1.9917 -0.531791,3.3443 -2.257627,2.4646 -4.134281,2.2167 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhiteDolphin.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2826"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2834"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.5167464"
+ inkscape:cx="49.318911"
+ inkscape:cy="45.354981"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1280"
+ inkscape:window-height="726"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-952.36218)">
+ <g
+ id="g2848"
+ transform="matrix(0.94718127,0,0,1,5.1441209,0)">
+ <path
+ sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
+ id="path2832"
+ d="m 21.409187,1009.2837 3.850594,-5.9885 4.312974,-6.56537 6.026858,-7.19404 5.068076,-5.25188 5.537733,-4.27474 5.365827,-3.5041 2.054647,-0.99064 1.756897,-2.73841 1.016083,-3.52748 -0.668156,-2.14233 -0.710106,-2.98178 -0.568906,-1.55972 1.997345,-0.73376 3.051262,0.70676 3.23441,2.96828 1.935928,3.65165 1.664774,3.8397 0.397,2.33037 5.388307,2.56023 5.857963,3.53738 4.189076,3.8262 4.502182,4.47761 3.532159,4.71602 2.306336,4.04622 2.229452,4.21583 1.142041,4.303 0.416051,2.7853 -0.817318,3.9553 -1.401312,3.8618 0.378064,6.9663 0.232905,4.9517 -2.142125,1.0799 -1.867388,-2.6475 -3.791542,-8.7269 -2.693276,-1.9435 -2.96748,-3.6758 -3.158704,-3.2423 -0.150072,2.7315 c -1.183588,2.1006 -0.727662,2.1788 -1.669419,2.8704 l -2.845485,1.7911 -3.100755,0.2938 -3.715192,-1.444 3.05035,-3.0578 1.211269,-2.2168 0.283726,-3.0564 -1.499497,-3.2124 -5.594617,-2.2551 -6.430984,-0.9685 -8.157173,-0.423 -6.889401,1.0865 -6.163943,2.972 -6.121994,3.8114 -4.796918,5.0637 -4.369212,5.2015 5.722332,1.0098 4.306198,2.9434 3.564587,4.809 -1.40554,3.3423 -5.630626,-3.9007 -5.512971,-1.6086 -5.433305,0.3486 0.122418,-3.7133 -4.005019,4.6365 -4.1082286,0.1834 -4.5703428,0.8646 -5.8450126,2.5972 -0.4249251,-1.0225 2.37411703,-3.6566 4.76621177,-3.314 5.0069263,-2.0465 4.289125,-1.1241 3.763766,-4.871 3.320975,-5.7562 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2.19197774;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2834"
+ d="m 72.150568,1000.6302 -5.147858,-0.5555 -4.063233,-1.30775 -4.418286,-2.79866 -3.975221,-3.75745 -3.261004,-4.90406 6.885287,3.04205 3.765482,-0.43998 3.750128,0.65635"
+ style="fill:none;stroke:#000000;stroke-width:2.19197774;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2842"
+ d="m 82.427881,1002.246 1.21047,1.7662"
+ style="fill:none;stroke:#000000;stroke-width:2.19197774;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path2844"
+ d="m 53.83975,975.58326 5.434369,-0.72881 4.135888,-0.0454 3.051264,0.70675"
+ style="fill:none;stroke:#000000;stroke-width:2.19197774;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path2860"
+ d="m 70.183263,1005.0426 7.527542,4.6075"
+ style="fill:none;stroke:#000000;stroke-width:2.19197774;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="100"
+ height="100"
+ id="svg2833"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhitePrincess.svg">
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="487"
+ id="namedview19"
+ showgrid="false"
+ inkscape:zoom="2.36"
+ inkscape:cx="50"
+ inkscape:cy="50"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2833" />
+ <defs
+ id="defs2835">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="100 : 50 : 1"
+ inkscape:persp3d-origin="50 : 33.333333 : 1"
+ id="perspective21" />
+ </defs>
+ <metadata
+ id="metadata2838">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="matrix(0,1,-1,0,153.16323,-67.585316)"
+ id="layer1">
+ <g
+ transform="matrix(1.2568021,0,0,1.2568021,127.4848,230.75324)"
+ id="g799"
+ style="display:inline">
+ <path
+ d="m -28.079531,-94.874455 -4.264552,-25.678565 13.999806,24.343464"
+ inkscape:connector-curvature="0"
+ id="path704"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.5913403;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -19.140231,-95.88723 2.246154,-30.00621 9.5954992,27.886232 z"
+ inkscape:connector-curvature="0"
+ id="path706"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.5913403;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 12.490017,-94.82073 3.713129,-24.84222 -13.3990081,23.408891"
+ inkscape:connector-curvature="0"
+ id="path710"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.5913403;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 3.4881771,-95.734359 -2.37837,-29.892061 -8.8615575,28.106514 z"
+ inkscape:connector-curvature="0"
+ id="path712"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.5913403;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 8.6705152,-75.003615 c 0,2.494743 -7.3228728,4.517114 -16.3560942,4.517114 -9.033223,0 -16.356097,-2.022371 -16.356097,-4.517114 l 2.325288,-6.475256 -0.06428,-6.631027 -5.811396,-6.453037 4.358127,-3.075207 4.109397,1.001045 5.74678,-2.877825 5.7712718,1.347215 5.203493,-1.347215 5.2462981,2.877825 4.8612915,-1.001045 4.2955236,3.075207 -5.8100516,6.453037 0.060254,6.631027 z"
+ inkscape:connector-curvature="0"
+ id="path714"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.59134054;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -21.892448,-88.229599 c 2.801739,-1.37734 8.142276,-2.30791 14.2698066,-2.30791 6.1644171,0 11.5323386,0.94181 14.3201283,2.33283"
+ inkscape:connector-curvature="0"
+ id="path716"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.59134054;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -35.496787,129.14731 a 3.776254,3.776254 0 1 1 -7.552508,0 3.776254,3.776254 0 1 1 7.552508,0 z"
+ transform="matrix(0.94504751,0,0,0.94166667,3.6715495,-244.63895)"
+ id="path718"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.68689334;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -35.496787,129.14731 a 3.776254,3.776254 0 1 1 -7.552508,0 3.776254,3.776254 0 1 1 7.552508,0 z"
+ transform="matrix(0.94504751,0,0,0.94166667,54.80093,-244.56074)"
+ id="path720"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.68689334;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -35.496787,129.14731 a 3.776254,3.776254 0 1 1 -7.552508,0 3.776254,3.776254 0 1 1 7.552508,0 z"
+ transform="matrix(0.94504751,0,0,0.94166667,38.762768,-250.59195)"
+ id="path722"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.68689334;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -35.496787,129.14731 a 3.776254,3.776254 0 1 1 -7.552508,0 3.776254,3.776254 0 1 1 7.552508,0 z"
+ transform="matrix(0.94504751,0,0,0.94166667,19.780217,-250.61038)"
+ id="path726"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.68689334;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -23.978738,-75.003615 c 0,-2.494728 7.322874,-4.517115 16.3560966,-4.517115 9.0332214,0 16.3560942,2.022387 16.3560942,4.517115"
+ inkscape:connector-curvature="0"
+ id="path728"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.59134054;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m -21.669514,-81.284079 c 2.856168,-1.31876 8.078159,-2.20172 14.0468726,-2.20172 6.0282874,0 11.2948691,0.90067 14.1316836,2.24134"
+ inkscape:connector-curvature="0"
+ id="path730"
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:1.59134054;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhiteHSword.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2838"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="53.102954"
+ inkscape:cy="37.188247"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="792"
+ inkscape:window-height="655"
+ inkscape:window-x="62"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(366.71429,-981.93367)">
+ <g
+ id="g3595"
+ transform="matrix(1,0,0,1.1243568,0,-132.14157)">
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path3687"
+ d="m -270.42482,1041.7792 -10.32341,-9.3014 -54.35055,-0.1786 0,18.9597 53.89325,0 10.78071,-9.4797 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ transform="matrix(0,1,-1,0,0,0)"
+ y="335.26187"
+ x="1021.9576"
+ height="7.3214288"
+ width="39.642857"
+ id="rect3689"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ transform="matrix(0,1,-1,0,0,0)"
+ y="342.71426"
+ x="1036.7313"
+ height="19.202518"
+ width="9.0239458"
+ id="rect3693"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3701"
+ d="m -282.35544,1041.779 -52.24134,0"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhiteKnight.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2838"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="48.583075"
+ inkscape:cy="56.642455"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="792"
+ inkscape:window-height="678"
+ inkscape:window-x="62"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(366.71429,-981.93367)">
+ <g
+ id="g2853"
+ transform="matrix(0.86365412,0,0,0.86365412,-43.631762,139.94886)">
+ <path
+ sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccc"
+ id="path2844"
+ d="m -315.51293,998.27067 11.63134,1.59646 9.12262,4.33327 1.82452,-4.33327 3.87712,-4.10518 3.64904,-1.36839 5.70164,-0.45613 2.73679,3.19292 0.45613,5.24555 -1.82453,4.3332 -1.82452,3.1929 -3.64905,1.3684 1.59646,3.421 -1.14033,3.1929 -1.36839,1.5965 1.59646,6.8419 0.68419,5.2455 -0.45613,6.1578 -1.82452,5.7016 -3.42098,6.3859 -4.56131,4.1051 -3.87711,0.2281 -4.10518,2.5087 -1.14033,5.7017 -1.59646,7.7542 -4.33324,4.5613 -4.78937,1.8245 -5.01745,-0.228 -5.9297,-3.6491 -2.73678,-2.9648 0.45613,-3.421 -2.05259,-4.1052 -2.05259,-4.7894 -0.91226,-2.7368 -4.78938,-4.5613 -5.01744,-3.1929 -4.78937,-6.8419 0,-8.4385 0.91226,-6.8419 1.59646,-5.9297 -2.96485,-3.6491 -0.22807,-6.1577 -2.73678,-3.6491 -1.14033,-4.7894 1.82452,-5.70161 2.28066,-3.19291 2.05259,0.68419 3.42098,3.19292 3.64905,4.33324 1.14032,2.73677 2.96486,0.6842 4.78937,-3.1929 6.6139,-1.36839 5.70163,-0.45614 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2846"
+ d="m -297.03962,1022.4456 -6.6634,0.3076 -1.54696,0.8628 -5.2261,5.0368 4.18476,-2.0826 4.64089,0.5358 2.42914,-1.0113 0.81327,-3.193 1.3684,-0.4561 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccccc"
+ id="path2848"
+ d="m -335.35462,1021.9895 6.6139,0.5357 2.78628,1.3684 2.23116,3.3414 -3.06384,0.099 -3.09393,0.049 -2.02249,-1.0414 -1.04135,-1.5664 -0.35714,-2.102 1.65663,0.1786 -3.70922,-0.8628 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccccccc"
+ id="path2850"
+ d="m -316.47468,1041.6827 3.74804,-1.1898 1.64595,1.0908 -1.59646,3.7675 -2.15158,2.7368 -2.40973,0.049 -2.52813,-2.6572 -1.77503,-3.8771 1.18982,-1.1898 3.87712,1.2694 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccccccccc"
+ id="path2852"
+ d="m -315.642,1050.9344 3.50928,0.9811 4.17435,0.9479 3.62065,-0.01 c 0.74016,-0.5709 1.30175,-0.1746 1.68476,-0.6346 l -1.66536,7.8725 -0.73369,2.7669 -0.86277,4.3031 -1.98369,1.547 -3.91591,0.4561 -5.89962,0.099 -2.96485,-0.9619 -1.81383,-1.9041 -1.17043,-2.726 -1.38779,-3.9267 -2.76688,-6.1082 2.26997,0.2775 5.24551,-1.5964 4.6603,-1.3878 0,-10e-5 0,10e-5 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path2854"
+ d="m -304.76376,1053.2151 -3.3026,9.9767 -1.72553,-10.7405 5.38527,0.9429 -0.35714,-0.1791 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path2856"
+ d="m -320.19263,1052.5997 -2.13217,10.0068 -2.21175,-3.4617 -0.81328,-5.0971 5.1572,-1.448 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2858"
+ d="m -308.23424,1068.4159 c 1.22995,-0.8464 1.98419,-1.8111 2.08268,-2.7174 l 1.07144,-5.1767 c -1.20342,1.0414 -2.22826,2.2613 -3.43167,3.3027 l -1.39849,0.5852 c -0.91365,-0.8155 -3.17893,-0.7127 -2.39033,-1.9537 l -0.55511,3.6297 1.67604,2.5883 2.94544,-0.2581 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2860"
+ d="m -316.72215,1062.1484 -2.43982,1.8051 -0.91227,0 -2.81636,-2.0332 -0.0796,3.5802 2.16226,2.6679 2.73679,0.7336 1.98369,-2.231 -0.6347,-4.5226 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccccccc"
+ id="path2862"
+ d="m -291.33799,1006.253 1.64596,-4.6303 3.79752,-3.93723 5.09703,-0.0796 1.09083,3.40163 -1.21991,4.1546 -1.41788,2.5583 -3.06385,1.0413 -3.87711,-0.2281 -2.05259,-2.2806 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccccccc"
+ id="path2864"
+ d="m -344.47724,996.21809 3.47048,3.09392 2.05259,2.80569 0.6347,4.1353 -3.19292,1.8245 -2.78628,-1.9041 -2.37964,-3.7975 0,-2.75624 1.23931,-3.04443 0.96176,-0.35714 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2866"
+ d="m -301.829,1037.726 14.36813,-10.7191 11.63133,-7.2981 6.6139,-5.2455"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2868"
+ d="m -301.60093,1040.9189 14.14006,-4.1052 10.03488,-1.1403 10.491,0 2.50873,0.6842"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2870"
+ d="m -300.68867,1045.0241 10.26294,-2.7368 10.26295,-0.9123 6.84196,0.6842 10.03488,2.0526"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2872"
+ d="m -301.829,1047.7609 10.03488,0.6842 8.43842,3.8771"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2874"
+ d="m -331.70557,1039.5505 -10.26295,-5.0174 -7.75422,-2.9649 -8.66649,-1.3684 -10.03488,-0.4561"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2876"
+ d="m -332.1617,1043.1996 -13.912,-2.0526 -9.12262,0.228 -12.31553,3.8772 -9.12262,4.3332"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2878"
+ d="m -332.38977,1046.8486 -7.29809,0.9123 -10.03488,3.649 -8.66649,4.5613 c 0,0 -4.33325,3.8771 -5.24551,3.6491"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path2880"
+ d="m -327.6004,1049.5854 -6.61389,2.7368 -6.84197,4.1052 -4.78937,4.5613"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg3738"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhiteQueen.svg">
+ <defs
+ id="defs3740">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3746" />
+ <inkscape:perspective
+ id="perspective3800"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="64.212367"
+ inkscape:cy="62.923419"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="716"
+ inkscape:window-height="487"
+ inkscape:window-x="3"
+ inkscape:window-y="71"
+ inkscape:window-maximized="0"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ position="0.17142614,0.85712"
+ orientation="0,744.09448"
+ id="guide4498" />
+ <sodipodi:guide
+ position="744.26591,0.85712"
+ orientation="-1052.3622,0"
+ id="guide4500" />
+ <sodipodi:guide
+ position="744.26591,1053.2193"
+ orientation="0,-744.09448"
+ id="guide4502" />
+ <sodipodi:guide
+ position="0.17142614,1053.2193"
+ orientation="1052.3622,0"
+ id="guide4504" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3743">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0.17142614,-953.2193)">
+ <g
+ id="g4531"
+ transform="matrix(0.97053726,0,0,0.97053726,1.9949493,30.030726)">
+ <path
+ id="path3888"
+ d="m 18.200002,987.30504 2.742858,-6.85715 -1.828571,-4.11428 5.942856,-8.22857 9.142858,-6.4 12.342857,-0.45715 2.285714,-7.31428 7.771429,0 7.314286,4.11428 10.971427,1.82858 -1.371427,5.94285 11.885713,3.2 -1.371428,4.57143 6.857142,6.85714 -2.285713,2.28572 7.314286,10.97143 -2.742858,2.74285 4.571429,10.05711 -0.457144,6.4 0,11.4286 -6.4,-8.2286 0.457144,16.9143 -2.285715,3.2 -6.4,-5.9428 0,9.1428 -5.028571,3.6572 0.914286,-10.0572 -7.314286,12.3429 -4.114285,-5.0286 -4.571429,10.5143 -10.514286,1.3714 -10.057143,-1.3714 -8.685715,-6.8571 -4.571427,-2.2858 -10.971429,6.8572 -0.457144,-12.8 -2.285713,-7.7714 -3.2,2.7428 -5.0285719,-4.1143 0.9142856,-9.1428 -2.2857142,-4.1143 0.9142858,-5.4857 -5.0285716,-3.6572 1.3714287,-3.6571 15.5428566,-13.25716 z"
+ style="fill:#f9f9f9;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path3890"
+ d="m 36.94286,989.59075 -8.685715,-1.82857 3.657144,1.37143 -5.485715,4.57143 5.485715,-2.74286 3.857141,0.2 1.17143,-1.57143 z"
+ style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3892"
+ d="m 59.34286,988.21932 0,-6.4 -0.457144,-7.77143 -1.828571,-5.02857 -3.2,-2.28571 -6.857143,0.91428 -3.657142,4.11429 -1.828571,3.65714"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3894"
+ d="m 54.771431,984.10504 -0.914286,-4.57143 -2.742856,-3.65714 -3.2,0 -1.828573,4.11428 0,0 0.914286,0.45714 -0.914286,-0.45714"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3896"
+ d="m 12.714289,1003.7622 0,0 z"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path3898"
+ d="M 11.471431,1004.3764 0.82857386,1002.8479"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3900"
+ d="m 6.3142883,1010.1622 2.2857142,-2.7429 2.2857135,-0.4571 0.457144,-2.7429 0,0"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3902"
+ d="m 6.3142883,1017.4765 3.2000006,-0.9143 3.6571421,4.1143 4.571429,0 6.4,2.2857 5.028571,0.4571 0.457143,0 0,0.4572"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3904"
+ d="m 43.34286,1003.305 -0.457144,8.6858 -3.657142,6.4 -0.914285,7.3142 -5.485715,6.4 -4.114285,6.8572"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3906"
+ d="m 72.600003,997.36218 -3.200001,13.71432 -5.942857,10.9714 -6.857142,8.6857 -5.028572,13.7143"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path3908"
+ d="m 66.557145,1040.7193 -0.357143,-7.2428 4.114287,-9.1429 4.571427,-10.0571 2.285715,-10.9715 -0.457142,-7.31425"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3910"
+ d="m 80.371431,996.44789 0,7.31431 0,5.4857 0.914285,7.7714 -4.571427,6.8572 -2.742858,5.4857 -1.371428,6.4"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path3912"
+ d="m 72.14286,976.79075 6.857143,7.31429 8.228571,5.94285 -0.1,20.97141 3.185714,4.0572"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3914"
+ d="m 72.14286,971.30504 7.771429,0.91428 5.028571,2.74286 0,0"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccc"
+ id="path3916"
+ d="m 19.114289,986.99075 11.885713,-8.37143 4.571429,-2.74285"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ transform="translate(-0.17142614,952.93361)"
+ id="path4508"
+ d="m 14.642857,58.142833 c 8.571429,-1.785714 8.214286,-1.785714 8.214286,-1.785714"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ transform="translate(-0.17142614,952.93361)"
+ id="path4510"
+ d="M 15.357143,60.999976 C 27.142857,60.642833 27.142857,60.642833 27.142857,60.642833"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path4512"
+ d="m 15.542859,1016.4336 c 11.071429,4.2857 11.071429,4.2857 11.071429,4.2857"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="100"
+ height="100"
+ id="svg2833"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhiteBishop.svg">
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="487"
+ id="namedview14"
+ showgrid="false"
+ inkscape:zoom="2.36"
+ inkscape:cx="50"
+ inkscape:cy="50"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2833" />
+ <defs
+ id="defs2835">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="100 : 50 : 1"
+ inkscape:persp3d-origin="50 : 33.333333 : 1"
+ id="perspective16" />
+ </defs>
+ <metadata
+ id="metadata2838">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <path
+ d="m 55.192266,11.163944 a 5.1922815,5.1665922 0 0 1 -10.384563,0 5.1922815,5.1665922 0 1 1 10.384563,0 z"
+ id="path293"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 35.970027,57.593966 c -2.187845,-2.572277 -7.934014,-3.956125 -8.03705,-16.692787 -0.09202,-11.376145 14.967422,-23.269413 22.259497,-23.363498 7.29776,-0.09411 21.85339,12.00193 21.874874,23.363498 0.02609,13.791 -5.586093,14.681011 -7.680588,16.692787 z"
+ inkscape:connector-curvature="0"
+ id="path308"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 69.229975,69.589847 c 0,2.133412 -8.609865,3.862871 -19.230651,3.862871 -10.620805,0 -19.230675,-1.729459 -19.230675,-3.862871 0.06799,-1.434016 2.747191,-9.995935 6.676405,-11.313027 6.900236,-2.312959 18.407359,-2.583263 25.561118,0 3.840166,1.386714 6.291799,10.015582 6.223803,11.313027 z"
+ inkscape:connector-curvature="0"
+ id="path300"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 31.391915,68.632566 c 2.120178,-1.670363 9.65975,-2.90559 18.635579,-2.90559 8.899888,0 16.387721,1.214423 18.580588,2.863284"
+ inkscape:connector-curvature="0"
+ id="path306"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="M 9.2736066,84.219958 13.489016,89 c 2.073196,-1.364321 4.810436,-2.594882 7.478968,-2.594882 l 19.717294,0 c 3.267641,0 6.406491,-2.799742 9.042769,-4.165477 2.908216,1.229164 5.677226,4.165477 9.04275,4.165477 l 20.805133,0 c 2.255902,0 4.101743,1.177894 6.255133,2.594882 l 4.89533,-4.780042 c -2.222249,-1.685656 -6.15317,-4.317929 -9.518695,-4.317929 l -21.757004,0 C 57.150979,79.864738 55.8005,77.746132 53.082247,74.7964 l -6.300479,0 c -1.755773,1.545696 -4.81048,5.13672 -7.45631,5.105629 l -20.397194,0 c -3.535508,0 -7.052299,1.874259 -9.6546574,4.317929 z"
+ inkscape:connector-curvature="0"
+ id="path310"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="100"
+ height="100"
+ id="svg2833"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhiteCrownedRook.svg">
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="487"
+ id="namedview14"
+ showgrid="false"
+ inkscape:zoom="2.36"
+ inkscape:cx="50"
+ inkscape:cy="49.614407"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2833" />
+ <defs
+ id="defs2835">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="100 : 50 : 1"
+ inkscape:persp3d-origin="50 : 33.333333 : 1"
+ id="perspective16" />
+ </defs>
+ <metadata
+ id="metadata2838">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="g2837">
+ <path
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path1388"
+ inkscape:connector-curvature="0"
+ d="m 14.471992,82.594659 71.056004,0 0,6.405345 -71.056004,0 z" />
+ <path
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path1390"
+ inkscape:connector-curvature="0"
+ d="m 21.325261,73.610637 57.349453,0 0,8.977739 -57.349453,0 z" />
+ <path
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linejoin:bevel;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path1392"
+ inkscape:connector-curvature="0"
+ d="m 28.146837,67.225346 43.689703,0 6.932502,6.366507 -57.538095,0 z" />
+ <path
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path1394"
+ inkscape:connector-curvature="0"
+ d="m 28.155129,42.633261 43.689731,0 0,24.592098 -43.689745,0 z" />
+ <path
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:bevel;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path1396"
+ inkscape:connector-curvature="0"
+ d="m 19.929584,36.532611 60.140821,0 -8.412112,6.399601 -43.349862,0 z" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path1398"
+ inkscape:connector-curvature="0"
+ d="m 19.924707,23.705264 0,12.822282 60.150575,0 0,-12.822282 -12.294795,0 -12.294794,0 -11.014087,0 -12.252105,0 -12.294794,0 z" />
+ <path
+ sodipodi:nodetypes="cccccccc"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path1454"
+ inkscape:connector-curvature="0"
+ d="m 26.531069,23.858503 23.673572,-12.920244 23.673586,12.920244 -6.09774,-0.153239 -12.294794,0 -11.014087,0 -12.252105,0 -5.688432,0.153239 z" />
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhiteHSword.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2838"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="53.102954"
+ inkscape:cy="37.188247"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="792"
+ inkscape:window-height="655"
+ inkscape:window-x="62"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(366.71429,-981.93367)">
+ <g
+ id="g2823">
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path3687"
+ d="m -270.42482,1039.19 -10.32341,-10.4581 -54.35055,-0.2008 0,21.3174 53.89325,0 10.78071,-10.6585 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2.12071395;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ transform="matrix(0,1,-1,0,0,0)"
+ y="335.26187"
+ x="1016.9034"
+ height="7.3214288"
+ width="44.572716"
+ id="rect3689"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2.12071395;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ transform="matrix(0,1,-1,0,0,0)"
+ y="342.71426"
+ x="1033.5143"
+ height="19.202518"
+ width="10.146134"
+ id="rect3693"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2.12071395;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="100"
+ height="100"
+ id="svg2833"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhiteCrownedBishop.svg">
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="487"
+ id="namedview13"
+ showgrid="false"
+ inkscape:zoom="2.36"
+ inkscape:cx="50"
+ inkscape:cy="50"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2833" />
+ <defs
+ id="defs2835">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="100 : 50 : 1"
+ inkscape:persp3d-origin="50 : 33.333333 : 1"
+ id="perspective15" />
+ </defs>
+ <metadata
+ id="metadata2838">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <path
+ d="m 36.534832,58.968047 c -3.243443,-3.154945 -10.214715,-10.374074 -13.03495,-12.09609 -2.820236,-1.722015 -9.813947,-3.834791 -9.997463,-7.098474 1.572767,-7.2769 19.644618,-8.907618 31.169347,-21.564265 l 10.065462,-0.02979 c 12.744832,12.505359 30.015019,14.896149 31.391548,21.594106 -0.557894,3.635787 -4.567159,4.603962 -8.190134,7.098425 -3.622976,2.494463 -10.263803,8.270149 -14.131036,12.09614 z"
+ inkscape:connector-curvature="0"
+ id="path884"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 68.455849,70.439082 c 0,2.040073 -8.263263,3.693867 -18.456498,3.693867 -10.193248,0 -18.456512,-1.653794 -18.456512,-3.693867 0.06525,-1.371275 2.6366,-9.558591 6.407631,-10.81805 6.622461,-2.211769 17.666352,-2.470245 24.532126,0 3.685576,1.326042 6.038513,9.577372 5.973253,10.81805 z"
+ inkscape:connector-curvature="0"
+ id="path886"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 32.141016,69.523687 c 2.034814,-1.597278 9.270883,-2.77846 17.885376,-2.77846 8.541618,0 15.728019,1.161284 17.832608,2.738006"
+ inkscape:connector-curvature="0"
+ id="path888"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 10.913106,84.429095 4.045713,4.570906 c 1.989736,-1.304629 4.616785,-2.481355 7.177892,-2.481355 l 18.923549,0 c 3.136099,0 6.148589,-2.677244 8.678735,-3.983226 2.791146,1.175385 5.448685,3.983226 8.678723,3.983226 l 19.9676,0 c 2.165085,0 3.936616,1.126367 6.003322,2.481355 l 4.698258,-4.570906 c -2.132784,-1.6119 -5.905464,-4.129005 -9.135502,-4.129005 l -20.881146,0 c -2.207135,-0.03562 -3.503256,-2.061572 -6.112083,-4.882248 l -6.046837,0 c -1.685097,1.478063 -4.616835,4.911978 -7.156147,4.882248 l -19.576081,0 c -3.393181,0 -6.768399,1.792249 -9.265996,4.129005 z"
+ inkscape:connector-curvature="0"
+ id="path894"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="100"
+ height="100"
+ id="svg2833"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhiteRook.svg">
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="487"
+ id="namedview13"
+ showgrid="false"
+ inkscape:zoom="2.36"
+ inkscape:cx="50"
+ inkscape:cy="50"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2833" />
+ <defs
+ id="defs2835">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="100 : 50 : 1"
+ inkscape:persp3d-origin="50 : 33.333333 : 1"
+ id="perspective15" />
+ </defs>
+ <metadata
+ id="metadata2838">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="g2834">
+ <path
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect204"
+ inkscape:connector-curvature="0"
+ d="m 14.354056,82.157062 71.291888,0 0,6.842936 -71.291888,0 z" />
+ <path
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect206"
+ inkscape:connector-curvature="0"
+ d="m 21.230076,72.559283 57.539835,0 0,9.591067 -57.539835,0 z" />
+ <path
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linejoin:bevel;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect208"
+ inkscape:connector-curvature="0"
+ d="m 28.074297,65.737771 43.83474,0 6.955516,6.801444 -57.729105,0 z" />
+ <path
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect210"
+ inkscape:connector-curvature="0"
+ d="m 28.082617,31.497226 43.834767,0 0,34.240572 -43.834781,0 z" />
+ <path
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:bevel;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect212"
+ inkscape:connector-curvature="0"
+ d="m 19.829765,24.626866 60.340471,0 -8.440038,6.8368 -43.49377,0 z" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ style="color:#000000;fill:#ffffcc;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect214"
+ inkscape:connector-curvature="0"
+ d="m 19.824872,10.923199 0,13.698256 60.350257,0 0,-13.698256 -12.33561,0 -12.335609,0 -11.050651,0 -12.292778,0 -12.335609,0 z" />
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhiteSword.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2838"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="35.248447"
+ inkscape:cy="51.239847"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="792"
+ inkscape:window-height="655"
+ inkscape:window-x="62"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(366.71429,-981.93367)">
+ <g
+ id="g2823">
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path3687"
+ d="m -316.26765,986.20384 -10.45897,10.32341 -0.20079,54.35055 21.31911,0 0,-53.89325 -10.65935,-10.78071 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2.12079835;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ y="1051.0409"
+ x="-338.556"
+ height="7.3214288"
+ width="44.576263"
+ id="rect3689"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2.12079835;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ y="1058.4933"
+ x="-321.94376"
+ height="19.202518"
+ width="10.146942"
+ id="rect3693"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2.12079835;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="WhiteSword.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2838"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="35.248447"
+ inkscape:cy="51.239847"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="792"
+ inkscape:window-height="655"
+ inkscape:window-x="62"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(366.71429,-981.93367)">
+ <g
+ id="g3595"
+ transform="matrix(1.1244463,0,0,1,39.257968,0)">
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path3687"
+ d="m -316.17839,986.20384 -9.30144,10.32341 -0.17857,54.35055 18.95966,0 0,-53.89325 -9.47965,-10.78071 z"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ y="1051.0409"
+ x="-336"
+ height="7.3214288"
+ width="39.642857"
+ id="rect3689"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ y="1058.4933"
+ x="-321.22629"
+ height="19.202518"
+ width="9.0239458"
+ id="rect3693"
+ style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ id="path3701"
+ d="m -316.17857,998.13446 0,52.24134"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
#include "frontend.h"
-void
+int
PlaySoundFile (char *name)
{
if (*name == NULLCHAR) {
- return;
+ return 0;
} else if (strcmp(name, "$") == 0) {
putc(BELLCHAR, stderr);
} else {
char buf[2048];
char *prefix = "", *sep = "";
- if(appData.soundProgram[0] == NULLCHAR) return;
+ if(appData.soundProgram[0] == NULLCHAR) return 1;
if(!strchr(name, '/')) { prefix = appData.soundDirectory; sep = "/"; }
snprintf(buf, sizeof(buf), "%s '%s%s%s' &", appData.soundProgram, prefix, sep, name);
system(buf);
}
+ return 1;
}
void
PlaySoundFile(appData.soundTell);
}
+int
+Roar ()
+{
+ return PlaySoundFile(appData.soundRoar);
+}
+
void
PlaySoundForColor (ColorClass cc)
{
parse_cpair (ColorClass cc, char *str)
{
if ((textColors[(int)cc].fg=parse_color(str, 0)) == -2) {
- fprintf(stderr, _("%s: can't parse foreground color in `%s'\n"),
+ fprintf(stderr, _("%s: can't parse foreground color in '%s'\n"),
programName, str);
return -1;
}
}
if (*s == '~') {
+ if(s[1] == '~') { // use ~~ for XBoard's private data directory
+ snprintf(d, 4*MSG_SIZ, DATADIR "%s", s+2);
+ } else
if (*(s+1) == '/') {
safeStrCpy(d, getpwuid(getuid())->pw_dir, 4*MSG_SIZ );
strcat(d, s+1);
#define PACKAGE_NAME "WinBoard"\r
\r
/* Define to the full name and version of this package. */\r
-#define PACKAGE_STRING "WinBoard 4.7.2"\r
+#define PACKAGE_STRING "WinBoard master-20130828"\r
\r
/* Define to the one symbol short name of this package. */\r
#define PACKAGE_TARNAME "winboard"\r
\r
/* Define to the version of this package. */\r
-#define PACKAGE_VERSION "4.7.2"\r
+#define PACKAGE_VERSION "master-20130828"\r
\r
/* Define the Windows-specific FILE version info. this *MUST* be four comma separated 16-bit integers */\r
-#define PACKAGE_FILEVERSION 4,7,2013,828\r
+#define PACKAGE_FILEVERSION 4,7,2013,0829\r
\r
#define PTY_ITERATION\r
\r
#define BUILT_IN_SOUND_NAMES {\\r
"Beepbeep", "Ching", "Click", "Cymbal", "Ding", "Drip", \\r
"Gong", "Laser", "Move", "Penalty", "Phone", "Pop", "Pop2", \\r
- "Slap", "Squeak", "Swish", "Thud", "Whipcrack", \\r
+ "Roar", "Slap", "Squeak", "Swish", "Thud", "Whipcrack", \\r
"Alarm", "Challenge", "Channel", "Channel1", "Draw", "Kibitz", \\r
"Lose", "Request", "Seek", "Shout", "SShout", "Tell", "Unfinished", \\r
"Win", NULL \\r
}\r
\r
#define SETTINGS_FILE "winboard.ini"\r
-#define DEBUG_FILE "winboard.debug"
+#define DEBUG_FILE "winboard.debug"\r
\r
#define ICS_LOGON "ics.ini"\r
\r
#define IDC_NFG_Edit 1023\r
#define IDC_EpDrawMoveCount 1023\r
#define IDC_PolyglotDir 1023\r
+#define OPT_TagsSave 1023\r
#define OPT_ConsoleText 1024\r
#define OPT_LightSquareColor 1024\r
#define OPT_CommandInput 1025\r
#define OPT_ExtraInfoInMoveHistory 1437\r
#define OPT_HighlightMoveArrow 1438\r
#define OPT_AutoLogo 1439\r
+#define OPT_AutoTags 1440\r
#define IDC_BUTTON1 1440\r
#define IDC_BrowseForPolyglotDir 1440\r
#define IDC_BrowseForEGTB 1441\r
#define OPT_VariantMakruk 1529\r
#define OPT_VariantSChess 1530\r
#define OPT_VariantSpartan 1531\r
+#define OPT_VariantASEAN 1532\r
#define OPT_VariantGrand 1534\r
+#define OPT_VariantLion 1535\r
+#define OPT_EngineVariant 1560\r
#define IDC_Files 1550\r
#define IDC_Ranks 1551\r
#define IDC_Holdings 1552\r
\r
/* Imports from winboard.c */\r
extern HWND hwndMain;\r
-Boolean ParseFEN(Board b, int *stm, char *FEN);\r
\r
/* File globals */\r
static char *copyTemp;\r
char *fen = NULL;\r
\r
if(gameMode == EditPosition) EditPositionDone(TRUE); // [HGM] mak sure castling rights are set consistently\r
- fen = PositionToFEN(currentMove, NULL);\r
+ fen = PositionToFEN(currentMove, NULL, 1);\r
if (!fen) {\r
DisplayError(_("Unable to convert position to FEN."), 0);\r
return;\r
}\r
\r
// [HGM] paste any: make still smarter, to allow pasting of games without tags, recognize FEN in stead\r
- if(!ParseFEN(dummyBoard, &dummy, buf) ) {\r
+ if(!ParseFEN(dummyBoard, &dummy, buf, 0) ) {\r
PasteGameFromString( buf );\r
}\r
else {\r
case WM_COMMAND:\r
switch (LOWORD(wParam)) {\r
case IDOK:\r
+ case OPT_TagsSave:\r
if (canEditTags) {\r
char *p, *q;\r
/* Read changed options from the dialog box */\r
}\r
*p = NULLCHAR; err = 0;\r
if(resPtr) *resPtr = strdup(str); else\r
- if(bookUp) SaveToBook(str); else\r
+ if(bookUp) SaveToBook(str), DisplayBook(currentMove); else\r
err = ReplaceTags(str, &gameInfo);\r
if (err) DisplayError(_("Error replacing tags."), err);\r
\r
free(str);\r
}\r
- TagsPopDown();\r
+ if(LOWORD(wParam) == IDOK) TagsPopDown();\r
return TRUE;\r
\r
case IDCANCEL:\r
int FinishMove P((ChessMove moveType, int fromX, int fromY, int toX, int toY,\r
/*char*/int promoChar));\r
void DisplayMove P((int moveNumber));\r
-Boolean ParseFEN P((Board board, int *blackPlaysFirst, char *fen));\r
void ChatPopUp P((char *s));\r
typedef struct {\r
ChessSquare piece; \r
RECT boardRect;\r
COLORREF lightSquareColor, darkSquareColor, whitePieceColor, \r
blackPieceColor, highlightSquareColor, premoveHighlightColor;\r
+COLORREF markerColor[8] = { 0x00FFFF, 0x0000FF, 0x00FF00, 0xFF0000, 0xFFFF00, 0xFF00FF, 0xFFFFFF, 0x000000 };\r
HPALETTE hPal;\r
ColorClass currentColorClass;\r
\r
static HBRUSH lightSquareBrush, darkSquareBrush,\r
blackSquareBrush, /* [HGM] for band between board and holdings */\r
explodeBrush, /* [HGM] atomic */\r
- markerBrush, /* [HGM] markers */\r
+ markerBrush[8], /* [HGM] markers */\r
whitePieceBrush, blackPieceBrush, iconBkgndBrush /*, outlineBrush*/;\r
static POINT gridEndpoints[(BOARD_RANKS + BOARD_FILES + 2) * 2];\r
static DWORD gridVertexCounts[BOARD_RANKS + BOARD_FILES + 2];\r
#define oldDialog 0 /* cygwin doesn't define _winmajor; mingw does */\r
#else\r
\r
-\r
-\r
#if defined(_winmajor)\r
#define oldDialog (_winmajor < 4)\r
#else\r
VOID\r
InitDrawingColors()\r
{\r
+ int i;\r
if (pLogPal == NULL) {\r
/* Allocate enough memory for a logical palette with\r
* PALETTESIZE entries and set the size and version fields\r
blackPieceBrush = CreateSolidBrush(blackPieceColor);\r
iconBkgndBrush = CreateSolidBrush(GetSysColor(COLOR_BACKGROUND));\r
explodeBrush = CreateSolidBrush(highlightSquareColor); // [HGM] atomic\r
- markerBrush = CreateSolidBrush(premoveHighlightColor); // [HGM] markers\r
- /* [AS] Force rendering of the font-based pieces */\r
+ for(i=0; i<8;i++) markerBrush[i] = CreateSolidBrush(markerColor[i]); // [HGM] markers\r
+\r
+ /* [AS] Force rendering of the font-based pieces */\r
if( fontBitmapSquareSize > 0 ) {\r
fontBitmapSquareSize = 0;\r
}\r
&& (boardSize < SizePetite || boardSize > SizeBulky) // Archbishop and Chancellor available in entire middle range\r
|| (v == VariantShogi && boardSize != SizeModerate) // Japanese-style Shogi\r
|| v == VariantKnightmate || v == VariantSChess || v == VariantXiangqi || v == VariantSpartan\r
- || v == VariantShatranj || v == VariantMakruk || v == VariantGreat || v == VariantFairy ) {\r
+ || v == VariantShatranj || v == VariantMakruk || v == VariantGreat || v == VariantFairy || v == VariantLion ) {\r
if(boardSize < SizeMediocre) boardSize = SizePetite; else\r
if(boardSize > SizeModerate) boardSize = SizeBulky; else\r
boardSize = SizeMiddling;\r
pieceBitmap[0][WhiteUnicorn] = DoLoadBitmap(hInst, "u", squareSize, "s");\r
pieceBitmap[1][WhiteUnicorn] = DoLoadBitmap(hInst, "u", squareSize, "o");\r
pieceBitmap[2][WhiteUnicorn] = DoLoadBitmap(hInst, "u", squareSize, "w");\r
+ pieceBitmap[0][WhiteLion] = DoLoadBitmap(hInst, "ln", squareSize, "s");\r
+ pieceBitmap[1][WhiteLion] = DoLoadBitmap(hInst, "ln", squareSize, "o");\r
+ pieceBitmap[2][WhiteLion] = DoLoadBitmap(hInst, "ln", squareSize, "w");\r
\r
if(gameInfo.variant == VariantShogi) { /* promoted Gold represemtations */\r
pieceBitmap[0][WhiteCannon] = DoLoadBitmap(hInst, "wp", squareSize, "s");\r
}\r
\r
return result;\r
+\r
+\r
+\r
}\r
\r
BOOL IsDrawArrowEnabled()\r
DisplayHoldingsCount(hdc, x, y, flipView, (int) board[row][column]);\r
else if( column == BOARD_RGHT) /* right align */\r
DisplayHoldingsCount(hdc, x, y, !flipView, (int) board[row][column]);\r
+ else if( piece == DarkSquare) DisplayHoldingsCount(hdc, x, y, 0, 0);\r
else\r
if (appData.monoMode) {\r
if (piece == EmptySquare) {\r
{\r
int square = color & 0x80;\r
HBRUSH oldBrush = SelectObject(hdcSeek, \r
- color == 0 ? markerBrush : color == 1 ? darkSquareBrush : explodeBrush);\r
+ color == 0 ? markerBrush[1] : color == 1 ? darkSquareBrush : explodeBrush);\r
color &= 0x7F;\r
if(square)\r
Rectangle(hdcSeek, boardRect.left+x - squareSize/9, boardRect.top+y - squareSize/9,\r
for (row = 0; row < BOARD_HEIGHT; row++) {\r
for (column = 0; column < BOARD_WIDTH; column++) {\r
if (marker[row][column]) { // marker changes only occur with full repaint!\r
- HBRUSH oldBrush = SelectObject(hdcmem, \r
- marker[row][column] == 2 ? markerBrush : explodeBrush);\r
+ HBRUSH oldBrush = SelectObject(hdcmem, markerBrush[marker[row][column]-1]);\r
SquareToPos(row, column, &x, &y);\r
Ellipse(hdcmem, x + squareSize/4, y + squareSize/4,\r
x + 3*squareSize/4, y + 3*squareSize/4);\r
} else if (PtInRect((LPRECT) &blackRect, pt)) {\r
ClockClick(!flipClock); break;\r
}\r
+ if(dragging) { // [HGM] lion: don't destroy dragging info if we are already dragging\r
dragInfo.start.x = dragInfo.start.y = -1;\r
dragInfo.from = dragInfo.start;\r
+ }\r
if(fromX == -1 && frozen) { // not sure where this is for\r
fromX = fromY = -1; \r
DrawPosition(forceFullRepaint || FALSE, NULL); /* [AS] */\r
if(PromoScroll(pt.x - boardRect.left, pt.y - boardRect.top)) break;\r
MovePV(pt.x - boardRect.left, pt.y - boardRect.top, boardRect.bottom - boardRect.top);\r
if ((appData.animateDragging || appData.highlightDragging)\r
- && (wParam & MK_LBUTTON)\r
+ && (wParam & MK_LBUTTON || dragging == 2)\r
&& dragInfo.from.x >= 0) \r
{\r
BOOL full_repaint = FALSE;\r
dragInfo.pos = pt;\r
}\r
if (appData.highlightDragging) {\r
- SetHighlights(fromX, fromY, x, y);\r
+ HoverEvent(highlightInfo.sq[1].x, highlightInfo.sq[1].y, x, y);\r
if( IsDrawArrowEnabled() && (x < 0 || x >= BOARD_WIDTH || y < 0 || y >= BOARD_HEIGHT) ) {\r
full_repaint = TRUE;\r
}\r
return CallWindowProc(buttonDesc[i].wndproc, hwnd, message, wParam, lParam);\r
}\r
\r
+static int promoStyle;\r
+\r
/* Process messages for Promotion dialog box */\r
LRESULT CALLBACK\r
Promotion(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
PieceToChar(BlackMarshall) != '~') ) ?\r
SW_SHOW : SW_HIDE);\r
/* [HGM] Hide B & R button in Shogi, use Q as promote, N as defer */\r
- ShowWindow(GetDlgItem(hDlg, PB_Rook),\r
- gameInfo.variant != VariantShogi ?\r
- SW_SHOW : SW_HIDE);\r
- ShowWindow(GetDlgItem(hDlg, PB_Bishop), \r
- gameInfo.variant != VariantShogi ?\r
- SW_SHOW : SW_HIDE);\r
- if(gameInfo.variant == VariantShogi) {\r
+ ShowWindow(GetDlgItem(hDlg, PB_Rook), !promoStyle ? SW_SHOW : SW_HIDE);\r
+ ShowWindow(GetDlgItem(hDlg, PB_Bishop), !promoStyle ? SW_SHOW : SW_HIDE);\r
+ if(promoStyle) {\r
SetDlgItemText(hDlg, PB_Queen, "YES");\r
SetDlgItemText(hDlg, PB_Knight, "NO");\r
SetWindowText(hDlg, "Promote?");\r
promoChar = gameInfo.variant == VariantSuper ? PieceToChar(BlackSilver) : PieceToChar(BlackKing);\r
break;\r
case PB_Queen:\r
- promoChar = gameInfo.variant == VariantShogi ? '+' : ToLower(PieceToChar(WhiteOnMove(currentMove) ? WhiteQueen : BlackQueen));\r
+ promoChar = promoStyle ? '+' : ToLower(PieceToChar(WhiteOnMove(currentMove) ? WhiteQueen : BlackQueen));\r
break;\r
case PB_Rook:\r
promoChar = ToLower(PieceToChar(WhiteOnMove(currentMove) ? WhiteRook : BlackRook));\r
promoChar = ToLower(PieceToChar(WhiteOnMove(currentMove) ? WhiteAngel : BlackAngel));\r
break;\r
case PB_Knight:\r
- promoChar = gameInfo.variant == VariantShogi ? '=' : PieceToChar(WhiteOnMove(currentMove) ? WhiteKnight : BlackKnight);\r
+ promoChar = gameInfo.variant == VariantShogi ? '=' : promoStyle ? NULLCHAR : \r
+ ToLower(PieceToChar(WhiteOnMove(currentMove) ? WhiteKnight : BlackKnight));\r
break;\r
default:\r
return FALSE;\r
}\r
\r
void\r
-PromotionPopUp()\r
+PromotionPopUp(char choice)\r
{\r
+ promoStyle = (choice == '+');\r
DrawPosition(TRUE, NULL);\r
PromotionPopup(hwndMain);\r
}\r
nnew = RealizePalette(hdc);\r
if (nnew > 0) {\r
paletteChanged = TRUE;\r
+\r
InvalidateRect(hwnd, &boardRect, FALSE);\r
}\r
ReleaseDC(hwnd, hdc);\r
break;\r
\r
case IDM_Rematch:\r
+\r
RematchEvent();\r
break;\r
\r
SwapEngines(singleList); // temporarily swap first and second, to load a second 'first', ...\r
ParseArgs(StringGet, &p);\r
SwapEngines(singleList); // ... and then make it 'second'\r
+\r
appData.noChessProgram = FALSE;\r
appData.icsActive = FALSE;\r
} else if (IsDlgButtonChecked(hDlg, OPT_ChessServer)) {\r
static char *history[HISTORY_SIZE];\r
int histIn = 0, histP = 0;\r
\r
+\r
VOID\r
SaveInHistory(char *cmd)\r
{\r
histIn = (histIn + 1) % HISTORY_SIZE;\r
if (history[histIn] != NULL) {\r
free(history[histIn]);\r
+\r
history[histIn] = NULL;\r
}\r
histP = histIn;\r
else\r
err = GetLastError();\r
}\r
+\r
}\r
return err;\r
}\r
\r
// low-level front-end: clear text edit / list widget\r
void\r
+\r
GLT_ClearList()\r
{\r
SendDlgItemMessage( gameListOptionsDialog, IDC_GameListTags, LB_RESETCONTENT, 0, 0 );\r
}\r
\r
\r
+int\r
+Roar()\r
+{\r
+ MyPlaySound(&sounds[(int)SoundRoar]);\r
+ return 1;\r
+}\r
+\r
VOID\r
RingBell()\r
{\r
HDC hdc;\r
char *flag = blackFlag && gameMode == TwoMachinesPlay ? "(!)" : "";\r
\r
+\r
if(appData.noGUI) return;\r
hdc = GetDC(hwndMain);\r
if (!IsIconic(hwndMain)) {\r
int toY;\r
{\r
ChessSquare piece;\r
+ int x = toX, y = toY;\r
POINT start, finish, mid;\r
POINT frames[kFactor * 2 + 1];\r
int nFrames, n;\r
\r
+ if(killX >= 0 && IS_LION(board[fromY][fromX])) Roar();\r
+\r
if (!appData.animate) return;\r
if (doingSizing) return;\r
if (fromY < 0 || fromX < 0) return;\r
piece = board[fromY][fromX];\r
if (piece >= EmptySquare) return;\r
\r
+ if(killX >= 0) toX = killX, toY = killY; // [HGM] lion: first to kill square\r
+\r
+again:\r
+\r
ScreenSquare(fromX, fromY, &start);\r
ScreenSquare(toX, toY, &finish);\r
\r
}\r
animInfo.pos = finish;\r
DrawPosition(FALSE, NULL);\r
+\r
+ if(toX != x || toY != y) { fromX = toX; fromY = toY; toX = x; toY = y; goto again; } // second leg\r
+\r
animInfo.piece = EmptySquare;\r
Explode(board, fromX, fromY, toX, toY);\r
}\r
EDITTEXT IDC_GameListFilter,201,136,78,14,ES_AUTOHSCROLL\r
END\r
\r
-DLG_EditTags DIALOG DISCARDABLE 6, 18, 167, 140\r
+DLG_EditTags DIALOG DISCARDABLE 6, 18, 223, 140\r
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME\r
CAPTION "Edit Tags"\r
FONT 8, "MS Sans Serif"\r
BEGIN\r
- PUSHBUTTON "OK",IDOK,58,122,50,14\r
- PUSHBUTTON "Cancel",OPT_TagsCancel,114,122,50,14\r
+ PUSHBUTTON "OK",IDOK,114,122,50,14\r
+ PUSHBUTTON "Cancel",OPT_TagsCancel,170,122,50,14\r
+ PUSHBUTTON "Save",OPT_TagsSave,58,122,50,14\r
CONTROL "",OPT_TagsText,"RICHEDIT",ES_MULTILINE | ES_AUTOVSCROLL | \r
ES_AUTOHSCROLL | ES_WANTRETURN | WS_BORDER | WS_VSCROLL | \r
- WS_HSCROLL | WS_TABSTOP,2,2,162,115\r
+ WS_HSCROLL | WS_TABSTOP,2,2,218,115\r
PUSHBUTTON "&Edit",OPT_EditTags,2,122,50,14\r
END\r
\r
PUSHBUTTON "Cancel",IDCANCEL,208,86,50,14\r
END\r
\r
-DLG_GeneralOptions DIALOG DISCARDABLE 0, 0, 300, 197\r
+DLG_GeneralOptions DIALOG DISCARDABLE 0, 0, 300, 211\r
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
CAPTION "General Options"\r
FONT 8, "MS Sans Serif"\r
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,160,151,10\r
CONTROL "One-Click Move",OPT_SmartMove,\r
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,156,160,151,10\r
- DEFPUSHBUTTON "OK",IDOK,180,178,50,14\r
- PUSHBUTTON "Cancel",IDCANCEL,236,178,50,14\r
+ CONTROL "auto-Display Tags",OPT_AutoTags,\r
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,174,151,10\r
+ CONTROL "auto-Display Comment",OPT_AutoComment,\r
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,156,174,151,10\r
+ DEFPUSHBUTTON "OK",IDOK,180,192,50,14\r
+ PUSHBUTTON "Cancel",IDCANCEL,236,192,50,14\r
END\r
\r
DLG_IcsOptions DIALOGEX 0, 0, 302, 268\r
70,10\r
CONTROL "&atomic",OPT_VariantAtomic,"Button",BS_AUTORADIOBUTTON,\r
9,104,70,10\r
+ CONTROL "&Mighty Lion",OPT_VariantLion,"Button",BS_AUTORADIOBUTTON,\r
+ 9,114,70,10\r
CONTROL "cra&zyhouse",OPT_VariantCrazyhouse,"Button",BS_AUTORADIOBUTTON,80,14,\r
70,10\r
CONTROL "&bughouse",OPT_VariantBughouse,"Button",BS_AUTORADIOBUTTON,80,24,70,\r
94,70,10\r
CONTROL "&makruk",OPT_VariantMakruk,"Button",BS_AUTORADIOBUTTON,80,\r
104,70,10\r
+ CONTROL "&ASEAN",OPT_VariantASEAN,"Button",BS_AUTORADIOBUTTON,80,\r
+ 114,70,10\r
CONTROL "&gothic",OPT_VariantGothic,"Button",BS_AUTORADIOBUTTON,154,14,\r
70,10\r
CONTROL "&capablanca",OPT_VariantCapablanca,"Button",BS_AUTORADIOBUTTON,154,\r
10\r
CONTROL "&xiangqi",OPT_VariantXiangqi,"Button",BS_AUTORADIOBUTTON,154,114,70,\r
10\r
- GROUPBOX "Variant",GPB_Variant,4,4,215,125\r
- LTEXT "Board size:",GPB_Board,10,165,40,8,WS_TABSTOP\r
- LTEXT "ranks",IDC_Height,77,165,38,8\r
- EDITTEXT IDC_Ranks,60,161,14,14,ES_AUTOHSCROLL\r
- LTEXT "files",IDC_Width,133,165,80,8\r
- EDITTEXT IDC_Files,116,161,14,14,ES_AUTOHSCROLL\r
- LTEXT "Holdings with room for:",IDC_Hand,10,183,90,8\r
- EDITTEXT IDC_Holdings,93,179,14,14,ES_AUTOHSCROLL\r
- LTEXT "pieces",IDC_Pieces,110,183,100,8\r
- LTEXT "('-1' means defaults for selected variant)",IDC_Def,10,201,210,8\r
+ CONTROL "",OPT_EngineVariant+0,"Button",BS_AUTORADIOBUTTON,9,134,70,10\r
+ CONTROL "",OPT_EngineVariant+1,"Button",BS_AUTORADIOBUTTON,80,134,70,10\r
+ CONTROL "",OPT_EngineVariant+2,"Button",BS_AUTORADIOBUTTON,154,134,70,10\r
+ CONTROL "",OPT_EngineVariant+3,"Button",BS_AUTORADIOBUTTON,9,144,70,10\r
+ CONTROL "",OPT_EngineVariant+4,"Button",BS_AUTORADIOBUTTON,80,144,70,10\r
+ CONTROL "",OPT_EngineVariant+5,"Button",BS_AUTORADIOBUTTON,154,144,70,10\r
+ CONTROL "",OPT_EngineVariant+6,"Button",BS_AUTORADIOBUTTON,9,154,70,10\r
+ CONTROL "",OPT_EngineVariant+7,"Button",BS_AUTORADIOBUTTON,80,154,70,10\r
+ CONTROL "",OPT_EngineVariant+8,"Button",BS_AUTORADIOBUTTON,154,154,70,10\r
+ GROUPBOX "Variant",GPB_Variant,4,4,215,165\r
+ LTEXT "Board size:",GPB_Board,10,183,40,8,WS_TABSTOP\r
+ LTEXT "ranks",IDC_Height,77,183,38,8\r
+ EDITTEXT IDC_Ranks,60,179,14,14,ES_AUTOHSCROLL\r
+ LTEXT "files",IDC_Width,133,183,80,8\r
+ EDITTEXT IDC_Files,116,179,14,14,ES_AUTOHSCROLL\r
+ LTEXT "Holdings with room for:",IDC_Hand,10,201,90,8\r
+ EDITTEXT IDC_Holdings,93,197,14,14,ES_AUTOHSCROLL\r
+ LTEXT "pieces",IDC_Pieces,110,201,100,8\r
+ LTEXT "('-1' means defaults for selected variant)",IDC_Def,10,217,210,8\r
DEFPUSHBUTTON "OK",IDOK,114,232,50,14\r
PUSHBUTTON "Cancel",IDCANCEL,170,232,50,14\r
END\r
S72O BITMAP MOVEABLE PURE "bitmaps/s72o.bmp"\r
L72O BITMAP MOVEABLE PURE "bitmaps/l72o.bmp"\r
DK72O BITMAP MOVEABLE PURE "bitmaps/dk72o.bmp"\r
+LN72O BITMAP MOVEABLE PURE "bitmaps/ln72o.bmp"\r
WP72O BITMAP MOVEABLE PURE "bitmaps/wp72o.bmp"\r
WN72O BITMAP MOVEABLE PURE "bitmaps/wn72o.bmp"\r
WL72O BITMAP MOVEABLE PURE "bitmaps/wl72o.bmp"\r
S72S BITMAP MOVEABLE PURE "bitmaps/s72s.bmp"\r
L72S BITMAP MOVEABLE PURE "bitmaps/l72s.bmp"\r
DK72S BITMAP MOVEABLE PURE "bitmaps/dk72s.bmp"\r
+LN72S BITMAP MOVEABLE PURE "bitmaps/ln72s.bmp"\r
WP72S BITMAP MOVEABLE PURE "bitmaps/wp72s.bmp"\r
WN72S BITMAP MOVEABLE PURE "bitmaps/wn72s.bmp"\r
WL72S BITMAP MOVEABLE PURE "bitmaps/wl72s.bmp"\r
S72W BITMAP MOVEABLE PURE "bitmaps/s72w.bmp"\r
L72W BITMAP MOVEABLE PURE "bitmaps/l72w.bmp"\r
DK72W BITMAP MOVEABLE PURE "bitmaps/dk72w.bmp"\r
+LN72W BITMAP MOVEABLE PURE "bitmaps/ln72w.bmp"\r
E49O BITMAP MOVEABLE PURE "bitmaps/e49o.bmp"\r
A49O BITMAP MOVEABLE PURE "bitmaps/a49o.bmp"\r
AA49O BITMAP MOVEABLE PURE "bitmaps/as49o.bmp"\r
S49O BITMAP MOVEABLE PURE "bitmaps/s49o.bmp"\r
L49O BITMAP MOVEABLE PURE "bitmaps/l49o.bmp"\r
DK49O BITMAP MOVEABLE PURE "bitmaps/dk49o.bmp"\r
+LN49O BITMAP MOVEABLE PURE "bitmaps/ln49o.bmp"\r
WP49O BITMAP MOVEABLE PURE "bitmaps/wp49o.bmp"\r
WN49O BITMAP MOVEABLE PURE "bitmaps/wn49o.bmp"\r
WL49O BITMAP MOVEABLE PURE "bitmaps/wl49o.bmp"\r
S49S BITMAP MOVEABLE PURE "bitmaps/s49s.bmp"\r
L49S BITMAP MOVEABLE PURE "bitmaps/l49s.bmp"\r
DK49S BITMAP MOVEABLE PURE "bitmaps/dk49s.bmp"\r
+LN49S BITMAP MOVEABLE PURE "bitmaps/ln49s.bmp"\r
WP49S BITMAP MOVEABLE PURE "bitmaps/wp49s.bmp"\r
WN49S BITMAP MOVEABLE PURE "bitmaps/wn49s.bmp"\r
WL49S BITMAP MOVEABLE PURE "bitmaps/wl49s.bmp"\r
S49W BITMAP MOVEABLE PURE "bitmaps/s49w.bmp"\r
L49W BITMAP MOVEABLE PURE "bitmaps/l49w.bmp"\r
DK49W BITMAP MOVEABLE PURE "bitmaps/dk49w.bmp"\r
+LN49W BITMAP MOVEABLE PURE "bitmaps/ln49w.bmp"\r
A33O BITMAP MOVEABLE PURE "bitmaps/a33o.bmp"\r
AA33O BITMAP MOVEABLE PURE "bitmaps/as33o.bmp"\r
C33O BITMAP MOVEABLE PURE "bitmaps/c33o.bmp"\r
M33O BITMAP MOVEABLE PURE "bitmaps/m33o.bmp"\r
O33O BITMAP MOVEABLE PURE "bitmaps/o33o.bmp"\r
DK33O BITMAP MOVEABLE PURE "bitmaps/dk33o.bmp"\r
+LN33O BITMAP MOVEABLE PURE "bitmaps/ln33o.bmp"\r
WP33O BITMAP MOVEABLE PURE "bitmaps/wp33o.bmp"\r
WN33O BITMAP MOVEABLE PURE "bitmaps/wn33o.bmp"\r
WL33O BITMAP MOVEABLE PURE "bitmaps/wl33o.bmp"\r
M33W BITMAP MOVEABLE PURE "bitmaps/m33w.bmp"\r
O33W BITMAP MOVEABLE PURE "bitmaps/o33w.bmp"\r
DK33W BITMAP MOVEABLE PURE "bitmaps/dk33w.bmp"\r
+LN33W BITMAP MOVEABLE PURE "bitmaps/ln33w.bmp"\r
A33S BITMAP MOVEABLE PURE "bitmaps/a33s.bmp"\r
AA33S BITMAP MOVEABLE PURE "bitmaps/as33s.bmp"\r
C33S BITMAP MOVEABLE PURE "bitmaps/c33s.bmp"\r
M33S BITMAP MOVEABLE PURE "bitmaps/m33s.bmp"\r
O33S BITMAP MOVEABLE PURE "bitmaps/o33s.bmp"\r
DK33S BITMAP MOVEABLE PURE "bitmaps/dk33s.bmp"\r
+LN33S BITMAP MOVEABLE PURE "bitmaps/ln33s.bmp"\r
WP33S BITMAP MOVEABLE PURE "bitmaps/wp33s.bmp"\r
WN33S BITMAP MOVEABLE PURE "bitmaps/wn33s.bmp"\r
WL33S BITMAP MOVEABLE PURE "bitmaps/wl33s.bmp"\r
TELL WAVE DISCARDABLE "sounds/tell.wav"\r
UNFINISHED WAVE DISCARDABLE "sounds/unfinished.wav"\r
WIN WAVE DISCARDABLE "sounds/win.wav"\r
+ROAR WAVE DISCARDABLE "sounds/roar.wav"\r
\r
/////////////////////////////////////////////////////////////////////////////\r
//\r
CHECK_BOX(OPT_HighlightMoveArrow, appData.highlightMoveWithArrow);\r
CHECK_BOX(OPT_AutoLogo, appData.autoLogo); // [HGM] logo\r
CHECK_BOX(OPT_SmartMove, appData.oneClick); // [HGM] one-click\r
+ CHECK_BOX(OPT_AutoTags, appData.autoDisplayTags); // [HGM]\r
+ CHECK_BOX(OPT_AutoComment, appData.autoDisplayComment); // [HGM]\r
\r
#undef CHECK_BOX\r
\r
appData.highlightMoveWithArrow=IS_CHECKED(OPT_HighlightMoveArrow);\r
appData.autoLogo =IS_CHECKED(OPT_AutoLogo); // [HGM] logo\r
appData.oneClick =IS_CHECKED(OPT_SmartMove); // [HGM] one-click\r
+ appData.autoDisplayTags =IS_CHECKED(OPT_AutoTags); // [HGM]\r
+ appData.autoDisplayComment =IS_CHECKED(OPT_AutoComment); // [HGM]\r
\r
#undef IS_CHECKED\r
\r
}\r
DeleteObject(pieces[0]);\r
DeleteObject(pieces[1]);\r
+\r
DeleteObject(pieces[2]);\r
return TRUE;\r
\r
-1,\r
-1,\r
OPT_VariantShogi,\r
+ -1, // Chu\r
OPT_VariantXiangqi,\r
OPT_VariantCourier,\r
OPT_VariantGothic,\r
OPT_VariantGreat,\r
-1, // Twilight,\r
OPT_VariantMakruk,\r
+ OPT_VariantASEAN,\r
OPT_VariantSChess,\r
OPT_VariantGrand,\r
OPT_VariantSpartan, // Spartan\r
+ OPT_VariantLion,\r
-2 // sentinel\r
};\r
\r
VariantWhichRadio(HWND hDlg)\r
{\r
int i=0, j;\r
+ *engineVariant = NULLCHAR;\r
while((j = radioButton[i++]) != -2) {\r
if(j == -1) continue; // no menu button\r
if(IsDlgButtonChecked(hDlg, j) &&\r
(appData.noChessProgram || strstr(first.variants, VariantName(i-1)))) return (VariantClass) i-1;\r
}\r
+ for(i=0; i<9; i++) { // check for engine-defined variants\r
+ if(IsDlgButtonChecked(hDlg, OPT_EngineVariant+i) ) {\r
+ GetDlgItemText(hDlg, OPT_EngineVariant+i, engineVariant, MSG_SIZ); // remember name, so we can resolve it later\r
+ return VariantUnknown;\r
+ }\r
+ }\r
return gameInfo.variant; // If no button checked, keep old\r
}\r
\r
void\r
VariantShowRadio(HWND hDlg)\r
{\r
+ char c = *engineVariant;\r
int i=0, j;\r
CheckDlgButton(hDlg, radioButton[gameInfo.variant], TRUE);\r
+ *engineVariant = NULLCHAR; // [HGM] kludge to prevent VariantName will always return engineVariant\r
while((j = radioButton[i++]) != -2) {\r
if(j == -1) continue; // no menu button\r
EnableWindow(GetDlgItem(hDlg, j), appData.noChessProgram || strstr(first.variants, VariantName(i-1)));\r
}\r
+ *engineVariant = c;\r
+ for(i=0; i<9; i++) { // initialize engine-defined variants\r
+ char *v = EngineDefinedVariant(&first, i); // get name of #i\r
+ if(v) { // there is such a variant\r
+ EnableWindow(GetDlgItem(hDlg, OPT_EngineVariant+i), TRUE); // and enable the button\r
+ SetDlgItemText(hDlg, OPT_EngineVariant+i, v); // put its name on button\r
+ } else EnableWindow(GetDlgItem(hDlg, OPT_EngineVariant+i), FALSE); // no such variant; disable button\r
+ }\r
}\r
\r
LRESULT CALLBACK\r
UpdateSampleText(hDlg, OPT_SampleSeek, &mca[ColorSeek]);\r
break;\r
\r
+\r
+\r
+\r
case OPT_ChooseNormalColor:\r
ColorizeTextPopup(hDlg, ColorNormal);\r
UpdateSampleText(hDlg, OPT_SampleNormal, &mca[ColorNormal]);\r
SoundComboData soundComboData[] = {\r
{N_("Move"), NULL},\r
{N_("Bell"), NULL},\r
+ {N_("Roar"), NULL},\r
{N_("ICS Alarm"), NULL},\r
{N_("ICS Win"), NULL},\r
{N_("ICS Loss"), NULL},\r
return result;\r
}\r
\r
+int\r
+IsMultiFormat(char *s)\r
+{\r
+ char *p = strchr(s, ':');\r
+ return p && p != s+1;\r
+}\r
+\r
LRESULT CALLBACK UciOptionsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
{\r
char buf[MAX_PATH];\r
/* Initialize the dialog items */\r
SetDlgItemText( hDlg, IDC_PolyglotDir, appData.polyglotDir );\r
SetDlgItemInt( hDlg, IDC_HashSize, appData.defaultHashSize, TRUE );\r
+ if(appData.defaultPathEGTB[0])\r
SetDlgItemText( hDlg, IDC_PathToEGTB, appData.defaultPathEGTB );\r
+ else\r
+ SetDlgItemText( hDlg, IDC_PathToEGTB, appData.egtFormats );\r
SetDlgItemInt( hDlg, IDC_SizeOfEGTB, appData.defaultCacheSizeEGTB, TRUE );\r
CheckDlgButton( hDlg, IDC_UseBook, (BOOL) appData.usePolyglotBook );\r
SetDlgItemText( hDlg, IDC_BookFile, appData.polyglotBook );\r
appData.defaultHashSize = GetDlgItemInt(hDlg, IDC_HashSize, NULL, FALSE );\r
appData.defaultCacheSizeEGTB = GetDlgItemInt(hDlg, IDC_SizeOfEGTB, NULL, FALSE );\r
GetDlgItemText( hDlg, IDC_PathToEGTB, buf, sizeof(buf) );\r
- appData.defaultPathEGTB = strdup(buf);\r
+ if(IsMultiFormat(buf)) {\r
+ ASSIGN(appData.egtFormats, buf);\r
+ } else {\r
+ ASSIGN(appData.defaultPathEGTB, buf);\r
+ }\r
GetDlgItemText( hDlg, IDC_BookFile, buf, sizeof(buf) );\r
appData.polyglotBook = strdup(buf);\r
appData.usePolyglotBook = (Boolean) IsDlgButtonChecked( hDlg, IDC_UseBook );\r
if(j == -2) {\r
char filter[] =\r
"All files\0*.*\0Game files\0*.pgn;*.gam\0Position files\0*.fen;*.epd;*.pos\0"\r
- "EXE files\0*.exe\0Tournament files (*.trn)\0*.trn\0"\r
+ "EXE files\0*.exe;*.jar\0Tournament files (*.trn)\0*.trn\0"\r
"BIN Files\0*.bin\0LOG Files\0*.log\0INI Files\0*.ini\0"\r
"Image files\0*.bmp\0\0";\r
OPENFILENAME ofn;\r
{ 0, 0, 0, NULL, NULL, NULL, NULL, Label, N_("or specify one below:") },\r
{ 0, 0, 0, NULL, (void*) &nickName, NULL, NULL, TextBox, N_("Nickname (optional):") },\r
{ 0, 0, 0, NULL, (void*) &useNick, NULL, NULL, CheckBox, N_("Use nickname in PGN tag") },\r
- { 0, 0, 32+3, NULL, (void*) &engineName, NULL, NULL, FileName, N_("Engine (*.exe):") },\r
+ { 0, 0, 32+3, NULL, (void*) &engineName, NULL, NULL, FileName, N_("Engine (.exe or .jar):") },\r
{ 0, 0, 0, NULL, (void*) ¶ms, NULL, NULL, TextBox, N_("command-line parameters:") },\r
{ 0, 0, 0, NULL, (void*) &wbOptions, NULL, NULL, TextBox, N_("Special WinBoard options:") },\r
{ 0, 0, 0, NULL, (void*) &engineDir, NULL, NULL, PathName, N_("directory:") },\r
// [HGM] bitmaps: put before incuding the bitmaps / pixmaps, to know how many piece types there are.
#include "common.h"
-#if HAVE_LIBXPM
-#include <X11/xpm.h>
-#define IMAGE_EXT "xpm"
-#else
-#define IMAGE_EXT "xim"
-#endif
-
#include "bitmaps/icon_white.bm"
#include "bitmaps/icon_black.bm"
#include "bitmaps/checkmark.bm"
/* Max possible square size */
#define MAXSQSIZE 256
-static int xpm_avail[MAXSQSIZE];
-
-#ifdef HAVE_DIR_STRUCT
-
-/* Extract piece size from filename */
-static int
-xpm_getsize (char *name, int len, char *ext)
-{
- char *p, *d;
- char buf[10];
-
- if (len < 4)
- return 0;
-
- if ((p=strchr(name, '.')) == NULL ||
- StrCaseCmp(p+1, ext) != 0)
- return 0;
-
- p = name + 3;
- d = buf;
-
- while (*p && isdigit(*p))
- *(d++) = *(p++);
-
- *d = 0;
- return atoi(buf);
-}
-
-/* Setup xpm_avail */
-static int
-xpm_getavail (char *dirname, char *ext)
-{
- DIR *dir;
- struct dirent *ent;
- int i;
-
- for (i=0; i<MAXSQSIZE; ++i)
- xpm_avail[i] = 0;
-
- if (appData.debugMode)
- fprintf(stderr, "XPM dir:%s:ext:%s:\n", dirname, ext);
-
- dir = opendir(dirname);
- if (!dir)
- {
- fprintf(stderr, _("%s: Can't access XPM directory %s\n"),
- programName, dirname);
- exit(1);
- }
-
- while ((ent=readdir(dir)) != NULL) {
- i = xpm_getsize(ent->d_name, NAMLEN(ent), ext);
- if (i > 0 && i < MAXSQSIZE)
- xpm_avail[i] = 1;
- }
-
- closedir(dir);
-
- return 0;
-}
-
-void
-xpm_print_avail (FILE *fp, char *ext)
-{
- int i;
-
- fprintf(fp, _("Available `%s' sizes:\n"), ext);
- for (i=1; i<MAXSQSIZE; ++i) {
- if (xpm_avail[i])
- printf("%d\n", i);
- }
-}
-
-/* Return XPM piecesize closest to size */
-int
-xpm_closest_to (char *dirname, int size, char *ext)
-{
- int i;
- int sm_diff = MAXSQSIZE;
- int sm_index = 0;
- int diff;
-
- xpm_getavail(dirname, ext);
-
- if (appData.debugMode)
- xpm_print_avail(stderr, ext);
-
- for (i=1; i<MAXSQSIZE; ++i) {
- if (xpm_avail[i]) {
- diff = size - i;
- diff = (diff<0) ? -diff : diff;
- if (diff < sm_diff) {
- sm_diff = diff;
- sm_index = i;
- }
- }
- }
-
- if (!sm_index) {
- fprintf(stderr, _("Error: No `%s' files!\n"), ext);
- exit(1);
- }
-
- return sm_index;
-}
-#else /* !HAVE_DIR_STRUCT */
-/* If we are on a system without a DIR struct, we can't
- read the directory, so we can't collect a list of
- filenames, etc., so we can't do any size-fitting. */
-int
-xpm_closest_to (char *dirname, int size, char *ext)
-{
- fprintf(stderr, _("\
-Warning: No DIR structure found on this system --\n\
- Unable to autosize for XPM/XIM pieces.\n\
- Please report this error to %s.\n\
- Include system type & operating system in message.\n"), PACKAGE_BUGREPORT););
- return size;
-}
-#endif /* HAVE_DIR_STRUCT */
-
-
/* Arrange to catch delete-window events */
Atom wm_delete_window;
void
case ArgTwo:
case ArgNone:
case ArgCommSettings:
+ case ArgMaster:
+ case ArgInstall:
break;
}
return p;
debugFP = stderr;
if(argc > 1 && (!strcmp(argv[1], "-v" ) || !strcmp(argv[1], "--version" ))) {
- printf("%s version %s\n", PACKAGE_NAME, PACKAGE_VERSION);
+ printf("%s version %s\n\n configure options: %s\n", PACKAGE_NAME, PACKAGE_VERSION, CONFIGURE_OPTIONS);
exit(0);
}
# define N_(s) s
#endif
-#include <X11/xpm.h>
+// [HGM] bitmaps of some ICONS used in the engine-outut window
+
+static unsigned char CLEAR_14[28];
+
+static unsigned char WHITE_14[] = {
+0xe0, 0x01, 0x18, 0x06, 0x04, 0x08, 0x02, 0x10, 0x02, 0x10, 0x01, 0x20, 0x01, 0x20,
+0x01, 0x20, 0x01, 0x20, 0x02, 0x10, 0x02, 0x10, 0x04, 0x08, 0x18, 0x06, 0xe0, 0x01
+};
+
+static unsigned char BLACK_14[] = {
+0xe0, 0x01, 0xf8, 0x07, 0xfc, 0x0f, 0xfe, 0x1f, 0xfe, 0x1f, 0xff, 0x3f, 0xff, 0x3f,
+0xff, 0x3f, 0xff, 0x3f, 0xfe, 0x1f, 0xfe, 0x1f, 0xfc, 0x0f, 0xf8, 0x07, 0xe0, 0x01
+};
+
+static unsigned char ANALYZE_14[] = {
+0x80, 0x03, 0x60, 0x0c, 0x10, 0x10, 0x90, 0x10, 0xc8, 0x20, 0x08, 0x20, 0x08, 0x20,
+0x10, 0x10, 0x10, 0x10, 0x68, 0x0c, 0x94, 0x03, 0x0a, 0x00, 0x07, 0x00, 0x00, 0x00
+};
+
+static unsigned char THINK_14[] = {
+0xe0, 0x00, 0x18, 0x03, 0x44, 0x04, 0x42, 0x08, 0x42, 0x08, 0x41, 0x10, 0xe1, 0x13,
+0x41, 0x10, 0x02, 0x08, 0x02, 0x08, 0x04, 0x04, 0x18, 0x03, 0xe0, 0x00, 0x00, 0x00
+};
+
+static unsigned char PONDER_14[] = {
+0x30, 0x03, 0x8c, 0x0c, 0x02, 0x10, 0x01, 0x08, 0x01, 0x10, 0x06, 0x20, 0x04, 0x20,
+0x02, 0x10, 0x04, 0x0c, 0xc8, 0x04, 0x34, 0x03, 0x0e, 0x00, 0x01, 0x00, 0x00, 0x00
+};
+
+static unsigned char UNKNOWN_14[] = {
+0xe0, 0x01, 0x58, 0x07, 0xac, 0x0a, 0x56, 0x15, 0xaa, 0x1a, 0x55, 0x35, 0xab, 0x2a,
+0x55, 0x35, 0xab, 0x2a, 0x56, 0x15, 0xaa, 0x1a, 0x54, 0x0d, 0xb8, 0x06, 0xe0, 0x01
+};
-// [HGM] pixmaps of some ICONS used in the engine-outut window
-#include "pixmaps/WHITE_14.xpm"
-#include "pixmaps/BLACK_14.xpm"
-#include "pixmaps/CLEAR_14.xpm"
-#include "pixmaps/UNKNOWN_14.xpm"
-#include "pixmaps/THINKING_14.xpm"
-#include "pixmaps/PONDER_14.xpm"
-#include "pixmaps/ANALYZING_14.xpm"
/* Module variables */
static void
-ReadIcon (char *pixData[], int iconNr, Widget w)
+ReadIcon (unsigned char pixData[], int iconNr, Widget w)
{
- int r;
-
- if ((r=XpmCreatePixmapFromData(xDisplay, XtWindow(w),
- pixData,
- &(icons[iconNr]),
- NULL, NULL /*&attr*/)) != 0) {
- fprintf(stderr, _("Error %d loading icon image\n"), r);
- exit(1);
- }
+ icons[iconNr] = XCreateBitmapFromData(xDisplay, XtWindow(w), (char*) pixData, 14, 14);
}
void
XtAddCallback(b_ok, XtNcallback, GenericCallback, (XtPointer)(intptr_t) (30001 + (dlgNr<<16)));
if(!(option[i].min & NO_CANCEL)) {
XtSetArg(args[1], XtNfromHoriz, b_ok); // overwrites!
- b_cancel = XtCreateManagedWidget(_("cancel"), commandWidgetClass, form, args, j);
+ b_cancel = XtCreateManagedWidget(_("Cancel"), commandWidgetClass, form, args, j);
XtAddCallback(b_cancel, XtNcallback, GenericCallback, (XtPointer)(intptr_t) (30000 + (dlgNr<<16)));
}
}
-soundTell phone.wav
-soundChallenge gong.wav
-soundMove woodthunk.wav
+-soundRoar roar.wav
-soundIcsAlarm penalty.wav
-pasteSelection false
-keepLineBreaksICS false
knightmate King moves as Knight, and vice versa
super Superchess (shuffle variant with 4 exo-pieces)
makruk Thai Chess (shatranj-like, P promotes on 6th rank)
+asean ASEAN Chess (a modernized version of Makruk)
spartan Spartan Chess (black has unorthodox pieces)
fairy A catchall variant in which all piece types
known to XBoard can participate (8x8)
* Fairy-Max:: The Fairy-Max chess engine.
* HoiChess:: The HoiChess chess engine.
* Crafty:: The Crafty chess engine.
-* zic2xpm:: The program used to import chess sets from ZIICS.
@end menu
@node GNU Chess
<crafty's directory> is the directory in which you installed Crafty
and placed its book and other support files.
-@node zic2xpm
-@section zic2xpm
-
-The ``zic2xpm'' program is used to import chess sets from the ZIICS(*)
-program into XBoard. ``zic2xpm'' is part of the XBoard distribution.
-ZIICS is available from:
-
-ftp://ftp.freechess.org/pub/chess/DOS/ziics131.exe
-
-To import ZIICS pieces, do this:
-@table @asis
-@item 1. Unzip ziics131.exe into a directory:
-
-@example
-unzip -L ziics131.exe -d ~/ziics
-@end example
-@item 2. Use zic2xpm to convert a set of pieces to XBoard format.
-
-For example, let's say you want to use the
-FRITZ4 set. These files are named ``fritz4.*'' in the ZIICS distribution.
-
-@example
-mkdir ~/fritz4
-cd ~/fritz4
-zic2xpm ~/ziics/fritz4.*
-@end example
-@item 3. Give XBoard the ``-pixmap'' option when starting up, e.g.:
-
-@example
-xboard -pixmap ~/fritz4
-@end example
-@end table
-
-(*) ZIICS is a separate copyrighted work of Andy McFarland.
-The ``ZIICS pieces'' are copyrighted works of their respective
-creators. Files produced by ``zic2xpm'' are for PERSONAL USE ONLY
-and may NOT be redistributed without explicit permission from
-the original creator(s) of the pieces.
-
@ifnottex
@node Copyright
@unnumbered Copyright
extern int squareSize, lineGap, defaultLineGap;
extern int startedFromPositionFile;
extern char *icsTextMenuString;
-
+extern int hi2X, hi2Y;
+++ /dev/null
-/*
- zic2xpm.c
-
- Program to convert pieces from ZIICS format to XPM & XIM format.
- (C version) By Frank McIngvale <frankm@hiwaay.net>.
-
- Copyright (C) 1996, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
-
- NOTICE: The piece images distributed with ZIICS are
- copyrighted works of their original creators. Images
- converted with zic2xpm may not be redistributed without
- the permission of the copyright holders. Do not contact
- the authors of zic2xpm or of ZIICS itself to request
- permission.
-
- NOTICE: The format of the ZIICS piece file was gleaned from
- SHOWSETS.PAS, a part of ZIICS. Thanks to Andy McFarland
- (Zek on ICC) for making this source available! ZIICS is a
- completely separate and copyrighted work of Andy
- McFarland. Use and distribution of ZIICS falls under the
- ZIICS license, NOT the GNU General Public License.
-
- NOTICE: The format of the VGA imageblocks was determined
- by experimentation, and without access to any
- of Borland Inc.'s BGI library source code.
-
-
- GNU XBoard is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation,
- either version 3 of the License, or (at your option) any
- later version.
-
- GNU XBoard is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied
- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public
- License along with this program. If not, see
- http://www.gnu.org/licenses/.
-
-
- ** If you find a bug in zic2xpm.c, please report it to me,
- Frank McIngvale (frankm@hiwaay.net) so that I may fix it. **
-*/
-
-/*
- Usage: zic2xpm file1 [file2 ...]
-
- We split the ZIICS file(s) into 24 XPM & 24 XIM files with names:
-
- <piece><type><size>.(xpm|xim).
-
- Where:
- piece = p, n, b, r, q, k
- type = ll, ld, dl, dd
- size = Piece size.
-
- Plus 4 files for the light & dark squares.
-
- This means that you can extract multiple SIZES in one directory
- without name clashes. Extracting two sets of the SAME
- size in a directory will cause the second to overwrite
- the first.
-*/
-
-/*
- Technical note: Yes, this file is huge. I made it by cramming
- `zic2xpm' and `zic2xim' together. This should
- be less confusing to use, though.
-*/
-
-#include "config.h"
-#include <stdio.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#endif
-
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#endif
-
-/*
- XIM file format:
-
- width byte
- height byte
-
- Data (1 byte per pixel, row major)
-*/
-
-/*
- Map colors from ZIICS -> XIM :
-
- 0 0 Dark piece
- 2 1 Dark square
- 15 2 Light piece
- 14 3 Light square
-*/
-
-typedef struct {
- int zval; /* ZIICS value */
- int xval; /* XIM value */
-} z2xim;
-
-/* Associate VGA color with XPM color/sym */
-
-typedef struct {
- int cval; /* VGA pixel value */
- char xchar; /* XPM character for this color */
- char *csym; /* Symbolic name */
- char *cdefault; /* Default color */
-} z2xpm;
-
-#define NR_ZIICS_COLORS 4
-#define BUFLEN 100
-
-/* SHOWSETS.PAS (from ZIICS) states that images may only
- use color numbers 0, 2, 14, and 15 */
-
-z2xim z2xim_tab[NR_ZIICS_COLORS] = {
- { 0, 0 },
- { 2, 1 },
- { 15, 2 },
- { 14, 3 } };
-
-z2xpm z2xpm_tab[NR_ZIICS_COLORS] = {
- { 15, 'X', "light_piece", "white" },
- { 0, ' ', "dark_piece", "black" },
- { 14, '*', "light_square", "gray" },
- { 2, '.', "dark_square", "green" } };
-
-void
-fatal (char *str)
-{
- printf("Fatal error: %s\n", str );
- exit(1);
-}
-
-z2xim *
-lookup_xim_color (int color)
-{
- int i;
-
- for( i=0; i<NR_ZIICS_COLORS; ++i )
- {
- if ( z2xim_tab[i].zval == color )
- return (z2xim_tab + i);
- }
-
- fatal("Illegal color in image.");
-
- /* NOT REACHED */
- return NULL; /* Make compiler happy */
-}
-
-z2xpm *
-lookup_xpm_color (int color)
-{
- int i;
-
- for( i=0; i<NR_ZIICS_COLORS; ++i )
- {
- if ( z2xpm_tab[i].cval == color )
- return (z2xpm_tab + i);
- }
-
- fatal("Illegal color in image.");
-
- /* NOT REACHED */
- return NULL; /* Make compiler happy */
-}
-
-char *src_name;
-
-int
-up8 (int i)
-{
- int r;
-
- r = i % 8;
- if ( r == 0 )
- return i;
-
- return i + 8 - r;
-}
-
-unsigned int
-vga_imagesize (int w, int h)
-{
- int w8;
- unsigned int s;
-
- w8 = up8( w );
-
- s = 4 + w8/2 * h + 2;
-
- return s;
-}
-
-unsigned char *
-decode_byte (unsigned char *dest, unsigned char *b, int w)
-{
- int i, j;
- unsigned char byte, bit;
-
- for( i=7; w > 0; --i, --w )
- {
- byte = 0;
-
- /* 1 bit from each plane */
- for( j=0; j<4; ++j )
- {
- bit = b[j];
- bit &= (1 << i);
- bit >>= i;
- bit <<= 3-j;
- byte |= bit;
- }
-
- *(dest++) = byte;
- }
-
- return dest;
-}
-
-/*
- W is width of image in PIXELS.
- SRC is in packed pixel format.
- DEST is filled with 1 BYTE per PIXEL.
-*/
-unsigned char *
-decode_line (unsigned char *dest, unsigned char *src, int w)
-{
- unsigned int w8;
- unsigned int bpp;
- unsigned char b[4];
- int i;
- unsigned char *p;
-
- p = src;
- w8 = up8( w );
-
- /* 4 planes, bpp BYTES per plane */
- /* Planes are MSB -> LSB */
- bpp = w8 >> 3;
-
- while( w > 0 )
- {
- for( i=0; i<4; ++i )
- b[i] = p[i*bpp];
-
- if ( w > 8 )
- dest = decode_byte( dest, b, 8 );
- else
- dest = decode_byte( dest, b, w );
-
- w -= 8;
- ++p;
- }
-
- return (src + bpp * 4);
-}
-
-int
-write_xim_header (FILE *fp, int w, int h)
-{
- fputc( w, fp );
- fputc( h, fp );
-
- return 0;
-}
-
-int
-write_xpm_header (FILE *fp, int w, int h)
-{
- int i;
- z2xpm *cv;
-
- fprintf(fp, "/* XPM */\n");
- fprintf(fp, "/* This file was automatically generated from the file %s\n",
- src_name );
- fprintf(fp, "using the program ``zic2xpm''.\n");
- fprintf(fp, "\n %s\n %s\n %s\n %s\n %s\n %s */\n",
- "NOTICE: The piece images distributed with ZIICS are",
- " copyrighted works of their original creators. Images",
- " converted with zic2xpm may not be redistributed without",
- " the permission of the copyright holders. Do not contact",
- " the authors of zic2xpm or of ZIICS itself to request",
- " permission.");
- fprintf( fp, "static char * image_name[] = {\n" );
- fprintf( fp, "\"%d %d %d 1\",\n", h, w, NR_ZIICS_COLORS );
-
- cv = z2xpm_tab;
-
- for( i=0; i<NR_ZIICS_COLORS; ++i, ++cv )
- {
- fprintf( fp, "\"%c\tc %s s %s\",\n", cv->xchar,
- cv->cdefault, cv->csym );
- }
-
- return 0;
-}
-
-void
-create_piece_xim (char *outname, FILE *fpin, int W, int H)
-{
- FILE *fpout;
- int w, h, i, j, c;
- unsigned char *lump, *p, *line;
- long size;
- z2xim *ent;
-
- fpout = fopen( outname, "wb" );
- if ( !fpout )
- fatal( "Can't create output file.");
-
- /* Header is two ints -- Width then Height, x86 format */
- c = fgetc( fpin );
- w = (fgetc(fpin) << 8) | c;
-
- c = fgetc( fpin );
- h = (fgetc(fpin) << 8) | c;
-
- ++w; ++h;
-
- if ( w != W || h != H )
- fatal( "Bad header." );
-
- size = vga_imagesize( w, h ) - 4;
- lump = (unsigned char*)malloc( size );
- line = (unsigned char*)malloc( w );
-
- if ( !lump || !line )
- fatal( "Out of memory." );
-
- fread( lump, 1, size, fpin );
-
- /* Write XIM header */
- write_xim_header( fpout, w, h );
-
- p = lump;
-
- /* Write XIM data */
- for( i=0; i<h; ++i )
- {
- p = decode_line( line, p, w );
-
- for( j=0; j<w; ++j )
- {
- ent = lookup_xim_color( line[j] );
- fputc( ent->xval, fpout );
- }
- }
-
- free( lump );
- free( line );
- fclose( fpout );
-}
-
-void
-create_piece_xpm (char *outname, FILE *fpin, int W, int H)
-{
- FILE *fpout;
- int w, h, i, j, c;
- unsigned char *lump, *p, *line;
- long size;
- z2xpm *cv;
-
- fpout = fopen( outname, "wb" );
- if ( !fpout )
- fatal( "Can't create output file.");
-
- /* Header is two ints -- Width then Height, x86 format */
- c = fgetc( fpin );
- w = (fgetc(fpin) << 8) | c;
-
- c = fgetc( fpin );
- h = (fgetc(fpin) << 8) | c;
-
- ++w; ++h;
-
- if ( w != W || h != H )
- fatal( "Bad header." );
-
- size = vga_imagesize( w, h ) - 4;
- lump = (unsigned char*)malloc( size );
- line = (unsigned char*)malloc( w );
-
- if ( !lump || !line )
- fatal( "Out of memory." );
-
- fread( lump, 1, size, fpin );
-
- /* Write XPM header */
- write_xpm_header( fpout, w, h );
-
- p = lump;
-
- /* Write XPM data */
- for( i=0; i<h; ++i )
- {
- p = decode_line( line, p, w );
-
- fprintf( fpout, "\"" );
- for( j=0; j<w; ++j )
- {
- cv = lookup_xpm_color( line[j] );
- fprintf( fpout, "%c", cv->xchar );
- }
- fprintf( fpout, "\",\n" );
- }
-
- fprintf( fpout, "};\n" );
-
- free( lump );
- free( line );
- fclose( fpout );
-}
-
-/* The order of the pieces in the ZIICS piece file (from SHOWSETS.PAS) */
-char *pieces = "prkqbn";
-char *pname[] = { "Pawn", "Rook", "King", "Queen", "Bishop", "Knight" };
-
-/* The suborder - Light/Light, Light/Dark, etc. */
-char *prefixes[] = { "ll", "ld", "dl", "dd" };
-
-int
-process_file_xim (char *filename)
-{
- int w, h, piece, kind, c;
- int nr_pieces = 6;
- int nr_kinds = 4;
- FILE *fp;
- char buf[BUFLEN];
-
- src_name = filename;
-
- fp = fopen( filename, "rb" );
- if ( !fp )
- fatal( "Can't open input file." );
-
- /* Header is two ints -- Width then Height, x86 format */
- c = fgetc( fp );
- w = (fgetc(fp) << 8) | c;
-
- c = fgetc( fp );
- h = (fgetc(fp) << 8) | c;
-
- ++w; ++h;
-
- if ( w != h )
- {
- printf("ERROR: Can only convert square pieces.\n");
- printf(" (This set is %dx%d)\n", w, h );
- exit(1);
- }
-
- printf("Creating XIM files...\n");
- printf("File: %s, W=%d, H=%d\n", filename, w, h );
- fseek( fp, 0, SEEK_SET );
-
- /* Write .XIM files */
- for( piece = 0; piece < nr_pieces; ++piece )
- {
- printf("%s ", pname[piece] );
-
- for( kind = 0; kind < nr_kinds; ++kind )
- {
- printf( "." );
- /* Form output filename -- <piece><kind><size>.xim */
- snprintf(buf, BUFLEN, "%c%s%d.xim", pieces[piece], prefixes[kind], w);
- create_piece_xim( buf, fp, w, h );
- }
- printf("\n");
- }
-
- /* Write the light & dark squares */
- snprintf( buf, BUFLEN, "lsq%d.xim", w );
- printf("Light Square" );
- create_piece_xim( buf, fp, w, h );
-
- snprintf( buf, BUFLEN, "dsq%d.xim", w );
- printf("\nDark Square" );
- create_piece_xim( buf, fp, w, h );
- printf("\n");
-
- printf("Successfully converted!!\n" );
-
- fclose( fp );
-
- return 0;
-}
-
-int
-process_file_xpm (char *filename)
-{
- int w, h, piece, kind, c;
- int nr_pieces = 6;
- int nr_kinds = 4;
- FILE *fp;
- char buf[BUFLEN];
-
- src_name = filename;
-
- fp = fopen( filename, "rb" );
- if ( !fp )
- fatal( "Can't open input file." );
-
- /* Header is two ints -- Width then Height, x86 format */
- c = fgetc( fp );
- w = (fgetc(fp) << 8) | c;
-
- c = fgetc( fp );
- h = (fgetc(fp) << 8) | c;
-
- ++w; ++h;
-
- if ( w != h )
- {
- printf("ERROR: Can only convert square pieces.\n");
- printf(" (This set is %dx%d)\n", w, h );
- exit(1);
- }
-
- printf("Creating XPM files...\n");
- printf("File: %s, W=%d, H=%d\n", filename, w, h );
- fseek( fp, 0, SEEK_SET );
-
- /* Write .XPM files */
- for( piece = 0; piece < nr_pieces; ++piece )
- {
- printf("%s ", pname[piece] );
-
- for( kind = 0; kind < nr_kinds; ++kind )
- {
- printf( "." );
- /* Form output filename -- <piece><kind><size>.xpm */
- snprintf(buf, BUFLEN, "%c%s%d.xpm", pieces[piece], prefixes[kind], w);
- create_piece_xpm( buf, fp, w, h );
- }
- printf("\n");
- }
-
- /* Write the light & dark squares */
- snprintf( buf, BUFLEN, "lsq%d.xpm", w );
- printf("Light Square" );
- create_piece_xpm( buf, fp, w, h );
-
- snprintf( buf, BUFLEN, "dsq%d.xpm", w );
- printf("\nDark Square" );
- create_piece_xpm( buf, fp, w, h );
- printf("\n");
-
- printf("Successfully converted!!\n" );
-
- fclose( fp );
-
- return 0;
-}
-
-int
-main (int argc, char **argv)
-{
- int i;
-
- if ( argc < 2 )
- {
- printf("ZIC2XPM 2.01 - by Frank McIngvale (frankm@hiwaay.net)\n");
- printf("Copyright (C) 1996 Free Software Foundation, Inc.\n\n");
- printf("Usage: zic2xpm file1 [file2 ...]\n\n");
- printf(" Splits each file (ZIICS piece files) into 26 XPM & XIM files\n");
- printf(" suitable for use in XBoard 3.5 or later.\n");
- printf("\n* ZIICS is a copyrighted work of Andy McFarland (Zek on ICC) *\n");
- return 1;
- }
-
-
- setbuf( stdout, NULL );
-
- for( i=1; i<argc; ++i )
- {
- process_file_xpm( argv[i] );
- process_file_xim( argv[i] );
- }
-
- fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n%s\n",
- "NOTICE: The piece images distributed with ZIICS are",
- " copyrighted works of their original creators. Images",
- " converted with zic2xpm may not be redistributed without",
- " the permission of the copyright holders. Do not contact",
- " the authors of zic2xpm or of ZIICS itself to request",
- " permission.");
- return 0;
-}
+++ /dev/null
-.\" Copyright (C) 1996, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
-.\" See section COPYING below.
-.TH zic2xpm 6 "11 Apr 1996" "zic2xpm 2.0" "Games"
-.SH NAME
-zic2xpm \- Tool to convert ZIICS chess pieces into XBoard (XPM/XIM) pieces.
-.SH SYNOPSIS
-zic2xpm
-.B file1 [file2 ...]
-.SH DESCRIPTION
-.B zic2xpm
-converts one or more ZIICS piece files into a format that can
-be used by XBoard.
-If you give more than one filename, be aware that multiple sets
-of the same size cannot exist in one directory. Multiple sets
-of different sizes can exist in a single directory.
-.SH EXAMPLE
-If you wanted to make a directory containing the sets SET2.V32,
-SET2.V40, SET2.V50, and SET2.V56, all of which are located in
-~/ziics, you could do:
-
-.nf
- mkdir Sets
- cd Sets
- zic2xpm ~/ziics/SET2.*
-.fi
-
-You would then run XBoard like this:
-
-.nf
- xboard -pixmap Sets
-.fi
-.SH BUGS
-Please report any bugs to
-.B frankm@hiwaay.net
-.SH "SEE ALSO"
-.BR
-.BR xboard ( 6 ).
-.SH AUTHOR
-Frank McIngvale (frankm@hiwaay.net)
-.SH COPYING
-Copyright (C) 1996,2009 Free Software Foundation, Inc.
-.PP
-NOTICE: The piece images distributed with ZIICS are
-copyrighted works of their original creators. Images
-converted with zic2xpm may not be redistributed without
-the permission of the copyright holders. Do not contact
-the authors of zic2xpm or of ZIICS itself to request
-permission.
-.PP
-NOTICE: The format of the ZIICS piece file was gleaned from
-SHOWSETS.PAS, a part of ZIICS. Thanks to Andy McFarland
-(Zek on ICC) for making this source available! ZIICS is a
-completely separate and copyrighted work of Andy
-McFarland. Use and distribution of ZIICS falls under the
-ZIICS license, NOT the GNU General Public License.
-.PP
-NOTICE: The format of the VGA imageblocks was determined
-by experimentation, and without access to any
-of Borland Inc.'s BGI library source code.
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3 of the License, or
-(at your option) any later version. However, the above notices
-MUST BE RETAINED in any copy that you redistribute or modify.
-.PP
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License
-along with this program; if not, see http://www.gnu.org/licenses/.