diff --git a/cockatrice/cockatrice.pro b/cockatrice/cockatrice.pro
index 7d84a228..fc02842b 100644
--- a/cockatrice/cockatrice.pro
+++ b/cockatrice/cockatrice.pro
@@ -5,7 +5,7 @@ INCLUDEPATH += . src ../common
MOC_DIR = build
OBJECTS_DIR = build
RESOURCES = cockatrice.qrc
-QT += network svg multimedia
+QT += network script svg multimedia
HEADERS += src/abstractcounter.h \
src/counter_general.h \
@@ -71,6 +71,7 @@ HEADERS += src/abstractcounter.h \
src/localserverinterface.h \
src/localclient.h \
src/translation.h \
+ src/priceupdater.h \
src/soundengine.h \
../common/color.h \
../common/serializable_item.h \
@@ -154,6 +155,7 @@ SOURCES += src/abstractcounter.cpp \
src/localserver.cpp \
src/localserverinterface.cpp \
src/localclient.cpp \
+ src/priceupdater.cpp \
src/soundengine.cpp \
../common/serializable_item.cpp \
../common/decklist.cpp \
@@ -179,7 +181,10 @@ TRANSLATIONS += \
translations/cockatrice_pt-br.ts \
translations/cockatrice_fr.ts \
translations/cockatrice_ja.ts \
- translations/cockatrice_ru.ts
+ translations/cockatrice_ru.ts \
+ translations/cockatrice_cz.ts \
+ translations/cockatrice_pl.ts
+
win32 {
RC_FILE = cockatrice.rc
}
diff --git a/cockatrice/cockatrice.qrc b/cockatrice/cockatrice.qrc
index d57e461e..1f04c405 100644
--- a/cockatrice/cockatrice.qrc
+++ b/cockatrice/cockatrice.qrc
@@ -23,6 +23,7 @@
resources/pencil.svg
resources/icon_search.svg
resources/icon_clearsearch.svg
+ resources/icon_update.png
resources/hr.jpg
resources/appicon.svg
resources/add_to_sideboard.svg
@@ -45,6 +46,8 @@
translations/cockatrice_fr.qm
translations/cockatrice_ja.qm
translations/cockatrice_ru.qm
+ translations/cockatrice_cz.qm
+ translations/cockatrice_pl.qm
resources/countries/at.svg
resources/countries/au.svg
diff --git a/cockatrice/resources/icon_update.png b/cockatrice/resources/icon_update.png
new file mode 100644
index 00000000..825c0aee
Binary files /dev/null and b/cockatrice/resources/icon_update.png differ
diff --git a/cockatrice/src/cardinfowidget.cpp b/cockatrice/src/cardinfowidget.cpp
index cd51f235..37b14edf 100644
--- a/cockatrice/src/cardinfowidget.cpp
+++ b/cockatrice/src/cardinfowidget.cpp
@@ -11,8 +11,24 @@
#include "settingscache.h"
CardInfoWidget::CardInfoWidget(ResizeMode _mode, QWidget *parent, Qt::WindowFlags flags)
- : QFrame(parent, flags), pixmapWidth(160), aspectRatio((qreal) CARD_HEIGHT / (qreal) CARD_WIDTH), minimized(false), mode(_mode), info(0)
+ : QFrame(parent, flags)
+ , pixmapWidth(160)
+ , aspectRatio((qreal) CARD_HEIGHT / (qreal) CARD_WIDTH)
+ , minimized(settingsCache->getCardInfoMinimized()) // Initialize the cardinfo view status from cache.
+ , mode(_mode)
+ , info(0)
{
+ if (mode == ModeGameTab) {
+ // Create indexed list of status views for card.
+ const QStringList cardInfoStatus = QStringList() << tr("Hide card info") << tr("Show card only") << tr("Show text only") << tr("Show full info");
+
+ // Create droplist for cardinfo view selection, and set right current index.
+ dropList = new QComboBox();
+ dropList->addItems(cardInfoStatus);
+ dropList->setCurrentIndex(minimized);
+ connect(dropList, SIGNAL(currentIndexChanged(int)), this, SLOT(minimizeClicked(int)));
+ }
+
cardPicture = new QLabel;
cardPicture->setAlignment(Qt::AlignCenter);
@@ -33,6 +49,8 @@ CardInfoWidget::CardInfoWidget(ResizeMode _mode, QWidget *parent, Qt::WindowFlag
QGridLayout *grid = new QGridLayout(this);
int row = 0;
+ if (mode == ModeGameTab)
+ grid->addWidget(dropList, row++, 1, 1, 1, Qt::AlignRight);
grid->addWidget(cardPicture, row++, 0, 1, 2);
grid->addWidget(nameLabel1, row, 0);
grid->addWidget(nameLabel2, row++, 1);
@@ -51,15 +69,51 @@ CardInfoWidget::CardInfoWidget(ResizeMode _mode, QWidget *parent, Qt::WindowFlag
retranslateUi();
setFrameStyle(QFrame::Panel | QFrame::Raised);
- setMinimumHeight(350);
if (mode == ModeGameTab) {
textLabel->setFixedHeight(100);
setFixedWidth(sizeHint().width());
- setMaximumHeight(580);
+ setMinimized(settingsCache->getCardInfoMinimized());
} else if (mode == ModePopUp)
setFixedWidth(350);
else
setFixedWidth(250);
+ if (mode != ModeDeckEditor)
+ setFixedHeight(sizeHint().height());
+}
+
+void CardInfoWidget::minimizeClicked(int newMinimized)
+{
+ // Set new status, and store it in the settings cache.
+ setMinimized(newMinimized);
+ settingsCache->setCardInfoMinimized(newMinimized);
+}
+
+void CardInfoWidget::setMinimized(int _minimized)
+{
+ minimized = _minimized;
+
+ // Set the picture to be shown only at "card only" (1) and "full info" (3)
+ if (minimized == 1 || minimized == 3) {
+ cardPicture->setVisible(true);
+ } else {
+ cardPicture->setVisible(false);
+ }
+
+ // Set the rest of the fields to be shown only at "full info" (3) and "oracle only" (2)
+ bool showAll = (minimized == 2 || minimized == 3) ? true : false;
+
+ // Toggle oracle fields as according to selected view.
+ nameLabel2->setVisible(showAll);
+ nameLabel1->setVisible(showAll);
+ manacostLabel1->setVisible(showAll);
+ manacostLabel2->setVisible(showAll);
+ cardtypeLabel1->setVisible(showAll);
+ cardtypeLabel2->setVisible(showAll);
+ powtoughLabel1->setVisible(showAll);
+ powtoughLabel2->setVisible(showAll);
+ textLabel->setVisible(showAll);
+
+ setFixedHeight(sizeHint().height());
}
void CardInfoWidget::setCard(CardInfo *card)
@@ -112,7 +166,7 @@ void CardInfoWidget::retranslateUi()
void CardInfoWidget::resizeEvent(QResizeEvent * /*event*/)
{
- if ((mode == ModeDeckEditor) || (mode == ModeGameTab)) {
+ if (mode == ModeDeckEditor) {
pixmapWidth = qMin(width() * 0.95, (height() - 200) / aspectRatio);
updatePixmap();
}
diff --git a/cockatrice/src/cardinfowidget.h b/cockatrice/src/cardinfowidget.h
index f71a6c1f..819f514b 100644
--- a/cockatrice/src/cardinfowidget.h
+++ b/cockatrice/src/cardinfowidget.h
@@ -2,6 +2,8 @@
#define CARDINFOWIDGET_H
#include
+#include
+#include
class QLabel;
class QTextEdit;
@@ -13,34 +15,44 @@ class QMouseEvent;
class CardInfoWidget : public QFrame {
Q_OBJECT
+
public:
enum ResizeMode { ModeDeckEditor, ModeGameTab, ModePopUp };
+
private:
int pixmapWidth;
qreal aspectRatio;
- bool minimized;
+ int minimized; // 0 - minimized, 1 - card, 2 - oracle only, 3 - full
ResizeMode mode;
+ QComboBox *dropList;
QLabel *cardPicture;
QLabel *nameLabel1, *nameLabel2;
QLabel *manacostLabel1, *manacostLabel2;
QLabel *cardtypeLabel1, *cardtypeLabel2;
QLabel *powtoughLabel1, *powtoughLabel2;
QTextEdit *textLabel;
-
+
CardInfo *info;
+ void setMinimized(int _minimized);
+
public:
CardInfoWidget(ResizeMode _mode, QWidget *parent = 0, Qt::WindowFlags f = 0);
void retranslateUi();
+
public slots:
void setCard(CardInfo *card);
void setCard(const QString &cardName);
void setCard(AbstractCardItem *card);
+
private slots:
void clear();
void updatePixmap();
+ void minimizeClicked(int newMinimized);
+
signals:
void mouseReleased();
+
protected:
void resizeEvent(QResizeEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
diff --git a/cockatrice/src/chatview.cpp b/cockatrice/src/chatview.cpp
index 92696cf0..625301e3 100644
--- a/cockatrice/src/chatview.cpp
+++ b/cockatrice/src/chatview.cpp
@@ -32,7 +32,7 @@ void ChatView::appendMessage(QString sender, const QString &message)
senderFormat.setForeground(Qt::blue);
cursor.setCharFormat(senderFormat);
if (!sender.isEmpty())
- sender.append(" ");
+ sender.append(": ");
cursor.insertText(sender);
QTextCharFormat messageFormat;
diff --git a/cockatrice/src/decklistmodel.cpp b/cockatrice/src/decklistmodel.cpp
index 1084f345..82a44326 100644
--- a/cockatrice/src/decklistmodel.cpp
+++ b/cockatrice/src/decklistmodel.cpp
@@ -10,6 +10,7 @@
#include "main.h"
#include "decklistmodel.h"
#include "carddatabase.h"
+#include "settingscache.h"
DeckListModel::DeckListModel(QObject *parent)
: QAbstractItemModel(parent)
@@ -65,12 +66,20 @@ int DeckListModel::rowCount(const QModelIndex &parent) const
return 0;
}
+int DeckListModel::columnCount(const QModelIndex &/*parent*/) const
+{
+ if (settingsCache->getPriceTagFeature())
+ return 3;
+ else
+ return 2;
+}
+
QVariant DeckListModel::data(const QModelIndex &index, int role) const
{
// debugIndexInfo("data", index);
if (!index.isValid())
return QVariant();
- if (index.column() >= 2)
+ if (index.column() >= columnCount())
return QVariant();
AbstractDecklistNode *temp = static_cast(index.internalPointer());
@@ -86,8 +95,9 @@ QVariant DeckListModel::data(const QModelIndex &index, int role) const
case Qt::DisplayRole:
case Qt::EditRole:
switch (index.column()) {
- case 0: return node->recursiveCount(true);
- case 1: return node->getVisibleName();
+ case 0: return node->recursiveCount(true);
+ case 1: return node->getVisibleName();
+ case 2: return QString().sprintf("$%.2f", node->recursivePrice(true));
default: return QVariant();
}
case Qt::BackgroundRole: {
@@ -101,8 +111,9 @@ QVariant DeckListModel::data(const QModelIndex &index, int role) const
case Qt::DisplayRole:
case Qt::EditRole: {
switch (index.column()) {
- case 0: return card->getNumber();
- case 1: return card->getName();
+ case 0: return card->getNumber();
+ case 1: return card->getName();
+ case 2: return QString().sprintf("$%.2f", card->getTotalPrice());
default: return QVariant();
}
}
@@ -119,9 +130,12 @@ QVariant DeckListModel::headerData(int section, Qt::Orientation orientation, int
{
if ((role != Qt::DisplayRole) || (orientation != Qt::Horizontal))
return QVariant();
+ if (section >= columnCount())
+ return QVariant();
switch (section) {
- case 0: return tr("Number");
- case 1: return tr("Card");
+ case 0: return tr("Number");
+ case 1: return tr("Card");
+ case 2: return tr("Price");
default: return QVariant();
}
}
@@ -174,8 +188,9 @@ bool DeckListModel::setData(const QModelIndex &index, const QVariant &value, int
return false;
switch (index.column()) {
- case 0: node->setNumber(value.toInt()); break;
- case 1: node->setName(value.toString()); break;
+ case 0: node->setNumber(value.toInt()); break;
+ case 1: node->setName(value.toString()); break;
+ case 2: node->setPrice(value.toFloat()); break;
default: return false;
}
emitRecursiveUpdates(index);
@@ -300,7 +315,7 @@ void DeckListModel::setDeckList(DeckList *_deck)
void DeckListModel::printDeckListNode(QTextCursor *cursor, InnerDecklistNode *node)
{
- static const int totalColumns = 3;
+ const int totalColumns = settingsCache->getPriceTagFeature() ? 3 : 2;
if (node->height() == 1) {
QTextBlockFormat blockFormat;
@@ -308,13 +323,16 @@ void DeckListModel::printDeckListNode(QTextCursor *cursor, InnerDecklistNode *no
charFormat.setFontPointSize(11);
charFormat.setFontWeight(QFont::Bold);
cursor->insertBlock(blockFormat, charFormat);
- cursor->insertText(QString("%1: %2").arg(node->getVisibleName()).arg(node->recursiveCount(true)));
+ QString priceStr;
+ if (settingsCache->getPriceTagFeature())
+ priceStr = QString().sprintf(": $%.2f", node->recursivePrice(true));
+ cursor->insertText(QString("%1: %2").arg(node->getVisibleName()).arg(node->recursiveCount(true)).append(priceStr));
QTextTableFormat tableFormat;
tableFormat.setCellPadding(0);
tableFormat.setCellSpacing(0);
tableFormat.setBorder(0);
- QTextTable *table = cursor->insertTable(node->size() + 1, 2, tableFormat);
+ QTextTable *table = cursor->insertTable(node->size() + 1, totalColumns, tableFormat);
for (int i = 0; i < node->size(); i++) {
AbstractDecklistCardNode *card = dynamic_cast(node->at(i));
@@ -330,6 +348,13 @@ void DeckListModel::printDeckListNode(QTextCursor *cursor, InnerDecklistNode *no
cell.setFormat(cellCharFormat);
cellCursor = cell.firstCursorPosition();
cellCursor.insertText(card->getName());
+
+ if (settingsCache->getPriceTagFeature()) {
+ cell = table->cellAt(i, 2);
+ cell.setFormat(cellCharFormat);
+ cellCursor = cell.firstCursorPosition();
+ cellCursor.insertText(QString().sprintf("$%.2f ", card->getTotalPrice()));
+ }
}
} else if (node->height() == 2) {
QTextBlockFormat blockFormat;
@@ -338,7 +363,10 @@ void DeckListModel::printDeckListNode(QTextCursor *cursor, InnerDecklistNode *no
charFormat.setFontWeight(QFont::Bold);
cursor->insertBlock(blockFormat, charFormat);
- cursor->insertText(QString("%1: %2").arg(node->getVisibleName()).arg(node->recursiveCount(true)));
+ QString priceStr;
+ if (settingsCache->getPriceTagFeature())
+ priceStr = QString().sprintf(": $%.2f", node->recursivePrice(true));
+ cursor->insertText(QString("%1: %2").arg(node->getVisibleName()).arg(node->recursiveCount(true)).append(priceStr));
QTextTableFormat tableFormat;
tableFormat.setCellPadding(10);
@@ -391,3 +419,14 @@ void DeckListModel::printDeckList(QPrinter *printer)
doc.print(printer);
}
+
+void DeckListModel::pricesUpdated(InnerDecklistNode *node)
+{
+ if (!node)
+ node = root;
+
+ if (node->isEmpty())
+ return;
+
+ emit dataChanged(createIndex(0, 2, node->at(0)), createIndex(node->size() - 1, 2, node->last()));
+}
diff --git a/cockatrice/src/decklistmodel.h b/cockatrice/src/decklistmodel.h
index f66f509d..a8a22c78 100644
--- a/cockatrice/src/decklistmodel.h
+++ b/cockatrice/src/decklistmodel.h
@@ -17,6 +17,8 @@ public:
DecklistModelCardNode(DecklistCardNode *_dataNode, InnerDecklistNode *_parent) : AbstractDecklistCardNode(_parent), dataNode(_dataNode) { }
int getNumber() const { return dataNode->getNumber(); }
void setNumber(int _number) { dataNode->setNumber(_number); }
+ float getPrice() const { return dataNode->getPrice(); }
+ void setPrice(float _price) { dataNode->setPrice(_price); }
QString getName() const { return dataNode->getName(); }
void setName(const QString &_name) { dataNode->setName(_name); }
DecklistCardNode *getDataNode() const { return dataNode; }
@@ -32,7 +34,7 @@ public:
DeckListModel(QObject *parent = 0);
~DeckListModel();
int rowCount(const QModelIndex &parent = QModelIndex()) const;
- int columnCount(const QModelIndex &/*parent*/ = QModelIndex()) const { return 2; }
+ int columnCount(const QModelIndex &/*parent*/ = QModelIndex()) const;
QVariant data(const QModelIndex &index, int role) const;
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
@@ -45,6 +47,7 @@ public:
void cleanList();
DeckList *getDeckList() const { return deckList; }
void setDeckList(DeckList *_deck);
+ void pricesUpdated(InnerDecklistNode *node = 0);
private:
DeckList *deckList;
InnerDecklistNode *root;
diff --git a/cockatrice/src/dlg_settings.cpp b/cockatrice/src/dlg_settings.cpp
index a07fff6c..0f295af2 100644
--- a/cockatrice/src/dlg_settings.cpp
+++ b/cockatrice/src/dlg_settings.cpp
@@ -455,6 +455,30 @@ void UserInterfaceSettingsPage::soundPathButtonClicked()
settingsCache->setSoundPath(path);
}
+DeckEditorSettingsPage::DeckEditorSettingsPage()
+{
+ priceTagsCheckBox = new QCheckBox;
+ priceTagsCheckBox->setChecked(settingsCache->getPriceTagFeature());
+ connect(priceTagsCheckBox, SIGNAL(stateChanged(int)), settingsCache, SLOT(setPriceTagFeature(int)));
+
+ QGridLayout *generalGrid = new QGridLayout;
+ generalGrid->addWidget(priceTagsCheckBox, 0, 0);
+
+ generalGroupBox = new QGroupBox;
+ generalGroupBox->setLayout(generalGrid);
+
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->addWidget(generalGroupBox);
+
+ setLayout(mainLayout);
+}
+
+void DeckEditorSettingsPage::retranslateUi()
+{
+ priceTagsCheckBox->setText(tr("Enable &price tag feature (using data from blacklotusproject.com)"));
+ generalGroupBox->setTitle(tr("General"));
+}
+
MessagesSettingsPage::MessagesSettingsPage()
{
aAdd = new QAction(this);
@@ -533,6 +557,7 @@ DlgSettings::DlgSettings(QWidget *parent)
pagesWidget->addWidget(new GeneralSettingsPage);
pagesWidget->addWidget(new AppearanceSettingsPage);
pagesWidget->addWidget(new UserInterfaceSettingsPage);
+ pagesWidget->addWidget(new DeckEditorSettingsPage);
pagesWidget->addWidget(new MessagesSettingsPage);
closeButton = new QPushButton;
@@ -577,6 +602,11 @@ void DlgSettings::createIcons()
userInterfaceButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
userInterfaceButton->setIcon(QIcon(":/resources/icon_config_interface.svg"));
+ deckEditorButton = new QListWidgetItem(contentsWidget);
+ deckEditorButton->setTextAlignment(Qt::AlignHCenter);
+ deckEditorButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
+ deckEditorButton->setIcon(QIcon(":/resources/icon_deckeditor.svg"));
+
messagesButton = new QListWidgetItem(contentsWidget);
messagesButton->setTextAlignment(Qt::AlignHCenter);
messagesButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
@@ -633,6 +663,7 @@ void DlgSettings::retranslateUi()
generalButton->setText(tr("General"));
appearanceButton->setText(tr("Appearance"));
userInterfaceButton->setText(tr("User interface"));
+ deckEditorButton->setText(tr("Deck editor"));
messagesButton->setText(tr("Messages"));
closeButton->setText(tr("&Close"));
diff --git a/cockatrice/src/dlg_settings.h b/cockatrice/src/dlg_settings.h
index 54648482..859376d6 100644
--- a/cockatrice/src/dlg_settings.h
+++ b/cockatrice/src/dlg_settings.h
@@ -93,6 +93,16 @@ public:
void retranslateUi();
};
+class DeckEditorSettingsPage : public AbstractSettingsPage {
+ Q_OBJECT
+public:
+ DeckEditorSettingsPage();
+ void retranslateUi();
+private:
+ QCheckBox *priceTagsCheckBox;
+ QGroupBox *generalGroupBox;
+};
+
class MessagesSettingsPage : public AbstractSettingsPage {
Q_OBJECT
public:
@@ -118,7 +128,7 @@ private slots:
private:
QListWidget *contentsWidget;
QStackedWidget *pagesWidget;
- QListWidgetItem *generalButton, *appearanceButton, *userInterfaceButton, *messagesButton;
+ QListWidgetItem *generalButton, *appearanceButton, *userInterfaceButton, *deckEditorButton, *messagesButton;
QPushButton *closeButton;
void createIcons();
void retranslateUi();
diff --git a/cockatrice/src/priceupdater.cpp b/cockatrice/src/priceupdater.cpp
new file mode 100644
index 00000000..e9f1a695
--- /dev/null
+++ b/cockatrice/src/priceupdater.cpp
@@ -0,0 +1,81 @@
+/**
+ * @author Marcio Ribeiro
+ * @version 1.0
+ */
+#include
+#include
+
+#include
+#include
+#include "priceupdater.h"
+
+/**
+ * Constructor.
+ *
+ * @param _deck deck.
+ */
+PriceUpdater::PriceUpdater(const DeckList *_deck)
+{
+ nam = new QNetworkAccessManager(this);
+ deck = _deck;
+}
+
+/**
+ * Update the prices of the cards in deckList.
+ */
+void PriceUpdater::updatePrices()
+{
+ QString q = "http://blacklotusproject.com/json/?cards=";
+ QStringList cards = deck->getCardList();
+ for (int i = 0; i < cards.size(); ++i) {
+ q += cards[i] + "|";
+ }
+ QUrl url(q.replace(' ', '+'));
+
+ QNetworkReply *reply = nam->get(QNetworkRequest(url));
+ connect(reply, SIGNAL(finished()), this, SLOT(downloadFinished()));
+}
+
+/**
+ * Called when the download of the json file with the prices is finished.
+ */
+void PriceUpdater::downloadFinished()
+{
+ QMap cmap;
+ InnerDecklistNode *listRoot = deck->getRoot();
+ for (int i = 0; i < listRoot->size(); i++) {
+ InnerDecklistNode *currentZone = dynamic_cast(listRoot->at(i));
+ for (int j = 0; j < currentZone->size(); j++) {
+ DecklistCardNode *currentCard = dynamic_cast(currentZone->at(j));
+ if (!currentCard)
+ continue;
+ cmap.insert(currentCard->getName().toLower(), currentCard);
+ currentCard->setPrice(0);
+ }
+ }
+
+ QNetworkReply *reply = static_cast(sender());
+ QByteArray result = reply->readAll();
+ QScriptValue sc;
+ QScriptEngine engine;
+ sc = engine.evaluate("value = " + result);
+
+ if (sc.property("cards").isArray()) {
+ QScriptValueIterator it(sc.property("cards"));
+ while (it.hasNext()) {
+ it.next();
+ QString name = it.value().property("name").toString().toLower();
+ float price = it.value().property("average").toString().toFloat();
+ DecklistCardNode *c = cmap[name];
+ if (!c)
+ continue;
+ if (c->getPrice() == 0 || c->getPrice() > price) {
+ c->setPrice(price);
+ }
+ }
+ }
+
+ reply->deleteLater();
+ deleteLater();
+ emit finishedUpdate();
+}
diff --git a/cockatrice/src/priceupdater.h b/cockatrice/src/priceupdater.h
new file mode 100644
index 00000000..a95252eb
--- /dev/null
+++ b/cockatrice/src/priceupdater.h
@@ -0,0 +1,28 @@
+#ifndef PRICEUPDATER_H
+#define PRICEUPDATER_H
+
+#include
+#include "decklist.h"
+
+class QNetworkAccessManager;
+
+/**
+ * Price Updater.
+ *
+ * @author Marcio Ribeiro
+ */
+class PriceUpdater : public QObject
+{
+ Q_OBJECT
+private:
+ const DeckList *deck;
+ QNetworkAccessManager *nam;
+signals:
+ void finishedUpdate();
+private slots:
+ void downloadFinished();
+public:
+ PriceUpdater(const DeckList *deck);
+ void updatePrices();
+};
+#endif
diff --git a/cockatrice/src/settingscache.cpp b/cockatrice/src/settingscache.cpp
index bb0ecdae..f7494d76 100644
--- a/cockatrice/src/settingscache.cpp
+++ b/cockatrice/src/settingscache.cpp
@@ -19,6 +19,7 @@ SettingsCache::SettingsCache()
picDownload = settings->value("personal/picturedownload", true).toBool();
doubleClickToPlay = settings->value("interface/doubleclicktoplay", true).toBool();
+ cardInfoMinimized = settings->value("interface/cardinfominimized", 0).toInt();
tabGameSplitterSizes = settings->value("interface/tabgame_splittersizes").toByteArray();
displayCardNames = settings->value("cards/displaycardnames", true).toBool();
horizontalHand = settings->value("hand/horizontal", true).toBool();
@@ -30,6 +31,8 @@ SettingsCache::SettingsCache()
soundEnabled = settings->value("sound/enabled", false).toBool();
soundPath = settings->value("sound/path").toString();
+
+ priceTagFeature = settings->value("deckeditor/pricetags", false).toBool();
}
void SettingsCache::setLang(const QString &_lang)
@@ -107,6 +110,12 @@ void SettingsCache::setDoubleClickToPlay(int _doubleClickToPlay)
settings->setValue("interface/doubleclicktoplay", doubleClickToPlay);
}
+void SettingsCache::setCardInfoMinimized(int _cardInfoMinimized)
+{
+ cardInfoMinimized = _cardInfoMinimized;
+ settings->setValue("interface/cardinfominimized", cardInfoMinimized);
+}
+
void SettingsCache::setTabGameSplitterSizes(const QByteArray &_tabGameSplitterSizes)
{
tabGameSplitterSizes = _tabGameSplitterSizes;
@@ -164,3 +173,9 @@ void SettingsCache::setSoundPath(const QString &_soundPath)
settings->setValue("sound/path", soundPath);
emit soundPathChanged();
}
+
+void SettingsCache::setPriceTagFeature(int _priceTagFeature)
+{
+ priceTagFeature = _priceTagFeature;
+ settings->setValue("deckeditor/pricetags", priceTagFeature);
+}
diff --git a/cockatrice/src/settingscache.h b/cockatrice/src/settingscache.h
index 6a8f1a99..c834716a 100644
--- a/cockatrice/src/settingscache.h
+++ b/cockatrice/src/settingscache.h
@@ -29,6 +29,7 @@ private:
QString handBgPath, stackBgPath, tableBgPath, playerBgPath, cardBackPicturePath;
bool picDownload;
bool doubleClickToPlay;
+ int cardInfoMinimized;
QByteArray tabGameSplitterSizes;
bool displayCardNames;
bool horizontalHand;
@@ -37,6 +38,7 @@ private:
bool zoneViewSortByName, zoneViewSortByType;
bool soundEnabled;
QString soundPath;
+ bool priceTagFeature;
public:
SettingsCache();
QString getLang() const { return lang; }
@@ -50,6 +52,7 @@ public:
QString getCardBackPicturePath() const { return cardBackPicturePath; }
bool getPicDownload() const { return picDownload; }
bool getDoubleClickToPlay() const { return doubleClickToPlay; }
+ int getCardInfoMinimized() const { return cardInfoMinimized; }
QByteArray getTabGameSplitterSizes() const { return tabGameSplitterSizes; }
bool getDisplayCardNames() const { return displayCardNames; }
bool getHorizontalHand() const { return horizontalHand; }
@@ -59,6 +62,7 @@ public:
bool getZoneViewSortByType() const { return zoneViewSortByType; }
bool getSoundEnabled() const { return soundEnabled; }
QString getSoundPath() const { return soundPath; }
+ bool getPriceTagFeature() const { return priceTagFeature; }
public slots:
void setLang(const QString &_lang);
void setDeckPath(const QString &_deckPath);
@@ -71,6 +75,7 @@ public slots:
void setCardBackPicturePath(const QString &_cardBackPicturePath);
void setPicDownload(int _picDownload);
void setDoubleClickToPlay(int _doubleClickToPlay);
+ void setCardInfoMinimized(int _cardInfoMinimized);
void setTabGameSplitterSizes(const QByteArray &_tabGameSplitterSizes);
void setDisplayCardNames(int _displayCardNames);
void setHorizontalHand(int _horizontalHand);
@@ -80,6 +85,7 @@ public slots:
void setZoneViewSortByType(int _zoneViewSortByType);
void setSoundEnabled(int _soundEnabled);
void setSoundPath(const QString &_soundPath);
+ void setPriceTagFeature(int _priceTagFeature);
};
extern SettingsCache *settingsCache;
diff --git a/cockatrice/src/tab_room.cpp b/cockatrice/src/tab_room.cpp
index 5c440941..f40458cd 100644
--- a/cockatrice/src/tab_room.cpp
+++ b/cockatrice/src/tab_room.cpp
@@ -9,6 +9,7 @@
#include
#include
#include
+#include
#include "dlg_creategame.h"
#include "tab_supervisor.h"
#include "tab_room.h"
@@ -153,12 +154,12 @@ TabRoom::TabRoom(TabSupervisor *_tabSupervisor, AbstractClient *_client, const Q
chatGroupBox = new QGroupBox;
chatGroupBox->setLayout(chatVbox);
- QVBoxLayout *vbox = new QVBoxLayout;
- vbox->addWidget(gameSelector);
- vbox->addWidget(chatGroupBox);
+ QSplitter *splitter = new QSplitter(Qt::Vertical);
+ splitter->addWidget(gameSelector);
+ splitter->addWidget(chatGroupBox);
QHBoxLayout *hbox = new QHBoxLayout;
- hbox->addLayout(vbox, 3);
+ hbox->addWidget(splitter, 3);
hbox->addWidget(userList, 1);
aLeaveRoom = new QAction(this);
diff --git a/cockatrice/src/window_deckeditor.cpp b/cockatrice/src/window_deckeditor.cpp
index e540aad6..b3dfdc85 100644
--- a/cockatrice/src/window_deckeditor.cpp
+++ b/cockatrice/src/window_deckeditor.cpp
@@ -26,6 +26,7 @@
#include "dlg_load_deck_from_clipboard.h"
#include "main.h"
#include "settingscache.h"
+#include "priceupdater.h"
void SearchLineEdit::keyPressEvent(QKeyEvent *event)
{
@@ -113,15 +114,37 @@ WndDeckEditor::WndDeckEditor(QWidget *parent)
commentsEdit->setMaximumHeight(70);
commentsLabel->setBuddy(commentsEdit);
connect(commentsEdit, SIGNAL(textChanged()), this, SLOT(updateComments()));
+
QGridLayout *grid = new QGridLayout;
grid->addWidget(nameLabel, 0, 0);
grid->addWidget(nameEdit, 0, 1);
+
grid->addWidget(commentsLabel, 1, 0);
grid->addWidget(commentsEdit, 1, 1);
+ // Update price
+ aUpdatePrices = new QAction(tr("&Update prices"), this);
+ aUpdatePrices->setShortcut(tr("Ctrl+U"));
+ aUpdatePrices->setIcon(QIcon(":/resources/icon_update.png"));
+ connect(aUpdatePrices, SIGNAL(triggered()), this, SLOT(actUpdatePrices()));
+ if (!settingsCache->getPriceTagFeature())
+ aUpdatePrices->setVisible(false);
+
+ QToolBar *deckToolBar = new QToolBar;
+ deckToolBar->setOrientation(Qt::Vertical);
+ deckToolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+ deckToolBar->setIconSize(QSize(24, 24));
+ deckToolBar->addAction(aUpdatePrices);
+ QHBoxLayout *deckToolbarLayout = new QHBoxLayout;
+ deckToolbarLayout->addStretch();
+ deckToolbarLayout->addWidget(deckToolBar);
+ deckToolbarLayout->addStretch();
+
+
QVBoxLayout *rightFrame = new QVBoxLayout;
rightFrame->addLayout(grid);
rightFrame->addWidget(deckView);
+ rightFrame->addLayout(deckToolbarLayout);
QHBoxLayout *mainLayout = new QHBoxLayout;
mainLayout->addLayout(leftFrame, 10);
@@ -456,6 +479,21 @@ void WndDeckEditor::actDecrement()
setWindowModified(true);
}
+void WndDeckEditor::actUpdatePrices()
+{
+ aUpdatePrices->setDisabled(true);
+ PriceUpdater *up = new PriceUpdater(deckModel->getDeckList());
+ connect(up, SIGNAL(finishedUpdate()), this, SLOT(finishedUpdatingPrices()));
+ up->updatePrices();
+}
+
+void WndDeckEditor::finishedUpdatingPrices()
+{
+ deckModel->pricesUpdated();
+ setWindowModified(true);
+ aUpdatePrices->setDisabled(false);
+}
+
void WndDeckEditor::setDeck(DeckList *_deck, const QString &_lastFileName, DeckList::FileFormat _lastFileFormat)
{
deckModel->setDeckList(_deck);
diff --git a/cockatrice/src/window_deckeditor.h b/cockatrice/src/window_deckeditor.h
index e14c1633..92a90bb9 100644
--- a/cockatrice/src/window_deckeditor.h
+++ b/cockatrice/src/window_deckeditor.h
@@ -52,6 +52,9 @@ private slots:
void actRemoveCard();
void actIncrement();
void actDecrement();
+ void actUpdatePrices();
+
+ void finishedUpdatingPrices();
private:
void addCardHelper(const QString &zoneName);
void recursiveExpand(const QModelIndex &index);
@@ -74,7 +77,7 @@ private:
QMenu *deckMenu, *dbMenu;
QAction *aNewDeck, *aLoadDeck, *aSaveDeck, *aSaveDeckAs, *aLoadDeckFromClipboard, *aSaveDeckToClipboard, *aPrintDeck, *aClose;
QAction *aEditSets, *aSearch, *aClearSearch;
- QAction *aAddCard, *aAddCardToSideboard, *aRemoveCard, *aIncrement, *aDecrement;
+ QAction *aAddCard, *aAddCardToSideboard, *aRemoveCard, *aIncrement, *aDecrement, *aUpdatePrices;
public:
WndDeckEditor(QWidget *parent = 0);
~WndDeckEditor();
diff --git a/cockatrice/src/window_main.cpp b/cockatrice/src/window_main.cpp
index df1fedbc..fed1e75a 100644
--- a/cockatrice/src/window_main.cpp
+++ b/cockatrice/src/window_main.cpp
@@ -178,6 +178,7 @@ void MainWindow::actAbout()
+ tr("French:") + " Yannick Hammer, Arnaud Faes
"
+ tr("Japanese:") + " Nagase Task
"
+ tr("Russian:") + " Alexander Davidov
"
+ + tr("Czech:") + " Ondřej Trhoň
"
));
}
diff --git a/cockatrice/translations/cockatrice_cz.ts b/cockatrice/translations/cockatrice_cz.ts
new file mode 100644
index 00000000..f3731f0c
--- /dev/null
+++ b/cockatrice/translations/cockatrice_cz.ts
@@ -0,0 +1,3142 @@
+
+
+
+
+ AbstractCounter
+
+
+ &Set counter...
+
+
+
+
+ Ctrl+L
+
+
+
+
+ F11
+
+
+
+
+ F12
+
+
+
+
+ Set counter
+
+
+
+
+ New value for counter '%1':
+
+
+
+
+ AppearanceSettingsPage
+
+
+ Zone background pictures
+
+
+
+
+ Path to hand background:
+
+
+
+
+ Path to stack background:
+
+
+
+
+ Path to table background:
+
+
+
+
+ Path to player info background:
+
+
+
+
+ Path to picture of card back:
+
+
+
+
+ Card rendering
+
+
+
+
+ Display card names on cards having a picture
+
+
+
+
+ Hand layout
+
+
+
+
+ Display hand horizontally (wastes space)
+
+
+
+
+ Table grid layout
+
+
+
+
+ Invert vertical coordinate
+
+
+
+
+ Zone view layout
+
+
+
+
+ Sort by name
+
+
+
+
+ Sort by type
+
+
+
+
+
+
+
+
+ Choose path
+
+
+
+
+ CardDatabaseModel
+
+
+ Name
+
+
+
+
+ Sets
+
+
+
+
+ Mana cost
+
+
+
+
+ Card type
+
+
+
+
+ P/T
+
+
+
+
+ CardInfoWidget
+
+
+ Hide card info
+
+
+
+
+ Show card only
+
+
+
+
+ Show text only
+
+
+
+
+ Show full info
+
+
+
+
+ Name:
+
+
+
+
+ Mana cost:
+
+
+
+
+ Card type:
+
+
+
+
+ P / T:
+
+
+
+
+ CardItem
+
+
+ &Play
+
+
+
+
+ &Hide
+
+
+
+
+ &Tap
+
+
+
+
+ &Untap
+
+
+
+
+ Toggle &normal untapping
+
+
+
+
+ &Flip
+
+
+
+
+ &Clone
+
+
+
+
+ Ctrl+H
+
+
+
+
+ &Attach to card...
+
+
+
+
+ Ctrl+A
+
+
+
+
+ Unattac&h
+
+
+
+
+ &Power / toughness
+
+
+
+
+ &Increase power
+
+
+
+
+ Ctrl++
+
+
+
+
+ &Decrease power
+
+
+
+
+ Ctrl+-
+
+
+
+
+ I&ncrease toughness
+
+
+
+
+ Alt++
+
+
+
+
+ D&ecrease toughness
+
+
+
+
+ Alt+-
+
+
+
+
+ In&crease power and toughness
+
+
+
+
+ Ctrl+Alt++
+
+
+
+
+ Dec&rease power and toughness
+
+
+
+
+ Ctrl+Alt+-
+
+
+
+
+ Set &power and toughness...
+
+
+
+
+ Ctrl+P
+
+
+
+
+ &Set annotation...
+
+
+
+
+ red
+
+
+
+
+ yellow
+
+
+
+
+ green
+
+
+
+
+ &Add counter (%1)
+
+
+
+
+ &Remove counter (%1)
+
+
+
+
+ &Set counters (%1)...
+
+
+
+
+ &top of library
+
+
+
+
+ &bottom of library
+
+
+
+
+ &graveyard
+
+
+
+
+ Ctrl+Del
+
+
+
+
+ &exile
+
+
+
+
+ &Move to
+
+
+
+
+ CardZone
+
+
+ his hand
+ nominative
+
+
+
+
+ %1's hand
+ nominative
+
+
+
+
+ of his hand
+ genitive
+
+
+
+
+ of %1's hand
+ genitive
+
+
+
+
+ his hand
+ accusative
+
+
+
+
+ %1's hand
+ accusative
+
+
+
+
+ his library
+ nominative
+
+
+
+
+ %1's library
+ nominative
+
+
+
+
+ of his library
+ genitive
+
+
+
+
+ of %1's library
+ genitive
+
+
+
+
+ his library
+ accusative
+
+
+
+
+ %1's library
+ accusative
+
+
+
+
+ his graveyard
+ nominative
+
+
+
+
+ %1's graveyard
+ nominative
+
+
+
+
+ of his graveyard
+ genitive
+
+
+
+
+ of %1's graveyard
+ genitive
+
+
+
+
+ his graveyard
+ accusative
+
+
+
+
+ %1's graveyard
+ accusative
+
+
+
+
+ his exile
+ nominative
+
+
+
+
+ %1's exile
+ nominative
+
+
+
+
+ of his exile
+ genitive
+
+
+
+
+ of %1's exile
+ genitive
+
+
+
+
+ his exile
+ accusative
+
+
+
+
+ %1's exile
+ accusative
+
+
+
+
+ his sideboard
+ nominative
+
+
+
+
+ %1's sideboard
+ nominative
+
+
+
+
+ of his sideboard
+ genitive
+
+
+
+
+ of %1's sideboard
+ genitive
+
+
+
+
+ his sideboard
+ accusative
+
+
+
+
+ %1's sideboard
+ accusative
+
+
+
+
+ DeckEditorSettingsPage
+
+
+ Enable &price tag feature (using data from blacklotusproject.com)
+
+
+
+
+ General
+
+
+
+
+ DeckListModel
+
+
+ Number
+
+
+
+
+ Card
+
+
+
+
+ Price
+
+
+
+
+ DeckViewContainer
+
+
+ Load &local deck
+
+
+
+
+ Load d&eck from server
+
+
+
+
+ Ready to s&tart
+
+
+
+
+ Load deck
+
+
+
+
+ DlgCardSearch
+
+
+ Card name:
+
+
+
+
+ Card text:
+
+
+
+
+ Card type (OR):
+
+
+
+
+ Color (OR):
+
+
+
+
+ O&K
+
+
+
+
+ &Cancel
+
+
+
+
+ Card search
+
+
+
+
+ DlgConnect
+
+
+ &Host:
+
+
+
+
+ &Port:
+
+
+
+
+ Player &name:
+
+
+
+
+ P&assword:
+
+
+
+
+ &OK
+
+
+
+
+ &Cancel
+
+
+
+
+ Connect to server
+
+
+
+
+ DlgCreateGame
+
+
+ &Description:
+
+
+
+
+ P&layers:
+
+
+
+
+ Game type
+
+
+
+
+ &Password:
+
+
+
+
+ Only &buddies can join
+
+
+
+
+ Only ®istered users can join
+
+
+
+
+ Joining restrictions
+
+
+
+
+ &Spectators allowed
+
+
+
+
+ Spectators &need a password to join
+
+
+
+
+ Spectators can &chat
+
+
+
+
+ Spectators see &everything
+
+
+
+
+ Spectators
+
+
+
+
+ &OK
+
+
+
+
+ &Cancel
+
+
+
+
+ Create game
+
+
+
+
+ Error
+
+
+
+
+ Server error.
+
+
+
+
+ DlgCreateToken
+
+
+ &Name:
+
+
+
+
+ Token
+
+
+
+
+ C&olor:
+
+
+
+
+ white
+
+
+
+
+ blue
+
+
+
+
+ black
+
+
+
+
+ red
+
+
+
+
+ green
+
+
+
+
+ multicolor
+
+
+
+
+ colorless
+
+
+
+
+ &P/T:
+
+
+
+
+ &Annotation:
+
+
+
+
+ &Destroy token when it leaves the table
+
+
+
+
+ &OK
+
+
+
+
+ &Cancel
+
+
+
+
+ Create token
+
+
+
+
+ DlgLoadDeckFromClipboard
+
+
+ &Refresh
+
+
+
+
+ &OK
+
+
+
+
+ &Cancel
+
+
+
+
+ Load deck from clipboard
+
+
+
+
+ Error
+
+
+
+
+ Invalid deck list.
+
+
+
+
+ DlgLoadRemoteDeck
+
+
+ O&K
+
+
+
+
+ &Cancel
+
+
+
+
+ Load deck
+
+
+
+
+ DlgSettings
+
+
+
+
+ Error
+
+
+
+
+ Your card database is invalid. Would you like to go back and set the correct path?
+
+
+
+
+ The path to your deck directory is invalid. Would you like to go back and set the correct path?
+
+
+
+
+ The path to your card pictures directory is invalid. Would you like to go back and set the correct path?
+
+
+
+
+ Settings
+
+
+
+
+ General
+
+
+
+
+ Appearance
+
+
+
+
+ User interface
+
+
+
+
+ Deck editor
+
+
+
+
+ Messages
+
+
+
+
+ &Close
+
+
+
+
+ GameSelector
+
+
+
+
+
+
+
+
+ Error
+
+
+
+
+ Wrong password.
+
+
+
+
+ Spectators are not allowed in this game.
+
+
+
+
+ The game is already full.
+
+
+
+
+ The game does not exist any more.
+
+
+
+
+ This game is only open to registered users.
+
+
+
+
+ This game is only open to its creator's buddies.
+
+
+
+
+ You are being ignored by the creator of this game.
+
+
+
+
+ Join game
+
+
+
+
+ Password:
+
+
+
+
+ Games
+
+
+
+
+ Show &full games
+
+
+
+
+ C&reate
+
+
+
+
+ &Join
+
+
+
+
+ J&oin as spectator
+
+
+
+
+ GameView
+
+
+ Esc
+
+
+
+
+ GamesModel
+
+
+ yes
+
+
+
+
+ yes, free for spectators
+
+
+
+
+ no
+
+
+
+
+ buddies only
+
+
+
+
+ reg. users only
+
+
+
+
+ not allowed
+
+
+
+
+ Description
+
+
+
+
+ Creator
+
+
+
+
+ Game type
+
+
+
+
+ Password
+
+
+
+
+ Restrictions
+
+
+
+
+ Players
+
+
+
+
+ Spectators
+
+
+
+
+ GeneralSettingsPage
+
+
+
+ English
+
+
+
+
+
+
+ Choose path
+
+
+
+
+ Personal settings
+
+
+
+
+ Language:
+
+
+
+
+ Download card pictures on the fly
+
+
+
+
+ Paths
+
+
+
+
+ Decks directory:
+
+
+
+
+ Pictures directory:
+
+
+
+
+ Path to card database:
+
+
+
+
+ MainWindow
+
+
+ There are too many concurrent connections from your address.
+
+
+
+
+ Banned by moderator.
+
+
+
+
+ Unknown reason.
+
+
+
+
+ Connection closed
+
+
+
+
+ The server has terminated your connection.
+Reason: %1
+
+
+
+
+ Number of players
+
+
+
+
+ Please enter the number of players.
+
+
+
+
+
+ Player %1
+
+
+
+
+ About Cockatrice
+
+
+
+
+ Version %1
+
+
+
+
+ Authors:
+
+
+
+
+ Translators:
+
+
+
+
+ Spanish:
+
+
+
+
+ Portugese (Portugal):
+
+
+
+
+ Portugese (Brazil):
+
+
+
+
+ French:
+
+
+
+
+ Japanese:
+
+
+
+
+ Russian:
+
+
+
+
+ Czech:
+
+
+
+
+
+
+
+
+
+ Error
+
+
+
+
+ Server timeout
+
+
+
+
+ Invalid login data.
+
+
+
+
+ There is already an active session using this user name.
+Please close that session first and re-login.
+
+
+
+
+ Socket error: %1
+
+
+
+
+ You are trying to connect to an obsolete server. Please downgrade your Cockatrice version or connect to a suitable server.
+Local version is %1, remote version is %2.
+
+
+
+
+ Your Cockatrice client is obsolete. Please update your Cockatrice version.
+Local version is %1, remote version is %2.
+
+
+
+
+ Connecting to %1...
+
+
+
+
+ Disconnected
+
+
+
+
+ Logged in at %1
+
+
+
+
+ &Connect...
+
+
+
+
+ &Disconnect
+
+
+
+
+ Start &local game...
+
+
+
+
+ &Deck editor
+
+
+
+
+ &Full screen
+
+
+
+
+ Ctrl+F
+
+
+
+
+ &Settings...
+
+
+
+
+ &Exit
+
+
+
+
+ &Cockatrice
+
+
+
+
+ &About Cockatrice
+
+
+
+
+ &Help
+
+
+
+
+ Are you sure?
+
+
+
+
+ There are still open games. Are you sure you want to quit?
+
+
+
+
+ MessageLogWidget
+
+
+ Connecting to %1...
+
+
+
+
+ Connected.
+
+
+
+
+ Disconnected from server.
+
+
+
+
+ Invalid password.
+
+
+
+
+ Protocol version mismatch. Client: %1, Server: %2
+
+
+
+
+ Protocol error.
+
+
+
+
+ You have joined game #%1.
+
+
+
+
+ %1 has joined the game.
+
+
+
+
+ %1 has left the game.
+
+
+
+
+ The game has been closed.
+
+
+
+
+ %1 is now watching the game.
+
+
+
+
+ %1 is not watching the game any more.
+
+
+
+
+ %1 has loaded a local deck.
+
+
+
+
+ %1 has loaded deck #%2.
+
+
+
+
+ %1 is ready to start the game.
+
+
+
+
+ %1 is not ready to start the game any more.
+
+
+
+
+ %1 has conceded the game.
+
+
+
+
+ The game has started.
+
+
+
+
+ %1 shuffles his library.
+
+
+
+
+ %1 rolls a %2 with a %3-sided die.
+
+
+
+
+ %1 draws %n card(s).
+
+
+
+
+
+
+ %1 undoes his last draw.
+
+
+
+
+ %1 undoes his last draw (%2).
+
+
+
+
+ from table
+
+
+
+
+ from graveyard
+
+
+
+
+ from exile
+
+
+
+
+ from hand
+
+
+
+
+ the bottom card of his library
+
+
+
+
+ from the bottom of his library
+
+
+
+
+ the top card of his library
+
+
+
+
+ from the top of his library
+
+
+
+
+ from library
+
+
+
+
+ from sideboard
+
+
+
+
+ from the stack
+
+
+
+
+
+ a card
+
+
+
+
+ %1 gives %2 control over %3.
+
+
+
+
+ %1 puts %2 into play tapped%3.
+
+
+
+
+ %1 puts %2 into play%3.
+
+
+
+
+ %1 puts %2%3 into graveyard.
+
+
+
+
+ %1 exiles %2%3.
+
+
+
+
+ %1 moves %2%3 to hand.
+
+
+
+
+ %1 puts %2%3 into his library.
+
+
+
+
+ %1 puts %2%3 on bottom of his library.
+
+
+
+
+ %1 puts %2%3 on top of his library.
+
+
+
+
+ %1 puts %2%3 into his library at position %4.
+
+
+
+
+ %1 moves %2%3 to sideboard.
+
+
+
+
+ %1 plays %2%3.
+
+
+
+
+ %1 takes a mulligan to %n.
+
+
+
+
+
+
+ %1 draws his initial hand.
+
+
+
+
+ %1 flips %2 face-down.
+
+
+
+
+ %1 flips %2 face-up.
+
+
+
+
+ %1 destroys %2.
+
+
+
+
+ %1 attaches %2 to %3's %4.
+
+
+
+
+ %1 unattaches %2.
+
+
+
+
+ %1 creates token: %2%3.
+
+
+
+
+ %1 points from %2's %3 to %4.
+
+
+
+
+ %1 points from %2's %3 to %4's %5.
+
+
+
+
+ %1 places %n %2 counter(s) on %3 (now %4).
+
+
+
+
+
+
+ %1 removes %n %2 counter(s) from %3 (now %4).
+
+
+
+
+
+
+ red
+
+
+
+
+
+
+ yellow
+
+
+
+
+
+
+ green
+
+
+
+
+
+
+ his permanents
+
+
+
+
+ %1 %2 %3.
+
+
+
+
+ taps
+
+
+
+
+ untaps
+
+
+
+
+ %1 sets counter %2 to %3 (%4%5).
+
+
+
+
+ %1 sets %2 to not untap normally.
+
+
+
+
+ %1 sets %2 to untap normally.
+
+
+
+
+ %1 sets PT of %2 to %3.
+
+
+
+
+ %1 sets annotation of %2 to %3.
+
+
+
+
+ %1 is looking at the top %2 cards %3.
+
+
+
+
+ %1 is looking at %2.
+
+
+
+
+ %1 stops looking at %2.
+
+
+
+
+ %1 reveals %2 to %3.
+
+
+
+
+ %1 reveals %2.
+
+
+
+
+ %1 randomly reveals %2%3 to %4.
+
+
+
+
+ %1 randomly reveals %2%3.
+
+
+
+
+ %1 reveals %2%3 to %4.
+
+
+
+
+ %1 reveals %2%3.
+
+
+
+
+ It is now %1's turn.
+
+
+
+
+ untap step
+
+
+
+
+ upkeep step
+
+
+
+
+ draw step
+
+
+
+
+ first main phase
+
+
+
+
+ beginning of combat step
+
+
+
+
+ declare attackers step
+
+
+
+
+ declare blockers step
+
+
+
+
+ combat damage step
+
+
+
+
+ end of combat step
+
+
+
+
+ second main phase
+
+
+
+
+ ending phase
+
+
+
+
+ It is now the %1.
+
+
+
+
+ MessagesSettingsPage
+
+
+ Add message
+
+
+
+
+ Message:
+
+
+
+
+ &Add
+
+
+
+
+ &Remove
+
+
+
+
+ PhasesToolbar
+
+
+ Untap step
+
+
+
+
+ Upkeep step
+
+
+
+
+ Draw step
+
+
+
+
+ First main phase
+
+
+
+
+ Beginning of combat step
+
+
+
+
+ Declare attackers step
+
+
+
+
+ Declare blockers step
+
+
+
+
+ Combat damage step
+
+
+
+
+ End of combat step
+
+
+
+
+ Second main phase
+
+
+
+
+ End of turn step
+
+
+
+
+ Player
+
+
+ &View graveyard
+
+
+
+
+ &View exile
+
+
+
+
+ Player "%1"
+
+
+
+
+ &Graveyard
+
+
+
+
+ &Exile
+
+
+
+
+
+
+ Move to &top of library
+
+
+
+
+
+
+ Move to &bottom of library
+
+
+
+
+
+ Move to &graveyard
+
+
+
+
+
+ Move to &exile
+
+
+
+
+
+ Move to &hand
+
+
+
+
+ &View library
+
+
+
+
+ View &top cards of library...
+
+
+
+
+ Reveal &library to
+
+
+
+
+ Reveal t&op card to
+
+
+
+
+ &View sideboard
+
+
+
+
+ &Draw card
+
+
+
+
+ D&raw cards...
+
+
+
+
+ &Undo last draw
+
+
+
+
+ Take &mulligan
+
+
+
+
+ &Shuffle
+
+
+
+
+ Move top cards to &graveyard...
+
+
+
+
+ Move top cards to &exile...
+
+
+
+
+ Put top card on &bottom
+
+
+
+
+ &Hand
+
+
+
+
+ &Reveal to
+
+
+
+
+ Reveal r&andom card to
+
+
+
+
+ &Sideboard
+
+
+
+
+ &Library
+
+
+
+
+ &Counters
+
+
+
+
+ &Untap all permanents
+
+
+
+
+ R&oll die...
+
+
+
+
+ &Create token...
+
+
+
+
+ C&reate another token
+
+
+
+
+ S&ay
+
+
+
+
+ C&ard
+
+
+
+
+ &All players
+
+
+
+
+ Ctrl+F3
+
+
+
+
+ F3
+
+
+
+
+ Ctrl+W
+
+
+
+
+ F4
+
+
+
+
+ Ctrl+D
+
+
+
+
+ Ctrl+E
+
+
+
+
+ Ctrl+Shift+D
+
+
+
+
+ Ctrl+M
+
+
+
+
+ Ctrl+S
+
+
+
+
+ Ctrl+U
+
+
+
+
+ Ctrl+I
+
+
+
+
+ Ctrl+T
+
+
+
+
+ Ctrl+G
+
+
+
+
+ View top cards of library
+
+
+
+
+ Number of cards:
+
+
+
+
+ Draw cards
+
+
+
+
+
+
+
+ Number:
+
+
+
+
+ Move top cards to grave
+
+
+
+
+ Move top cards to exile
+
+
+
+
+ Roll die
+
+
+
+
+ Number of sides:
+
+
+
+
+ Set power/toughness
+
+
+
+
+ Please enter the new PT:
+
+
+
+
+ Set annotation
+
+
+
+
+ Please enter the new annotation:
+
+
+
+
+ Set counters
+
+
+
+
+ PlayerListWidget
+
+
+ local deck
+
+
+
+
+ deck #%1
+
+
+
+
+ User &details
+
+
+
+
+ Direct &chat
+
+
+
+
+ Add to &buddy list
+
+
+
+
+ Remove from &buddy list
+
+
+
+
+ Add to &ignore list
+
+
+
+
+ Remove from &ignore list
+
+
+
+
+ Kick from &game
+
+
+
+
+ QObject
+
+
+ Maindeck
+
+
+
+
+ Sideboard
+
+
+
+
+ Cockatrice decks (*.cod)
+
+
+
+
+ Plain text decks (*.dec *.mwDeck)
+
+
+
+
+ All files (*.*)
+
+
+
+
+ RemoteDeckList_TreeModel
+
+
+ Name
+
+
+
+
+ ID
+
+
+
+
+ Upload time
+
+
+
+
+ RoomSelector
+
+
+ Rooms
+
+
+
+
+ Joi&n
+
+
+
+
+ Room
+
+
+
+
+ Description
+
+
+
+
+ Players
+
+
+
+
+ Games
+
+
+
+
+ SetsModel
+
+
+ Short name
+
+
+
+
+ Long name
+
+
+
+
+ TabAdmin
+
+
+ Update server &message
+
+
+
+
+ Server administration functions
+
+
+
+
+ &Unlock functions
+
+
+
+
+ &Lock functions
+
+
+
+
+ Unlock administration functions
+
+
+
+
+ Do you really want to unlock the administration functions?
+
+
+
+
+ Administration
+
+
+
+
+ TabDeckStorage
+
+
+ Local file system
+
+
+
+
+ Server deck storage
+
+
+
+
+
+ Open in deck editor
+
+
+
+
+ Upload deck
+
+
+
+
+ Download deck
+
+
+
+
+
+ New folder
+
+
+
+
+ Delete
+
+
+
+
+ Enter deck name
+
+
+
+
+ This decklist does not have a name.
+Please enter a name:
+
+
+
+
+
+ Unnamed deck
+
+
+
+
+ Name of new folder:
+
+
+
+
+ Deck storage
+
+
+
+
+ TabGame
+
+
+ F5
+
+
+
+
+ F6
+
+
+
+
+ F7
+
+
+
+
+ F8
+
+
+
+
+ F9
+
+
+
+
+ F10
+
+
+
+
+ &Phases
+
+
+
+
+ &Game
+
+
+
+
+ Next &phase
+
+
+
+
+ Ctrl+Space
+
+
+
+
+ Next &turn
+
+
+
+
+ Ctrl+Return
+
+
+
+
+ Ctrl+Enter
+
+
+
+
+ &Remove all local arrows
+
+
+
+
+ Ctrl+R
+
+
+
+
+ &Concede
+
+
+
+
+ F2
+
+
+
+
+ &Leave game
+
+
+
+
+ Ctrl+Q
+
+
+
+
+ &Say:
+
+
+
+
+ Concede
+
+
+
+
+ Are you sure you want to concede this game?
+
+
+
+
+ Leave game
+
+
+
+
+ Are you sure you want to leave this game?
+
+
+
+
+ Kicked
+
+
+
+
+ You have been kicked out of the game.
+
+
+
+
+ Game %1: %2
+
+
+
+
+ TabMessage
+
+
+ Personal &talk
+
+
+
+
+ &Leave
+
+
+
+
+ This user is ignoring you.
+
+
+
+
+ %1 has left the server.
+
+
+
+
+ %1 has joined the server.
+
+
+
+
+ Talking to %1
+
+
+
+
+ TabRoom
+
+
+ &Say:
+
+
+
+
+ Chat
+
+
+
+
+ &Room
+
+
+
+
+ &Leave room
+
+
+
+
+ You are flooding the chat. Please wait a couple of seconds.
+
+
+
+
+ TabServer
+
+
+ Server
+
+
+
+
+ TabUserLists
+
+
+ User lists
+
+
+
+
+ UserInfoBox
+
+
+ User information
+
+
+
+
+ Real name:
+
+
+
+
+ Location:
+
+
+
+
+ User level:
+
+
+
+
+ Administrator
+
+
+
+
+ Judge
+
+
+
+
+ Registered user
+
+
+
+
+ Unregistered user
+
+
+
+
+ UserInterfaceSettingsPage
+
+
+ General interface settings
+
+
+
+
+ &Double-click cards to play them (instead of single-click)
+
+
+
+
+ Animation settings
+
+
+
+
+ &Tap/untap animation
+
+
+
+
+ Enable &sounds
+
+
+
+
+ Path to sounds directory:
+
+
+
+
+ Choose path
+
+
+
+
+ UserList
+
+
+ Users online: %1
+
+
+
+
+ Users in this room: %1
+
+
+
+
+ Buddies online: %1 / %2
+
+
+
+
+ Ignored users online: %1 / %2
+
+
+
+
+ User &details
+
+
+
+
+ Direct &chat
+
+
+
+
+ Add to &buddy list
+
+
+
+
+ Remove from &buddy list
+
+
+
+
+ Add to &ignore list
+
+
+
+
+ Remove from &ignore list
+
+
+
+
+ Ban from &server
+
+
+
+
+ Duration
+
+
+
+
+ Please enter the duration of the ban (in minutes).
+Enter 0 for an indefinite ban.
+
+
+
+
+ WndDeckEditor
+
+
+ &Search...
+
+
+
+
+ &Clear search
+
+
+
+
+ &Search for:
+
+
+
+
+ Deck &name:
+
+
+
+
+ &Comments:
+
+
+
+
+ &Update prices
+
+
+
+
+ Ctrl+U
+
+
+
+
+ Deck editor [*]
+
+
+
+
+ &New deck
+
+
+
+
+ &Load deck...
+
+
+
+
+ &Save deck
+
+
+
+
+ Save deck &as...
+
+
+
+
+ Load deck from cl&ipboard...
+
+
+
+
+ Save deck to clip&board
+
+
+
+
+ &Print deck...
+
+
+
+
+ &Close
+
+
+
+
+ Ctrl+Q
+
+
+
+
+ &Edit sets...
+
+
+
+
+ &Deck
+
+
+
+
+ &Card database
+
+
+
+
+ Add card to &maindeck
+
+
+
+
+ Return
+
+
+
+
+ Enter
+
+
+
+
+ Add card to &sideboard
+
+
+
+
+ Ctrl+Return
+
+
+
+
+ Ctrl+Enter
+
+
+
+
+ &Remove row
+
+
+
+
+ Del
+
+
+
+
+ &Increment number
+
+
+
+
+ +
+
+
+
+
+ &Decrement number
+
+
+
+
+ -
+
+
+
+
+ Are you sure?
+
+
+
+
+ The decklist has been modified.
+Do you want to save the changes?
+
+
+
+
+ Load deck
+
+
+
+
+
+ Error
+
+
+
+
+
+ The deck could not be saved.
+Please check that the directory is writable and try again.
+
+
+
+
+ Save deck
+
+
+
+
+ WndSets
+
+
+ Edit sets
+
+
+
+
+ ZoneViewWidget
+
+
+ sort by name
+
+
+
+
+ sort by type
+
+
+
+
+ shuffle when closing
+
+
+
+
diff --git a/cockatrice/translations/cockatrice_de.ts b/cockatrice/translations/cockatrice_de.ts
index 21f6d263..8dc03b81 100644
--- a/cockatrice/translations/cockatrice_de.ts
+++ b/cockatrice/translations/cockatrice_de.ts
@@ -187,22 +187,42 @@
CardInfoWidget
-
+
+ Hide card info
+ Nichts anzeigen
+
+
+
+ Show card only
+ nur Kartenbild
+
+
+
+ Show text only
+ nur Kartentext
+
+
+
+ Show full info
+ Alles anzeigen
+
+
+
Name:
Name:
-
+
Mana cost:
Manakosten:
-
+
Card type:
Kartentyp:
-
+
P / T:
S/W:
@@ -810,6 +830,19 @@
Neuer Wert für den Zähler '%1':
+
+ DeckEditorSettingsPage
+
+
+ Enable &price tag feature (using data from blacklotusproject.com)
+ Karten&preisfunktionen anschalten (benutzt Daten von blacklotusproject.com)
+
+
+
+ General
+ Allgemeines
+
+
DeckList
@@ -828,15 +861,20 @@
DeckListModel
-
+
Number
Nummer
-
+
Card
Karte
+
+
+ Price
+ Preis
+
DeckViewContainer
@@ -1208,9 +1246,9 @@
DlgSettings
-
-
-
+
+
+
Error
Fehler
@@ -1227,47 +1265,52 @@
Der Pfad zum Kartenbilderverzeichnis ist ungültig.
-
+
Your card database is invalid. Would you like to go back and set the correct path?
Ihre Kartendatenbank ist ungültig. Möchten Sie zurückgehen und den korrekten Pfad einstellen?
-
+
The path to your deck directory is invalid. Would you like to go back and set the correct path?
Der Pfad zu Ihrem Deckordner ist ungültig. Möchten Sie zurückgehen und den korrekten Pfad einstellen?
-
+
The path to your card pictures directory is invalid. Would you like to go back and set the correct path?
Der Pfad zu Ihrem Kartenbilderordner ist ungültig. Möchten Sie zurückgehen und den korrekten Pfad einstellen?
-
+
Settings
Einstellungen
-
+
General
Allgemeines
-
+
Appearance
Erscheinungsbild
-
+
User interface
Bedienung
-
+
+ Deck editor
+ Deckeditor
+
+
+
Messages
Nachrichten
-
+
&Close
S&chließen
@@ -1533,23 +1576,23 @@
GameSelector
-
+
C&reate
Spiel e&rstellen
-
+
&Join
&Teilnehmen
-
+
Error
Fehler
@@ -1558,57 +1601,57 @@
XXX
-
+
Wrong password.
Falsches Passwort.
-
+
Spectators are not allowed in this game.
In diesem Spiel sind keine Zuschauer zugelassen.
-
+
The game is already full.
Das Spiel ist bereits voll.
-
+
The game does not exist any more.
Dieses Spiel gibt es nicht mehr.
-
+
This game is only open to registered users.
Dieses Spiel kann nur von registrierten Benutzern betreten werden.
-
+
This game is only open to its creator's buddies.
Dieses Spiel kann nur von Freunden des Erstellers betreten werden.
-
+
You are being ignored by the creator of this game.
Der Ersteller dieses Spiels ignoriert Sie.
-
+
Join game
Spiel beitreten
-
+
Password:
Passwort:
-
+
Games
Spiele
-
+
Show &full games
&Volle Spiele anzeigen
@@ -1617,7 +1660,7 @@
&Volle Spiele anzeigen
-
+
J&oin as spectator
&Zuschauen
@@ -1849,46 +1892,51 @@ Grund: %1
Russisch:
-
-
+
+ Czech:
+ Tschechisch:
+
+
+
-
-
-
+
+
+
+
Error
Fehler
-
+
Server timeout
Server Zeitüberschreitung
-
+
Invalid login data.
Ungültige Anmeldedaten.
-
+
There is already an active session using this user name.
Please close that session first and re-login.
Es gibt bereits eine aktive Verbindung mit diesem Benutzernamen.
Bitte schließen Sie diese Verbindung zuerst und versuchen Sie es dann erneut.
-
+
Socket error: %1
Netzwerkfehler: %1
-
+
You are trying to connect to an obsolete server. Please downgrade your Cockatrice version or connect to a suitable server.
Local version is %1, remote version is %2.
Sie versuchen sich an einem veralteten Server anzumelden. Bitte verwenden Sie eine ältere Cockatrice-Version oder melden Sie sich an einem aktuellen Server an.
Lokale Version ist %1, Serverversion ist %2.
-
+
Your Cockatrice client is obsolete. Please update your Cockatrice version.
Local version is %1, remote version is %2.
Ihr Cockatrice-Client ist veraltet. Bitte laden Sie sich die neueste Version herunter.
@@ -1899,52 +1947,52 @@ Lokale Version ist %1, Serverversion ist %2.
Protokollversionen stimmen nicht überein. Lokale Version: %1, Serverversion: %2.
-
+
Connecting to %1...
Verbinde zu %1...
-
+
Disconnected
nicht verbunden
-
+
Logged in at %1
Angemeldet bei %1
-
+
&Connect...
&Verbinden...
-
+
&Disconnect
Verbindung &trennen
-
+
Start &local game...
&Lokales Spiel starten...
-
+
&About Cockatrice
&Über Cockatrice
-
+
&Help
&Hilfe
-
+
Are you sure?
Sind Sie sicher?
-
+
There are still open games. Are you sure you want to quit?
Es gibt noch offene Spiele. Wollen Sie das Programm wirklich beenden?
@@ -1961,27 +2009,27 @@ Lokale Version ist %1, Serverversion ist %2.
Spiel ver&lassen
-
+
&Deck editor
&Deck-Editor
-
+
&Full screen
&Vollbild
-
+
Ctrl+F
Ctrl+F
-
+
&Settings...
&Einstellungen...
-
+
&Exit
&Beenden
@@ -1994,7 +2042,7 @@ Lokale Version ist %1, Serverversion ist %2.
Esc
-
+
&Cockatrice
&Cockatrice
@@ -2822,12 +2870,12 @@ Lokale Version ist %1, Serverversion ist %2.
MessagesSettingsPage
-
+
&Add
&Hinzufügen
-
+
&Remove
&Entfernen
@@ -2840,12 +2888,12 @@ Lokale Version ist %1, Serverversion ist %2.
Entfernen
-
+
Add message
Nachricht hinzufügen
-
+
Message:
Nachricht:
@@ -3488,17 +3536,17 @@ Lokale Version ist %1, Serverversion ist %2.
Sideboard
-
+
Cockatrice decks (*.cod)
Cockatrice Decks (*.cod)
-
+
Plain text decks (*.dec *.mwDeck)
Text Decks (*.dec *.mwDeck)
-
+
All files (*.*)
Alle Dateien (*.*)
@@ -3901,27 +3949,27 @@ Bitte geben Sie einen Namen ein:
TabRoom
-
+
&Say:
&Sagen:
-
+
Chat
Unterhaltung
-
+
&Room
&Raum
-
+
&Leave room
Raum ver&lassen
-
+
You are flooding the chat. Please wait a couple of seconds.
Sie überfluten den Chatraum. Bitte warten Sie ein paar Sekunden.
@@ -4119,37 +4167,37 @@ Geben Sie 0 ein für einen unbefristeten Bann.
WndDeckEditor
-
+
&Search for:
&Suchen nach:
-
+
Deck &name:
Deck &Name:
-
+
&Comments:
&Kommentare:
-
+
Deck editor [*]
Deck-Editor [*]
-
+
&New deck
&Neues Deck
-
+
&Load deck...
Deck &laden...
-
+
&Save deck
Deck &speichern
@@ -4158,37 +4206,37 @@ Geben Sie 0 ein für einen unbefristeten Bann.
Deck &speichern unter...
-
+
Save deck &as...
Deck s&peichern unter...
-
+
Save deck to clip&board
Deck in Z&wischenablage speichern
-
+
&Print deck...
Deck &drucken...
-
+
&Close
S&chließen
-
+
Ctrl+Q
Ctrl+Q
-
+
&Edit sets...
&Editionen bearbeiten...
-
+
&Deck
&Deck
@@ -4197,27 +4245,27 @@ Geben Sie 0 ein für einen unbefristeten Bann.
&Editionen
-
+
Add card to &maindeck
Karte zu&m Hauptdeck hinzufügen
-
+
Return
Return
-
+
Enter
Enter
-
+
Ctrl+Return
Ctrl+Return
-
+
Ctrl+Enter
Ctrl+Enter
@@ -4226,7 +4274,7 @@ Geben Sie 0 ein für einen unbefristeten Bann.
Ctrl+M
-
+
Add card to &sideboard
Karte zum &Sideboard hinzufügen
@@ -4235,88 +4283,98 @@ Geben Sie 0 ein für einen unbefristeten Bann.
Ctrl+N
-
+
&Search...
&Suchen...
-
+
&Clear search
Suche a&ufheben
-
+
+ &Update prices
+ &Preise aktualisieren
+
+
+
+ Ctrl+U
+ Ctrl+U
+
+
+
Load deck from cl&ipboard...
Deck aus &Zwischenablage laden...
-
+
&Card database
&Kartendatenbank
-
+
&Remove row
Zeile entfe&rnen
-
+
Del
Entf
-
+
&Increment number
Anzahl er&höhen
-
+
+
+
-
+
&Decrement number
Anzahl v&erringern
-
+
-
-
-
+
Are you sure?
Bist du sicher?
-
+
The decklist has been modified.
Do you want to save the changes?
Die Deckliste wurde verändert.
Willst du die Änderungen speichern?
-
+
Load deck
Deck laden
-
-
+
+
Error
Fehler
-
-
+
+
The deck could not be saved.
Please check that the directory is writable and try again.
Das Deck konnte nicht gespeichert werden.
Bitte überprüfen Sie, dass Sie Schreibrechte in dem Verzeichnis haben, und versuchen Sie es erneut.
-
+
Save deck
Deck speichern
diff --git a/cockatrice/translations/cockatrice_en.ts b/cockatrice/translations/cockatrice_en.ts
index f3e26b6a..90153411 100644
--- a/cockatrice/translations/cockatrice_en.ts
+++ b/cockatrice/translations/cockatrice_en.ts
@@ -152,22 +152,42 @@
CardInfoWidget
-
+
+ Hide card info
+
+
+
+
+ Show card only
+
+
+
+
+ Show text only
+
+
+
+
+ Show full info
+
+
+
+
Name:
-
+
Mana cost:
-
+
Card type:
-
+
P / T:
@@ -553,18 +573,36 @@
+
+ DeckEditorSettingsPage
+
+
+ Enable &price tag feature (using data from blacklotusproject.com)
+
+
+
+
+ General
+
+
+
DeckListModel
-
+
Number
-
+
Card
+
+
+ Price
+
+
DeckViewContainer
@@ -890,54 +928,59 @@
DlgSettings
-
-
-
+
+
+
Error
-
+
Your card database is invalid. Would you like to go back and set the correct path?
-
+
The path to your deck directory is invalid. Would you like to go back and set the correct path?
-
+
The path to your card pictures directory is invalid. Would you like to go back and set the correct path?
-
+
Settings
-
+
General
-
+
Appearance
-
+
User interface
-
+
+ Deck editor
+
+
+
+
Messages
-
+
&Close
@@ -945,83 +988,83 @@
GameSelector
-
+
C&reate
-
+
&Join
-
+
Error
-
+
Wrong password.
-
+
Spectators are not allowed in this game.
-
+
The game is already full.
-
+
The game does not exist any more.
-
+
This game is only open to registered users.
-
+
This game is only open to its creator's buddies.
-
+
You are being ignored by the creator of this game.
-
+
Join game
-
+
Password:
-
+
Games
-
+
Show &full games
-
+
J&oin as spectator
@@ -1248,125 +1291,130 @@ Reason: %1
-
-
+
+ Czech:
+
+
+
+
-
-
-
+
+
+
+
Error
-
+
Server timeout
-
+
Invalid login data.
-
+
There is already an active session using this user name.
Please close that session first and re-login.
-
+
Socket error: %1
-
+
You are trying to connect to an obsolete server. Please downgrade your Cockatrice version or connect to a suitable server.
Local version is %1, remote version is %2.
-
+
Your Cockatrice client is obsolete. Please update your Cockatrice version.
Local version is %1, remote version is %2.
-
+
Connecting to %1...
-
+
Disconnected
-
+
Logged in at %1
-
+
&Connect...
-
+
&Disconnect
-
+
Start &local game...
-
+
&Deck editor
-
+
&Full screen
-
+
Ctrl+F
-
+
&Settings...
-
+
&Exit
-
+
&Cockatrice
-
+
&About Cockatrice
-
+
&Help
-
+
Are you sure?
-
+
There are still open games. Are you sure you want to quit?
@@ -1878,22 +1926,22 @@ Local version is %1, remote version is %2.
MessagesSettingsPage
-
+
&Add
-
+
&Remove
-
+
Add message
-
+
Message:
@@ -2340,17 +2388,17 @@ Local version is %1, remote version is %2.
-
+
Cockatrice decks (*.cod)
-
+
Plain text decks (*.dec *.mwDeck)
-
+
All files (*.*)
@@ -2698,27 +2746,27 @@ Please enter a name:
TabRoom
-
+
&Say:
-
+
Chat
-
+
&Room
-
+
&Leave room
-
+
You are flooding the chat. Please wait a couple of seconds.
@@ -2892,185 +2940,195 @@ Enter 0 for an indefinite ban.
WndDeckEditor
-
+
&Search for:
-
+
Deck &name:
-
+
&Comments:
-
+
Deck editor [*]
-
+
&New deck
-
+
&Load deck...
-
+
Load deck from cl&ipboard...
-
+
&Save deck
-
+
+ &Update prices
+
+
+
+
+ Ctrl+U
+
+
+
+
Save deck &as...
-
+
Save deck to clip&board
-
+
&Print deck...
-
+
&Close
-
+
Ctrl+Q
-
+
&Edit sets...
-
+
&Deck
-
+
Load deck
-
-
+
+
Error
-
-
+
+
The deck could not be saved.
Please check that the directory is writable and try again.
-
+
Save deck
-
+
Add card to &maindeck
-
+
Return
-
+
Enter
-
+
Ctrl+Return
-
+
Ctrl+Enter
-
+
Add card to &sideboard
-
+
&Search...
-
+
&Clear search
-
+
&Card database
-
+
&Remove row
-
+
Del
-
+
&Increment number
-
+
+
-
+
&Decrement number
-
+
-
-
+
Are you sure?
-
+
The decklist has been modified.
Do you want to save the changes?
diff --git a/cockatrice/translations/cockatrice_es.ts b/cockatrice/translations/cockatrice_es.ts
index fa4beae2..582079f1 100644
--- a/cockatrice/translations/cockatrice_es.ts
+++ b/cockatrice/translations/cockatrice_es.ts
@@ -160,22 +160,42 @@
CardInfoWidget
-
+
+ Hide card info
+
+
+
+
+ Show card only
+
+
+
+
+ Show text only
+
+
+
+
+ Show full info
+
+
+
+
Name:
Nombre:
-
+
Mana cost:
Coste de mana:
-
+
Card type:
Tipo de carta:
-
+
P / T:
F / R:
@@ -745,18 +765,36 @@
Nuevo valor para el contador '%1':
+
+ DeckEditorSettingsPage
+
+
+ Enable &price tag feature (using data from blacklotusproject.com)
+
+
+
+
+ General
+ General
+
+
DeckListModel
-
+
Number
Número
-
+
Card
Carta
+
+
+ Price
+
+
DeckViewContainer
@@ -1089,9 +1127,9 @@
DlgSettings
-
-
-
+
+
+
Error
Error
@@ -1108,47 +1146,52 @@
La ruta a tu directorio de imagenes de las cartas es invalida.
-
+
Your card database is invalid. Would you like to go back and set the correct path?
Tu base de datos de cartas es invalida. ¿Deseas volver y seleccionar la ruta correcta?
-
+
The path to your deck directory is invalid. Would you like to go back and set the correct path?
La ruta a tu directorio de mazos es invalida. ¿Deseas volver y seleccionar la ruta correcta?
-
+
The path to your card pictures directory is invalid. Would you like to go back and set the correct path?
La ruta a tu directorio de imagenes de las cartas es invalida.¿Deseas volver y seleccionar la ruta correcta?
-
+
Settings
Preferencias
-
+
General
General
-
+
Appearance
Apariencia
-
+
User interface
Interfaz de usuario
-
+
+ Deck editor
+
+
+
+
Messages
Mensajes
-
+
&Close
&Cerrar
@@ -1156,78 +1199,78 @@
GameSelector
-
+
C&reate
C&rear
-
+
&Join
E&ntrar
-
+
Error
Error
-
+
Wrong password.
Contraseña incorrecta.
-
+
Spectators are not allowed in this game.
No se permiten espectadores en esta partida.
-
+
The game is already full.
La partida no tiene plazas libres.
-
+
The game does not exist any more.
La partida ya no existe.
-
+
This game is only open to registered users.
Esta partida está abierta sólo a usuarios registrados.
-
+
This game is only open to its creator's buddies.
Esta partida está abierta sólo a los amigos del creador.
-
+
You are being ignored by the creator of this game.
Estas siendo ignorado por el creador de la partida.
-
+
Join game
Entrar en la partida
-
+
Password:
Contraseña:
-
+
Games
Partidas
-
+
Show &full games
Ver partidas &sin plazas libres
@@ -1236,7 +1279,7 @@
&Ver partidas sin plazas libres
-
+
J&oin as spectator
Entrar como e&spectador
@@ -1464,46 +1507,51 @@ Motivo: %1
Ruso:
-
-
+
+ Czech:
+
+
+
+
-
-
-
+
+
+
+
Error
Error
-
+
Server timeout
Tiempo de espera del servidor agotado
-
+
Invalid login data.
Datos de conexión invalidos.
-
+
There is already an active session using this user name.
Please close that session first and re-login.
Ya existe una sesión activa usando ese nombre de usuario.
Por favor, cierra esa sesión primero y reintentalo.
-
+
Socket error: %1
Error del Socket: %1
-
+
You are trying to connect to an obsolete server. Please downgrade your Cockatrice version or connect to a suitable server.
Local version is %1, remote version is %2.
Estás intentando conectar a un servidor obsoleto. Por favor, usa una versión anterior de Cockatrice o conecta a un servidor apropiado.
La versión local es %1, la versión remota es %2.
-
+
Your Cockatrice client is obsolete. Please update your Cockatrice version.
Local version is %1, remote version is %2.
Tu cliente de Cockatrice esta obsoleto. Por favor, actualiza tu versión de Cockatrice.
@@ -1514,82 +1562,82 @@ La versión local es %1, la versión remota es %2.
La versión del protocolo es diferente. Version local: %1, version remota: %2.
-
+
Connecting to %1...
Conectando a %1...
-
+
Disconnected
Desconectado
-
+
Logged in at %1
Conectado en %1
-
+
&Connect...
&Conectar...
-
+
&Disconnect
&Desconectar
-
+
Start &local game...
Empezar partida &local...
-
+
&Deck editor
Editor de &mazos
-
+
&Full screen
&Pantalla completa
-
+
Ctrl+F
CTRL+F
-
+
&Settings...
&Preferencias...
-
+
&Exit
&Salir
-
+
&Cockatrice
&Cockatrice
-
+
&About Cockatrice
&Acerca de Cockatrice
-
+
&Help
A&yuda
-
+
Are you sure?
¿Estás seguro?
-
+
There are still open games. Are you sure you want to quit?
Todavía hay partidas abiertas. ¿Estás seguro que quieres salir?
@@ -2109,22 +2157,22 @@ La versión local es %1, la versión remota es %2.
MessagesSettingsPage
-
+
&Add
&Añadir
-
+
&Remove
&Quitar
-
+
Add message
Añadir mensaje
-
+
Message:
Mensaje:
@@ -2607,17 +2655,17 @@ La versión local es %1, la versión remota es %2.
Reserva
-
+
Cockatrice decks (*.cod)
Mazos de Cockatrice (*.cod)
-
+
Plain text decks (*.dec *.mwDeck)
Archivos de texto plano (*.dec *.mwDeck)
-
+
All files (*.*)
Todos los archivos (*.*)
@@ -2992,27 +3040,27 @@ Por favor, introduzca un nombre:
TabRoom
-
+
&Say:
&Decir:
-
+
Chat
Chat
-
+
&Room
&Sala
-
+
&Leave room
&Dejar sala
-
+
You are flooding the chat. Please wait a couple of seconds.
Estás floodeando el chat. Por favor, espera unos segundos.
@@ -3195,186 +3243,196 @@ Indica 0 para un ban indefinido.
WndDeckEditor
-
+
&Search for:
&Buscar por:
-
+
Deck &name:
&Nombre del mazo:
-
+
&Comments:
&Comentarios:
-
+
Deck editor [*]
Editor de mazos [*]
-
+
&New deck
&Nuevo mazo
-
+
&Load deck...
&Cargar mazo...
-
+
Load deck from cl&ipboard...
Cargar mazo del &portapapeles...
-
+
&Save deck
&Guardar mazo
-
+
+ &Update prices
+
+
+
+
+ Ctrl+U
+ Ctrl+U
+
+
+
Save deck &as...
Guardar mazo &como...
-
+
Save deck to clip&board
Guardar mazo al p&ortapales
-
+
&Print deck...
Im&primir mazo...
-
+
&Close
&Cerrar
-
+
Ctrl+Q
Ctrl+Q
-
+
&Edit sets...
&Editar ediciones...
-
+
&Deck
&Mazo
-
+
Load deck
Cargar mazo
-
-
+
+
Error
Error
-
-
+
+
The deck could not be saved.
Please check that the directory is writable and try again.
El mazo no puede guardarse
Por favor, compruebe que tiene permisos de escritura en el directorio e intentelo de nuevo.
-
+
Save deck
Guardar mazo
-
+
Add card to &maindeck
Añadir carta al &mazo principal
-
+
Return
Return
-
+
Enter
Enter
-
+
Ctrl+Return
Ctrl+Return
-
+
Ctrl+Enter
Ctrl+Enter
-
+
Add card to &sideboard
Añadir carta a la &reserva
-
+
&Search...
&Buscar...
-
+
&Clear search
&Limpiar busqueda
-
+
&Card database
&Base de datos de cartas
-
+
&Remove row
&Eliminar columna
-
+
Del
Del
-
+
&Increment number
&Incrementar número
-
+
+
+
-
+
&Decrement number
&Decrementar número
-
+
-
-
-
+
Are you sure?
¿Estás seguro?
-
+
The decklist has been modified.
Do you want to save the changes?
La lista del mazo ha sido modificada
diff --git a/cockatrice/translations/cockatrice_fr.ts b/cockatrice/translations/cockatrice_fr.ts
index 9ade97a4..7b65d7f3 100644
--- a/cockatrice/translations/cockatrice_fr.ts
+++ b/cockatrice/translations/cockatrice_fr.ts
@@ -152,22 +152,42 @@
CardInfoWidget
-
+
+ Hide card info
+
+
+
+
+ Show card only
+
+
+
+
+ Show text only
+
+
+
+
+ Show full info
+
+
+
+
Name:
Nom:
-
+
Mana cost:
Cout de mana:
-
+
Card type:
Type de carte:
-
+
P / T:
F / E:
@@ -607,18 +627,36 @@
Nouvelle valeur pour le compteur '%1':
+
+ DeckEditorSettingsPage
+
+
+ Enable &price tag feature (using data from blacklotusproject.com)
+
+
+
+
+ General
+ Géneral
+
+
DeckListModel
-
+
Number
Nombre
-
+
Card
Carte
+
+
+ Price
+
+
DeckViewContainer
@@ -951,54 +989,59 @@
DlgSettings
-
-
-
+
+
+
Error
Erreur
-
+
Your card database is invalid. Would you like to go back and set the correct path?
Votre base de carte est invalide. Souhaitez-vous redéfinir le chemin d'accès?
-
+
The path to your deck directory is invalid. Would you like to go back and set the correct path?
Le chemin d'accès pour le répertoire de votre deck est invalide. Souhaitez-vous redéfinir le chemin d'accès?
-
+
The path to your card pictures directory is invalid. Would you like to go back and set the correct path?
Le chemin d'accès pour le répertoire de vos images est invalide. Souhaitez-vous redéfinir le chemin d'accès?
-
+
Settings
Paramètres
-
+
General
Géneral
-
+
Appearance
Apparence
-
+
User interface
Interface utilisateur
-
+
+ Deck editor
+
+
+
+
Messages
Messages
-
+
&Close
&Fermer
@@ -1006,68 +1049,68 @@
GameSelector
-
+
Error
Erreur
-
+
Wrong password.
Mot de passe erroné.
-
+
Spectators are not allowed in this game.
Les spectateurs ne sont pas autorisés dans cette partie.
-
+
The game is already full.
Cette partie est déjà pleine.
-
+
The game does not exist any more.
La partie n'existe plus.
-
+
This game is only open to registered users.
Cette partie n'est accessible qu'aux joueurs enregistrés.
-
+
This game is only open to its creator's buddies.
Cette partie n'est accessible qu'aux amis.
-
+
You are being ignored by the creator of this game.
Vous avez été ignoré par le créateur de la partie.
-
+
Join game
Rejoindre partie
-
+
Password:
Mot de passe:
-
+
Games
Parties
-
+
Show &full games
Montrer &toutes les parties
@@ -1077,17 +1120,17 @@
&Montrer toutes les parties
-
+
C&reate
C&réer
-
+
&Join
Re&joindre
-
+
J&oin as spectator
Rej&oindre en tant que spectateur
@@ -1287,27 +1330,27 @@
Japonais:
-
-
+
-
-
-
+
+
+
+
Error
Erreur
-
+
Server timeout
Délai de la demande dépassé
-
+
Invalid login data.
Information de connexion érronée.
-
+
Socket error: %1
Erreur de socket: %1
@@ -1349,104 +1392,109 @@ Raison: %1
France:
-
+
+ Czech:
+
+
+
+
There is already an active session using this user name.
Please close that session first and re-login.
Il y a déjà une session ouvert avec le même pseudo.
Fermez cette session puis re-connectez-vous.
-
+
You are trying to connect to an obsolete server. Please downgrade your Cockatrice version or connect to a suitable server.
Local version is %1, remote version is %2.
Vous tentez de vous connecter à un serveur obsolète. Chargez la nouvelle version de Cockatrice ou connectez-vous à un serveur approprié.
La version la plus récente est %1, l'ancienne version est %2.
-
+
Your Cockatrice client is obsolete. Please update your Cockatrice version.
Local version is %1, remote version is %2.
Votre client Cockatrice est obsolète. Veuillez charger la nouvelle version.
La version la plus récente est %1, l'ancienne version est %2.
-
+
Connecting to %1...
Connexion à %1...
-
+
Disconnected
Déconnecté
-
+
Logged in at %1
Connecté à %1
-
+
&Connect...
à verifier
&Connecter...
-
+
&Disconnect
&Déconnecter
-
+
Start &local game...
Démarrer une partie &locale...
-
+
&Deck editor
Éditeur de &deck
-
+
&Full screen
&Plein écran
-
+
Ctrl+F
Ctrl+F
-
+
&Settings...
&Paramètres...
-
+
&Exit
&Quitter
-
+
&Cockatrice
&Cockatrice
-
+
&About Cockatrice
À propos de Cock&atrice
-
+
&Help
A&ide
-
+
Are you sure?
Êtes-vous sûr?
-
+
There are still open games. Are you sure you want to quit?
Il y a encore des parties en cours. Êtes-vous sûr de vouloir quitter?
@@ -1982,22 +2030,22 @@ La version la plus récente est %1, l'ancienne version est %2.
MessagesSettingsPage
-
+
Add message
Ajouter message
-
+
Message:
Message:
-
+
&Add
&Ajouter
-
+
&Remove
&Enlever
@@ -2465,17 +2513,17 @@ La version la plus récente est %1, l'ancienne version est %2.Réserve
-
+
Cockatrice decks (*.cod)
Decks format Cockatrice (*.cod)
-
+
Plain text decks (*.dec *.mwDeck)
Decks au format texte (*.dec *.mwDeck)
-
+
All files (*.*)
Tous les fichiers (*.*)
@@ -2852,27 +2900,27 @@ Entrez un nom s'il vous plaît:
TabRoom
-
+
&Say:
&Dire:
-
+
Chat
Chat
-
+
&Room
&Salon
-
+
&Leave room
&Quitter le salon
-
+
You are flooding the chat. Please wait a couple of seconds.
Vous floodez le chat. Veuillez patienter quelques secondes.
@@ -3056,190 +3104,200 @@ Entrez 0 pour une durée illimitée du ban.
WndDeckEditor
-
+
&Search...
&Chercher...
-
+
&Clear search
&Effacer la recherche
-
+
&Search for:
&Rechercher:
-
+
Deck &name:
&Nom du deck:
-
+
&Comments:
&Commentaires:
-
+
+ &Update prices
+
+
+
+
+ Ctrl+U
+ Ctrl+U
+
+
+
Deck editor [*]
Editeur de deck [*]
-
+
&New deck
&Nouveau deck
-
+
&Load deck...
Char&ger deck...
-
+
&Save deck
&Sauvegarder le deck
-
+
Save deck &as...
S&auvegarder le deck sous...
-
+
Load deck from cl&ipboard...
Charger deck depuis le presse-pap&ier...
-
+
Save deck to clip&board
Sauve&garder le deck dans le presse-papier
-
+
&Print deck...
Im&primer le deck...
-
+
&Close
&Fermer
-
+
Ctrl+Q
Ctrl+Q
-
+
&Edit sets...
&Editer les editions...
-
+
&Deck
&Deck
-
+
&Card database
Base de &cartes
-
+
Add card to &maindeck
Ajouter carte au &deck
-
+
Return
Retour
-
+
Enter
Entrer
-
+
Add card to &sideboard
Ajouter carte à la ré&serve
-
+
Ctrl+Return
Ctrl+Return
-
+
Ctrl+Enter
Ctrl+Enter
-
+
&Remove row
&Retirer la ligne
-
+
Del
Supprimer
-
+
&Increment number
to check
&Augmenter quantité
-
+
+
+
-
+
&Decrement number
to check
&Diminuer quantité
-
+
-
-
-
+
Are you sure?
Êtes-vous sûr?
-
+
The decklist has been modified.
Do you want to save the changes?
Le deck a été modifié.
Voulez vous enregistrer les modifications?
-
+
Load deck
Charger deck
-
-
+
+
Error
Erreur
-
-
+
+
The deck could not be saved.
Please check that the directory is writable and try again.
Le deck n'a pas pu être enregistré.
Vérifiez que le répertoire ne soit pas en lecture seule et réessayez.
-
+
Save deck
Sauvegarder le deck
diff --git a/cockatrice/translations/cockatrice_ja.ts b/cockatrice/translations/cockatrice_ja.ts
index eaed4215..ae2fddf7 100644
--- a/cockatrice/translations/cockatrice_ja.ts
+++ b/cockatrice/translations/cockatrice_ja.ts
@@ -157,22 +157,42 @@
CardInfoWidget
-
+
+ Hide card info
+
+
+
+
+ Show card only
+
+
+
+
+ Show text only
+
+
+
+
+ Show full info
+
+
+
+
Name:
カード名:
-
+
Mana cost:
マナコスト:
-
+
Card type:
カードタイプ:
-
+
P / T:
@@ -601,18 +621,36 @@
カウンター '%1'の新しい値を設定する:
+
+ DeckEditorSettingsPage
+
+
+ Enable &price tag feature (using data from blacklotusproject.com)
+
+
+
+
+ General
+ 全般
+
+
DeckListModel
-
+
Number
カード枚数
-
+
Card
カード名
+
+
+ Price
+
+
DeckViewContainer
@@ -938,54 +976,59 @@
DlgSettings
-
-
-
+
+
+
Error
エラー
-
+
Your card database is invalid. Would you like to go back and set the correct path?
あなたのカードデータベースは無効です.前に戻って正しいパスを設定してください.
-
+
The path to your deck directory is invalid. Would you like to go back and set the correct path?
あなたのデッキディレクトリへのパスは無効です.前に戻って正しいパスを設定してください.
-
+
The path to your card pictures directory is invalid. Would you like to go back and set the correct path?
あなたのカード画像ディレクトリへのパスは無効です.前に戻って正しいパスを設定してください.
-
+
Settings
設定
-
+
General
全般
-
+
Appearance
外観
-
+
User interface
ユーザーインターフェース
-
+
+ Deck editor
+
+
+
+
Messages
メッセージ
-
+
&Close
@@ -993,78 +1036,78 @@
GameSelector
-
+
C&reate
部屋を作る
-
+
&Join
参加する
-
+
Error
エラー
-
+
Wrong password.
パスワードが間違っています.
-
+
Spectators are not allowed in this game.
この試合は観戦者は許可されていません.
-
+
The game is already full.
このゲームはすでに満員です.
-
+
The game does not exist any more.
このゲームはもう存在しません.
-
+
This game is only open to registered users.
このゲームは登録済みプレイヤーにのみ公開されています.
-
+
This game is only open to its creator's buddies.
このゲームは作成者のフレンドのみに公開されています.
-
+
You are being ignored by the creator of this game.
あなたはこのゲームの作成者によって拒否されています.
-
+
Join game
参加
-
+
Password:
パスワード:
-
+
Games
ゲーム
-
+
Show &full games
全てのゲームを見る
@@ -1073,7 +1116,7 @@
全てのゲームを見る
-
+
J&oin as spectator
観戦者として参加
@@ -1302,128 +1345,133 @@ Reason: %1
ロシア語:
-
-
+
+ Czech:
+
+
+
+
-
-
-
+
+
+
+
Error
エラー
-
+
Server timeout
サーバータイムアウト
-
+
Invalid login data.
無効なログインデータです.
-
+
There is already an active session using this user name.
Please close that session first and re-login.
これはすでにこのユーザー名で使われているアクティブなセッションです.
まずこのセッションを閉じてログインしなおしてください.
-
+
Socket error: %1
ソケットエラー: %1
-
+
You are trying to connect to an obsolete server. Please downgrade your Cockatrice version or connect to a suitable server.
Local version is %1, remote version is %2.
あなたは古いVerのサーバーに接続しようとしています.CockatriceのVerをダウングレードするか適正なサーバーに接続してください.
ローカルVer %1,リモートVer %2.
-
+
Your Cockatrice client is obsolete. Please update your Cockatrice version.
Local version is %1, remote version is %2.
あなたのCockatriceのVerが古いです.Cockatriceをアップデートしてください.
ローカルVer %1,リモートVer %2.
-
+
Connecting to %1...
%1へ接続しています...
-
+
Disconnected
切断されました
-
+
Logged in at %1
%1にログイン中
-
+
&Connect...
接続...
-
+
&Disconnect
切断
-
+
Start &local game...
ローカルゲームを開始...
-
+
&Deck editor
デッキエディター
-
+
&Full screen
フルスクリーン
-
+
Ctrl+F
-
+
&Settings...
設定...
-
+
&Exit
終了
-
+
&Cockatrice
-
+
&About Cockatrice
-
+
&Help
ヘルプ
-
+
Are you sure?
よろしいですか?
-
+
There are still open games. Are you sure you want to quit?
ゲームがまだ開いています.本当に退出しますか?
@@ -1926,22 +1974,22 @@ Local version is %1, remote version is %2.
MessagesSettingsPage
-
+
&Add
追加
-
+
&Remove
削除
-
+
Add message
メッセージを追加する
-
+
Message:
メッセージ:
@@ -2400,17 +2448,17 @@ Local version is %1, remote version is %2.
サイドボード
-
+
Cockatrice decks (*.cod)
-
+
Plain text decks (*.dec *.mwDeck)
-
+
All files (*.*)
全てのファイル (*.*)
@@ -2784,27 +2832,27 @@ Please enter a name:
TabRoom
-
+
&Say:
発言する
-
+
Chat
チャット
-
+
&Room
部屋
-
+
&Leave room
部屋から出る
-
+
You are flooding the chat. Please wait a couple of seconds.
あなたはチャットルームから弾かれました.少々お待ちください.
@@ -2986,186 +3034,196 @@ Enter 0 for an indefinite ban.
WndDeckEditor
-
+
&Search for:
検索:
-
+
Deck &name:
デッキ名:
-
+
&Comments:
コメント:
-
+
Deck editor [*]
デッキエディター [*]
-
+
&New deck
新しいデッキ
-
+
&Load deck...
デッキをロード...
-
+
Load deck from cl&ipboard...
クリップボードからデッキをロード...
-
+
&Save deck
デッキを保存
-
+
+ &Update prices
+
+
+
+
+ Ctrl+U
+
+
+
+
Save deck &as...
名前を付けてデッキを保存...
-
+
Save deck to clip&board
クリップボードにデッキを保存
-
+
&Print deck...
デッキを印刷...
-
+
&Close
閉じる
-
+
Ctrl+Q
-
+
&Edit sets...
セットの設定...
-
+
&Deck
デッキ
-
+
Load deck
デッキをロード
-
-
+
+
Error
エラー
-
-
+
+
The deck could not be saved.
Please check that the directory is writable and try again.
要検証
このデッキは保存されていません. ディレクトリをチェックして再度上書きしてください.
-
+
Save deck
デッキを保存
-
+
Add card to &maindeck
メインデッキにカードを加える
-
+
Return
-
+
Enter
-
+
Ctrl+Return
-
+
Ctrl+Enter
-
+
Add card to &sideboard
サイドボードにカードを加える
-
+
&Search...
検索...
-
+
&Clear search
検索を解除
-
+
&Card database
カードデータベース
-
+
&Remove row
全て取り除く
-
+
Del
-
+
&Increment number
枚数を増やす
-
+
+
-
+
&Decrement number
枚数を減らす
-
+
-
-
+
Are you sure?
本当によろしいですか?
-
+
The decklist has been modified.
Do you want to save the changes?
このデッキリストは変更されています.変更を保存しますか?
diff --git a/cockatrice/translations/cockatrice_pl.ts b/cockatrice/translations/cockatrice_pl.ts
new file mode 100644
index 00000000..8f843f82
--- /dev/null
+++ b/cockatrice/translations/cockatrice_pl.ts
@@ -0,0 +1,3064 @@
+
+
+
+
+ AbstractCounter
+
+
+ &Set counter...
+
+
+
+
+ Ctrl+L
+
+
+
+
+ F11
+
+
+
+
+ F12
+
+
+
+
+ Set counter
+
+
+
+
+ New value for counter '%1':
+
+
+
+
+ AppearanceSettingsPage
+
+
+ Zone background pictures
+
+
+
+
+ Path to hand background:
+
+
+
+
+ Path to stack background:
+
+
+
+
+ Path to table background:
+
+
+
+
+ Path to player info background:
+
+
+
+
+ Path to picture of card back:
+
+
+
+
+ Card rendering
+
+
+
+
+ Display card names on cards having a picture
+
+
+
+
+ Hand layout
+
+
+
+
+ Display hand horizontally (wastes space)
+
+
+
+
+ Table grid layout
+
+
+
+
+ Invert vertical coordinate
+
+
+
+
+ Zone view layout
+
+
+
+
+ Sort by name
+
+
+
+
+ Sort by type
+
+
+
+
+
+
+
+
+ Choose path
+
+
+
+
+ CardDatabaseModel
+
+
+ Name
+
+
+
+
+ Sets
+
+
+
+
+ Mana cost
+
+
+
+
+ Card type
+
+
+
+
+ P/T
+
+
+
+
+ CardInfoWidget
+
+
+ Name:
+
+
+
+
+ Mana cost:
+
+
+
+
+ Card type:
+
+
+
+
+ P / T:
+
+
+
+
+ CardItem
+
+
+ &Play
+
+
+
+
+ &Hide
+
+
+
+
+ &Tap
+
+
+
+
+ &Untap
+
+
+
+
+ Toggle &normal untapping
+
+
+
+
+ &Flip
+
+
+
+
+ &Clone
+
+
+
+
+ Ctrl+H
+
+
+
+
+ &Attach to card...
+
+
+
+
+ Ctrl+A
+
+
+
+
+ Unattac&h
+
+
+
+
+ &Power / toughness
+
+
+
+
+ &Increase power
+
+
+
+
+ Ctrl++
+
+
+
+
+ &Decrease power
+
+
+
+
+ Ctrl+-
+
+
+
+
+ I&ncrease toughness
+
+
+
+
+ Alt++
+
+
+
+
+ D&ecrease toughness
+
+
+
+
+ Alt+-
+
+
+
+
+ In&crease power and toughness
+
+
+
+
+ Ctrl+Alt++
+
+
+
+
+ Dec&rease power and toughness
+
+
+
+
+ Ctrl+Alt+-
+
+
+
+
+ Set &power and toughness...
+
+
+
+
+ Ctrl+P
+
+
+
+
+ &Set annotation...
+
+
+
+
+ red
+
+
+
+
+ yellow
+
+
+
+
+ green
+
+
+
+
+ &Add counter (%1)
+
+
+
+
+ &Remove counter (%1)
+
+
+
+
+ &Set counters (%1)...
+
+
+
+
+ &top of library
+
+
+
+
+ &bottom of library
+
+
+
+
+ &graveyard
+
+
+
+
+ Ctrl+Del
+
+
+
+
+ &exile
+
+
+
+
+ &Move to
+
+
+
+
+ CardZone
+
+
+ his hand
+ nominative
+
+
+
+
+ %1's hand
+ nominative
+
+
+
+
+ of his hand
+ genitive
+
+
+
+
+ of %1's hand
+ genitive
+
+
+
+
+ his hand
+ accusative
+
+
+
+
+ %1's hand
+ accusative
+
+
+
+
+ his library
+ nominative
+
+
+
+
+ %1's library
+ nominative
+
+
+
+
+ of his library
+ genitive
+
+
+
+
+ of %1's library
+ genitive
+
+
+
+
+ his library
+ accusative
+
+
+
+
+ %1's library
+ accusative
+
+
+
+
+ his graveyard
+ nominative
+
+
+
+
+ %1's graveyard
+ nominative
+
+
+
+
+ of his graveyard
+ genitive
+
+
+
+
+ of %1's graveyard
+ genitive
+
+
+
+
+ his graveyard
+ accusative
+
+
+
+
+ %1's graveyard
+ accusative
+
+
+
+
+ his exile
+ nominative
+
+
+
+
+ %1's exile
+ nominative
+
+
+
+
+ of his exile
+ genitive
+
+
+
+
+ of %1's exile
+ genitive
+
+
+
+
+ his exile
+ accusative
+
+
+
+
+ %1's exile
+ accusative
+
+
+
+
+ his sideboard
+ nominative
+
+
+
+
+ %1's sideboard
+ nominative
+
+
+
+
+ of his sideboard
+ genitive
+
+
+
+
+ of %1's sideboard
+ genitive
+
+
+
+
+ his sideboard
+ accusative
+
+
+
+
+ %1's sideboard
+ accusative
+
+
+
+
+ DeckListModel
+
+
+ Number
+
+
+
+
+ Card
+
+
+
+
+ DeckViewContainer
+
+
+ Load &local deck
+
+
+
+
+ Load d&eck from server
+
+
+
+
+ Ready to s&tart
+
+
+
+
+ Load deck
+
+
+
+
+ DlgCardSearch
+
+
+ Card name:
+
+
+
+
+ Card text:
+
+
+
+
+ Card type (OR):
+
+
+
+
+ Color (OR):
+
+
+
+
+ O&K
+
+
+
+
+ &Cancel
+
+
+
+
+ Card search
+
+
+
+
+ DlgConnect
+
+
+ &Host:
+
+
+
+
+ &Port:
+
+
+
+
+ Player &name:
+
+
+
+
+ P&assword:
+
+
+
+
+ &OK
+
+
+
+
+ &Cancel
+
+
+
+
+ Connect to server
+
+
+
+
+ DlgCreateGame
+
+
+ &Description:
+
+
+
+
+ P&layers:
+
+
+
+
+ Game type
+
+
+
+
+ &Password:
+
+
+
+
+ Only &buddies can join
+
+
+
+
+ Only ®istered users can join
+
+
+
+
+ Joining restrictions
+
+
+
+
+ &Spectators allowed
+
+
+
+
+ Spectators &need a password to join
+
+
+
+
+ Spectators can &chat
+
+
+
+
+ Spectators see &everything
+
+
+
+
+ Spectators
+
+
+
+
+ &OK
+
+
+
+
+ &Cancel
+
+
+
+
+ Create game
+
+
+
+
+ Error
+
+
+
+
+ Server error.
+
+
+
+
+ DlgCreateToken
+
+
+ &Name:
+
+
+
+
+ Token
+
+
+
+
+ C&olor:
+
+
+
+
+ white
+
+
+
+
+ blue
+
+
+
+
+ black
+
+
+
+
+ red
+
+
+
+
+ green
+
+
+
+
+ multicolor
+
+
+
+
+ colorless
+
+
+
+
+ &P/T:
+
+
+
+
+ &Annotation:
+
+
+
+
+ &Destroy token when it leaves the table
+
+
+
+
+ &OK
+
+
+
+
+ &Cancel
+
+
+
+
+ Create token
+
+
+
+
+ DlgLoadDeckFromClipboard
+
+
+ &Refresh
+
+
+
+
+ &OK
+
+
+
+
+ &Cancel
+
+
+
+
+ Load deck from clipboard
+
+
+
+
+ Error
+
+
+
+
+ Invalid deck list.
+
+
+
+
+ DlgLoadRemoteDeck
+
+
+ O&K
+
+
+
+
+ &Cancel
+
+
+
+
+ Load deck
+
+
+
+
+ DlgSettings
+
+
+
+
+ Error
+
+
+
+
+ Your card database is invalid. Would you like to go back and set the correct path?
+
+
+
+
+ The path to your deck directory is invalid. Would you like to go back and set the correct path?
+
+
+
+
+ The path to your card pictures directory is invalid. Would you like to go back and set the correct path?
+
+
+
+
+ Settings
+
+
+
+
+ General
+
+
+
+
+ Appearance
+
+
+
+
+ User interface
+
+
+
+
+ Messages
+
+
+
+
+ &Close
+
+
+
+
+ GameSelector
+
+
+
+
+
+
+
+
+ Error
+
+
+
+
+ Wrong password.
+
+
+
+
+ Spectators are not allowed in this game.
+
+
+
+
+ The game is already full.
+
+
+
+
+ The game does not exist any more.
+
+
+
+
+ This game is only open to registered users.
+
+
+
+
+ This game is only open to its creator's buddies.
+
+
+
+
+ You are being ignored by the creator of this game.
+
+
+
+
+ Join game
+
+
+
+
+ Password:
+
+
+
+
+ Games
+
+
+
+
+ Show &full games
+
+
+
+
+ C&reate
+
+
+
+
+ &Join
+
+
+
+
+ J&oin as spectator
+
+
+
+
+ GameView
+
+
+ Esc
+
+
+
+
+ GamesModel
+
+
+ yes
+
+
+
+
+ yes, free for spectators
+
+
+
+
+ no
+
+
+
+
+ buddies only
+
+
+
+
+ reg. users only
+
+
+
+
+ not allowed
+
+
+
+
+ Description
+
+
+
+
+ Creator
+
+
+
+
+ Game type
+
+
+
+
+ Password
+
+
+
+
+ Restrictions
+
+
+
+
+ Players
+
+
+
+
+ Spectators
+
+
+
+
+ GeneralSettingsPage
+
+
+
+ English
+
+
+
+
+
+
+ Choose path
+
+
+
+
+ Personal settings
+
+
+
+
+ Language:
+
+
+
+
+ Download card pictures on the fly
+
+
+
+
+ Paths
+
+
+
+
+ Decks directory:
+
+
+
+
+ Pictures directory:
+
+
+
+
+ Path to card database:
+
+
+
+
+ MainWindow
+
+
+ There are too many concurrent connections from your address.
+
+
+
+
+ Banned by moderator.
+
+
+
+
+ Unknown reason.
+
+
+
+
+ Connection closed
+
+
+
+
+ The server has terminated your connection.
+Reason: %1
+
+
+
+
+ Number of players
+
+
+
+
+ Please enter the number of players.
+
+
+
+
+
+ Player %1
+
+
+
+
+ About Cockatrice
+
+
+
+
+ Version %1
+
+
+
+
+ Authors:
+
+
+
+
+ Translators:
+
+
+
+
+ Spanish:
+
+
+
+
+ Portugese (Portugal):
+
+
+
+
+ Portugese (Brazil):
+
+
+
+
+ French:
+
+
+
+
+ Japanese:
+
+
+
+
+ Russian:
+
+
+
+
+
+
+
+
+
+ Error
+
+
+
+
+ Server timeout
+
+
+
+
+ Invalid login data.
+
+
+
+
+ There is already an active session using this user name.
+Please close that session first and re-login.
+
+
+
+
+ Socket error: %1
+
+
+
+
+ You are trying to connect to an obsolete server. Please downgrade your Cockatrice version or connect to a suitable server.
+Local version is %1, remote version is %2.
+
+
+
+
+ Your Cockatrice client is obsolete. Please update your Cockatrice version.
+Local version is %1, remote version is %2.
+
+
+
+
+ Connecting to %1...
+
+
+
+
+ Disconnected
+
+
+
+
+ Logged in at %1
+
+
+
+
+ &Connect...
+
+
+
+
+ &Disconnect
+
+
+
+
+ Start &local game...
+
+
+
+
+ &Deck editor
+
+
+
+
+ &Full screen
+
+
+
+
+ Ctrl+F
+
+
+
+
+ &Settings...
+
+
+
+
+ &Exit
+
+
+
+
+ &Cockatrice
+
+
+
+
+ &About Cockatrice
+
+
+
+
+ &Help
+
+
+
+
+ Are you sure?
+
+
+
+
+ There are still open games. Are you sure you want to quit?
+
+
+
+
+ MessageLogWidget
+
+
+ Connecting to %1...
+
+
+
+
+ Connected.
+
+
+
+
+ Disconnected from server.
+
+
+
+
+ Invalid password.
+
+
+
+
+ Protocol version mismatch. Client: %1, Server: %2
+
+
+
+
+ Protocol error.
+
+
+
+
+ You have joined game #%1.
+
+
+
+
+ %1 has joined the game.
+
+
+
+
+ %1 has left the game.
+
+
+
+
+ The game has been closed.
+
+
+
+
+ %1 is now watching the game.
+
+
+
+
+ %1 is not watching the game any more.
+
+
+
+
+ %1 has loaded a local deck.
+
+
+
+
+ %1 has loaded deck #%2.
+
+
+
+
+ %1 is ready to start the game.
+
+
+
+
+ %1 is not ready to start the game any more.
+
+
+
+
+ %1 has conceded the game.
+
+
+
+
+ The game has started.
+
+
+
+
+ %1 shuffles his library.
+
+
+
+
+ %1 rolls a %2 with a %3-sided die.
+
+
+
+
+ %1 draws %n card(s).
+
+
+
+
+
+
+
+
+ %1 undoes his last draw.
+
+
+
+
+ %1 undoes his last draw (%2).
+
+
+
+
+ from table
+
+
+
+
+ from graveyard
+
+
+
+
+ from exile
+
+
+
+
+ from hand
+
+
+
+
+ the bottom card of his library
+
+
+
+
+ from the bottom of his library
+
+
+
+
+ the top card of his library
+
+
+
+
+ from the top of his library
+
+
+
+
+ from library
+
+
+
+
+ from sideboard
+
+
+
+
+ from the stack
+
+
+
+
+
+ a card
+
+
+
+
+ %1 gives %2 control over %3.
+
+
+
+
+ %1 puts %2 into play tapped%3.
+
+
+
+
+ %1 puts %2 into play%3.
+
+
+
+
+ %1 puts %2%3 into graveyard.
+
+
+
+
+ %1 exiles %2%3.
+
+
+
+
+ %1 moves %2%3 to hand.
+
+
+
+
+ %1 puts %2%3 into his library.
+
+
+
+
+ %1 puts %2%3 on bottom of his library.
+
+
+
+
+ %1 puts %2%3 on top of his library.
+
+
+
+
+ %1 puts %2%3 into his library at position %4.
+
+
+
+
+ %1 moves %2%3 to sideboard.
+
+
+
+
+ %1 plays %2%3.
+
+
+
+
+ %1 flips %2 face-down.
+
+
+
+
+ %1 flips %2 face-up.
+
+
+
+
+ %1 destroys %2.
+
+
+
+
+ %1 attaches %2 to %3's %4.
+
+
+
+
+ %1 unattaches %2.
+
+
+
+
+ %1 creates token: %2%3.
+
+
+
+
+ %1 points from %2's %3 to %4.
+
+
+
+
+ %1 points from %2's %3 to %4's %5.
+
+
+
+
+ %1 places %n %2 counter(s) on %3 (now %4).
+
+
+
+
+
+
+
+
+ %1 removes %n %2 counter(s) from %3 (now %4).
+
+
+
+
+
+
+
+
+ red
+
+
+
+
+
+
+
+
+ yellow
+
+
+
+
+
+
+
+
+ green
+
+
+
+
+
+
+
+
+ his permanents
+
+
+
+
+ %1 %2 %3.
+
+
+
+
+ taps
+
+
+
+
+ untaps
+
+
+
+
+ %1 sets counter %2 to %3 (%4%5).
+
+
+
+
+ %1 sets %2 to not untap normally.
+
+
+
+
+ %1 sets %2 to untap normally.
+
+
+
+
+ %1 sets PT of %2 to %3.
+
+
+
+
+ %1 sets annotation of %2 to %3.
+
+
+
+
+ %1 is looking at the top %2 cards %3.
+
+
+
+
+ %1 is looking at %2.
+
+
+
+
+ %1 stops looking at %2.
+
+
+
+
+ %1 reveals %2 to %3.
+
+
+
+
+ %1 reveals %2.
+
+
+
+
+ %1 randomly reveals %2%3 to %4.
+
+
+
+
+ %1 randomly reveals %2%3.
+
+
+
+
+ %1 reveals %2%3 to %4.
+
+
+
+
+ %1 reveals %2%3.
+
+
+
+
+ It is now %1's turn.
+
+
+
+
+ untap step
+
+
+
+
+ upkeep step
+
+
+
+
+ draw step
+
+
+
+
+ first main phase
+
+
+
+
+ beginning of combat step
+
+
+
+
+ declare attackers step
+
+
+
+
+ declare blockers step
+
+
+
+
+ combat damage step
+
+
+
+
+ end of combat step
+
+
+
+
+ second main phase
+
+
+
+
+ ending phase
+
+
+
+
+ It is now the %1.
+
+
+
+
+ MessagesSettingsPage
+
+
+ Add message
+
+
+
+
+ Message:
+
+
+
+
+ &Add
+
+
+
+
+ &Remove
+
+
+
+
+ PhasesToolbar
+
+
+ Untap step
+
+
+
+
+ Upkeep step
+
+
+
+
+ Draw step
+
+
+
+
+ First main phase
+
+
+
+
+ Beginning of combat step
+
+
+
+
+ Declare attackers step
+
+
+
+
+ Declare blockers step
+
+
+
+
+ Combat damage step
+
+
+
+
+ End of combat step
+
+
+
+
+ Second main phase
+
+
+
+
+ End of turn step
+
+
+
+
+ Player
+
+
+ &View graveyard
+
+
+
+
+ &View exile
+
+
+
+
+ Player "%1"
+
+
+
+
+ &Graveyard
+
+
+
+
+ &Exile
+
+
+
+
+
+
+ Move to &top of library
+
+
+
+
+
+
+ Move to &bottom of library
+
+
+
+
+
+ Move to &graveyard
+
+
+
+
+
+ Move to &exile
+
+
+
+
+
+ Move to &hand
+
+
+
+
+ &View library
+
+
+
+
+ View &top cards of library...
+
+
+
+
+ Reveal &library to
+
+
+
+
+ Reveal t&op card to
+
+
+
+
+ &View sideboard
+
+
+
+
+ &Draw card
+
+
+
+
+ D&raw cards...
+
+
+
+
+ &Undo last draw
+
+
+
+
+ Take &mulligan
+
+
+
+
+ &Shuffle
+
+
+
+
+ Move top cards to &graveyard...
+
+
+
+
+ Move top cards to &exile...
+
+
+
+
+ Put top card on &bottom
+
+
+
+
+ &Hand
+
+
+
+
+ &Reveal to
+
+
+
+
+ Reveal r&andom card to
+
+
+
+
+ &Sideboard
+
+
+
+
+ &Library
+
+
+
+
+ &Counters
+
+
+
+
+ &Untap all permanents
+
+
+
+
+ R&oll die...
+
+
+
+
+ &Create token...
+
+
+
+
+ C&reate another token
+
+
+
+
+ S&ay
+
+
+
+
+ C&ard
+
+
+
+
+ &All players
+
+
+
+
+ Ctrl+F3
+
+
+
+
+ F3
+
+
+
+
+ Ctrl+W
+
+
+
+
+ F4
+
+
+
+
+ Ctrl+D
+
+
+
+
+ Ctrl+E
+
+
+
+
+ Ctrl+Shift+D
+
+
+
+
+ Ctrl+M
+
+
+
+
+ Ctrl+S
+
+
+
+
+ Ctrl+U
+
+
+
+
+ Ctrl+I
+
+
+
+
+ Ctrl+T
+
+
+
+
+ Ctrl+G
+
+
+
+
+ View top cards of library
+
+
+
+
+ Number of cards:
+
+
+
+
+ Draw cards
+
+
+
+
+
+
+
+ Number:
+
+
+
+
+ Move top cards to grave
+
+
+
+
+ Move top cards to exile
+
+
+
+
+ Roll die
+
+
+
+
+ Number of sides:
+
+
+
+
+ Set power/toughness
+
+
+
+
+ Please enter the new PT:
+
+
+
+
+ Set annotation
+
+
+
+
+ Please enter the new annotation:
+
+
+
+
+ Set counters
+
+
+
+
+ PlayerListWidget
+
+
+ local deck
+
+
+
+
+ deck #%1
+
+
+
+
+ User &details
+
+
+
+
+ Direct &chat
+
+
+
+
+ Add to &buddy list
+
+
+
+
+ Remove from &buddy list
+
+
+
+
+ Add to &ignore list
+
+
+
+
+ Remove from &ignore list
+
+
+
+
+ Kick from &game
+
+
+
+
+ QObject
+
+
+ Maindeck
+
+
+
+
+ Sideboard
+
+
+
+
+ Cockatrice decks (*.cod)
+
+
+
+
+ Plain text decks (*.dec *.mwDeck)
+
+
+
+
+ All files (*.*)
+
+
+
+
+ RemoteDeckList_TreeModel
+
+
+ Name
+
+
+
+
+ ID
+
+
+
+
+ Upload time
+
+
+
+
+ RoomSelector
+
+
+ Rooms
+
+
+
+
+ Joi&n
+
+
+
+
+ Room
+
+
+
+
+ Description
+
+
+
+
+ Players
+
+
+
+
+ Games
+
+
+
+
+ SetsModel
+
+
+ Short name
+
+
+
+
+ Long name
+
+
+
+
+ TabAdmin
+
+
+ Update server &message
+
+
+
+
+ Server administration functions
+
+
+
+
+ &Unlock functions
+
+
+
+
+ &Lock functions
+
+
+
+
+ Unlock administration functions
+
+
+
+
+ Do you really want to unlock the administration functions?
+
+
+
+
+ Administration
+
+
+
+
+ TabDeckStorage
+
+
+ Local file system
+
+
+
+
+ Server deck storage
+
+
+
+
+
+ Open in deck editor
+
+
+
+
+ Upload deck
+
+
+
+
+ Download deck
+
+
+
+
+
+ New folder
+
+
+
+
+ Delete
+
+
+
+
+ Enter deck name
+
+
+
+
+ This decklist does not have a name.
+Please enter a name:
+
+
+
+
+
+ Unnamed deck
+
+
+
+
+ Name of new folder:
+
+
+
+
+ Deck storage
+
+
+
+
+ TabGame
+
+
+ F5
+
+
+
+
+ F6
+
+
+
+
+ F7
+
+
+
+
+ F8
+
+
+
+
+ F9
+
+
+
+
+ F10
+
+
+
+
+ &Phases
+
+
+
+
+ &Game
+
+
+
+
+ Next &phase
+
+
+
+
+ Ctrl+Space
+
+
+
+
+ Next &turn
+
+
+
+
+ Ctrl+Return
+
+
+
+
+ Ctrl+Enter
+
+
+
+
+ &Remove all local arrows
+
+
+
+
+ Ctrl+R
+
+
+
+
+ &Concede
+
+
+
+
+ F2
+
+
+
+
+ &Leave game
+
+
+
+
+ &Say:
+
+
+
+
+ Concede
+
+
+
+
+ Are you sure you want to concede this game?
+
+
+
+
+ Leave game
+
+
+
+
+ Are you sure you want to leave this game?
+
+
+
+
+ Kicked
+
+
+
+
+ You have been kicked out of the game.
+
+
+
+
+ Game %1: %2
+
+
+
+
+ TabMessage
+
+
+ Personal &talk
+
+
+
+
+ &Leave
+
+
+
+
+ This user is ignoring you.
+
+
+
+
+ %1 has left the server.
+
+
+
+
+ %1 has joined the server.
+
+
+
+
+ Talking to %1
+
+
+
+
+ TabRoom
+
+
+ &Say:
+
+
+
+
+ Chat
+
+
+
+
+ &Room
+
+
+
+
+ &Leave room
+
+
+
+
+ You are flooding the chat. Please wait a couple of seconds.
+
+
+
+
+ TabServer
+
+
+ Server
+
+
+
+
+ TabUserLists
+
+
+ User lists
+
+
+
+
+ UserInfoBox
+
+
+ User information
+
+
+
+
+ Real name:
+
+
+
+
+ Location:
+
+
+
+
+ User level:
+
+
+
+
+ Administrator
+
+
+
+
+ Judge
+
+
+
+
+ Registered user
+
+
+
+
+ Unregistered user
+
+
+
+
+ UserInterfaceSettingsPage
+
+
+ General interface settings
+
+
+
+
+ &Double-click cards to play them (instead of single-click)
+
+
+
+
+ Animation settings
+
+
+
+
+ &Tap/untap animation
+
+
+
+
+ UserList
+
+
+ Users online: %1
+
+
+
+
+ Users in this room: %1
+
+
+
+
+ Buddies online: %1 / %2
+
+
+
+
+ Ignored users online: %1 / %2
+
+
+
+
+ User &details
+
+
+
+
+ Direct &chat
+
+
+
+
+ Add to &buddy list
+
+
+
+
+ Remove from &buddy list
+
+
+
+
+ Add to &ignore list
+
+
+
+
+ Remove from &ignore list
+
+
+
+
+ Ban from &server
+
+
+
+
+ Duration
+
+
+
+
+ Please enter the duration of the ban (in minutes).
+Enter 0 for an indefinite ban.
+
+
+
+
+ WndDeckEditor
+
+
+ &Search...
+
+
+
+
+ &Clear search
+
+
+
+
+ &Search for:
+
+
+
+
+ Deck &name:
+
+
+
+
+ &Comments:
+
+
+
+
+ Deck editor [*]
+
+
+
+
+ &New deck
+
+
+
+
+ &Load deck...
+
+
+
+
+ &Save deck
+
+
+
+
+ Save deck &as...
+
+
+
+
+ Load deck from cl&ipboard...
+
+
+
+
+ Save deck to clip&board
+
+
+
+
+ &Print deck...
+
+
+
+
+ &Close
+
+
+
+
+ Ctrl+Q
+
+
+
+
+ &Edit sets...
+
+
+
+
+ &Deck
+
+
+
+
+ &Card database
+
+
+
+
+ Add card to &maindeck
+
+
+
+
+ Return
+
+
+
+
+ Enter
+
+
+
+
+ Add card to &sideboard
+
+
+
+
+ Ctrl+Return
+
+
+
+
+ Ctrl+Enter
+
+
+
+
+ &Remove row
+
+
+
+
+ Del
+
+
+
+
+ &Increment number
+
+
+
+
+ +
+
+
+
+
+ &Decrement number
+
+
+
+
+ -
+
+
+
+
+ Are you sure?
+
+
+
+
+ The decklist has been modified.
+Do you want to save the changes?
+
+
+
+
+ Load deck
+
+
+
+
+
+ Error
+
+
+
+
+
+ The deck could not be saved.
+Please check that the directory is writable and try again.
+
+
+
+
+ Save deck
+
+
+
+
+ WndSets
+
+
+ Edit sets
+
+
+
+
+ ZoneViewWidget
+
+
+ sort by name
+
+
+
+
+ sort by type
+
+
+
+
+ shuffle when closing
+
+
+
+
diff --git a/cockatrice/translations/cockatrice_pt-br.ts b/cockatrice/translations/cockatrice_pt-br.ts
index 507edcb3..f3efd560 100644
--- a/cockatrice/translations/cockatrice_pt-br.ts
+++ b/cockatrice/translations/cockatrice_pt-br.ts
@@ -156,22 +156,42 @@
CardInfoWidget
-
+
+ Hide card info
+
+
+
+
+ Show card only
+
+
+
+
+ Show text only
+
+
+
+
+ Show full info
+
+
+
+
Name:
Nome:
-
+
Mana cost:
Custo de mana:
-
+
Card type:
Tipo de card:
-
+
P / T:
P / R:
@@ -611,18 +631,36 @@
Novo valor para o marcador '%1':
+
+ DeckEditorSettingsPage
+
+
+ Enable &price tag feature (using data from blacklotusproject.com)
+
+
+
+
+ General
+ Geral
+
+
DeckListModel
-
+
Number
Número
-
+
Card
Card
+
+
+ Price
+
+
DeckViewContainer
@@ -955,54 +993,59 @@
DlgSettings
-
-
-
+
+
+
Error
Erro
-
+
Your card database is invalid. Would you like to go back and set the correct path?
O seu banco de dados de cards é inválido. Você gostaria de voltar e corrigir o caminho?
-
+
The path to your deck directory is invalid. Would you like to go back and set the correct path?
O caminho para a sua pasta de decks é inválido. Você gostaria de voltar e corrigir o caminho?
-
+
The path to your card pictures directory is invalid. Would you like to go back and set the correct path?
O caminho para a sua pasta de imagens de cards é inválido. Você gostaria de voltar e corrigir o caminho?
-
+
Settings
Configurações
-
+
General
Geral
-
+
Appearance
Aparência
-
+
User interface
Interface do usuário
-
+
+ Deck editor
+
+
+
+
Messages
Mensagens
-
+
&Close
&Fechar
@@ -1010,78 +1053,78 @@
GameSelector
-
+
C&reate
&Criar
-
+
&Join
&Entrar
-
+
Error
Erro
-
+
Wrong password.
Senha incorreta.
-
+
Spectators are not allowed in this game.
Não são permitidos visitantes neste jogo.
-
+
The game is already full.
O jogo está cheio.
-
+
The game does not exist any more.
O jogo não existe mais.
-
+
This game is only open to registered users.
Este jogo é aberto apenas para usuários registrados.
-
+
This game is only open to its creator's buddies.
Este jogo é aberto apenas para os amigos de quem criou o jogo.
-
+
You are being ignored by the creator of this game.
Você está sendo ignorado pelo criador deste jogo.
-
+
Join game
Entrar no jogo
-
+
Password:
Senha:
-
+
Games
Jogos
-
+
Show &full games
&Mostrar os jogos cheios
@@ -1090,7 +1133,7 @@
&Mostrar os jogos cheios
-
+
J&oin as spectator
E&ntrar como visitante
@@ -1295,27 +1338,27 @@
Russo:
-
-
+
-
-
-
+
+
+
+
Error
Erro
-
+
Server timeout
Tempo esgotado do servidor
-
+
Invalid login data.
Informações de login inválidas.
-
+
Socket error: %1
Erro de ligação:%1
@@ -1351,103 +1394,108 @@ Reason: %1
Razão: %1
-
+
+ Czech:
+
+
+
+
There is already an active session using this user name.
Please close that session first and re-login.
Já existe uma sessão ativa usando este nome de usuário.
Por favor, feche a sessão primeiro e logue novamente.
-
+
You are trying to connect to an obsolete server. Please downgrade your Cockatrice version or connect to a suitable server.
Local version is %1, remote version is %2.
Você está tentando conectar a um servidor obsoleto. Por favor, faça um downgrade na versão do seu Cockatrice ou conecte-se ao servidor correto.
A versão local é %1 e a versão remota é %2.
-
+
Your Cockatrice client is obsolete. Please update your Cockatrice version.
Local version is %1, remote version is %2.
A versão do seu Cockatrice é obsoleta. Por favor, atualize a sua versão.
A versão local é %1 e a versão remota é %2.
-
+
Connecting to %1...
Conectando a %1...
-
+
Disconnected
Desconectado
-
+
Logged in at %1
Logado em %1
-
+
&Connect...
&Conectar...
-
+
&Disconnect
&Desconectar
-
+
Start &local game...
Iniciar jogo &local...
-
+
&Deck editor
Editor de &decks
-
+
&Full screen
Tela &cheia
-
+
Ctrl+F
Ctrl+F
-
+
&Settings...
&Configurações...
-
+
&Exit
&Sair
-
+
&Cockatrice
&Cockatrice
-
+
&About Cockatrice
So&bre o Cockatrice
-
+
&Help
&Ajuda
-
+
Are you sure?
Você tem certeza?
-
+
There are still open games. Are you sure you want to quit?
Ainda existem jogos abertos. Você tem certeza que deseja sair?
@@ -1967,22 +2015,22 @@ A versão local é %1 e a versão remota é %2.
MessagesSettingsPage
-
+
&Add
&Adicionar
-
+
&Remove
&Remover
-
+
Add message
Adicionar mensagem
-
+
Message:
Mensagem:
@@ -2449,17 +2497,17 @@ A versão local é %1 e a versão remota é %2.
Sideboard
-
+
Cockatrice decks (*.cod)
Decks Cockatrice (*.cod)
-
+
Plain text decks (*.dec *.mwDeck)
Decks de texto simples (*.dec *.mwDeck)
-
+
All files (*.*)
Todos os arquivos (*.*)
@@ -2834,27 +2882,27 @@ Por favor, entre um nome:
TabRoom
-
+
&Say:
&Falar:
-
+
Chat
Chat
-
+
&Room
&Sala
-
+
&Leave room
S&air da sala
-
+
You are flooding the chat. Please wait a couple of seconds.
Você está flodando o chat. Por favor, espere alguns segundos.
@@ -3037,186 +3085,196 @@ Digite 0 para banir indefinidamente.
WndDeckEditor
-
+
&Search for:
&Buscar por:
-
+
Deck &name:
Nome do &deck:
-
+
&Comments:
&Comentários:
-
+
Deck editor [*]
Editor de decks [*]
-
+
&New deck
&Novo deck
-
+
&Load deck...
&Abrir deck...
-
+
Load deck from cl&ipboard...
Carregar deck da área de &transferência...
-
+
&Save deck
&Salvar deck
-
+
+ &Update prices
+
+
+
+
+ Ctrl+U
+ Ctrl+U
+
+
+
Save deck &as...
Salvar deck c&omo...
-
+
Save deck to clip&board
Salvar deck para a área de t&ransferência
-
+
&Print deck...
&Imprimir deck...
-
+
&Close
&Fechar
-
+
Ctrl+Q
Ctrl+Q
-
+
&Edit sets...
E&ditar expansões...
-
+
&Deck
&Deck
-
+
Load deck
Abrir deck
-
-
+
+
Error
Erro
-
-
+
+
The deck could not be saved.
Please check that the directory is writable and try again.
O deck não pôde ser salvo.
Por favor, verifique se o diretório não é somente leitura e tente novamente.
-
+
Save deck
Salvar deck
-
+
Add card to &maindeck
Incluir no deck &principal
-
+
Return
Return
-
+
Enter
Enter
-
+
Ctrl+Return
Ctrl+Return
-
+
Ctrl+Enter
Ctrl+Enter
-
+
Add card to &sideboard
Incluir no side&board
-
+
&Search...
B&uscar...
-
+
&Clear search
&Limpar busca
-
+
&Card database
Banco de dados de &cards
-
+
&Remove row
&Apagar linha
-
+
Del
Del
-
+
&Increment number
&Aumentar quantidade
-
+
+
+
-
+
&Decrement number
&Diminuir quantidade
-
+
-
-
-
+
Are you sure?
Você tem certeza?
-
+
The decklist has been modified.
Do you want to save the changes?
O deck foi modificado.
diff --git a/cockatrice/translations/cockatrice_pt.ts b/cockatrice/translations/cockatrice_pt.ts
index cef7cf2c..99b8005f 100644
--- a/cockatrice/translations/cockatrice_pt.ts
+++ b/cockatrice/translations/cockatrice_pt.ts
@@ -156,22 +156,42 @@
CardInfoWidget
-
+
+ Hide card info
+
+
+
+
+ Show card only
+
+
+
+
+ Show text only
+
+
+
+
+ Show full info
+
+
+
+
Name:
Nome:
-
+
Mana cost:
Custo de Mana:
-
+
Card type:
Tipo de carta:
-
+
P / T:
P / R:
@@ -611,18 +631,36 @@
Novo valor para o marcador '%1':
+
+ DeckEditorSettingsPage
+
+
+ Enable &price tag feature (using data from blacklotusproject.com)
+
+
+
+
+ General
+ Geral
+
+
DeckListModel
-
+
Number
Número
-
+
Card
Carta
+
+
+ Price
+
+
DeckViewContainer
@@ -955,54 +993,59 @@
DlgSettings
-
-
-
+
+
+
Error
Erro
-
+
Your card database is invalid. Would you like to go back and set the correct path?
A sua base de dados é inválida. Gostaria de voltar atrás e corrigir o directório?
-
+
The path to your deck directory is invalid. Would you like to go back and set the correct path?
O directório do seu deck é inválido. Gostaria de voltar atrás e corrigir o directório?
-
+
The path to your card pictures directory is invalid. Would you like to go back and set the correct path?
O directório das imagens das cartas é inválido. Gostaria de voltar atrás e corrigir o directório?
-
+
Settings
Definições
-
+
General
Geral
-
+
Appearance
Aparência
-
+
User interface
Interface do utilizador
-
+
+ Deck editor
+
+
+
+
Messages
Mensagens
-
+
&Close
&Fechar
@@ -1010,68 +1053,68 @@
GameSelector
-
+
Error
Erro
-
+
Wrong password.
Password incorrecta.
-
+
Spectators are not allowed in this game.
Não são permitidos espectadores neste jogo.
-
+
The game is already full.
O jogo já se encontra cheio.
-
+
The game does not exist any more.
O jogo já não existe.
-
+
This game is only open to registered users.
Este jogo só está aberto a utilizadores registados.
-
+
This game is only open to its creator's buddies.
Este jogo só está aberto aos amigos do seu criador.
-
+
You are being ignored by the creator of this game.
Você está a ser ignorado pelo criador deste jogo.
-
+
Join game
Entrar no jogo
-
+
Password:
Password:
-
+
Games
Jogos
-
+
Show &full games
&Mostrar jogos cheios
@@ -1080,17 +1123,17 @@
&Mostrar jogos cheios
-
+
C&reate
&Criar
-
+
&Join
&Entrar
-
+
J&oin as spectator
Entrar como &espectador
@@ -1299,27 +1342,27 @@
Russo:
-
-
+
-
-
-
+
+
+
+
Error
Erro
-
+
Server timeout
Tempo do servidor esgotado
-
+
Invalid login data.
Informação de login incorrecta.
-
+
Socket error: %1
Erro de ligação:%1
@@ -1355,103 +1398,108 @@ Reason: %1
Motivo: %1
-
+
+ Czech:
+
+
+
+
There is already an active session using this user name.
Please close that session first and re-login.
Já existe uma sessão activa com este nome de utilizador.
Por favor termine essa sessão e volte a ligar-se.
-
+
You are trying to connect to an obsolete server. Please downgrade your Cockatrice version or connect to a suitable server.
Local version is %1, remote version is %2.
Está a tentar ligar-se a um servidor obsoleto. Por favor faça downgrade à sua versão do Cockatrice ou ligue-se a servidor adequado.
Versão local é %1, versão remota é %2.
-
+
Your Cockatrice client is obsolete. Please update your Cockatrice version.
Local version is %1, remote version is %2.
A sua versão do Cockatrice é obsoleta. Por favor actualize-a.
Versão local é %1, versão remota é %2.
-
+
Connecting to %1...
Ligando a %1...
-
+
Disconnected
Desligado
-
+
Logged in at %1
Logado em %1
-
+
&Connect...
&Ligar...
-
+
&Disconnect
&Desligar
-
+
Start &local game...
Começar &jogo local...
-
+
&Deck editor
&Editor de decks
-
+
&Full screen
Ecrã &inteiro
-
+
Ctrl+F
Ctrl+F
-
+
&Settings...
&Configurações...
-
+
&Exit
&Sair
-
+
&Cockatrice
&Cockatrice
-
+
&About Cockatrice
S&obre o Cockatrice
-
+
&Help
&Ajuda
-
+
Are you sure?
Tens a certeza?
-
+
There are still open games. Are you sure you want to quit?
Ainda há jogos abertos. Tem a certeza que deseja sair?
@@ -1971,22 +2019,22 @@ Versão local é %1, versão remota é %2.
MessagesSettingsPage
-
+
Add message
Adicionar mensagem
-
+
Message:
Mensagem:
-
+
&Add
&Adicionar
-
+
&Remove
&Remover
@@ -2453,17 +2501,17 @@ Versão local é %1, versão remota é %2.
Sideboard
-
+
Cockatrice decks (*.cod)
Decks do Cockatrice (*.cod)
-
+
Plain text decks (*.dec *.mwDeck)
Decks baseados em texto simples (*.dec *.mwDeck)
-
+
All files (*.*)
Todos os ficheiros (*.*)
@@ -2838,27 +2886,27 @@ Por favor introduza um nome:
TabRoom
-
+
&Say:
&Dizer:
-
+
Chat
-
+
&Room
&Sala
-
+
&Leave room
&Abandonar a sala
-
+
You are flooding the chat. Please wait a couple of seconds.
Estás a inundar o chat .Por favor aguarde alguns segundos.
@@ -3041,188 +3089,198 @@ Introduza 0 para um banimento indefinido.
WndDeckEditor
-
+
&Search...
&Procurar...
-
+
&Clear search
&Limpar pesquisa
-
+
&Search for:
&Procurar por:
-
+
Deck &name:
&Nome do deck:
-
+
&Comments:
&Comentários:
-
+
+ &Update prices
+
+
+
+
+ Ctrl+U
+ Ctrl+U
+
+
+
Deck editor [*]
Editor de decks [*]
-
+
&New deck
&Novo deck
-
+
&Load deck...
&Carregar deck...
-
+
&Save deck
&Guardar deck
-
+
Save deck &as...
G&uardar deck como...
-
+
Load deck from cl&ipboard...
Carregar dec&k da memória...
-
+
Save deck to clip&board
Guardar deck na &memória
-
+
&Print deck...
&Imprimir deck...
-
+
&Close
&Fechar
-
+
Ctrl+Q
Ctrl+Q
-
+
&Edit sets...
&Editar expansões...
-
+
&Deck
&Deck
-
+
&Card database
&Base de dados das cartas
-
+
Add card to &maindeck
Adicionar carta ao &maindeck
-
+
Return
Return
-
+
Enter
Enter
-
+
Add card to &sideboard
Adicionar carta ao &sideboard
-
+
Ctrl+Return
Ctrl+Return
-
+
Ctrl+Enter
Ctrl+Enter
-
+
&Remove row
&Remover linha
-
+
Del
Del
-
+
&Increment number
&Aumentar o número
-
+
+
+
-
+
&Decrement number
&Diminuir o número
-
+
-
-
-
+
Are you sure?
Tem a certeza?
-
+
The decklist has been modified.
Do you want to save the changes?
A lista foi modificada.
Gostaria de guardar as alterações?
-
+
Load deck
Carregar deck
-
-
+
+
Error
Erro
-
-
+
+
The deck could not be saved.
Please check that the directory is writable and try again.
O deck não pode ser guardado.
Por favor confirme se é possível escrever do directório e tente de novo.
-
+
Save deck
Guardar deck
diff --git a/cockatrice/translations/cockatrice_ru.ts b/cockatrice/translations/cockatrice_ru.ts
index 0f21ddfd..2bb0a7a4 100644
--- a/cockatrice/translations/cockatrice_ru.ts
+++ b/cockatrice/translations/cockatrice_ru.ts
@@ -152,22 +152,42 @@
CardInfoWidget
-
+
+ Hide card info
+
+
+
+
+ Show card only
+
+
+
+
+ Show text only
+
+
+
+
+ Show full info
+
+
+
+
Name:
Название:
-
+
Mana cost:
Манакост:
-
+
Card type:
Тип:
-
+
P / T:
Сила/Защита:
@@ -557,18 +577,36 @@
сайд %1-го игрока
+
+ DeckEditorSettingsPage
+
+
+ Enable &price tag feature (using data from blacklotusproject.com)
+
+
+
+
+ General
+ Основные
+
+
DeckListModel
-
+
Number
Номер
-
+
Card
Название
+
+
+ Price
+
+
DeckViewContainer
@@ -894,54 +932,59 @@
DlgSettings
-
-
-
+
+
+
Error
Ошибка
-
+
Your card database is invalid. Would you like to go back and set the correct path?
База карт не найдена. Вернуться и задать правильный путь?
-
+
The path to your deck directory is invalid. Would you like to go back and set the correct path?
Ваши колоды отсутствуют в указанной папке. Вернуться и задать правильный путь?
-
+
The path to your card pictures directory is invalid. Would you like to go back and set the correct path?
Изображения карт не найдены. Вернуться и задать правильный путь?
-
+
Settings
Настройки
-
+
General
Основные
-
+
Appearance
Внешний вид
-
+
User interface
Интерфейс
-
+
+ Deck editor
+
+
+
+
Messages
Сообщения
-
+
&Close
&Закрыть
@@ -949,83 +992,83 @@
GameSelector
-
+
Error
Ошибка
-
+
Wrong password.
Неверный пароль.
-
+
Spectators are not allowed in this game.
В эту игру не пускают зрителей.
-
+
The game is already full.
Все места заняты! =Ь
-
+
The game does not exist any more.
Эта игра была удалена.
-
+
This game is only open to registered users.
Доступно только для зарегистрированных.
-
+
This game is only open to its creator's buddies.
Доступно только для друзей.
-
+
You are being ignored by the creator of this game.
Вы добавлены в игнор-лист данного игрока.
-
+
Join game
Присоединиться
-
+
Password:
Пароль:
-
+
Games
Игры
-
+
Show &full games
Показывать &текущие
-
+
C&reate
С&оздать
-
+
&Join
&Присоединиться
-
+
J&oin as spectator
П&рисоединиться как зритель
@@ -1253,128 +1296,133 @@ Reason: %1
Русский:
-
-
+
+ Czech:
+
+
+
+
-
-
-
+
+
+
+
Error
Ошибка
-
+
Server timeout
Временная ошибка
-
+
Invalid login data.
Неверный логин/пароль.
-
+
There is already an active session using this user name.
Please close that session first and re-login.
Пользователь с таким именем уже подключен.
Пожалуйста, закройте это подключение и войдите заново.
-
+
Socket error: %1
Ошибка сокета: %1
-
+
You are trying to connect to an obsolete server. Please downgrade your Cockatrice version or connect to a suitable server.
Local version is %1, remote version is %2.
Вы пытаетесь подключиться к несуществующему серверу. Пожалуйста, обновите Cockatrice или выберите другой сервер.
Локальная версия %1, удаленная версия %2.
-
+
Your Cockatrice client is obsolete. Please update your Cockatrice version.
Local version is %1, remote version is %2.
Ваш клиент Cockatrice устарел. Пожалуйста, обновите Cockatrice.
Локальная версия %1, удаленная версия %2.
-
+
Connecting to %1...
Подключение к %1...
-
+
Disconnected
Подключение прервано
-
+
Logged in at %1
Подключено к %1
-
+
&Connect...
&Подключение...
-
+
&Disconnect
П&рервать подключение
-
+
Start &local game...
&Начать локальную игру...
-
+
&Deck editor
Редактор &колод
-
+
&Full screen
П&олный экран
-
+
Ctrl+F
-
+
&Settings...
Н&астройки
-
+
&Exit
&Выход
-
+
&Cockatrice
-
+
&About Cockatrice
О про&грамме
-
+
&Help
&Справка
-
+
Are you sure?
Вы уверены?
-
+
There are still open games. Are you sure you want to quit?
Вы подключены к игре. Выйти?
@@ -1903,22 +1951,22 @@ Local version is %1, remote version is %2.
MessagesSettingsPage
-
+
Add message
Добавить сообщение
-
+
Message:
Сообщение:
-
+
&Add
&Добавить
-
+
&Remove
&Удалить
@@ -2377,17 +2425,17 @@ Local version is %1, remote version is %2.
Сайд
-
+
Cockatrice decks (*.cod)
Cockatrice-деклисты (*.cod)
-
+
Plain text decks (*.dec *.mwDeck)
Текстовые деклисты (*.dec *.mwDeck)
-
+
All files (*.*)
Все файлы (*.*)
@@ -2736,27 +2784,27 @@ Please enter a name:
TabRoom
-
+
&Say:
&Сказать:
-
+
Chat
Чат
-
+
&Room
&Комната
-
+
&Leave room
&Покинуть комнату
-
+
You are flooding the chat. Please wait a couple of seconds.
Кажется, Вы нафлудили. Пожалуйста, подождите пару секунд.
@@ -2931,188 +2979,198 @@ Enter 0 for an indefinite ban.
WndDeckEditor
-
+
&Search...
&Поиск...
-
+
&Clear search
&Очистить строку поиска
-
+
&Search for:
&Искать:
-
+
Deck &name:
&Название колоды:
-
+
&Comments:
Ко&мментарии:
-
+
+ &Update prices
+
+
+
+
+ Ctrl+U
+
+
+
+
Deck editor [*]
Редактор колод [*]
-
+
&New deck
Новая коло&да
-
+
&Load deck...
&Загрузить колоду...
-
+
&Save deck
Со&хранить колоду
-
+
Save deck &as...
Сохранить колоду к&ак...
-
+
Load deck from cl&ipboard...
Взять колоду из &буфера...
-
+
Save deck to clip&board
Копировать колоду в бу&фер
-
+
&Print deck...
Пе&чать колоды...
-
+
&Close
&Закрыть
-
+
Ctrl+Q
-
+
&Edit sets...
Редактировать издани&я...
-
+
&Deck
Ко&лода
-
+
&Card database
База кар&т
-
+
Add card to &maindeck
Добавить ме&йном
-
+
Return
-
+
Enter
-
+
Add card to &sideboard
Добавить в са&йд
-
+
Ctrl+Return
-
+
Ctrl+Enter
-
+
&Remove row
&Удалить строку
-
+
Del
-
+
&Increment number
У&величить количество
-
+
+
-
+
&Decrement number
У&меньшить количество
-
+
-
-
+
Are you sure?
Вы уверены?
-
+
The decklist has been modified.
Do you want to save the changes?
Деклист был отредактирован.
Сохранить изменения?
-
+
Load deck
Загрузить колоду
-
-
+
+
Error
Ошибка
-
-
+
+
The deck could not be saved.
Please check that the directory is writable and try again.
Колода не может быть сохранена.
Убедитесь, что директория указана верно,а затем повторите попытку.
-
+
Save deck
Сохранить колоду
diff --git a/common/decklist.cpp b/common/decklist.cpp
index 75a26514..6aed8f89 100644
--- a/common/decklist.cpp
+++ b/common/decklist.cpp
@@ -127,6 +127,19 @@ int InnerDecklistNode::recursiveCount(bool countTotalCards) const
return result;
}
+float InnerDecklistNode::recursivePrice(bool countTotalCards) const
+{
+ float result = 0;
+ for (int i = 0; i < size(); i++) {
+ InnerDecklistNode *node = dynamic_cast(at(i));
+ if (node)
+ result += node->recursivePrice(countTotalCards);
+ else if (countTotalCards)
+ result += dynamic_cast(at(i))->getTotalPrice();
+ }
+ return result;
+}
+
bool InnerDecklistNode::compare(AbstractDecklistNode *other) const
{
InnerDecklistNode *other2 = dynamic_cast(other);
@@ -165,11 +178,12 @@ bool InnerDecklistNode::readElement(QXmlStreamReader *xml)
}
if (xml->isStartElement() && (xml->name() == "zone"))
currentItem = new InnerDecklistNode(xml->attributes().value("name").toString(), this);
- else if (xml->isStartElement() && (xml->name() == "card"))
- currentItem = new DecklistCardNode(xml->attributes().value("name").toString(), xml->attributes().value("number").toString().toInt(), this);
- else if (xml->isEndElement() && (xml->name() == "zone"))
+ else if (xml->isStartElement() && (xml->name() == "card")) {
+ float price = (xml->attributes().value("price") != NULL) ? xml->attributes().value("price").toString().toFloat() : 0;
+ currentItem = new DecklistCardNode(xml->attributes().value("name").toString(), xml->attributes().value("number").toString().toInt(), price, this);
+ } else if (xml->isEndElement() && (xml->name() == "zone"))
return true;
-
+
return false;
}
@@ -194,6 +208,7 @@ void AbstractDecklistCardNode::writeElement(QXmlStreamWriter *xml)
{
xml->writeEmptyElement("card");
xml->writeAttribute("number", QString::number(getNumber()));
+ xml->writeAttribute("price", QString::number(getPrice()));
xml->writeAttribute("name", getName());
}
diff --git a/common/decklist.h b/common/decklist.h
index 37942174..d0f2b7cf 100644
--- a/common/decklist.h
+++ b/common/decklist.h
@@ -69,6 +69,7 @@ public:
AbstractDecklistNode *findChild(const QString &name);
int height() const;
int recursiveCount(bool countTotalCards = false) const;
+ float recursivePrice(bool countTotalCards = false) const;
bool compare(AbstractDecklistNode *other) const;
QVector > sort(Qt::SortOrder order = Qt::AscendingOrder);
@@ -83,6 +84,9 @@ public:
virtual void setNumber(int _number) = 0;
virtual QString getName() const = 0;
virtual void setName(const QString &_name) = 0;
+ virtual float getPrice() const = 0;
+ virtual void setPrice(float _price) = 0;
+ float getTotalPrice() const { return getNumber() * getPrice(); }
int height() const { return 0; }
bool compare(AbstractDecklistNode *other) const;
@@ -94,14 +98,18 @@ class DecklistCardNode : public AbstractDecklistCardNode {
private:
QString name;
int number;
+ float price;
public:
- DecklistCardNode(const QString &_name = QString(), int _number = 1, InnerDecklistNode *_parent = 0) : AbstractDecklistCardNode(_parent), name(_name), number(_number) { }
+ DecklistCardNode(const QString &_name = QString(), int _number = 1, float _price = 0, InnerDecklistNode *_parent = 0) : AbstractDecklistCardNode(_parent), name(_name), number(_number), price(_price) { }
+ DecklistCardNode(const QString &_name = QString(), int _number = 1, InnerDecklistNode *_parent = 0) : AbstractDecklistCardNode(_parent), name(_name), number(_number), price(0) { }
DecklistCardNode(DecklistCardNode *other, InnerDecklistNode *_parent);
int getNumber() const { return number; }
void setNumber(int _number) { number = _number; }
QString getName() const { return name; }
void setName(const QString &_name) { name = _name; }
-};
+ float getPrice() const { return price; }
+ void setPrice(const float _price) { price = _price; }
+ };
class DeckList : public SerializableItem {
Q_OBJECT