mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-02 11:33:55 -07:00
Fixed elevation of spectator rights; added some spectator options; closes bug 0000005
This commit is contained in:
parent
604d1ffa94
commit
befafa28ae
26 changed files with 430 additions and 220 deletions
|
|
@ -14,11 +14,25 @@ DlgCreateGame::DlgCreateGame(Client *_client, QWidget *parent)
|
|||
passwordLabel->setBuddy(passwordEdit);
|
||||
|
||||
maxPlayersLabel = new QLabel(tr("P&layers:"));
|
||||
maxPlayersEdit = new QLineEdit("2");
|
||||
maxPlayersEdit = new QSpinBox();
|
||||
maxPlayersEdit->setMinimum(1);
|
||||
maxPlayersEdit->setMaximum(100);
|
||||
maxPlayersEdit->setValue(2);
|
||||
maxPlayersLabel->setBuddy(maxPlayersEdit);
|
||||
|
||||
spectatorsAllowedCheckBox = new QCheckBox(tr("&Spectators allowed"));
|
||||
spectatorsAllowedCheckBox->setChecked(true);
|
||||
connect(spectatorsAllowedCheckBox, SIGNAL(stateChanged(int)), this, SLOT(spectatorsAllowedChanged(int)));
|
||||
spectatorsNeedPasswordCheckBox = new QCheckBox(tr("Spectators &need a password to join"));
|
||||
spectatorsCanTalkCheckBox = new QCheckBox(tr("Spectators can &talk"));
|
||||
spectatorsSeeEverythingCheckBox = new QCheckBox(tr("Spectators see &everything"));
|
||||
QVBoxLayout *spectatorsLayout = new QVBoxLayout;
|
||||
spectatorsLayout->addWidget(spectatorsAllowedCheckBox);
|
||||
spectatorsLayout->addWidget(spectatorsNeedPasswordCheckBox);
|
||||
spectatorsLayout->addWidget(spectatorsCanTalkCheckBox);
|
||||
spectatorsLayout->addWidget(spectatorsSeeEverythingCheckBox);
|
||||
spectatorsGroupBox = new QGroupBox(tr("Spectators"));
|
||||
spectatorsGroupBox->setLayout(spectatorsLayout);
|
||||
|
||||
QGridLayout *grid = new QGridLayout;
|
||||
grid->addWidget(descriptionLabel, 0, 0);
|
||||
|
|
@ -27,7 +41,7 @@ DlgCreateGame::DlgCreateGame(Client *_client, QWidget *parent)
|
|||
grid->addWidget(passwordEdit, 1, 1);
|
||||
grid->addWidget(maxPlayersLabel, 2, 0);
|
||||
grid->addWidget(maxPlayersEdit, 2, 1);
|
||||
grid->addWidget(spectatorsAllowedCheckBox, 3, 0, 1, 2);
|
||||
grid->addWidget(spectatorsGroupBox, 3, 0, 1, 2);
|
||||
|
||||
okButton = new QPushButton(tr("&OK"));
|
||||
okButton->setDefault(true);
|
||||
|
|
@ -53,13 +67,15 @@ DlgCreateGame::DlgCreateGame(Client *_client, QWidget *parent)
|
|||
|
||||
void DlgCreateGame::actOK()
|
||||
{
|
||||
bool ok;
|
||||
int maxPlayers = maxPlayersEdit->text().toInt(&ok);
|
||||
if (!ok) {
|
||||
QMessageBox::critical(this, tr("Error"), tr("Invalid number of players."));
|
||||
return;
|
||||
}
|
||||
Command_CreateGame *createCommand = new Command_CreateGame(descriptionEdit->text(), passwordEdit->text(), maxPlayers, spectatorsAllowedCheckBox->isChecked());
|
||||
Command_CreateGame *createCommand = new Command_CreateGame(
|
||||
descriptionEdit->text(),
|
||||
passwordEdit->text(),
|
||||
maxPlayersEdit->value(),
|
||||
spectatorsAllowedCheckBox->isChecked(),
|
||||
spectatorsNeedPasswordCheckBox->isChecked(),
|
||||
spectatorsCanTalkCheckBox->isChecked(),
|
||||
spectatorsSeeEverythingCheckBox->isChecked()
|
||||
);
|
||||
connect(createCommand, SIGNAL(finished(ResponseCode)), this, SLOT(checkResponse(ResponseCode)));
|
||||
client->sendCommand(createCommand);
|
||||
|
||||
|
|
@ -79,3 +95,10 @@ void DlgCreateGame::checkResponse(ResponseCode response)
|
|||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void DlgCreateGame::spectatorsAllowedChanged(int state)
|
||||
{
|
||||
spectatorsNeedPasswordCheckBox->setEnabled(state);
|
||||
spectatorsCanTalkCheckBox->setEnabled(state);
|
||||
spectatorsSeeEverythingCheckBox->setEnabled(state);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ class QLabel;
|
|||
class QLineEdit;
|
||||
class QPushButton;
|
||||
class QCheckBox;
|
||||
class QGroupBox;
|
||||
class QSpinBox;
|
||||
|
||||
class DlgCreateGame : public QDialog {
|
||||
Q_OBJECT
|
||||
|
|
@ -16,12 +18,15 @@ public:
|
|||
private slots:
|
||||
void actOK();
|
||||
void checkResponse(ResponseCode response);
|
||||
void spectatorsAllowedChanged(int state);
|
||||
private:
|
||||
Client *client;
|
||||
|
||||
QGroupBox *spectatorsGroupBox;
|
||||
QLabel *descriptionLabel, *passwordLabel, *maxPlayersLabel;
|
||||
QLineEdit *descriptionEdit, *passwordEdit, *maxPlayersEdit;
|
||||
QCheckBox *spectatorsAllowedCheckBox;
|
||||
QLineEdit *descriptionEdit, *passwordEdit;
|
||||
QSpinBox *maxPlayersEdit;
|
||||
QCheckBox *spectatorsAllowedCheckBox, *spectatorsNeedPasswordCheckBox, *spectatorsCanTalkCheckBox, *spectatorsSeeEverythingCheckBox;
|
||||
QPushButton *okButton, *cancelButton;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ QVariant GamesModel::data(const QModelIndex &index, int role) const
|
|||
switch (index.column()) {
|
||||
case 0: return g->getDescription();
|
||||
case 1: return g->getCreatorName();
|
||||
case 2: return g->getHasPassword() ? tr("yes") : tr("no");
|
||||
case 2: return g->getHasPassword() ? (g->getSpectatorsNeedPassword() ? tr("yes") : tr("yes, free for spectators")) : tr("no");
|
||||
case 3: return QString("%1/%2").arg(g->getPlayerCount()).arg(g->getMaxPlayers());
|
||||
case 4: return g->getSpectatorsAllowed() ? QVariant(g->getSpectatorCount()) : QVariant(tr("not allowed"));
|
||||
default: return QVariant();
|
||||
|
|
@ -56,7 +56,7 @@ ServerInfo_Game *GamesModel::getGame(int row)
|
|||
|
||||
void GamesModel::updateGameList(ServerInfo_Game *_game)
|
||||
{
|
||||
ServerInfo_Game *game = new ServerInfo_Game(_game->getGameId(), _game->getDescription(), _game->getHasPassword(), _game->getPlayerCount(), _game->getMaxPlayers(), _game->getCreatorName(), _game->getSpectatorsAllowed(), _game->getSpectatorCount());
|
||||
ServerInfo_Game *game = new ServerInfo_Game(_game->getGameId(), _game->getDescription(), _game->getHasPassword(), _game->getPlayerCount(), _game->getMaxPlayers(), _game->getCreatorName(), _game->getSpectatorsAllowed(), _game->getSpectatorsNeedPassword(), _game->getSpectatorCount());
|
||||
for (int i = 0; i < gameList.size(); i++)
|
||||
if (gameList[i]->getGameId() == game->getGameId()) {
|
||||
if (game->getPlayerCount() == 0) {
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
#include "protocol_items.h"
|
||||
#include "settingscache.h"
|
||||
|
||||
HandZone::HandZone(Player *_p, int _zoneHeight, QGraphicsItem *parent)
|
||||
: CardZone(_p, "hand", false, false, _p->getLocal(), parent), zoneHeight(_zoneHeight)
|
||||
HandZone::HandZone(Player *_p, bool _contentsKnown, int _zoneHeight, QGraphicsItem *parent)
|
||||
: CardZone(_p, "hand", false, false, _contentsKnown, parent), zoneHeight(_zoneHeight)
|
||||
{
|
||||
connect(settingsCache, SIGNAL(handBgPathChanged()), this, SLOT(updateBgPixmap()));
|
||||
updateBgPixmap();
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ private:
|
|||
private slots:
|
||||
void updateBgPixmap();
|
||||
public:
|
||||
HandZone(Player *_p, int _zoneHeight, QGraphicsItem *parent = 0);
|
||||
HandZone(Player *_p, bool _contentsKnown, int _zoneHeight, QGraphicsItem *parent = 0);
|
||||
QRectF boundingRect() const;
|
||||
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
|
||||
void reorganizeCards();
|
||||
|
|
|
|||
|
|
@ -104,7 +104,12 @@ void MessageLogWidget::logGameStart()
|
|||
|
||||
void MessageLogWidget::logSay(Player *player, QString message)
|
||||
{
|
||||
append(QString("<font color=\"red\">%1:</font> %2").arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(message)));
|
||||
append(QString("<b><font color=\"red\">%1:</font></b> %2").arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(message)));
|
||||
}
|
||||
|
||||
void MessageLogWidget::logSpectatorSay(QString spectatorName, QString message)
|
||||
{
|
||||
append(QString("<font color=\"red\">%1:</font> %2").arg(sanitizeHtml(spectatorName)).arg(sanitizeHtml(message)));
|
||||
}
|
||||
|
||||
void MessageLogWidget::logShuffle(Player *player)
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ public slots:
|
|||
void logConcede(Player *player);
|
||||
void logGameStart();
|
||||
void logSay(Player *player, QString message);
|
||||
void logSpectatorSay(QString spectatorName, QString message);
|
||||
void logShuffle(Player *player);
|
||||
void logRollDie(Player *player, int sides, int roll);
|
||||
void logDrawCards(Player *player, int number);
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ Player::Player(const QString &_name, int _id, bool _local, Client *_client, TabG
|
|||
|
||||
table = new TableZone(this, this);
|
||||
connect(table, SIGNAL(sizeChanged()), this, SLOT(updateBoundingRect()));
|
||||
hand = new HandZone(this, (int) table->boundingRect().height(), this);
|
||||
hand = new HandZone(this, _local || (_parent->getSpectator() && _parent->getSpectatorsSeeEverything()), (int) table->boundingRect().height(), this);
|
||||
|
||||
base = QPointF(deck->boundingRect().width() + counterAreaWidth + 5, 0);
|
||||
hand->setPos(base);
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@
|
|||
#include "arrowitem.h"
|
||||
#include "main.h"
|
||||
|
||||
TabGame::TabGame(Client *_client, int _gameId, const QString &_gameDescription, int _localPlayerId, bool _spectator, bool _resuming)
|
||||
: Tab(), client(_client), gameId(_gameId), gameDescription(_gameDescription), localPlayerId(_localPlayerId), spectator(_spectator), started(false), resuming(_resuming), currentPhase(-1)
|
||||
TabGame::TabGame(Client *_client, int _gameId, const QString &_gameDescription, int _localPlayerId, bool _spectator, bool _spectatorsCanTalk, bool _spectatorsSeeEverything, bool _resuming)
|
||||
: Tab(), client(_client), gameId(_gameId), gameDescription(_gameDescription), localPlayerId(_localPlayerId), spectator(_spectator), spectatorsCanTalk(_spectatorsCanTalk), spectatorsSeeEverything(_spectatorsSeeEverything), started(false), resuming(_resuming), currentPhase(-1)
|
||||
{
|
||||
scene = new GameScene(this);
|
||||
gameView = new GameView(scene);
|
||||
|
|
@ -74,8 +74,10 @@ TabGame::TabGame(Client *_client, int _gameId, const QString &_gameDescription,
|
|||
mainLayout->addLayout(verticalLayout);
|
||||
|
||||
if (spectator) {
|
||||
sayLabel->hide();
|
||||
sayEdit->hide();
|
||||
if (!spectatorsCanTalk) {
|
||||
sayLabel->hide();
|
||||
sayEdit->hide();
|
||||
}
|
||||
loadLocalButton->hide();
|
||||
loadRemoteButton->hide();
|
||||
readyStartButton->hide();
|
||||
|
|
@ -226,7 +228,15 @@ void TabGame::processGameEventContainer(GameEventContainer *cont)
|
|||
for (int i = 0; i < eventList.size(); ++i) {
|
||||
GameEvent *event = eventList[i];
|
||||
|
||||
switch (event->getItemId()) {
|
||||
if (spectators.contains(event->getPlayerId())) {
|
||||
switch (event->getItemId()) {
|
||||
case ItemId_Event_Say: eventSpectatorSay(qobject_cast<Event_Say *>(event), context); break;
|
||||
default: {
|
||||
qDebug() << "unhandled spectator game event";
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else switch (event->getItemId()) {
|
||||
case ItemId_Event_GameStateChanged: eventGameStateChanged(qobject_cast<Event_GameStateChanged *>(event), context); break;
|
||||
case ItemId_Event_PlayerPropertiesChanged: eventPlayerPropertiesChanged(qobject_cast<Event_PlayerPropertiesChanged *>(event), context); break;
|
||||
case ItemId_Event_Join: eventJoin(qobject_cast<Event_Join *>(event), context); break;
|
||||
|
|
@ -289,6 +299,11 @@ void TabGame::stopGame()
|
|||
deckViewContainer->show();
|
||||
}
|
||||
|
||||
void TabGame::eventSpectatorSay(Event_Say *event, GameEventContext * /*context*/)
|
||||
{
|
||||
messageLog->logSpectatorSay(spectators.value(event->getPlayerId()), event->getMessage());
|
||||
}
|
||||
|
||||
void TabGame::eventGameStateChanged(Event_GameStateChanged *event, GameEventContext * /*context*/)
|
||||
{
|
||||
const QList<ServerInfo_Player *> &plList = event->getPlayerList();
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ class Event_GameStart;
|
|||
class Event_SetActivePlayer;
|
||||
class Event_SetActivePhase;
|
||||
class Event_Ping;
|
||||
class Event_Say;
|
||||
class Player;
|
||||
class CardZone;
|
||||
class AbstractCardItem;
|
||||
|
|
@ -46,6 +47,7 @@ private:
|
|||
QString gameDescription;
|
||||
int localPlayerId;
|
||||
bool spectator;
|
||||
bool spectatorsCanTalk, spectatorsSeeEverything;
|
||||
QMap<int, Player *> players;
|
||||
QMap<int, QString> spectators;
|
||||
bool started;
|
||||
|
|
@ -73,6 +75,7 @@ private:
|
|||
void startGame();
|
||||
void stopGame();
|
||||
|
||||
void eventSpectatorSay(Event_Say *event, GameEventContext *context);
|
||||
void eventGameStateChanged(Event_GameStateChanged *event, GameEventContext *context);
|
||||
void eventPlayerPropertiesChanged(Event_PlayerPropertiesChanged *event, GameEventContext *context);
|
||||
void eventJoin(Event_Join *event, GameEventContext *context);
|
||||
|
|
@ -100,12 +103,15 @@ private slots:
|
|||
void actNextPhase();
|
||||
void actNextTurn();
|
||||
public:
|
||||
TabGame(Client *_client, int _gameId, const QString &_gameDescription, int _localPlayerId, bool _spectator, bool _resuming);
|
||||
TabGame(Client *_client, int _gameId, const QString &_gameDescription, int _localPlayerId, bool _spectator, bool _spectatorsCanTalk, bool _spectatorsSeeEverything, bool _resuming);
|
||||
~TabGame();
|
||||
void retranslateUi();
|
||||
const QMap<int, Player *> &getPlayers() const { return players; }
|
||||
int getGameId() const { return gameId; }
|
||||
QString getTabText() const { return tr("Game %1: %2").arg(gameId).arg(gameDescription); }
|
||||
bool getSpectator() const { return spectator; }
|
||||
bool getSpectatorsCanTalk() const { return spectatorsCanTalk; }
|
||||
bool getSpectatorsSeeEverything() const { return spectatorsSeeEverything; }
|
||||
|
||||
void processGameEventContainer(GameEventContainer *cont);
|
||||
public slots:
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ void GameSelector::actJoin()
|
|||
return;
|
||||
ServerInfo_Game *game = gameListModel->getGame(ind.data(Qt::UserRole).toInt());
|
||||
QString password;
|
||||
if (game->getHasPassword()) {
|
||||
if (game->getHasPassword() && !(spectator && !game->getSpectatorsNeedPassword())) {
|
||||
bool ok;
|
||||
password = QInputDialog::getText(this, tr("Join game"), tr("Password:"), QLineEdit::Password, QString(), &ok);
|
||||
if (!ok)
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ void TabSupervisor::updatePingTime(int value, int max)
|
|||
|
||||
void TabSupervisor::gameJoined(Event_GameJoined *event)
|
||||
{
|
||||
TabGame *tab = new TabGame(client, event->getGameId(), event->getGameDescription(), event->getPlayerId(), event->getSpectator(), event->getResuming());
|
||||
TabGame *tab = new TabGame(client, event->getGameId(), event->getGameDescription(), event->getPlayerId(), event->getSpectator(), event->getSpectatorsCanTalk(), event->getSpectatorsSeeEverything(), event->getResuming());
|
||||
connect(tab, SIGNAL(gameClosing(TabGame *)), this, SLOT(gameLeft(TabGame *)));
|
||||
myAddTab(tab);
|
||||
gameTabs.insert(event->getGameId(), tab);
|
||||
|
|
|
|||
|
|
@ -476,38 +476,56 @@
|
|||
<translation>&Spieler:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="20"/>
|
||||
<location filename="../src/dlg_creategame.cpp" line="23"/>
|
||||
<source>&Spectators allowed</source>
|
||||
<translation>&Zuschauer zugelassen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="32"/>
|
||||
<location filename="../src/dlg_creategame.cpp" line="26"/>
|
||||
<source>Spectators &need a password to join</source>
|
||||
<translation>Zuschauer brauchen &auch ein Passwort</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="27"/>
|
||||
<source>Spectators can &talk</source>
|
||||
<translation>Zuschauer können sp&rechen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="28"/>
|
||||
<source>Spectators see &everything</source>
|
||||
<translation>Zuschauer sehen &alles</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="34"/>
|
||||
<source>Spectators</source>
|
||||
<translation>Zuschauer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="46"/>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="34"/>
|
||||
<location filename="../src/dlg_creategame.cpp" line="48"/>
|
||||
<source>&Cancel</source>
|
||||
<translation>&Abbruch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="47"/>
|
||||
<location filename="../src/dlg_creategame.cpp" line="61"/>
|
||||
<source>Create game</source>
|
||||
<translation>Spiel erstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="59"/>
|
||||
<location filename="../src/dlg_creategame.cpp" line="78"/>
|
||||
<location filename="../src/dlg_creategame.cpp" line="94"/>
|
||||
<source>Error</source>
|
||||
<translation>Fehler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="59"/>
|
||||
<source>Invalid number of players.</source>
|
||||
<translation>Ungültige Anzahl an Spielern.</translation>
|
||||
<translation type="obsolete">Ungültige Anzahl an Spielern.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="78"/>
|
||||
<location filename="../src/dlg_creategame.cpp" line="94"/>
|
||||
<source>Server error.</source>
|
||||
<translation>Serverfehler.</translation>
|
||||
</message>
|
||||
|
|
@ -978,6 +996,11 @@
|
|||
<source>Description</source>
|
||||
<translation>Beschreibung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gamesmodel.cpp" line="30"/>
|
||||
<source>yes, free for spectators</source>
|
||||
<translation>ja, außer für Zuschauer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gamesmodel.cpp" line="32"/>
|
||||
<source>not allowed</source>
|
||||
|
|
@ -1246,7 +1269,7 @@
|
|||
<translation type="obsolete">%1 zieht %2 Karten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="188"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="193"/>
|
||||
<source>a card</source>
|
||||
<translation>eine Karte</translation>
|
||||
</message>
|
||||
|
|
@ -1308,7 +1331,7 @@
|
|||
<translation>Das Spiel hat begonnen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="112"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="117"/>
|
||||
<source>%1 shuffles his library.</source>
|
||||
<translation>%1 mischt seine Bibliothek.</translation>
|
||||
</message>
|
||||
|
|
@ -1385,122 +1408,122 @@
|
|||
<translation>%1 hat das Spiel aufgegeben.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="117"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="122"/>
|
||||
<source>%1 rolls a %2 with a %3-sided die.</source>
|
||||
<translation>%1 würfelt eine %2 mit einem %3-seitigen Würfel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="123"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="128"/>
|
||||
<source>%1 draws a card.</source>
|
||||
<translation>%1 zieht eine Karte.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="125"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="130"/>
|
||||
<source>%1 draws %2 cards.</source>
|
||||
<translation>%1 zieht %2 Karten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="138"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="143"/>
|
||||
<source> from table</source>
|
||||
<translation> vom Spielfeld</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="140"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="145"/>
|
||||
<source> from graveyard</source>
|
||||
<translation> aus dem Friedhof</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="142"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="147"/>
|
||||
<source> from exile</source>
|
||||
<translation> aus dem Exil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="144"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="149"/>
|
||||
<source> from hand</source>
|
||||
<translation> von der Hand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="148"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="153"/>
|
||||
<source>the bottom card of his library</source>
|
||||
<translation>die unterste Karte seiner Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="151"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="156"/>
|
||||
<source> from the bottom of his library</source>
|
||||
<translation>, die unterste Karte seiner Bibliothek,</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="154"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="159"/>
|
||||
<source>the top card of his library</source>
|
||||
<translation>die oberste Karte seiner Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="157"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="162"/>
|
||||
<source> from the top of his library</source>
|
||||
<translation>, die oberste Karte seiner Bibliothek,</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="159"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="164"/>
|
||||
<source> from library</source>
|
||||
<translation> aus der Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="161"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="166"/>
|
||||
<source> from sideboard</source>
|
||||
<translation> aus dem Sideboard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="165"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="170"/>
|
||||
<source>%1 puts %2 into play%3.</source>
|
||||
<translation>%1 bringt %2%3 ins Spiel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="167"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="172"/>
|
||||
<source>%1 puts %2%3 into graveyard.</source>
|
||||
<translation>%1 legt %2%3 auf den Friedhof.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="169"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="174"/>
|
||||
<source>%1 exiles %2%3.</source>
|
||||
<translation>%1 schickt %2%3 ins Exil.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="171"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="176"/>
|
||||
<source>%1 moves %2%3 to hand.</source>
|
||||
<translation>%1 nimmt %2%3 auf die Hand.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="174"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="179"/>
|
||||
<source>%1 puts %2%3 into his library.</source>
|
||||
<translation>%1 legt %2%3 in seine Bibliothek.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="176"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="181"/>
|
||||
<source>%1 puts %2%3 on bottom of his library.</source>
|
||||
<translation>%1 legt %2%3 unter seine Bibliothek.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="178"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="183"/>
|
||||
<source>%1 puts %2%3 on top of his library.</source>
|
||||
<translation>%1 legt %2%3 auf die Bibliothek.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="180"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="185"/>
|
||||
<source>%1 puts %2%3 into his library at position %4.</source>
|
||||
<translation>%1 legt %2%3 in seine Bibliothek an %4. Stelle.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="182"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="187"/>
|
||||
<source>%1 moves %2%3 to sideboard.</source>
|
||||
<translation>%1 legt %2%3 in sein Sideboard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="202"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="207"/>
|
||||
<source>%1 points from %2's %3 to %4's %5.</source>
|
||||
<translation>%1 zeigt von %2s %3 auf %4s %5.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="249"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="254"/>
|
||||
<source>%1 is looking at the top %2 cards %3.</source>
|
||||
<translation>%1 sieht sich die obersten %2 Karten %3 an.</translation>
|
||||
</message>
|
||||
|
|
@ -1585,27 +1608,27 @@
|
|||
<translation type="obsolete">%1 legt %2%3in sein Sideboard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="197"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="202"/>
|
||||
<source>%1 creates token: %2.</source>
|
||||
<translation>%1 erstellt Token: %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="215"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="220"/>
|
||||
<source>%1 places %2 counters on %3 (now %4).</source>
|
||||
<translation>%1 legt %2 Zählmarken auf %3 (jetzt %4).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="217"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="222"/>
|
||||
<source>%1 removes %2 counters from %3 (now %4).</source>
|
||||
<translation>%1 entfernt %2 Zählmarken von %3 (jetzt %4).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="228"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="233"/>
|
||||
<source>%1 %2 %3.</source>
|
||||
<translation>%1 %2 %3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="233"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="238"/>
|
||||
<source>%1 sets counter "%2" to %3 (%4%5).</source>
|
||||
<translation>%1 setzt Zählmarke "%2" auf %3 (%4%5).</translation>
|
||||
</message>
|
||||
|
|
@ -1614,17 +1637,17 @@
|
|||
<translation type="obsolete">%1 sieht sich die obersten %2 Karten %3 an.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="251"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="256"/>
|
||||
<source>%1 is looking at %2.</source>
|
||||
<translation>%1 sieht sich %2 an.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="257"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="262"/>
|
||||
<source>%1 stops looking at %2.</source>
|
||||
<translation>%1 sieht sich %2 nicht mehr an.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="281"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="286"/>
|
||||
<source>ending phase</source>
|
||||
<translation>die Zugendphase</translation>
|
||||
</message>
|
||||
|
|
@ -1653,57 +1676,57 @@
|
|||
<translation type="obsolete">%1 sieht sich %2s %3 nicht mehr an</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="263"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="268"/>
|
||||
<source>It is now %1's turn.</source>
|
||||
<translation>%1 ist am Zug.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="271"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="276"/>
|
||||
<source>untap step</source>
|
||||
<translation>das Enttappsegment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="272"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="277"/>
|
||||
<source>upkeep step</source>
|
||||
<translation>das Versorgungssegment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="273"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="278"/>
|
||||
<source>draw step</source>
|
||||
<translation>das Ziehsegment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="274"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="279"/>
|
||||
<source>first main phase</source>
|
||||
<translation>die erste Hauptphase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="275"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="280"/>
|
||||
<source>beginning of combat step</source>
|
||||
<translation>das Anfangssegment der Kampfphase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="276"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="281"/>
|
||||
<source>declare attackers step</source>
|
||||
<translation>das Angreifer-Deklarieren-Segment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="277"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="282"/>
|
||||
<source>declare blockers step</source>
|
||||
<translation>das Blocker-Deklarieren-Segment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="278"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="283"/>
|
||||
<source>combat damage step</source>
|
||||
<translation>das Kampfschadenssegment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="279"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="284"/>
|
||||
<source>end of combat step</source>
|
||||
<translation>das Endsegment der Kampfphase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="280"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="285"/>
|
||||
<source>second main phase</source>
|
||||
<translation>die zweite Hauptphase</translation>
|
||||
</message>
|
||||
|
|
@ -1712,7 +1735,7 @@
|
|||
<translation type="obsolete">das Ende-des-Zuges-Segment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="283"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="288"/>
|
||||
<source>It is now the %1.</source>
|
||||
<translation>Es ist nun %1.</translation>
|
||||
</message>
|
||||
|
|
@ -1721,12 +1744,12 @@
|
|||
<translation type="obsolete">%1 bewegt %2 %3 nach %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="228"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="233"/>
|
||||
<source>taps</source>
|
||||
<translation>tappt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="228"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="233"/>
|
||||
<source>untaps</source>
|
||||
<translation>enttappt</translation>
|
||||
</message>
|
||||
|
|
@ -1751,7 +1774,7 @@
|
|||
<translation type="obsolete">%1 entfernt %2 Zählmarken von %3 (jetzt %4)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="225"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="230"/>
|
||||
<source>his permanents</source>
|
||||
<translation>seine bleibenden Karten</translation>
|
||||
</message>
|
||||
|
|
@ -1764,12 +1787,12 @@
|
|||
<translation type="obsolete">%1 setzt Zähler "%2" auf %3 (%4%5)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="240"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="245"/>
|
||||
<source>%1 sets %2 to not untap normally.</source>
|
||||
<translation>%1 setzt %2 auf explizites Enttappen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="242"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="247"/>
|
||||
<source>%1 sets %2 to untap normally.</source>
|
||||
<translation>%1 setzt %2 auf normales Enttappen.</translation>
|
||||
</message>
|
||||
|
|
@ -2447,77 +2470,77 @@ Bitte geben Sie einen Namen ein:</translation>
|
|||
<context>
|
||||
<name>TabGame</name>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="130"/>
|
||||
<location filename="../src/tab_game.cpp" line="132"/>
|
||||
<source>&Game</source>
|
||||
<translation>Spi&el</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="131"/>
|
||||
<location filename="../src/tab_game.cpp" line="133"/>
|
||||
<source>Next &phase</source>
|
||||
<translation>Nächste &Phase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="132"/>
|
||||
<location filename="../src/tab_game.cpp" line="134"/>
|
||||
<source>Ctrl+Space</source>
|
||||
<translation>Ctrl+Space</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="133"/>
|
||||
<location filename="../src/tab_game.cpp" line="135"/>
|
||||
<source>Next &turn</source>
|
||||
<translation>Nächster &Zug</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="134"/>
|
||||
<location filename="../src/tab_game.cpp" line="136"/>
|
||||
<source>Ctrl+Return</source>
|
||||
<translation>Ctrl+Return</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="134"/>
|
||||
<location filename="../src/tab_game.cpp" line="136"/>
|
||||
<source>Ctrl+Enter</source>
|
||||
<translation>Ctrl+Enter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="135"/>
|
||||
<location filename="../src/tab_game.cpp" line="137"/>
|
||||
<source>&Remove all local arrows</source>
|
||||
<translation>&Lokale Pfeile entfernen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="136"/>
|
||||
<location filename="../src/tab_game.cpp" line="138"/>
|
||||
<source>Ctrl+R</source>
|
||||
<translation>Ctrl+R</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="137"/>
|
||||
<location filename="../src/tab_game.cpp" line="139"/>
|
||||
<source>&Concede</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="138"/>
|
||||
<location filename="../src/tab_game.cpp" line="140"/>
|
||||
<source>F2</source>
|
||||
<translation>F2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="139"/>
|
||||
<location filename="../src/tab_game.cpp" line="141"/>
|
||||
<source>&Leave game</source>
|
||||
<translation>Spiel ver&lassen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="141"/>
|
||||
<location filename="../src/tab_game.cpp" line="143"/>
|
||||
<source>Load &local deck</source>
|
||||
<translation>&Lokales Deck laden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="142"/>
|
||||
<location filename="../src/tab_game.cpp" line="144"/>
|
||||
<source>Load d&eck from server</source>
|
||||
<translation>Deck vom Server l&aden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="143"/>
|
||||
<location filename="../src/tab_game.cpp" line="145"/>
|
||||
<source>S&tart game</source>
|
||||
<translation>Spiel s&tarten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="144"/>
|
||||
<location filename="../src/tab_game.cpp" line="146"/>
|
||||
<source>&Say:</source>
|
||||
<translation>&Sagen:</translation>
|
||||
</message>
|
||||
|
|
@ -2530,32 +2553,32 @@ Bitte geben Sie einen Namen ein:</translation>
|
|||
<translation type="obsolete">Esc</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="156"/>
|
||||
<location filename="../src/tab_game.cpp" line="158"/>
|
||||
<source>Concede</source>
|
||||
<translation>Aufgeben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="156"/>
|
||||
<location filename="../src/tab_game.cpp" line="158"/>
|
||||
<source>Are you sure you want to concede this game?</source>
|
||||
<translation>Sind Sie sicher, dass Sie das Spiel aufgeben möchten?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="164"/>
|
||||
<location filename="../src/tab_game.cpp" line="166"/>
|
||||
<source>Leave game</source>
|
||||
<translation>Spiel verlassen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="164"/>
|
||||
<location filename="../src/tab_game.cpp" line="166"/>
|
||||
<source>Are you sure you want to leave this game?</source>
|
||||
<translation>Sind Sie sicher, dass Sie das Spiel verlassen möchten?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="435"/>
|
||||
<location filename="../src/tab_game.cpp" line="450"/>
|
||||
<source>Load deck</source>
|
||||
<translation>Deck laden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.h" line="108"/>
|
||||
<location filename="../src/tab_game.h" line="111"/>
|
||||
<source>Game %1: %2</source>
|
||||
<translation>Spiel %1: %2</translation>
|
||||
</message>
|
||||
|
|
|
|||
|
|
@ -396,38 +396,52 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="20"/>
|
||||
<location filename="../src/dlg_creategame.cpp" line="23"/>
|
||||
<source>&Spectators allowed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="32"/>
|
||||
<source>&OK</source>
|
||||
<location filename="../src/dlg_creategame.cpp" line="26"/>
|
||||
<source>Spectators &need a password to join</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="27"/>
|
||||
<source>Spectators can &talk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="28"/>
|
||||
<source>Spectators see &everything</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="34"/>
|
||||
<source>Spectators</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="46"/>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="48"/>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="47"/>
|
||||
<location filename="../src/dlg_creategame.cpp" line="61"/>
|
||||
<source>Create game</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="59"/>
|
||||
<location filename="../src/dlg_creategame.cpp" line="78"/>
|
||||
<location filename="../src/dlg_creategame.cpp" line="94"/>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="59"/>
|
||||
<source>Invalid number of players.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_creategame.cpp" line="78"/>
|
||||
<location filename="../src/dlg_creategame.cpp" line="94"/>
|
||||
<source>Server error.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
@ -601,6 +615,11 @@
|
|||
<source>Description</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gamesmodel.cpp" line="30"/>
|
||||
<source>yes, free for spectators</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gamesmodel.cpp" line="32"/>
|
||||
<source>not allowed</source>
|
||||
|
|
@ -808,117 +827,117 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="117"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="122"/>
|
||||
<source>%1 rolls a %2 with a %3-sided die.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="138"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="143"/>
|
||||
<source> from table</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="140"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="145"/>
|
||||
<source> from graveyard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="142"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="147"/>
|
||||
<source> from exile</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="144"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="149"/>
|
||||
<source> from hand</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="148"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="153"/>
|
||||
<source>the bottom card of his library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="151"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="156"/>
|
||||
<source> from the bottom of his library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="154"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="159"/>
|
||||
<source>the top card of his library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="157"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="162"/>
|
||||
<source> from the top of his library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="159"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="164"/>
|
||||
<source> from library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="161"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="166"/>
|
||||
<source> from sideboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="165"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="170"/>
|
||||
<source>%1 puts %2 into play%3.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="167"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="172"/>
|
||||
<source>%1 puts %2%3 into graveyard.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="169"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="174"/>
|
||||
<source>%1 exiles %2%3.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="171"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="176"/>
|
||||
<source>%1 moves %2%3 to hand.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="174"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="179"/>
|
||||
<source>%1 puts %2%3 into his library.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="176"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="181"/>
|
||||
<source>%1 puts %2%3 on bottom of his library.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="178"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="183"/>
|
||||
<source>%1 puts %2%3 on top of his library.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="180"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="185"/>
|
||||
<source>%1 puts %2%3 into his library at position %4.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="182"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="187"/>
|
||||
<source>%1 moves %2%3 to sideboard.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="188"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="193"/>
|
||||
<source>a card</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="202"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="207"/>
|
||||
<source>%1 points from %2's %3 to %4's %5.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="249"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="254"/>
|
||||
<source>%1 is looking at the top %2 cards %3.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
@ -973,142 +992,142 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="123"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="128"/>
|
||||
<source>%1 draws a card.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="125"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="130"/>
|
||||
<source>%1 draws %2 cards.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="197"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="202"/>
|
||||
<source>%1 creates token: %2.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="215"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="220"/>
|
||||
<source>%1 places %2 counters on %3 (now %4).</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="217"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="222"/>
|
||||
<source>%1 removes %2 counters from %3 (now %4).</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="228"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="233"/>
|
||||
<source>%1 %2 %3.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="233"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="238"/>
|
||||
<source>%1 sets counter "%2" to %3 (%4%5).</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="251"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="256"/>
|
||||
<source>%1 is looking at %2.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="257"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="262"/>
|
||||
<source>%1 stops looking at %2.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="281"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="286"/>
|
||||
<source>ending phase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="263"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="268"/>
|
||||
<source>It is now %1's turn.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="112"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="117"/>
|
||||
<source>%1 shuffles his library.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="271"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="276"/>
|
||||
<source>untap step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="272"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="277"/>
|
||||
<source>upkeep step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="273"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="278"/>
|
||||
<source>draw step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="274"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="279"/>
|
||||
<source>first main phase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="275"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="280"/>
|
||||
<source>beginning of combat step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="276"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="281"/>
|
||||
<source>declare attackers step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="277"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="282"/>
|
||||
<source>declare blockers step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="278"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="283"/>
|
||||
<source>combat damage step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="279"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="284"/>
|
||||
<source>end of combat step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="280"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="285"/>
|
||||
<source>second main phase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="283"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="288"/>
|
||||
<source>It is now the %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="228"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="233"/>
|
||||
<source>taps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="228"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="233"/>
|
||||
<source>untaps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="240"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="245"/>
|
||||
<source>%1 sets %2 to not untap normally.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="242"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="247"/>
|
||||
<source>%1 sets %2 to untap normally.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="225"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="230"/>
|
||||
<source>his permanents</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
@ -1713,107 +1732,107 @@ Please enter a name:</source>
|
|||
<context>
|
||||
<name>TabGame</name>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="130"/>
|
||||
<location filename="../src/tab_game.cpp" line="132"/>
|
||||
<source>&Game</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="131"/>
|
||||
<location filename="../src/tab_game.cpp" line="133"/>
|
||||
<source>Next &phase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="132"/>
|
||||
<location filename="../src/tab_game.cpp" line="134"/>
|
||||
<source>Ctrl+Space</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="133"/>
|
||||
<location filename="../src/tab_game.cpp" line="135"/>
|
||||
<source>Next &turn</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="134"/>
|
||||
<location filename="../src/tab_game.cpp" line="136"/>
|
||||
<source>Ctrl+Return</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="134"/>
|
||||
<location filename="../src/tab_game.cpp" line="136"/>
|
||||
<source>Ctrl+Enter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="135"/>
|
||||
<location filename="../src/tab_game.cpp" line="137"/>
|
||||
<source>&Remove all local arrows</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="136"/>
|
||||
<location filename="../src/tab_game.cpp" line="138"/>
|
||||
<source>Ctrl+R</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="137"/>
|
||||
<location filename="../src/tab_game.cpp" line="139"/>
|
||||
<source>&Concede</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="138"/>
|
||||
<location filename="../src/tab_game.cpp" line="140"/>
|
||||
<source>F2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="139"/>
|
||||
<location filename="../src/tab_game.cpp" line="141"/>
|
||||
<source>&Leave game</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="141"/>
|
||||
<location filename="../src/tab_game.cpp" line="143"/>
|
||||
<source>Load &local deck</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="142"/>
|
||||
<location filename="../src/tab_game.cpp" line="144"/>
|
||||
<source>Load d&eck from server</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="143"/>
|
||||
<location filename="../src/tab_game.cpp" line="145"/>
|
||||
<source>S&tart game</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="144"/>
|
||||
<location filename="../src/tab_game.cpp" line="146"/>
|
||||
<source>&Say:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="156"/>
|
||||
<location filename="../src/tab_game.cpp" line="158"/>
|
||||
<source>Concede</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="156"/>
|
||||
<location filename="../src/tab_game.cpp" line="158"/>
|
||||
<source>Are you sure you want to concede this game?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="164"/>
|
||||
<location filename="../src/tab_game.cpp" line="166"/>
|
||||
<source>Leave game</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="164"/>
|
||||
<location filename="../src/tab_game.cpp" line="166"/>
|
||||
<source>Are you sure you want to leave this game?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="435"/>
|
||||
<location filename="../src/tab_game.cpp" line="450"/>
|
||||
<source>Load deck</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.h" line="108"/>
|
||||
<location filename="../src/tab_game.h" line="111"/>
|
||||
<source>Game %1: %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue