Make deck editor filter translatable ; extracted new translations; Fix #3488 (#3490)

* Fix #3488 ; extracted new translations

* Make operators translatable, too
This commit is contained in:
ctrlaltca 2019-01-08 03:50:36 +01:00 committed by Zach H
parent 463ef13fe0
commit 4eda7cda9e
7 changed files with 1216 additions and 1019 deletions

View file

@ -1,47 +1,47 @@
#include "cardfilter.h"
const char *CardFilter::typeName(Type t)
const QString CardFilter::typeName(Type t)
{
switch (t) {
case TypeAnd:
return "AND";
return tr("AND", "Logical conjunction operator used in card filter");
case TypeOr:
return "OR";
return tr("OR", "Logical disjunction operator used in card filter");
case TypeAndNot:
return "AND NOT";
return tr("AND NOT", "Negated logical conjunction operator used in card filter");
case TypeOrNot:
return "OR NOT";
return tr("OR NOT", "Negated logical disjunction operator used in card filter");
default:
return "";
return QString("");
}
}
const char *CardFilter::attrName(Attr a)
const QString CardFilter::attrName(Attr a)
{
switch (a) {
case AttrName:
return "Name";
return tr("Name");
case AttrType:
return "Type";
return tr("Type");
case AttrColor:
return "Color";
return tr("Color");
case AttrText:
return "Text";
return tr("Text");
case AttrSet:
return "Set";
return tr("Set");
case AttrManaCost:
return "Mana Cost";
return tr("Mana Cost");
case AttrCmc:
return "CMC";
return tr("CMC");
case AttrRarity:
return "Rarity";
return tr("Rarity");
case AttrPow:
return "Power";
return tr("Power");
case AttrTough:
return "Toughness";
return tr("Toughness");
case AttrLoyalty:
return "Loyalty";
return tr("Loyalty");
default:
return "";
return QString("");
}
}

View file

@ -1,10 +1,13 @@
#ifndef CARDFILTER_H
#define CARDFILTER_H
#include <QObject>
#include <QString>
class CardFilter
class CardFilter : public QObject
{
Q_OBJECT
public:
enum Type
{
@ -54,8 +57,8 @@ public:
return a;
}
static const char *typeName(Type t);
static const char *attrName(Attr a);
static const QString typeName(Type t);
static const QString attrName(Attr a);
};
#endif

View file

@ -12,7 +12,7 @@ FilterBuilder::FilterBuilder(QWidget *parent) : QWidget(parent)
filterCombo = new QComboBox;
filterCombo->setObjectName("filterCombo");
for (int i = 0; i < CardFilter::AttrEnd; i++)
filterCombo->addItem(tr(CardFilter::attrName(static_cast<CardFilter::Attr>(i))), QVariant(i));
filterCombo->addItem(CardFilter::attrName(static_cast<CardFilter::Attr>(i)), QVariant(i));
typeCombo = new QComboBox;
typeCombo->setObjectName("typeCombo");

View file

@ -54,18 +54,14 @@ public:
{
return (parent() != NULL) ? parent()->childIndex(this) : -1;
}
virtual QString text() const
virtual const QString text() const
{
return QString(textCStr());
return QString("");
}
virtual bool isLeaf() const
{
return false;
}
virtual const char *textCStr() const
{
return "";
}
virtual void nodeChanged() const
{
if (parent() != NULL)
@ -126,7 +122,7 @@ public:
const FilterItemList *findTypeList(CardFilter::Type type) const;
FilterItemList *typeList(CardFilter::Type type);
FilterTreeNode *parent() const;
const char *textCStr() const
const QString text() const
{
return CardFilter::attrName(attr);
}
@ -154,7 +150,7 @@ public:
}
int termIndex(const QString &term) const;
FilterTreeNode *termNode(const QString &term);
const char *textCStr() const
const QString text() const
{
return CardFilter::typeName(type);
}
@ -190,14 +186,10 @@ public:
{
return p;
}
QString text() const
const QString text() const
{
return term;
}
const char *textCStr() const
{
return term.toStdString().c_str();
}
bool isLeaf() const
{
return true;
@ -263,9 +255,9 @@ public:
FilterTreeNode *termNode(CardFilter::Attr attr, CardFilter::Type type, const QString &term);
FilterTreeNode *termNode(const CardFilter *f);
FilterTreeNode *attrTypeNode(CardFilter::Attr attr, CardFilter::Type type);
const char *textCStr() const
const QString text() const
{
return "root";
return QString("root");
}
int index() const
{

View file

@ -128,10 +128,7 @@ QVariant FilterTreeModel::data(const QModelIndex &index, int role) const
case Qt::ToolTipRole:
case Qt::StatusTipRole:
case Qt::WhatsThisRole:
if (!node->isLeaf())
return tr(node->textCStr());
else
return node->text();
return node->text();
case Qt::CheckStateRole:
if (node->isEnabled())
return Qt::Checked;

File diff suppressed because it is too large Load diff

View file

@ -4,22 +4,22 @@
<context>
<name>IntroPage</name>
<message>
<location filename="../src/oraclewizard.cpp" line="180"/>
<location filename="../src/oraclewizard.cpp" line="191"/>
<source>Introduction</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="181"/>
<location filename="../src/oraclewizard.cpp" line="192"/>
<source>This wizard will import the list of sets, cards, and tokens that will be used by Cockatrice.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="183"/>
<location filename="../src/oraclewizard.cpp" line="194"/>
<source>Language:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="184"/>
<location filename="../src/oraclewizard.cpp" line="195"/>
<source>Version:</source>
<translation type="unfinished"></translation>
</message>
@ -27,122 +27,127 @@
<context>
<name>LoadSetsPage</name>
<message>
<location filename="../src/oraclewizard.cpp" line="231"/>
<location filename="../src/oraclewizard.cpp" line="242"/>
<source>Source selection</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="232"/>
<location filename="../src/oraclewizard.cpp" line="243"/>
<source>Please specify a source for the list of sets and cards. You can specify a URL address that will be downloaded or use an existing file from your computer.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="236"/>
<location filename="../src/oraclewizard.cpp" line="247"/>
<source>Download URL:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="237"/>
<location filename="../src/oraclewizard.cpp" line="248"/>
<source>Local file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="238"/>
<location filename="../src/oraclewizard.cpp" line="249"/>
<source>Restore default URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="239"/>
<location filename="../src/oraclewizard.cpp" line="250"/>
<source>Choose file...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="249"/>
<location filename="../src/oraclewizard.cpp" line="260"/>
<source>Load sets file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="253"/>
<source>Sets JSON file (*.json *.zip)</source>
<location filename="../src/oraclewizard.cpp" line="270"/>
<source>Sets JSON file (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="255"/>
<source>Sets JSON file (*.json)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="280"/>
<location filename="../src/oraclewizard.cpp" line="299"/>
<location filename="../src/oraclewizard.cpp" line="304"/>
<location filename="../src/oraclewizard.cpp" line="343"/>
<location filename="../src/oraclewizard.cpp" line="442"/>
<location filename="../src/oraclewizard.cpp" line="464"/>
<location filename="../src/oraclewizard.cpp" line="294"/>
<location filename="../src/oraclewizard.cpp" line="313"/>
<location filename="../src/oraclewizard.cpp" line="318"/>
<location filename="../src/oraclewizard.cpp" line="357"/>
<location filename="../src/oraclewizard.cpp" line="481"/>
<location filename="../src/oraclewizard.cpp" line="503"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="280"/>
<location filename="../src/oraclewizard.cpp" line="294"/>
<source>The provided URL is not valid.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="284"/>
<location filename="../src/oraclewizard.cpp" line="298"/>
<source>Downloading (0MB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="299"/>
<location filename="../src/oraclewizard.cpp" line="313"/>
<source>Please choose a file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="304"/>
<location filename="../src/oraclewizard.cpp" line="318"/>
<source>Cannot open file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="334"/>
<location filename="../src/oraclewizard.cpp" line="348"/>
<source>Downloading (%1MB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="343"/>
<location filename="../src/oraclewizard.cpp" line="357"/>
<source>Network error: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="381"/>
<location filename="../src/oraclewizard.cpp" line="395"/>
<source>Parsing file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="397"/>
<location filename="../src/oraclewizard.cpp" line="409"/>
<source>Xz extraction failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="417"/>
<source>Sorry, this version of Oracle does not support xz compressed files.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="436"/>
<source>Failed to open Zip archive: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="402"/>
<location filename="../src/oraclewizard.cpp" line="441"/>
<source>Zip extraction failed: the Zip archive doesn&apos;t contain exactly one file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="410"/>
<location filename="../src/oraclewizard.cpp" line="449"/>
<source>Zip extraction failed: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="419"/>
<location filename="../src/oraclewizard.cpp" line="458"/>
<source>Sorry, this version of Oracle does not support zipped files.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="443"/>
<location filename="../src/oraclewizard.cpp" line="482"/>
<source>Do you want to try to download a fresh copy of the uncompressed file instead?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="465"/>
<location filename="../src/oraclewizard.cpp" line="504"/>
<source>The file was retrieved successfully, but it does not contain any sets data.</source>
<translation type="unfinished"></translation>
</message>
@ -150,48 +155,48 @@
<context>
<name>LoadSpoilersPage</name>
<message>
<location filename="../src/oraclewizard.cpp" line="603"/>
<location filename="../src/oraclewizard.cpp" line="642"/>
<source>Downloading (%1MB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="613"/>
<location filename="../src/oraclewizard.cpp" line="673"/>
<location filename="../src/oraclewizard.cpp" line="652"/>
<location filename="../src/oraclewizard.cpp" line="712"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="613"/>
<location filename="../src/oraclewizard.cpp" line="652"/>
<source>Network error: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="673"/>
<location filename="../src/oraclewizard.cpp" line="712"/>
<source>The provided URL is not valid.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="677"/>
<location filename="../src/oraclewizard.cpp" line="716"/>
<source>Downloading (0MB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="694"/>
<location filename="../src/oraclewizard.cpp" line="733"/>
<source>Spoilers source selection</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="695"/>
<location filename="../src/oraclewizard.cpp" line="734"/>
<source>Please specify a spoiler source.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="697"/>
<location filename="../src/oraclewizard.cpp" line="736"/>
<source>Download URL:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="698"/>
<location filename="../src/oraclewizard.cpp" line="737"/>
<source>Restore default URL</source>
<translation type="unfinished"></translation>
</message>
@ -199,48 +204,48 @@
<context>
<name>LoadTokensPage</name>
<message>
<location filename="../src/oraclewizard.cpp" line="732"/>
<location filename="../src/oraclewizard.cpp" line="771"/>
<source>Tokens source selection</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="733"/>
<location filename="../src/oraclewizard.cpp" line="772"/>
<source>Please specify a source for the list of tokens.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="735"/>
<location filename="../src/oraclewizard.cpp" line="774"/>
<source>Download URL:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="736"/>
<location filename="../src/oraclewizard.cpp" line="775"/>
<source>Restore default URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="753"/>
<location filename="../src/oraclewizard.cpp" line="798"/>
<location filename="../src/oraclewizard.cpp" line="792"/>
<location filename="../src/oraclewizard.cpp" line="837"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="753"/>
<location filename="../src/oraclewizard.cpp" line="792"/>
<source>The provided URL is not valid.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="757"/>
<location filename="../src/oraclewizard.cpp" line="796"/>
<source>Downloading (0MB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="789"/>
<location filename="../src/oraclewizard.cpp" line="828"/>
<source>Downloading (%1MB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="798"/>
<location filename="../src/oraclewizard.cpp" line="837"/>
<source>Network error: %1.</source>
<translation type="unfinished"></translation>
</message>
@ -248,7 +253,7 @@
<context>
<name>OracleImporter</name>
<message>
<location filename="../src/oracleimporter.cpp" line="345"/>
<location filename="../src/oracleimporter.cpp" line="339"/>
<source>Dummy set containing tokens</source>
<translation type="unfinished"></translation>
</message>
@ -256,12 +261,12 @@
<context>
<name>OracleWizard</name>
<message>
<location filename="../src/oraclewizard.cpp" line="80"/>
<location filename="../src/oraclewizard.cpp" line="91"/>
<source>Oracle Importer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="81"/>
<location filename="../src/oraclewizard.cpp" line="92"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
@ -269,69 +274,69 @@
<context>
<name>SaveSetsPage</name>
<message>
<location filename="../src/oraclewizard.cpp" line="497"/>
<location filename="../src/oraclewizard.cpp" line="553"/>
<location filename="../src/oraclewizard.cpp" line="536"/>
<location filename="../src/oraclewizard.cpp" line="592"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="497"/>
<location filename="../src/oraclewizard.cpp" line="536"/>
<source>No set has been imported.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="503"/>
<location filename="../src/oraclewizard.cpp" line="542"/>
<source>Sets imported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="504"/>
<location filename="../src/oraclewizard.cpp" line="543"/>
<source>The following sets has been imported. Press &quot;Save&quot; to save the imported cards to the Cockatrice database.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="507"/>
<location filename="../src/oraclewizard.cpp" line="546"/>
<source>Save to the default path (recommended)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="508"/>
<location filename="../src/oraclewizard.cpp" line="547"/>
<source>&amp;Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="514"/>
<location filename="../src/oraclewizard.cpp" line="553"/>
<source>Import finished: %1 cards.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="517"/>
<location filename="../src/oraclewizard.cpp" line="556"/>
<source>%1: %2 cards imported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="527"/>
<location filename="../src/oraclewizard.cpp" line="566"/>
<source>Save card database</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="528"/>
<location filename="../src/oraclewizard.cpp" line="567"/>
<source>XML; card database (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="550"/>
<location filename="../src/oraclewizard.cpp" line="589"/>
<source>Success</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="551"/>
<location filename="../src/oraclewizard.cpp" line="590"/>
<source>The card database has been saved successfully to
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="553"/>
<location filename="../src/oraclewizard.cpp" line="592"/>
<source>The file could not be saved to %1</source>
<translation type="unfinished"></translation>
</message>
@ -339,37 +344,37 @@
<context>
<name>SaveSpoilersPage</name>
<message>
<location filename="../src/oraclewizard.cpp" line="850"/>
<location filename="../src/oraclewizard.cpp" line="889"/>
<source>Spoilers imported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="851"/>
<location filename="../src/oraclewizard.cpp" line="890"/>
<source>The spoilers file has been imported. Press &quot;Save&quot; to save the imported spoilers to the Cockatrice card database.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="854"/>
<location filename="../src/oraclewizard.cpp" line="893"/>
<source>Save to the default path (recommended)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="861"/>
<location filename="../src/oraclewizard.cpp" line="900"/>
<source>Save spoiler database</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="862"/>
<location filename="../src/oraclewizard.cpp" line="901"/>
<source>XML; card database (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="885"/>
<location filename="../src/oraclewizard.cpp" line="924"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="885"/>
<location filename="../src/oraclewizard.cpp" line="924"/>
<source>The file could not be saved to %1</source>
<translation type="unfinished"></translation>
</message>
@ -377,48 +382,48 @@
<context>
<name>SaveTokensPage</name>
<message>
<location filename="../src/oraclewizard.cpp" line="909"/>
<location filename="../src/oraclewizard.cpp" line="948"/>
<source>Tokens imported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="910"/>
<location filename="../src/oraclewizard.cpp" line="949"/>
<source>The tokens has been imported. Press &quot;Save&quot; to save the imported tokens to the Cockatrice tokens database.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="913"/>
<location filename="../src/oraclewizard.cpp" line="952"/>
<source>Save to the default path (recommended)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="920"/>
<location filename="../src/oraclewizard.cpp" line="959"/>
<source>Save token database</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="921"/>
<location filename="../src/oraclewizard.cpp" line="960"/>
<source>XML; token database (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="943"/>
<location filename="../src/oraclewizard.cpp" line="982"/>
<source>Success</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="944"/>
<location filename="../src/oraclewizard.cpp" line="983"/>
<source>The token database has been saved successfully to
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="946"/>
<location filename="../src/oraclewizard.cpp" line="985"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/oraclewizard.cpp" line="946"/>
<location filename="../src/oraclewizard.cpp" line="985"/>
<source>The file could not be saved to %1</source>
<translation type="unfinished"></translation>
</message>