1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-01-26 03:52:01 +02:00

Merge pull request #5191 from Laserlicht/translations

[1.6.x] mapeditor translations
This commit is contained in:
Ivan Savenko 2025-01-05 13:15:46 +02:00 committed by GitHub
commit 018503c5e8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
22 changed files with 3572 additions and 338 deletions

View File

@ -74,7 +74,7 @@
<message>
<location filename="../aboutProject/aboutproject_moc.ui" line="227"/>
<source>Configuration files directory</source>
<translation>Verzeichnis der Konfiguarions-Dateien</translation>
<translation>Verzeichnis der Konfigurationsdateien</translation>
</message>
<message>
<location filename="../aboutProject/aboutproject_moc.ui" line="290"/>
@ -492,7 +492,7 @@ Installation erfolgreich heruntergeladen?</translation>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="996"/>
<source>Handle back as right mouse button</source>
<translation type="unfinished"></translation>
<translation>Behandle &quot;Zurück&quot; als rechte Maustaste</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1102"/>
@ -823,7 +823,7 @@ Exklusiver Vollbildmodus - das Spiel nimmt den gesamten Bildschirm ein und verwe
<message>
<location filename="../modManager/chroniclesextractor.cpp" line="144"/>
<source>Heroes Chronicles %1 - %2</source>
<translation type="unfinished">Heroes Chronicles %1 - %2</translation>
<translation>Heroes Chronicles %1 - %2</translation>
</message>
</context>
<context>
@ -1163,11 +1163,13 @@ Fehlerursache: </translation>
Exe (%n bytes):
%1</source>
<comment>param is hash</comment>
<translation type="unfinished">
<translation>
<numerusform>SHA1-Hash der bereitgestellten Dateien:
Exe (%n Bytes):
%1</numerusform>
<numerusform>SHA1-Hash der bereitgestellten Dateien:
Exe (%n Bytes):
%1</numerusform>
<numerusform></numerusform>
</translation>
</message>
<message numerus="yes">
@ -1176,11 +1178,13 @@ Exe (%n Bytes):
Bin (%n bytes):
%1</source>
<comment>param is hash</comment>
<translation type="unfinished">
<translation>
<numerusform>
Bin (%n Bytes):
%1</numerusform>
<numerusform>
Bin (%n Bytes):
%1</numerusform>
<numerusform></numerusform>
</translation>
</message>
<message>
@ -1357,7 +1361,7 @@ Bin (%n Bytes):
<message>
<location filename="../mainwindow_moc.cpp" line="46"/>
<source>Error starting executable</source>
<translation type="unfinished">Fehler beim Starten der ausführbaren Datei</translation>
<translation>Fehler beim Starten der ausführbaren Datei</translation>
</message>
<message>
<location filename="../mainwindow_moc.cpp" line="287"/>
@ -1454,7 +1458,7 @@ Bin (%n Bytes):
<message>
<location filename="../modManager/modstatecontroller.cpp" line="248"/>
<source>Mod data was not found</source>
<translation type="unfinished"></translation>
<translation>Mod-Daten wurden nicht gefunden</translation>
</message>
<message>
<location filename="../modManager/modstatecontroller.cpp" line="252"/>

View File

@ -20,6 +20,7 @@
#include "../lib/mapObjects/ObjectTemplate.h"
#include "../lib/mapping/CMap.h"
#include "../lib/constants/StringConstants.h"
#include "../lib/texts/CGeneralTextHandler.h"
#include "townbuildingswidget.h"
#include "towneventswidget.h"
@ -35,15 +36,6 @@
#include "PickObjectDelegate.h"
#include "../mapcontroller.h"
static QList<std::pair<QString, QVariant>> CharacterIdentifiers
{
{QObject::tr("Compliant"), QVariant::fromValue(int(CGCreature::Character::COMPLIANT))},
{QObject::tr("Friendly"), QVariant::fromValue(int(CGCreature::Character::FRIENDLY))},
{QObject::tr("Aggressive"), QVariant::fromValue(int(CGCreature::Character::AGGRESSIVE))},
{QObject::tr("Hostile"), QVariant::fromValue(int(CGCreature::Character::HOSTILE))},
{QObject::tr("Savage"), QVariant::fromValue(int(CGCreature::Character::SAVAGE))},
};
//===============IMPLEMENT OBJECT INITIALIZATION FUNCTIONS================
Initializer::Initializer(CGObjectInstance * o, const PlayerColor & pl) : defaultPlayer(pl)
{
@ -245,19 +237,19 @@ void Inspector::updateProperties(CArmedInstance * o)
if(!o) return;
auto * delegate = new ArmyDelegate(*o);
addProperty("Army", PropertyEditorPlaceholder(), delegate, false);
addProperty(QObject::tr("Army"), PropertyEditorPlaceholder(), delegate, false);
}
void Inspector::updateProperties(CGDwelling * o)
{
if(!o) return;
addProperty("Owner", o->tempOwner, new OwnerDelegate(controller), false);
addProperty(QObject::tr("Owner"), o->tempOwner, new OwnerDelegate(controller), false);
if (o->ID == Obj::RANDOM_DWELLING || o->ID == Obj::RANDOM_DWELLING_LVL)
{
auto * delegate = new PickObjectDelegate(controller, PickObjectDelegate::typedFilter<CGTownInstance>);
addProperty("Same as town", PropertyEditorPlaceholder(), delegate, false);
addProperty(QObject::tr("Same as town"), PropertyEditorPlaceholder(), delegate, false);
}
}
@ -265,29 +257,29 @@ void Inspector::updateProperties(FlaggableMapObject * o)
{
if(!o) return;
addProperty("Owner", o->tempOwner, new OwnerDelegate(controller), false);
addProperty(QObject::tr("Owner"), o->tempOwner, new OwnerDelegate(controller), false);
}
void Inspector::updateProperties(CGGarrison * o)
{
if(!o) return;
addProperty("Owner", o->tempOwner, new OwnerDelegate(controller), false);
addProperty("Removable units", o->removableUnits, false);
addProperty(QObject::tr("Owner"), o->tempOwner, new OwnerDelegate(controller), false);
addProperty(QObject::tr("Removable units"), o->removableUnits, false);
}
void Inspector::updateProperties(CGShipyard * o)
{
if(!o) return;
addProperty("Owner", o->tempOwner, new OwnerDelegate(controller), false);
addProperty(QObject::tr("Owner"), o->tempOwner, new OwnerDelegate(controller), false);
}
void Inspector::updateProperties(CGHeroPlaceholder * o)
{
if(!o) return;
addProperty("Owner", o->tempOwner, new OwnerDelegate(controller), false);
addProperty(QObject::tr("Owner"), o->tempOwner, new OwnerDelegate(controller), false);
bool type = false;
if(o->heroType.has_value())
@ -297,11 +289,11 @@ void Inspector::updateProperties(CGHeroPlaceholder * o)
{
auto * delegate = new InspectorDelegate;
delegate->options = {{"POWER RANK", QVariant::fromValue(false)}, {"HERO TYPE", QVariant::fromValue(true)}};
addProperty("Placeholder type", delegate->options[type].first, delegate, false);
delegate->options = {{QObject::tr("POWER RANK"), QVariant::fromValue(false)}, {QObject::tr("HERO TYPE"), QVariant::fromValue(true)}};
addProperty(QObject::tr("Placeholder type"), delegate->options[type].first, delegate, false);
}
addProperty("Power rank", o->powerRank.has_value() ? o->powerRank.value() : 0, type);
addProperty(QObject::tr("Power rank"), o->powerRank.has_value() ? o->powerRank.value() : 0, type);
{
auto * delegate = new InspectorDelegate;
@ -309,7 +301,7 @@ void Inspector::updateProperties(CGHeroPlaceholder * o)
{
delegate->options.push_back({QObject::tr(VLC->heroh->objects[i]->getNameTranslated().c_str()), QVariant::fromValue(VLC->heroh->objects[i]->getId().getNum())});
}
addProperty("Hero type", o->heroType.has_value() ? VLC->heroh->getById(o->heroType.value())->getNameTranslated() : "", delegate, !type);
addProperty(QObject::tr("Hero type"), o->heroType.has_value() ? VLC->heroh->getById(o->heroType.value())->getNameTranslated() : "", delegate, !type);
}
}
@ -318,23 +310,23 @@ void Inspector::updateProperties(CGHeroInstance * o)
if(!o) return;
auto isPrison = o->ID == Obj::PRISON;
addProperty("Owner", o->tempOwner, new OwnerDelegate(controller, isPrison), isPrison); //field is not editable for prison
addProperty<int>("Experience", o->exp, false);
addProperty("Hero class", o->getHeroClassID().hasValue() ? o->getHeroClass()->getNameTranslated() : "", true);
addProperty(QObject::tr("Owner"), o->tempOwner, new OwnerDelegate(controller, isPrison), isPrison); //field is not editable for prison
addProperty<int>(QObject::tr("Experience"), o->exp, false);
addProperty(QObject::tr("Hero class"), o->getHeroClassID().hasValue() ? o->getHeroClass()->getNameTranslated() : "", true);
{ //Gender
auto * delegate = new InspectorDelegate;
delegate->options = {{"MALE", QVariant::fromValue(int(EHeroGender::MALE))}, {"FEMALE", QVariant::fromValue(int(EHeroGender::FEMALE))}};
addProperty<std::string>("Gender", (o->gender == EHeroGender::FEMALE ? "FEMALE" : "MALE"), delegate , false);
delegate->options = {{QObject::tr("MALE"), QVariant::fromValue(int(EHeroGender::MALE))}, {QObject::tr("FEMALE"), QVariant::fromValue(int(EHeroGender::FEMALE))}};
addProperty<std::string>(QObject::tr("Gender"), (o->gender == EHeroGender::FEMALE ? QObject::tr("FEMALE") : QObject::tr("MALE")).toStdString(), delegate , false);
}
addProperty("Name", o->getNameTranslated(), false);
addProperty("Biography", o->getBiographyTranslated(), new MessageDelegate, false);
addProperty("Portrait", PropertyEditorPlaceholder(), new PortraitDelegate(*o), false);
addProperty(QObject::tr("Name"), o->getNameTranslated(), false);
addProperty(QObject::tr("Biography"), o->getBiographyTranslated(), new MessageDelegate, false);
addProperty(QObject::tr("Portrait"), PropertyEditorPlaceholder(), new PortraitDelegate(*o), false);
auto * delegate = new HeroSkillsDelegate(*o);
addProperty("Skills", PropertyEditorPlaceholder(), delegate, false);
addProperty("Spells", PropertyEditorPlaceholder(), new HeroSpellDelegate(*o), false);
addProperty("Artifacts", PropertyEditorPlaceholder(), new HeroArtifactsDelegate(*o), false);
addProperty(QObject::tr("Skills"), PropertyEditorPlaceholder(), delegate, false);
addProperty(QObject::tr("Spells"), PropertyEditorPlaceholder(), new HeroSpellDelegate(*o), false);
addProperty(QObject::tr("Artifacts"), PropertyEditorPlaceholder(), new HeroArtifactsDelegate(*o), false);
if(o->getHeroTypeID().hasValue() || o->ID == Obj::PRISON)
{ //Hero type
@ -349,7 +341,7 @@ void Inspector::updateProperties(CGHeroInstance * o)
}
}
}
addProperty("Hero type", o->getHeroTypeID().hasValue() ? o->getHeroType()->getNameTranslated() : "", delegate, false);
addProperty(QObject::tr("Hero type"), o->getHeroTypeID().hasValue() ? o->getHeroType()->getNameTranslated() : "", delegate, false);
}
{
const int maxRadius = 60;
@ -358,7 +350,7 @@ void Inspector::updateProperties(CGHeroInstance * o)
for(int i = 0; i <= maxRadius; ++i)
patrolDelegate->options.push_back({ QObject::tr("%n tile(s)", "", i), QVariant::fromValue(i)});
auto patrolRadiusText = o->patrol.patrolling ? QObject::tr("%n tile(s)", "", o->patrol.patrolRadius) : QObject::tr("No patrol");
addProperty("Patrol radius", patrolRadiusText, patrolDelegate, false);
addProperty(QObject::tr("Patrol radius"), patrolRadiusText, patrolDelegate, false);
}
}
@ -366,19 +358,19 @@ void Inspector::updateProperties(CGTownInstance * o)
{
if(!o) return;
addProperty("Town name", o->getNameTranslated(), false);
addProperty(QObject::tr("Town name"), o->getNameTranslated(), false);
auto * delegate = new TownBuildingsDelegate(*o);
addProperty("Buildings", PropertyEditorPlaceholder(), delegate, false);
addProperty("Spells", PropertyEditorPlaceholder(), new TownSpellsDelegate(*o), false);
addProperty("Events", PropertyEditorPlaceholder(), new TownEventsDelegate(*o, controller), false);
addProperty(QObject::tr("Buildings"), PropertyEditorPlaceholder(), delegate, false);
addProperty(QObject::tr("Spells"), PropertyEditorPlaceholder(), new TownSpellsDelegate(*o), false);
addProperty(QObject::tr("Events"), PropertyEditorPlaceholder(), new TownEventsDelegate(*o, controller), false);
}
void Inspector::updateProperties(CGArtifact * o)
{
if(!o) return;
addProperty("Message", o->message, false);
addProperty(QObject::tr("Message"), o->message, false);
CArtifactInstance * instance = o->storedArtifact;
if(instance)
@ -392,7 +384,7 @@ void Inspector::updateProperties(CGArtifact * o)
if(controller.map()->allowedSpells.count(spell->id) != 0)
delegate->options.push_back({QObject::tr(spell->getNameTranslated().c_str()), QVariant::fromValue(int(spell->getId()))});
}
addProperty("Spell", VLC->spellh->getById(spellId)->getNameTranslated(), delegate, false);
addProperty(QObject::tr("Spell"), VLC->spellh->getById(spellId)->getNameTranslated(), delegate, false);
}
}
}
@ -401,42 +393,42 @@ void Inspector::updateProperties(CGMine * o)
{
if(!o) return;
addProperty("Owner", o->tempOwner, new OwnerDelegate(controller), false);
addProperty("Resource", o->producedResource);
addProperty("Productivity", o->producedQuantity);
addProperty(QObject::tr("Owner"), o->tempOwner, new OwnerDelegate(controller), false);
addProperty(QObject::tr("Resource"), o->producedResource);
addProperty(QObject::tr("Productivity"), o->producedQuantity);
}
void Inspector::updateProperties(CGResource * o)
{
if(!o) return;
addProperty("Amount", o->amount, false);
addProperty("Message", o->message, false);
addProperty(QObject::tr("Amount"), o->amount, false);
addProperty(QObject::tr("Message"), o->message, false);
}
void Inspector::updateProperties(CGSignBottle * o)
{
if(!o) return;
addProperty("Message", o->message, new MessageDelegate, false);
addProperty(QObject::tr("Message"), o->message, new MessageDelegate, false);
}
void Inspector::updateProperties(CGCreature * o)
{
if(!o) return;
addProperty("Message", o->message, false);
addProperty(QObject::tr("Message"), o->message, false);
{ //Character
auto * delegate = new InspectorDelegate;
delegate->options = CharacterIdentifiers;
delegate->options = characterIdentifiers;
addProperty<CGCreature::Character>("Character", (CGCreature::Character)o->character, delegate, false);
}
addProperty("Never flees", o->neverFlees, false);
addProperty("Not growing", o->notGrowingTeam, false);
addProperty("Artifact reward", o->gainedArtifact); //TODO: implement in setProperty
addProperty("Army", PropertyEditorPlaceholder(), true);
addProperty("Amount", o->stacks[SlotID(0)]->count, false);
//addProperty("Resources reward", o->resources); //TODO: implement in setProperty
addProperty(QObject::tr("Never flees"), o->neverFlees, false);
addProperty(QObject::tr("Not growing"), o->notGrowingTeam, false);
addProperty(QObject::tr("Artifact reward"), o->gainedArtifact); //TODO: implement in setProperty
addProperty(QObject::tr("Army"), PropertyEditorPlaceholder(), true);
addProperty(QObject::tr("Amount"), o->stacks[SlotID(0)]->count, false);
//addProperty(QObject::tr("Resources reward"), o->resources); //TODO: implement in setProperty
}
void Inspector::updateProperties(CRewardableObject * o)
@ -444,23 +436,23 @@ void Inspector::updateProperties(CRewardableObject * o)
if(!o) return;
auto * delegate = new RewardsDelegate(*controller.map(), *o);
addProperty("Reward", PropertyEditorPlaceholder(), delegate, false);
addProperty(QObject::tr("Reward"), PropertyEditorPlaceholder(), delegate, false);
}
void Inspector::updateProperties(CGPandoraBox * o)
{
if(!o) return;
addProperty("Message", o->message, new MessageDelegate, false);
addProperty(QObject::tr("Message"), o->message, new MessageDelegate, false);
}
void Inspector::updateProperties(CGEvent * o)
{
if(!o) return;
addProperty("Remove after", o->removeAfterVisit, false);
addProperty("Human trigger", o->humanActivate, false);
addProperty("Cpu trigger", o->computerActivate, false);
addProperty(QObject::tr("Remove after"), o->removeAfterVisit, false);
addProperty(QObject::tr("Human trigger"), o->humanActivate, false);
addProperty(QObject::tr("Cpu trigger"), o->computerActivate, false);
//ui8 availableFor; //players whom this event is available for
}
@ -468,15 +460,15 @@ void Inspector::updateProperties(CGSeerHut * o)
{
if(!o || !o->quest) return;
addProperty("First visit text", o->quest->firstVisitText, new MessageDelegate, false);
addProperty("Next visit text", o->quest->nextVisitText, new MessageDelegate, false);
addProperty("Completed text", o->quest->completedText, new MessageDelegate, false);
addProperty("Repeat quest", o->quest->repeatedQuest, false);
addProperty("Time limit", o->quest->lastDay, false);
addProperty(QObject::tr("First visit text"), o->quest->firstVisitText, new MessageDelegate, false);
addProperty(QObject::tr("Next visit text"), o->quest->nextVisitText, new MessageDelegate, false);
addProperty(QObject::tr("Completed text"), o->quest->completedText, new MessageDelegate, false);
addProperty(QObject::tr("Repeat quest"), o->quest->repeatedQuest, false);
addProperty(QObject::tr("Time limit"), o->quest->lastDay, false);
{ //Quest
auto * delegate = new QuestDelegate(controller, *o->quest);
addProperty("Quest", PropertyEditorPlaceholder(), delegate, false);
addProperty(QObject::tr("Quest"), PropertyEditorPlaceholder(), delegate, false);
}
}
@ -484,8 +476,8 @@ void Inspector::updateProperties(CGQuestGuard * o)
{
if(!o || !o->quest) return;
addProperty("Reward", PropertyEditorPlaceholder(), nullptr, true);
addProperty("Repeat quest", o->quest->repeatedQuest, true);
addProperty(QObject::tr("Reward"), PropertyEditorPlaceholder(), nullptr, true);
addProperty(QObject::tr("Repeat quest"), o->quest->repeatedQuest, true);
}
void Inspector::updateProperties()
@ -494,18 +486,18 @@ void Inspector::updateProperties()
return;
table->setRowCount(0); //cleanup table
addProperty("Identifier", obj);
addProperty("ID", obj->ID.getNum());
addProperty("SubID", obj->subID);
addProperty("InstanceName", obj->instanceName);
addProperty(QObject::tr("Identifier"), obj);
addProperty(QObject::tr("ID"), obj->ID.getNum());
addProperty(QObject::tr("SubID"), obj->subID);
addProperty(QObject::tr("InstanceName"), obj->instanceName);
if(obj->ID != Obj::HERO_PLACEHOLDER && !dynamic_cast<CGHeroInstance*>(obj))
{
auto factory = VLC->objtypeh->getHandlerFor(obj->ID, obj->subID);
addProperty("IsStatic", factory->isStaticObject());
addProperty(QObject::tr("IsStatic"), factory->isStaticObject());
}
addProperty("Owner", obj->tempOwner, new OwnerDelegate(controller), true);
addProperty(QObject::tr("Owner"), obj->tempOwner, new OwnerDelegate(controller), true);
UPDATE_OBJ_PROPERTIES(CArmedInstance);
UPDATE_OBJ_PROPERTIES(CGResource);
@ -552,7 +544,7 @@ void Inspector::setProperty(const QString & key, const QVariant & value)
if(!obj)
return;
if(key == "Owner")
if(key == QObject::tr("Owner"))
obj->tempOwner = PlayerColor(value.toInt());
SET_PROPERTIES(CArmedInstance);
@ -594,7 +586,7 @@ void Inspector::setProperty(CGPandoraBox * o, const QString & key, const QVarian
{
if(!o) return;
if(key == "Message")
if(key == QObject::tr("Message"))
o->message = MetaString::createFromTextID(mapRegisterLocalizedString("map", *controller.map(),
TextIdentifier("guards", o->instanceName, "message"), value.toString().toStdString()));
}
@ -603,13 +595,13 @@ void Inspector::setProperty(CGEvent * o, const QString & key, const QVariant & v
{
if(!o) return;
if(key == "Remove after")
if(key == QObject::tr("Remove after"))
o->removeAfterVisit = value.toBool();
if(key == "Human trigger")
if(key == QObject::tr("Human trigger"))
o->humanActivate = value.toBool();
if(key == "Cpu trigger")
if(key == QObject::tr("Cpu trigger"))
o->computerActivate = value.toBool();
}
@ -617,7 +609,7 @@ void Inspector::setProperty(CGTownInstance * o, const QString & key, const QVari
{
if(!o) return;
if(key == "Town name")
if(key == QObject::tr("Town name"))
o->setNameTextId(mapRegisterLocalizedString("map", *controller.map(),
TextIdentifier("town", o->instanceName, "name"), value.toString().toStdString()));
}
@ -626,7 +618,7 @@ void Inspector::setProperty(CGSignBottle * o, const QString & key, const QVarian
{
if(!o) return;
if(key == "Message")
if(key == QObject::tr("Message"))
o->message = MetaString::createFromTextID(mapRegisterLocalizedString("map", *controller.map(),
TextIdentifier("sign", o->instanceName, "message"), value.toString().toStdString()));
}
@ -635,7 +627,7 @@ void Inspector::setProperty(CGMine * o, const QString & key, const QVariant & va
{
if(!o) return;
if(key == "Productivity")
if(key == QObject::tr("Productivity"))
o->producedQuantity = value.toString().toInt();
}
@ -643,11 +635,11 @@ void Inspector::setProperty(CGArtifact * o, const QString & key, const QVariant
{
if(!o) return;
if(key == "Message")
if(key == QObject::tr("Message"))
o->message = MetaString::createFromTextID(mapRegisterLocalizedString("map", *controller.map(),
TextIdentifier("guards", o->instanceName, "message"), value.toString().toStdString()));
if(o->storedArtifact && key == "Spell")
if(o->storedArtifact && key == QObject::tr("Spell"))
{
o->storedArtifact = ArtifactUtils::createScroll(SpellID(value.toInt()));
}
@ -657,7 +649,7 @@ void Inspector::setProperty(CGDwelling * o, const QString & key, const QVariant
{
if(!o) return;
if(key == "Same as town")
if(key == QObject::tr("Same as town"))
{
if (!o->randomizationInfo.has_value())
o->randomizationInfo = CGDwellingRandomizationInfo();
@ -672,7 +664,7 @@ void Inspector::setProperty(CGGarrison * o, const QString & key, const QVariant
{
if(!o) return;
if(key == "Removable units")
if(key == QObject::tr("Removable units"))
o->removableUnits = value.toBool();
}
@ -680,7 +672,7 @@ void Inspector::setProperty(CGHeroPlaceholder * o, const QString & key, const QV
{
if(!o) return;
if(key == "Placeholder type")
if(key == QObject::tr("Placeholder type"))
{
if(value.toBool())
{
@ -698,10 +690,10 @@ void Inspector::setProperty(CGHeroPlaceholder * o, const QString & key, const QV
updateProperties();
}
if(key == "Power rank")
if(key == QObject::tr("Power rank"))
o->powerRank = value.toInt();
if(key == "Hero type")
if(key == QObject::tr("Hero type"))
{
o->heroType = HeroTypeID(value.toInt());
}
@ -711,21 +703,21 @@ void Inspector::setProperty(CGHeroInstance * o, const QString & key, const QVari
{
if(!o) return;
if(key == "Gender")
if(key == QObject::tr("Gender"))
o->gender = EHeroGender(value.toInt());
if(key == "Name")
if(key == QObject::tr("Name"))
o->nameCustomTextId = mapRegisterLocalizedString("map", *controller.map(),
TextIdentifier("hero", o->instanceName, "name"), value.toString().toStdString());
if(key == "Biography")
if(key == QObject::tr("Biography"))
o->biographyCustomTextId = mapRegisterLocalizedString("map", *controller.map(),
TextIdentifier("hero", o->instanceName, "biography"), value.toString().toStdString());
if(key == "Experience")
if(key == QObject::tr("Experience"))
o->exp = value.toString().toInt();
if(key == "Hero type")
if(key == QObject::tr("Hero type"))
{
for(auto const & t : VLC->heroh->objects)
{
@ -737,7 +729,7 @@ void Inspector::setProperty(CGHeroInstance * o, const QString & key, const QVari
updateProperties(); //updating other properties after change
}
if(key == "Patrol radius")
if(key == QObject::tr("Patrol radius"))
{
auto radius = value.toInt();
o->patrol.patrolRadius = radius;
@ -754,7 +746,7 @@ void Inspector::setProperty(CGResource * o, const QString & key, const QVariant
{
if(!o) return;
if(key == "Amount")
if(key == QObject::tr("Amount"))
o->amount = value.toString().toInt();
}
@ -762,16 +754,16 @@ void Inspector::setProperty(CGCreature * o, const QString & key, const QVariant
{
if(!o) return;
if(key == "Message")
if(key == QObject::tr("Message"))
o->message = MetaString::createFromTextID(mapRegisterLocalizedString("map", *controller.map(),
TextIdentifier("monster", o->instanceName, "message"), value.toString().toStdString()));
if(key == "Character")
if(key == QObject::tr("Character"))
o->character = CGCreature::Character(value.toInt());
if(key == "Never flees")
if(key == QObject::tr("Never flees"))
o->neverFlees = value.toBool();
if(key == "Not growing")
if(key == QObject::tr("Not growing"))
o->notGrowingTeam = value.toBool();
if(key == "Amount")
if(key == QObject::tr("Amount"))
o->stacks[SlotID(0)]->count = value.toString().toInt();
}
@ -779,18 +771,18 @@ void Inspector::setProperty(CGSeerHut * o, const QString & key, const QVariant &
{
if(!o) return;
if(key == "First visit text")
if(key == QObject::tr("First visit text"))
o->quest->firstVisitText = MetaString::createFromTextID(mapRegisterLocalizedString("map", *controller.map(),
TextIdentifier("quest", o->instanceName, "firstVisit"), value.toString().toStdString()));
if(key == "Next visit text")
if(key == QObject::tr("Next visit text"))
o->quest->nextVisitText = MetaString::createFromTextID(mapRegisterLocalizedString("map", *controller.map(),
TextIdentifier("quest", o->instanceName, "nextVisit"), value.toString().toStdString()));
if(key == "Completed text")
if(key == QObject::tr("Completed text"))
o->quest->completedText = MetaString::createFromTextID(mapRegisterLocalizedString("map", *controller.map(),
TextIdentifier("quest", o->instanceName, "completed"), value.toString().toStdString()));
if(key == "Repeat quest")
if(key == QObject::tr("Repeat quest"))
o->quest->repeatedQuest = value.toBool();
if(key == "Time limit")
if(key == QObject::tr("Time limit"))
o->quest->lastDay = value.toString().toInt();
}
@ -874,8 +866,10 @@ QTableWidgetItem * Inspector::addProperty(const PlayerColor & value)
if(value == PlayerColor::NEUTRAL)
str = QObject::tr("neutral");
MetaString playerStr;
playerStr.appendName(value);
if(value.isValidPlayer())
str = QString::fromStdString(GameConstants::PLAYER_COLOR_NAMES[value]);
str = QString::fromStdString(playerStr.toString());
auto * item = new QTableWidgetItem(str);
item->setFlags(Qt::NoItemFlags);
@ -885,7 +879,9 @@ QTableWidgetItem * Inspector::addProperty(const PlayerColor & value)
QTableWidgetItem * Inspector::addProperty(const GameResID & value)
{
auto * item = new QTableWidgetItem(QString::fromStdString(GameConstants::RESOURCE_NAMES[value.toEnum()]));
MetaString str;
str.appendName(value);
auto * item = new QTableWidgetItem(QString::fromStdString(str.toString()));
item->setFlags(Qt::NoItemFlags);
item->setData(Qt::UserRole, QVariant::fromValue(value.getNum()));
return item;
@ -897,7 +893,7 @@ QTableWidgetItem * Inspector::addProperty(CGCreature::Character value)
item->setFlags(Qt::NoItemFlags);
item->setData(Qt::UserRole, QVariant::fromValue(int(value)));
for(auto & i : CharacterIdentifiers)
for(auto & i : characterIdentifiers)
{
if(i.second.toInt() == value)
{
@ -913,6 +909,13 @@ QTableWidgetItem * Inspector::addProperty(CGCreature::Character value)
Inspector::Inspector(MapController & c, CGObjectInstance * o, QTableWidget * t): obj(o), table(t), controller(c)
{
characterIdentifiers = {
{ QObject::tr("Compliant"), QVariant::fromValue(int(CGCreature::Character::COMPLIANT)) },
{ QObject::tr("Friendly"), QVariant::fromValue(int(CGCreature::Character::FRIENDLY)) },
{ QObject::tr("Aggressive"), QVariant::fromValue(int(CGCreature::Character::AGGRESSIVE)) },
{ QObject::tr("Hostile"), QVariant::fromValue(int(CGCreature::Character::HOSTILE)) },
{ QObject::tr("Savage"), QVariant::fromValue(int(CGCreature::Character::SAVAGE)) },
};
}
/*
@ -964,5 +967,9 @@ OwnerDelegate::OwnerDelegate(MapController & controller, bool addNeutral)
options.push_back({QObject::tr("neutral"), QVariant::fromValue(PlayerColor::NEUTRAL.getNum()) });
for(int p = 0; p < controller.map()->players.size(); ++p)
if(controller.map()->players[p].canAnyonePlay())
options.push_back({QString::fromStdString(GameConstants::PLAYER_COLOR_NAMES[p]), QVariant::fromValue(PlayerColor(p).getNum()) });
{
MetaString str;
str.appendName(PlayerColor(p));
options.push_back({QString::fromStdString(str.toString()), QVariant::fromValue(PlayerColor(p).getNum()) });
}
}

View File

@ -63,6 +63,8 @@ private:
class Inspector
{
QList<std::pair<QString, QVariant>> characterIdentifiers;
protected:
struct PropertyEditorPlaceholder {};

View File

@ -43,7 +43,9 @@ QuestWidget::QuestWidget(MapController & _controller, CQuest & _sh, QWidget *par
ui->lResources->setRowCount(GameConstants::RESOURCE_QUANTITY - 1);
for(int i = 0; i < GameConstants::RESOURCE_QUANTITY - 1; ++i)
{
auto * item = new QTableWidgetItem(QString::fromStdString(GameConstants::RESOURCE_NAMES[i]));
MetaString str;
str.appendName(GameResID(i));
auto * item = new QTableWidgetItem(QString::fromStdString(str.toString()));
item->setData(Qt::UserRole, QVariant::fromValue(i));
ui->lResources->setItem(i, 0, item);
auto * spinBox = new QSpinBox;
@ -126,7 +128,9 @@ QuestWidget::QuestWidget(MapController & _controller, CQuest & _sh, QWidget *par
//fill players
for(auto color = PlayerColor(0); color < PlayerColor::PLAYER_LIMIT; ++color)
{
auto * item = new QListWidgetItem(QString::fromStdString(GameConstants::PLAYER_COLOR_NAMES[color.getNum()]));
MetaString str;
str.appendName(color);
auto * item = new QListWidgetItem(QString::fromStdString(str.toString()));
item->setData(Qt::UserRole, QVariant::fromValue(color.getNum()));
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
item->setCheckState(Qt::Unchecked);

View File

@ -55,9 +55,11 @@ RewardsWidget::RewardsWidget(CMap & m, CRewardableObject & p, QWidget *parent) :
ui->lResources->setRowCount(GameConstants::RESOURCE_QUANTITY - 1);
for(int i = 0; i < GameConstants::RESOURCE_QUANTITY - 1; ++i)
{
MetaString str;
str.appendName(GameResID(i));
for(auto * w : {ui->rResources, ui->lResources})
{
auto * item = new QTableWidgetItem(QString::fromStdString(GameConstants::RESOURCE_NAMES[i]));
auto * item = new QTableWidgetItem(QString::fromStdString(str.toString()));
item->setData(Qt::UserRole, QVariant::fromValue(i));
w->setItem(i, 0, item);
auto * spinBox = new QSpinBox;
@ -163,7 +165,9 @@ RewardsWidget::RewardsWidget(CMap & m, CRewardableObject & p, QWidget *parent) :
//fill players
for(auto color = PlayerColor(0); color < PlayerColor::PLAYER_LIMIT; ++color)
{
auto * item = new QListWidgetItem(QString::fromStdString(GameConstants::PLAYER_COLOR_NAMES[color.getNum()]));
MetaString str;
str.appendName(color);
auto * item = new QListWidgetItem(QString::fromStdString(str.toString()));
item->setData(Qt::UserRole, QVariant::fromValue(color.getNum()));
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
item->setCheckState(Qt::Unchecked);

View File

@ -67,8 +67,10 @@ void TownEventDialog::initPlayers()
auto playerList = params.value("players").toList();
for (int i = 0; i < PlayerColor::PLAYER_LIMIT_I; ++i)
{
MetaString str;
str.appendName(PlayerColor(i));
bool isAffected = playerList.contains(toQString(PlayerColor(i)));
auto * item = new QListWidgetItem(QString::fromStdString(GameConstants::PLAYER_COLOR_NAMES[i]));
auto * item = new QListWidgetItem(QString::fromStdString(str.toString()));
item->setData(MapEditorRoles::PlayerIDRole, QVariant::fromValue(i));
item->setCheckState(isAffected ? Qt::Checked : Qt::Unchecked);
ui->playersAffected->addItem(item);
@ -81,13 +83,15 @@ void TownEventDialog::initResources()
auto resourcesMap = params.value("resources").toMap();
for (int i = 0; i < GameConstants::RESOURCE_QUANTITY; ++i)
{
auto name = QString::fromStdString(GameConstants::RESOURCE_NAMES[i]);
MetaString str;
str.appendName(GameResID(i));
auto name = QString::fromStdString(str.toString());
auto * item = new QTableWidgetItem();
item->setFlags(item->flags() & ~Qt::ItemIsEditable);
item->setText(name);
ui->resourcesTable->setItem(i, 0, item);
int val = resourcesMap.value(name).toInt();
int val = resourcesMap.value(QString::fromStdString(GameConstants::RESOURCE_NAMES[i])).toInt();
auto * edit = new QSpinBox(ui->resourcesTable);
edit->setMaximum(i == GameResID::GOLD ? MAXIMUM_GOLD_CHANGE : MAXIMUM_RESOURCE_CHANGE);
edit->setMinimum(i == GameResID::GOLD ? -MAXIMUM_GOLD_CHANGE : -MAXIMUM_RESOURCE_CHANGE);

View File

@ -431,12 +431,12 @@ bool MainWindow::openMap(const QString & filenameSelect)
catch(const ModIncompatibility & e)
{
assert(e.whatExcessive().empty());
QMessageBox::warning(this, "Mods are required", QString::fromStdString(e.whatMissing()));
QMessageBox::warning(this, tr("Mods are required"), QString::fromStdString(e.whatMissing()));
return false;
}
catch(const std::exception & e)
{
QMessageBox::critical(this, "Failed to open map", tr(e.what()));
QMessageBox::critical(this, tr("Failed to open map"), tr(e.what()));
return false;
}
@ -483,8 +483,6 @@ void MainWindow::on_actionOpenRecent_triggered()
RecentFileDialog(const QStringList& recentFiles, QWidget *parent)
: QDialog(parent), layout(new QVBoxLayout(this)), listWidget(new QListWidget(this))
{
setWindowTitle(tr("Recently Opened Files"));
setMinimumWidth(600);
connect(listWidget, &QListWidget::itemActivated, this, [this](QListWidgetItem *item)
@ -520,6 +518,7 @@ void MainWindow::on_actionOpenRecent_triggered()
};
RecentFileDialog d(recentFiles, this);
d.setWindowTitle(tr("Recently Opened Files"));
if(d.exec() == QDialog::Accepted && getAnswerAboutUnsavedChanges())
{
openMap(d.getSelectedFilePath());
@ -572,10 +571,11 @@ void MainWindow::saveMap()
if(!issues.empty())
{
auto mapValidationTitle = tr("Map validation");
if(critical)
QMessageBox::warning(this, "Map validation", "Map has critical problems and most probably will not be playable. Open Validator from the Map menu to see issues found");
QMessageBox::warning(this, mapValidationTitle, tr("Map has critical problems and most probably will not be playable. Open Validator from the Map menu to see issues found"));
else
QMessageBox::information(this, "Map validation", "Map has some errors. Open Validator from the Map menu to see issues found");
QMessageBox::information(this, mapValidationTitle, tr("Map has some errors. Open Validator from the Map menu to see issues found"));
}
Translations::cleanupRemovedItems(*controller.map());
@ -599,7 +599,7 @@ void MainWindow::saveMap()
}
catch(const std::exception & e)
{
QMessageBox::critical(this, "Failed to save map", e.what());
QMessageBox::critical(this, tr("Failed to save map"), e.what());
return;
}
@ -966,7 +966,7 @@ void MainWindow::loadObjectsTree()
}
catch(const std::exception &)
{
QMessageBox::critical(this, "Mods loading problem", "Critical error during Mods loading. Disable invalid mods and restart.");
QMessageBox::critical(this, tr("Mods loading problem"), tr("Critical error during Mods loading. Disable invalid mods and restart."));
}
}

View File

@ -37,7 +37,9 @@ TimedEvent::TimedEvent(MapController & c, QListWidgetItem * t, QWidget *parent)
for(int i = 0; i < PlayerColor::PLAYER_LIMIT_I; ++i)
{
bool isAffected = playerList.contains(toQString(PlayerColor(i)));
auto * item = new QListWidgetItem(QString::fromStdString(GameConstants::PLAYER_COLOR_NAMES[i]));
MetaString str;
str.appendName(PlayerColor(i));
auto * item = new QListWidgetItem(QString::fromStdString(str.toString()));
item->setData(Qt::UserRole, QVariant::fromValue(i));
item->setCheckState(isAffected ? Qt::Checked : Qt::Unchecked);
ui->playersAffected->addItem(item);
@ -46,8 +48,10 @@ TimedEvent::TimedEvent(MapController & c, QListWidgetItem * t, QWidget *parent)
ui->resources->setRowCount(GameConstants::RESOURCE_QUANTITY);
for(int i = 0; i < GameConstants::RESOURCE_QUANTITY; ++i)
{
auto name = QString::fromStdString(GameConstants::RESOURCE_NAMES[i]);
int val = params.value("resources").toMap().value(name).toInt();
MetaString str;
str.appendName(GameResID(i));
auto name = QString::fromStdString(str.toString());
int val = params.value("resources").toMap().value(QString::fromStdString(GameConstants::RESOURCE_NAMES[i])).toInt();
ui->resources->setItem(i, 0, new QTableWidgetItem(name));
auto nval = new QTableWidgetItem(QString::number(val));
nval->setFlags(nval->flags() | Qt::ItemIsEditable);

View File

@ -407,7 +407,9 @@ void VictoryConditions::on_victoryComboBox_currentIndexChanged(int index)
{
for(int resType = 0; resType < GameConstants::RESOURCE_QUANTITY; ++resType)
{
auto resName = QString::fromStdString(GameConstants::RESOURCE_NAMES[resType]);
MetaString str;
str.appendName(GameResID(resType));
auto resName = QString::fromStdString(str.toString());
victoryTypeWidget->addItem(resName, QVariant::fromValue(resType));
}
}
@ -427,7 +429,7 @@ void VictoryConditions::on_victoryComboBox_currentIndexChanged(int index)
victorySelectWidget = new QComboBox;
ui->victoryParamsLayout->addWidget(victorySelectWidget);
victorySelectWidget->addItem("Any town", QVariant::fromValue(-1));
victorySelectWidget->addItem(tr("Any town"), QVariant::fromValue(-1));
for(int i : getObjectIndexes<const CGTownInstance>(*controller->map()))
victorySelectWidget->addItem(getTownName(*controller->map(), i).c_str(), QVariant::fromValue(i));

View File

@ -29,7 +29,9 @@ PlayerParams::PlayerParams(MapController & ctrl, int playerId, QWidget *parent)
{
if(i == playerId || !controller.map()->players[i].canAnyonePlay())
{
ui->playerColorCombo->addItem(QString::fromStdString(GameConstants::PLAYER_COLOR_NAMES[i]), QVariant(i));
MetaString str;
str.appendName(PlayerColor(i));
ui->playerColorCombo->addItem(QString::fromStdString(str.toString()), QVariant(i));
if(i == playerId)
ui->playerColorCombo->setCurrentIndex(index);
++index;

View File

@ -646,6 +646,16 @@
<source>Unsaved changes will be lost, are you sure?</source>
<translation></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="410"/>
<source>Mods are required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="415"/>
<source>Failed to open map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="441"/>
<source>Open map</source>
@ -657,10 +667,30 @@
<translation>(*.vmap *.h3m);;VCMI地图(*.vmap);;3(*.h3m)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="463"/>
<location filename="../mainwindow.cpp" line="497"/>
<source>Recently Opened Files</source>
<translation></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="550"/>
<source>Map validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="552"/>
<source>Map has critical problems and most probably will not be playable. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="554"/>
<source>Map has some errors. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="578"/>
<source>Failed to save map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="591"/>
<source>Save map</source>
@ -756,6 +786,16 @@
<source>Other</source>
<translation></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Mods loading problem</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Critical error during Mods loading. Disable invalid mods and restart.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="962"/>
<source>View surface</source>
@ -997,7 +1037,7 @@
<translation></translation>
</message>
<message>
<location filename="../playerparams.cpp" line="108"/>
<location filename="../playerparams.cpp" line="110"/>
<source>Player ID: %1</source>
<translation>ID: %1</translation>
</message>
@ -1062,52 +1102,293 @@
<translation></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="40"/>
<location filename="../inspector/inspector.cpp" line="949"/>
<source>Compliant</source>
<translation></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="41"/>
<location filename="../inspector/inspector.cpp" line="950"/>
<source>Friendly</source>
<translation></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="42"/>
<location filename="../inspector/inspector.cpp" line="951"/>
<source>Aggressive</source>
<translation></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="43"/>
<location filename="../inspector/inspector.cpp" line="952"/>
<source>Hostile</source>
<translation></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="44"/>
<location filename="../inspector/inspector.cpp" line="953"/>
<source>Savage</source>
<translation></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="357"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="349"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<location filename="../inspector/inspector.cpp" line="927"/>
<source>No patrol</source>
<translation></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>POWER RANK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>HERO TYPE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="315"/>
<source>Hero class</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="324"/>
<source>Portrait</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="327"/>
<source>Skills</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="329"/>
<source>Artifacts</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location filename="../inspector/inspector.cpp" line="359"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="351"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<source>%n tile(s)</source>
<translation>
<numerusform>%n格</numerusform>
</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="875"/>
<location filename="../inspector/inspector.cpp" line="964"/>
<location filename="../inspector/inspector.cpp" line="364"/>
<source>Buildings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="366"/>
<source>Events</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="397"/>
<source>Resource</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="428"/>
<source>Artifact reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="471"/>
<source>Quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="489"/>
<source>Identifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="490"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="491"/>
<source>SubID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="492"/>
<source>InstanceName</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="497"/>
<source>IsStatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="867"/>
<location filename="../inspector/inspector.cpp" line="1003"/>
<source>neutral</source>
<translation></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="873"/>
<location filename="../inspector/inspector.cpp" line="913"/>
<source>Army</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="914"/>
<source>Owner</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="915"/>
<source>Same as town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="916"/>
<source>Removable units</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="917"/>
<source>Placeholder type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="918"/>
<source>Power rank</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="919"/>
<source>Hero type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="920"/>
<source>Experience</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="921"/>
<source>MALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="922"/>
<source>FEMALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="923"/>
<source>Gender</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="924"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="925"/>
<source>Biography</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="926"/>
<source>Spells</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="928"/>
<source>Patrol radius</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="929"/>
<source>Town name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="930"/>
<source>Message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="931"/>
<source>Spell</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="932"/>
<source>Productivity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="933"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="934"/>
<source>Character</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="935"/>
<source>Never flees</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="936"/>
<source>Not growing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="937"/>
<source>Reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="938"/>
<source>Remove after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="939"/>
<source>Human trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="940"/>
<source>Cpu trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="941"/>
<source>First visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="942"/>
<source>Next visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="943"/>
<source>Completed text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="944"/>
<source>Repeat quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="945"/>
<source>Time limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="865"/>
<source>UNFLAGGABLE</source>
<translation></translation>
</message>
@ -1533,8 +1814,8 @@
<translation>%1 </translation>
</message>
<message>
<location filename="../inspector/rewardswidget.cpp" line="238"/>
<location filename="../inspector/rewardswidget.cpp" line="609"/>
<location filename="../inspector/rewardswidget.cpp" line="242"/>
<location filename="../inspector/rewardswidget.cpp" line="613"/>
<source>Reward %1</source>
<translation> %1</translation>
</message>
@ -1756,12 +2037,12 @@
<translation></translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="170"/>
<location filename="../inspector/towneventdialog.cpp" line="174"/>
<source>Creature level %1 / Creature level %1 Upgrade</source>
<translation>%1 / %1</translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="212"/>
<location filename="../inspector/towneventdialog.cpp" line="216"/>
<source>Day %1 - %2</source>
<translation>%1 - %2 </translation>
</message>
@ -2089,6 +2370,11 @@
<source>Kill monster</source>
<translation></translation>
</message>
<message>
<location filename="../mapsettings/victoryconditions.cpp" line="432"/>
<source>Any town</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowNewMap</name>
@ -2291,6 +2577,11 @@
<source>RMG failure</source>
<translation></translation>
</message>
<message>
<location filename="../windownewmap.cpp" line="422"/>
<source>[default]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>

View File

@ -646,6 +646,16 @@
<source>Unsaved changes will be lost, are you sure?</source>
<translation>Neuložené změny budou ztraceny, jste si jisti?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="410"/>
<source>Mods are required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="415"/>
<source>Failed to open map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="441"/>
<source>Open map</source>
@ -657,10 +667,30 @@
<translation>Všechny podporované mapy (*.vmap *.h3m);; Mapy VCMI(*.vmap);;Mapy HoMM3(*.h3m)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="463"/>
<location filename="../mainwindow.cpp" line="497"/>
<source>Recently Opened Files</source>
<translation>Naposledny otevřené soubory</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="550"/>
<source>Map validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="552"/>
<source>Map has critical problems and most probably will not be playable. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="554"/>
<source>Map has some errors. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="578"/>
<source>Failed to save map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="591"/>
<source>Save map</source>
@ -756,6 +786,16 @@
<source>Other</source>
<translation>Ostatní</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Mods loading problem</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Critical error during Mods loading. Disable invalid mods and restart.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="962"/>
<source>View surface</source>
@ -997,7 +1037,7 @@
<translation>Bez týmu</translation>
</message>
<message>
<location filename="../playerparams.cpp" line="108"/>
<location filename="../playerparams.cpp" line="110"/>
<source>Player ID: %1</source>
<translation>ID hráče: %1</translation>
</message>
@ -1062,39 +1102,70 @@
<translation>Expert</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="40"/>
<location filename="../inspector/inspector.cpp" line="949"/>
<source>Compliant</source>
<translation>Ochotná</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="41"/>
<location filename="../inspector/inspector.cpp" line="950"/>
<source>Friendly</source>
<translation>Přátelská</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="42"/>
<location filename="../inspector/inspector.cpp" line="951"/>
<source>Aggressive</source>
<translation>Agresivní</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="43"/>
<location filename="../inspector/inspector.cpp" line="952"/>
<source>Hostile</source>
<translation>Nepřátelská</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="44"/>
<location filename="../inspector/inspector.cpp" line="953"/>
<source>Savage</source>
<translation>Brutální</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="357"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="349"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<location filename="../inspector/inspector.cpp" line="927"/>
<source>No patrol</source>
<translation>Bez hlídky</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>POWER RANK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>HERO TYPE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="315"/>
<source>Hero class</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="324"/>
<source>Portrait</source>
<translation type="unfinished">Portrét</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="327"/>
<source>Skills</source>
<translation type="unfinished">Dovednosti</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="329"/>
<source>Artifacts</source>
<translation type="unfinished">Artefakty</translation>
</message>
<message numerus="yes">
<location filename="../inspector/inspector.cpp" line="359"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="351"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<source>%n tile(s)</source>
<translation>
<numerusform>%n pole</numerusform>
@ -1103,13 +1174,223 @@
</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="875"/>
<location filename="../inspector/inspector.cpp" line="964"/>
<location filename="../inspector/inspector.cpp" line="364"/>
<source>Buildings</source>
<translation type="unfinished">Budovy</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="366"/>
<source>Events</source>
<translation type="unfinished">Události</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="397"/>
<source>Resource</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="428"/>
<source>Artifact reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="471"/>
<source>Quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="489"/>
<source>Identifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="490"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="491"/>
<source>SubID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="492"/>
<source>InstanceName</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="497"/>
<source>IsStatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="867"/>
<location filename="../inspector/inspector.cpp" line="1003"/>
<source>neutral</source>
<translation>neutrální</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="873"/>
<location filename="../inspector/inspector.cpp" line="913"/>
<source>Army</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="914"/>
<source>Owner</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="915"/>
<source>Same as town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="916"/>
<source>Removable units</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="917"/>
<source>Placeholder type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="918"/>
<source>Power rank</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="919"/>
<source>Hero type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="920"/>
<source>Experience</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="921"/>
<source>MALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="922"/>
<source>FEMALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="923"/>
<source>Gender</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="924"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="925"/>
<source>Biography</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="926"/>
<source>Spells</source>
<translation type="unfinished">Kouzla</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="928"/>
<source>Patrol radius</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="929"/>
<source>Town name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="930"/>
<source>Message</source>
<translation type="unfinished">Zpráva</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="931"/>
<source>Spell</source>
<translation type="unfinished">Kouzlo</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="932"/>
<source>Productivity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="933"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="934"/>
<source>Character</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="935"/>
<source>Never flees</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="936"/>
<source>Not growing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="937"/>
<source>Reward</source>
<translation type="unfinished">Odměna</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="938"/>
<source>Remove after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="939"/>
<source>Human trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="940"/>
<source>Cpu trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="941"/>
<source>First visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="942"/>
<source>Next visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="943"/>
<source>Completed text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="944"/>
<source>Repeat quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="945"/>
<source>Time limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="865"/>
<source>UNFLAGGABLE</source>
<translation>NEOZNAČITELNÝ</translation>
</message>
@ -1535,8 +1816,8 @@
<translation>Den %1</translation>
</message>
<message>
<location filename="../inspector/rewardswidget.cpp" line="238"/>
<location filename="../inspector/rewardswidget.cpp" line="609"/>
<location filename="../inspector/rewardswidget.cpp" line="242"/>
<location filename="../inspector/rewardswidget.cpp" line="613"/>
<source>Reward %1</source>
<translation>Odměna %1</translation>
</message>
@ -1758,12 +2039,12 @@
<translation>OK</translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="170"/>
<location filename="../inspector/towneventdialog.cpp" line="174"/>
<source>Creature level %1 / Creature level %1 Upgrade</source>
<translation>Úroveň jednotky %1 / Úroveň jednotky%1 vylepšení</translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="212"/>
<location filename="../inspector/towneventdialog.cpp" line="216"/>
<source>Day %1 - %2</source>
<translation>Den %1 - %2</translation>
</message>
@ -2091,6 +2372,11 @@
<source>Kill monster</source>
<translation>Zabít příšeru</translation>
</message>
<message>
<location filename="../mapsettings/victoryconditions.cpp" line="432"/>
<source>Any town</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowNewMap</name>
@ -2293,6 +2579,11 @@
<source>RMG failure</source>
<translation>Chyba RMG</translation>
</message>
<message>
<location filename="../windownewmap.cpp" line="422"/>
<source>[default]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>

View File

@ -646,6 +646,16 @@
<source>Unsaved changes will be lost, are you sure?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="410"/>
<source>Mods are required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="415"/>
<source>Failed to open map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="441"/>
<source>Open map</source>
@ -657,10 +667,30 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="463"/>
<location filename="../mainwindow.cpp" line="497"/>
<source>Recently Opened Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="550"/>
<source>Map validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="552"/>
<source>Map has critical problems and most probably will not be playable. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="554"/>
<source>Map has some errors. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="578"/>
<source>Failed to save map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="591"/>
<source>Save map</source>
@ -756,6 +786,16 @@
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Mods loading problem</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Critical error during Mods loading. Disable invalid mods and restart.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="962"/>
<source>View surface</source>
@ -997,7 +1037,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../playerparams.cpp" line="108"/>
<location filename="../playerparams.cpp" line="110"/>
<source>Player ID: %1</source>
<translation type="unfinished"></translation>
</message>
@ -1062,39 +1102,70 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="40"/>
<location filename="../inspector/inspector.cpp" line="949"/>
<source>Compliant</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="41"/>
<location filename="../inspector/inspector.cpp" line="950"/>
<source>Friendly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="42"/>
<location filename="../inspector/inspector.cpp" line="951"/>
<source>Aggressive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="43"/>
<location filename="../inspector/inspector.cpp" line="952"/>
<source>Hostile</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="44"/>
<location filename="../inspector/inspector.cpp" line="953"/>
<source>Savage</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="357"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="349"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<location filename="../inspector/inspector.cpp" line="927"/>
<source>No patrol</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>POWER RANK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>HERO TYPE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="315"/>
<source>Hero class</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="324"/>
<source>Portrait</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="327"/>
<source>Skills</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="329"/>
<source>Artifacts</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location filename="../inspector/inspector.cpp" line="359"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="351"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<source>%n tile(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
@ -1102,13 +1173,223 @@
</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="875"/>
<location filename="../inspector/inspector.cpp" line="964"/>
<location filename="../inspector/inspector.cpp" line="364"/>
<source>Buildings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="366"/>
<source>Events</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="397"/>
<source>Resource</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="428"/>
<source>Artifact reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="471"/>
<source>Quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="489"/>
<source>Identifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="490"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="491"/>
<source>SubID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="492"/>
<source>InstanceName</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="497"/>
<source>IsStatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="867"/>
<location filename="../inspector/inspector.cpp" line="1003"/>
<source>neutral</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="873"/>
<location filename="../inspector/inspector.cpp" line="913"/>
<source>Army</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="914"/>
<source>Owner</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="915"/>
<source>Same as town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="916"/>
<source>Removable units</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="917"/>
<source>Placeholder type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="918"/>
<source>Power rank</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="919"/>
<source>Hero type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="920"/>
<source>Experience</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="921"/>
<source>MALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="922"/>
<source>FEMALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="923"/>
<source>Gender</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="924"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="925"/>
<source>Biography</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="926"/>
<source>Spells</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="928"/>
<source>Patrol radius</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="929"/>
<source>Town name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="930"/>
<source>Message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="931"/>
<source>Spell</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="932"/>
<source>Productivity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="933"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="934"/>
<source>Character</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="935"/>
<source>Never flees</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="936"/>
<source>Not growing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="937"/>
<source>Reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="938"/>
<source>Remove after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="939"/>
<source>Human trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="940"/>
<source>Cpu trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="941"/>
<source>First visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="942"/>
<source>Next visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="943"/>
<source>Completed text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="944"/>
<source>Repeat quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="945"/>
<source>Time limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="865"/>
<source>UNFLAGGABLE</source>
<translation type="unfinished"></translation>
</message>
@ -1534,8 +1815,8 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/rewardswidget.cpp" line="238"/>
<location filename="../inspector/rewardswidget.cpp" line="609"/>
<location filename="../inspector/rewardswidget.cpp" line="242"/>
<location filename="../inspector/rewardswidget.cpp" line="613"/>
<source>Reward %1</source>
<translation type="unfinished"></translation>
</message>
@ -1757,12 +2038,12 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="170"/>
<location filename="../inspector/towneventdialog.cpp" line="174"/>
<source>Creature level %1 / Creature level %1 Upgrade</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="212"/>
<location filename="../inspector/towneventdialog.cpp" line="216"/>
<source>Day %1 - %2</source>
<translation type="unfinished"></translation>
</message>
@ -2090,6 +2371,11 @@
<source>Kill monster</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mapsettings/victoryconditions.cpp" line="432"/>
<source>Any town</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowNewMap</name>
@ -2292,6 +2578,11 @@
<source>RMG failure</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../windownewmap.cpp" line="422"/>
<source>[default]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>

View File

@ -646,6 +646,16 @@
<source>Unsaved changes will be lost, are you sure?</source>
<translation>Les modifications non sauvegardées seront perdues. Êtes-vous sûr ?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="410"/>
<source>Mods are required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="415"/>
<source>Failed to open map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="441"/>
<source>Open map</source>
@ -657,10 +667,30 @@
<translation>Toutes les cartes prises en charge (*.vmap *.h3m);;Cartes VCMI (*.vmap);;Cartes HoMM3 (*.h3m)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="463"/>
<location filename="../mainwindow.cpp" line="497"/>
<source>Recently Opened Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="550"/>
<source>Map validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="552"/>
<source>Map has critical problems and most probably will not be playable. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="554"/>
<source>Map has some errors. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="578"/>
<source>Failed to save map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="591"/>
<source>Save map</source>
@ -756,6 +786,16 @@
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Mods loading problem</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Critical error during Mods loading. Disable invalid mods and restart.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="962"/>
<source>View surface</source>
@ -997,7 +1037,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../playerparams.cpp" line="108"/>
<location filename="../playerparams.cpp" line="110"/>
<source>Player ID: %1</source>
<translation>Identifiant du joueur : %1</translation>
</message>
@ -1062,39 +1102,70 @@
<translation>Expert</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="40"/>
<location filename="../inspector/inspector.cpp" line="949"/>
<source>Compliant</source>
<translation>Compérhensif</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="41"/>
<location filename="../inspector/inspector.cpp" line="950"/>
<source>Friendly</source>
<translation>Amical</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="42"/>
<location filename="../inspector/inspector.cpp" line="951"/>
<source>Aggressive</source>
<translation>Aggressif</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="43"/>
<location filename="../inspector/inspector.cpp" line="952"/>
<source>Hostile</source>
<translation>Hostile</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="44"/>
<location filename="../inspector/inspector.cpp" line="953"/>
<source>Savage</source>
<translation>Sauvage</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="357"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="349"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<location filename="../inspector/inspector.cpp" line="927"/>
<source>No patrol</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>POWER RANK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>HERO TYPE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="315"/>
<source>Hero class</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="324"/>
<source>Portrait</source>
<translation type="unfinished">Portrait</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="327"/>
<source>Skills</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="329"/>
<source>Artifacts</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location filename="../inspector/inspector.cpp" line="359"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="351"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<source>%n tile(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
@ -1102,13 +1173,223 @@
</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="875"/>
<location filename="../inspector/inspector.cpp" line="964"/>
<location filename="../inspector/inspector.cpp" line="364"/>
<source>Buildings</source>
<translation type="unfinished">Bâtiments</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="366"/>
<source>Events</source>
<translation type="unfinished">Événements</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="397"/>
<source>Resource</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="428"/>
<source>Artifact reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="471"/>
<source>Quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="489"/>
<source>Identifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="490"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="491"/>
<source>SubID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="492"/>
<source>InstanceName</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="497"/>
<source>IsStatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="867"/>
<location filename="../inspector/inspector.cpp" line="1003"/>
<source>neutral</source>
<translation>neutre</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="873"/>
<location filename="../inspector/inspector.cpp" line="913"/>
<source>Army</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="914"/>
<source>Owner</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="915"/>
<source>Same as town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="916"/>
<source>Removable units</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="917"/>
<source>Placeholder type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="918"/>
<source>Power rank</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="919"/>
<source>Hero type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="920"/>
<source>Experience</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="921"/>
<source>MALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="922"/>
<source>FEMALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="923"/>
<source>Gender</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="924"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="925"/>
<source>Biography</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="926"/>
<source>Spells</source>
<translation type="unfinished">Sorts</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="928"/>
<source>Patrol radius</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="929"/>
<source>Town name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="930"/>
<source>Message</source>
<translation type="unfinished">Message</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="931"/>
<source>Spell</source>
<translation type="unfinished">Sort</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="932"/>
<source>Productivity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="933"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="934"/>
<source>Character</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="935"/>
<source>Never flees</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="936"/>
<source>Not growing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="937"/>
<source>Reward</source>
<translation type="unfinished">Récompense</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="938"/>
<source>Remove after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="939"/>
<source>Human trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="940"/>
<source>Cpu trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="941"/>
<source>First visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="942"/>
<source>Next visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="943"/>
<source>Completed text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="944"/>
<source>Repeat quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="945"/>
<source>Time limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="865"/>
<source>UNFLAGGABLE</source>
<translation>INCLASSABLE</translation>
</message>
@ -1534,8 +1815,8 @@
<translation>Jour %1</translation>
</message>
<message>
<location filename="../inspector/rewardswidget.cpp" line="238"/>
<location filename="../inspector/rewardswidget.cpp" line="609"/>
<location filename="../inspector/rewardswidget.cpp" line="242"/>
<location filename="../inspector/rewardswidget.cpp" line="613"/>
<source>Reward %1</source>
<translation>Récompense %1</translation>
</message>
@ -1757,12 +2038,12 @@
<translation>OK</translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="170"/>
<location filename="../inspector/towneventdialog.cpp" line="174"/>
<source>Creature level %1 / Creature level %1 Upgrade</source>
<translation>Créature niveau %1 / Créature niveau %1 Augmenté</translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="212"/>
<location filename="../inspector/towneventdialog.cpp" line="216"/>
<source>Day %1 - %2</source>
<translation>Jour %1 - %2</translation>
</message>
@ -2090,6 +2371,11 @@
<source>Kill monster</source>
<translation>Tuer un monster</translation>
</message>
<message>
<location filename="../mapsettings/victoryconditions.cpp" line="432"/>
<source>Any town</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowNewMap</name>
@ -2292,6 +2578,11 @@
<source>RMG failure</source>
<translation>Echec de RMG</translation>
</message>
<message>
<location filename="../windownewmap.cpp" line="422"/>
<source>[default]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>

View File

@ -646,6 +646,16 @@
<source>Unsaved changes will be lost, are you sure?</source>
<translation>Ungespeicherte Änderungen gehen verloren, sind sie sicher?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="410"/>
<source>Mods are required</source>
<translation>Mods sind erforderlich</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="415"/>
<source>Failed to open map</source>
<translation>Karte konnte nicht geöffnet werden</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="441"/>
<source>Open map</source>
@ -657,10 +667,30 @@
<translation>Alle unterstützten Karten (*.vmap *.h3m);;VCMI-Karten (*.vmap);;HoMM3-Karten (*.h3m)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="463"/>
<location filename="../mainwindow.cpp" line="497"/>
<source>Recently Opened Files</source>
<translation>Kürzlich geöffnete Dateien</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="550"/>
<source>Map validation</source>
<translation>Validierung der Karte</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="552"/>
<source>Map has critical problems and most probably will not be playable. Open Validator from the Map menu to see issues found</source>
<translation>Die Karte hat kritische Probleme und wird höchstwahrscheinlich nicht spielbar sein. Öffnen Sie den Validator aus dem Kartenmenü, um die gefundenen Probleme zu sehen</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="554"/>
<source>Map has some errors. Open Validator from the Map menu to see issues found</source>
<translation>Karte hat einige Fehler. Öffnen Sie den Validator aus dem Kartenmenü, um die gefundenen Probleme zu sehen</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="578"/>
<source>Failed to save map</source>
<translation>Karte konnte nicht gespeichert werden</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="591"/>
<source>Save map</source>
@ -756,6 +786,16 @@
<source>Other</source>
<translation>Anderes</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Mods loading problem</source>
<translation>Problem beim Laden von Mods</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Critical error during Mods loading. Disable invalid mods and restart.</source>
<translation>Kritischer Fehler beim Laden von Mods. Deaktivieren Sie ungültige Mods und starten Sie neu.</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="962"/>
<source>View surface</source>
@ -997,7 +1037,7 @@
<translation>Kein Team</translation>
</message>
<message>
<location filename="../playerparams.cpp" line="108"/>
<location filename="../playerparams.cpp" line="110"/>
<source>Player ID: %1</source>
<translation>Spieler-ID: %1</translation>
</message>
@ -1062,39 +1102,70 @@
<translation>Experte</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="40"/>
<location filename="../inspector/inspector.cpp" line="949"/>
<source>Compliant</source>
<translation>Konform</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="41"/>
<location filename="../inspector/inspector.cpp" line="950"/>
<source>Friendly</source>
<translation>Freundlich</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="42"/>
<location filename="../inspector/inspector.cpp" line="951"/>
<source>Aggressive</source>
<translation>Aggressiv</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="43"/>
<location filename="../inspector/inspector.cpp" line="952"/>
<source>Hostile</source>
<translation>Feindlich</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="44"/>
<location filename="../inspector/inspector.cpp" line="953"/>
<source>Savage</source>
<translation>Wild</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="357"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="349"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<location filename="../inspector/inspector.cpp" line="927"/>
<source>No patrol</source>
<translation>Keine Streife</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>POWER RANK</source>
<translation>STÄRKE RANG</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>HERO TYPE</source>
<translation>HELDENTYP</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="315"/>
<source>Hero class</source>
<translation>Heldenklasse</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="324"/>
<source>Portrait</source>
<translation>Porträt</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="327"/>
<source>Skills</source>
<translation>Fertigkeiten</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="329"/>
<source>Artifacts</source>
<translation>Artefakte</translation>
</message>
<message numerus="yes">
<location filename="../inspector/inspector.cpp" line="359"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="351"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<source>%n tile(s)</source>
<translation>
<numerusform>%n Kachel</numerusform>
@ -1102,13 +1173,223 @@
</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="875"/>
<location filename="../inspector/inspector.cpp" line="964"/>
<location filename="../inspector/inspector.cpp" line="364"/>
<source>Buildings</source>
<translation>Gebäude</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="366"/>
<source>Events</source>
<translation>Ereignisse</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="397"/>
<source>Resource</source>
<translation>Ressource</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="428"/>
<source>Artifact reward</source>
<translation>Artefakt-Belohnung</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="471"/>
<source>Quest</source>
<translation>Aufgabe</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="489"/>
<source>Identifier</source>
<translation>Identifier</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="490"/>
<source>ID</source>
<translation>ID</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="491"/>
<source>SubID</source>
<translation>SubID</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="492"/>
<source>InstanceName</source>
<translation>InstanzName</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="497"/>
<source>IsStatic</source>
<translation>IstStatisch</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="867"/>
<location filename="../inspector/inspector.cpp" line="1003"/>
<source>neutral</source>
<translation>neutral</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="873"/>
<location filename="../inspector/inspector.cpp" line="913"/>
<source>Army</source>
<translation>Armee</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="914"/>
<source>Owner</source>
<translation>Besitzer</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="915"/>
<source>Same as town</source>
<translation>Wie die Stadt</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="916"/>
<source>Removable units</source>
<translation>Entfernbare Einheiten</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="917"/>
<source>Placeholder type</source>
<translation>Platzhalter-Typ</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="918"/>
<source>Power rank</source>
<translation>Stärke Rang</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="919"/>
<source>Hero type</source>
<translation>Helden-Typ</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="920"/>
<source>Experience</source>
<translation>Erfahrung</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="921"/>
<source>MALE</source>
<translation>MÄNNLICH</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="922"/>
<source>FEMALE</source>
<translation>WEIBLICH</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="923"/>
<source>Gender</source>
<translation>Geschlecht</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="924"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="925"/>
<source>Biography</source>
<translation>Biografie</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="926"/>
<source>Spells</source>
<translation>Zaubersprüche</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="928"/>
<source>Patrol radius</source>
<translation>Patrouillenradius</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="929"/>
<source>Town name</source>
<translation>Stadtname</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="930"/>
<source>Message</source>
<translation>Nachricht</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="931"/>
<source>Spell</source>
<translation>Zauberspruch</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="932"/>
<source>Productivity</source>
<translation>Produktivität</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="933"/>
<source>Amount</source>
<translation>Menge</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="934"/>
<source>Character</source>
<translation>Charakter</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="935"/>
<source>Never flees</source>
<translation>Flieht niemals</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="936"/>
<source>Not growing</source>
<translation>Wächst nicht</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="937"/>
<source>Reward</source>
<translation>Belohnung</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="938"/>
<source>Remove after</source>
<translation>Nach Entfernen</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="939"/>
<source>Human trigger</source>
<translation>Menschlich-Auslöser</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="940"/>
<source>Cpu trigger</source>
<translation>CPU-Auslöser</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="941"/>
<source>First visit text</source>
<translation>Erster Besuch Text</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="942"/>
<source>Next visit text</source>
<translation>Nächster Besuch Text</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="943"/>
<source>Completed text</source>
<translation>Abgeschlossener Text</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="944"/>
<source>Repeat quest</source>
<translation>Wiederhole Quest</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="945"/>
<source>Time limit</source>
<translation>Zeitlimit</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="865"/>
<source>UNFLAGGABLE</source>
<translation>UNFLAGGBAR</translation>
</message>
@ -1534,8 +1815,8 @@
<translation>Tag %1</translation>
</message>
<message>
<location filename="../inspector/rewardswidget.cpp" line="238"/>
<location filename="../inspector/rewardswidget.cpp" line="609"/>
<location filename="../inspector/rewardswidget.cpp" line="242"/>
<location filename="../inspector/rewardswidget.cpp" line="613"/>
<source>Reward %1</source>
<translation>Belohnung %1</translation>
</message>
@ -1757,12 +2038,12 @@
<translation>OK</translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="170"/>
<location filename="../inspector/towneventdialog.cpp" line="174"/>
<source>Creature level %1 / Creature level %1 Upgrade</source>
<translation>Kreaturlevel %1 / Kreaturlevel %1 Aufgerüstet</translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="212"/>
<location filename="../inspector/towneventdialog.cpp" line="216"/>
<source>Day %1 - %2</source>
<translation>Tag %1 - %2</translation>
</message>
@ -2090,6 +2371,11 @@
<source>Kill monster</source>
<translation>Monster töten</translation>
</message>
<message>
<location filename="../mapsettings/victoryconditions.cpp" line="432"/>
<source>Any town</source>
<translation>Jede Stadt</translation>
</message>
</context>
<context>
<name>WindowNewMap</name>
@ -2292,6 +2578,11 @@
<source>RMG failure</source>
<translation>RMG-Fehler</translation>
</message>
<message>
<location filename="../windownewmap.cpp" line="422"/>
<source>[default]</source>
<translation>[Standard]</translation>
</message>
</context>
<context>
<name>main</name>

View File

@ -646,6 +646,16 @@
<source>Unsaved changes will be lost, are you sure?</source>
<translation>Niezapisane zmiany zostaną utracone, jesteś pewny?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="410"/>
<source>Mods are required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="415"/>
<source>Failed to open map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="441"/>
<source>Open map</source>
@ -657,10 +667,30 @@
<translation>Wszystkie wspierane mapy (*.vmap *.h3m);;Mapy VCMI(*.vmap);;Mapy HoMM3(*.h3m)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="463"/>
<location filename="../mainwindow.cpp" line="497"/>
<source>Recently Opened Files</source>
<translation>Ostatnio otwierane pliki</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="550"/>
<source>Map validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="552"/>
<source>Map has critical problems and most probably will not be playable. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="554"/>
<source>Map has some errors. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="578"/>
<source>Failed to save map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="591"/>
<source>Save map</source>
@ -756,6 +786,16 @@
<source>Other</source>
<translation>Inne</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Mods loading problem</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Critical error during Mods loading. Disable invalid mods and restart.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="962"/>
<source>View surface</source>
@ -997,7 +1037,7 @@
<translation>Bez sojuszu</translation>
</message>
<message>
<location filename="../playerparams.cpp" line="108"/>
<location filename="../playerparams.cpp" line="110"/>
<source>Player ID: %1</source>
<translation>ID gracza: %1</translation>
</message>
@ -1062,39 +1102,70 @@
<translation>Ekspert</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="40"/>
<location filename="../inspector/inspector.cpp" line="949"/>
<source>Compliant</source>
<translation>Przyjazny</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="41"/>
<location filename="../inspector/inspector.cpp" line="950"/>
<source>Friendly</source>
<translation>Przychylny</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="42"/>
<location filename="../inspector/inspector.cpp" line="951"/>
<source>Aggressive</source>
<translation>Agresywny</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="43"/>
<location filename="../inspector/inspector.cpp" line="952"/>
<source>Hostile</source>
<translation>Wrogi</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="44"/>
<location filename="../inspector/inspector.cpp" line="953"/>
<source>Savage</source>
<translation>Nienawistny</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="357"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="349"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<location filename="../inspector/inspector.cpp" line="927"/>
<source>No patrol</source>
<translation>Brak patrolu</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>POWER RANK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>HERO TYPE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="315"/>
<source>Hero class</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="324"/>
<source>Portrait</source>
<translation type="unfinished">Portret</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="327"/>
<source>Skills</source>
<translation type="unfinished">Umiejętności</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="329"/>
<source>Artifacts</source>
<translation type="unfinished">Artefakty</translation>
</message>
<message numerus="yes">
<location filename="../inspector/inspector.cpp" line="359"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="351"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<source>%n tile(s)</source>
<translation>
<numerusform>%n pole</numerusform>
@ -1103,13 +1174,223 @@
</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="875"/>
<location filename="../inspector/inspector.cpp" line="964"/>
<location filename="../inspector/inspector.cpp" line="364"/>
<source>Buildings</source>
<translation type="unfinished">Budynki</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="366"/>
<source>Events</source>
<translation type="unfinished">Zdarzenia</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="397"/>
<source>Resource</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="428"/>
<source>Artifact reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="471"/>
<source>Quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="489"/>
<source>Identifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="490"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="491"/>
<source>SubID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="492"/>
<source>InstanceName</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="497"/>
<source>IsStatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="867"/>
<location filename="../inspector/inspector.cpp" line="1003"/>
<source>neutral</source>
<translation>neutralny</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="873"/>
<location filename="../inspector/inspector.cpp" line="913"/>
<source>Army</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="914"/>
<source>Owner</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="915"/>
<source>Same as town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="916"/>
<source>Removable units</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="917"/>
<source>Placeholder type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="918"/>
<source>Power rank</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="919"/>
<source>Hero type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="920"/>
<source>Experience</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="921"/>
<source>MALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="922"/>
<source>FEMALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="923"/>
<source>Gender</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="924"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="925"/>
<source>Biography</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="926"/>
<source>Spells</source>
<translation type="unfinished">Zaklęcia</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="928"/>
<source>Patrol radius</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="929"/>
<source>Town name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="930"/>
<source>Message</source>
<translation type="unfinished">Wiadomość</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="931"/>
<source>Spell</source>
<translation type="unfinished">Zaklęcie</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="932"/>
<source>Productivity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="933"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="934"/>
<source>Character</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="935"/>
<source>Never flees</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="936"/>
<source>Not growing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="937"/>
<source>Reward</source>
<translation type="unfinished">Nagroda</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="938"/>
<source>Remove after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="939"/>
<source>Human trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="940"/>
<source>Cpu trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="941"/>
<source>First visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="942"/>
<source>Next visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="943"/>
<source>Completed text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="944"/>
<source>Repeat quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="945"/>
<source>Time limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="865"/>
<source>UNFLAGGABLE</source>
<translation>NIEFLAGOWALNY</translation>
</message>
@ -1535,8 +1816,8 @@
<translation>Dzień %1</translation>
</message>
<message>
<location filename="../inspector/rewardswidget.cpp" line="238"/>
<location filename="../inspector/rewardswidget.cpp" line="609"/>
<location filename="../inspector/rewardswidget.cpp" line="242"/>
<location filename="../inspector/rewardswidget.cpp" line="613"/>
<source>Reward %1</source>
<translation>Nagroda %1</translation>
</message>
@ -1758,12 +2039,12 @@
<translation>OK</translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="170"/>
<location filename="../inspector/towneventdialog.cpp" line="174"/>
<source>Creature level %1 / Creature level %1 Upgrade</source>
<translation>Stworzenie poziomu %1 / Ulepszone stworzenie poziomu %1</translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="212"/>
<location filename="../inspector/towneventdialog.cpp" line="216"/>
<source>Day %1 - %2</source>
<translation>Dzień %1 - %2</translation>
</message>
@ -2091,6 +2372,11 @@
<source>Kill monster</source>
<translation>Zabij potwora</translation>
</message>
<message>
<location filename="../mapsettings/victoryconditions.cpp" line="432"/>
<source>Any town</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowNewMap</name>
@ -2293,6 +2579,11 @@
<source>RMG failure</source>
<translation>Niepowodzenie generatora map losowych</translation>
</message>
<message>
<location filename="../windownewmap.cpp" line="422"/>
<source>[default]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>

View File

@ -646,6 +646,16 @@
<source>Unsaved changes will be lost, are you sure?</source>
<translation>As alterações não salvas serão perdidas. Tem certeza?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="410"/>
<source>Mods are required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="415"/>
<source>Failed to open map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="441"/>
<source>Open map</source>
@ -657,10 +667,30 @@
<translation>Todos os mapas suportados (*.vmap *.h3m);;Mapas do VCMI (*.vmap);;Mapas do HoMM3 (*.h3m)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="463"/>
<location filename="../mainwindow.cpp" line="497"/>
<source>Recently Opened Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="550"/>
<source>Map validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="552"/>
<source>Map has critical problems and most probably will not be playable. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="554"/>
<source>Map has some errors. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="578"/>
<source>Failed to save map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="591"/>
<source>Save map</source>
@ -756,6 +786,16 @@
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Mods loading problem</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Critical error during Mods loading. Disable invalid mods and restart.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="962"/>
<source>View surface</source>
@ -997,7 +1037,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../playerparams.cpp" line="108"/>
<location filename="../playerparams.cpp" line="110"/>
<source>Player ID: %1</source>
<translation>ID do Jogador: %1</translation>
</message>
@ -1062,39 +1102,70 @@
<translation>Experiente</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="40"/>
<location filename="../inspector/inspector.cpp" line="949"/>
<source>Compliant</source>
<translation>Complacente</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="41"/>
<location filename="../inspector/inspector.cpp" line="950"/>
<source>Friendly</source>
<translation>Amigável</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="42"/>
<location filename="../inspector/inspector.cpp" line="951"/>
<source>Aggressive</source>
<translation>Agressivo</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="43"/>
<location filename="../inspector/inspector.cpp" line="952"/>
<source>Hostile</source>
<translation>Hostil</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="44"/>
<location filename="../inspector/inspector.cpp" line="953"/>
<source>Savage</source>
<translation>Selvagem</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="357"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="349"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<location filename="../inspector/inspector.cpp" line="927"/>
<source>No patrol</source>
<translation>Sem patrulha</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>POWER RANK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>HERO TYPE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="315"/>
<source>Hero class</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="324"/>
<source>Portrait</source>
<translation type="unfinished">Retrato</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="327"/>
<source>Skills</source>
<translation type="unfinished">Habilidades</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="329"/>
<source>Artifacts</source>
<translation type="unfinished">Artefatos</translation>
</message>
<message numerus="yes">
<location filename="../inspector/inspector.cpp" line="359"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="351"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<source>%n tile(s)</source>
<translation>
<numerusform>%n bloco</numerusform>
@ -1102,13 +1173,223 @@
</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="875"/>
<location filename="../inspector/inspector.cpp" line="964"/>
<location filename="../inspector/inspector.cpp" line="364"/>
<source>Buildings</source>
<translation type="unfinished">Estruturas</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="366"/>
<source>Events</source>
<translation type="unfinished">Eventos</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="397"/>
<source>Resource</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="428"/>
<source>Artifact reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="471"/>
<source>Quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="489"/>
<source>Identifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="490"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="491"/>
<source>SubID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="492"/>
<source>InstanceName</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="497"/>
<source>IsStatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="867"/>
<location filename="../inspector/inspector.cpp" line="1003"/>
<source>neutral</source>
<translation>neutro</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="873"/>
<location filename="../inspector/inspector.cpp" line="913"/>
<source>Army</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="914"/>
<source>Owner</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="915"/>
<source>Same as town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="916"/>
<source>Removable units</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="917"/>
<source>Placeholder type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="918"/>
<source>Power rank</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="919"/>
<source>Hero type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="920"/>
<source>Experience</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="921"/>
<source>MALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="922"/>
<source>FEMALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="923"/>
<source>Gender</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="924"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="925"/>
<source>Biography</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="926"/>
<source>Spells</source>
<translation type="unfinished">Feitiços</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="928"/>
<source>Patrol radius</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="929"/>
<source>Town name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="930"/>
<source>Message</source>
<translation type="unfinished">Mensagem</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="931"/>
<source>Spell</source>
<translation type="unfinished">Feitiço</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="932"/>
<source>Productivity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="933"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="934"/>
<source>Character</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="935"/>
<source>Never flees</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="936"/>
<source>Not growing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="937"/>
<source>Reward</source>
<translation type="unfinished">Recompensa</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="938"/>
<source>Remove after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="939"/>
<source>Human trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="940"/>
<source>Cpu trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="941"/>
<source>First visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="942"/>
<source>Next visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="943"/>
<source>Completed text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="944"/>
<source>Repeat quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="945"/>
<source>Time limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="865"/>
<source>UNFLAGGABLE</source>
<translation>NÃO TEM BANDEIRA</translation>
</message>
@ -1534,8 +1815,8 @@
<translation>Dia %1</translation>
</message>
<message>
<location filename="../inspector/rewardswidget.cpp" line="238"/>
<location filename="../inspector/rewardswidget.cpp" line="609"/>
<location filename="../inspector/rewardswidget.cpp" line="242"/>
<location filename="../inspector/rewardswidget.cpp" line="613"/>
<source>Reward %1</source>
<translation>Recompensa %1</translation>
</message>
@ -1757,12 +2038,12 @@
<translation>OK</translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="170"/>
<location filename="../inspector/towneventdialog.cpp" line="174"/>
<source>Creature level %1 / Creature level %1 Upgrade</source>
<translation>Nível da criatura %1 / Nível da criatura %1 - Atualização</translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="212"/>
<location filename="../inspector/towneventdialog.cpp" line="216"/>
<source>Day %1 - %2</source>
<translation>Dia %1 - %2</translation>
</message>
@ -2090,6 +2371,11 @@
<source>Kill monster</source>
<translation>Matar monstro</translation>
</message>
<message>
<location filename="../mapsettings/victoryconditions.cpp" line="432"/>
<source>Any town</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowNewMap</name>
@ -2292,6 +2578,11 @@
<source>RMG failure</source>
<translation>Falha do GMA</translation>
</message>
<message>
<location filename="../windownewmap.cpp" line="422"/>
<source>[default]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>

View File

@ -646,6 +646,16 @@
<source>Unsaved changes will be lost, are you sure?</source>
<translation>Несохранённые изменения будут потеряны. Вы уверены?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="410"/>
<source>Mods are required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="415"/>
<source>Failed to open map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="441"/>
<source>Open map</source>
@ -657,10 +667,30 @@
<translation>Все поддерживаемые карты (*.vmap *.h3m);;Карты VCMI (*.vmap);;Карты Героев III (*.h3m)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="463"/>
<location filename="../mainwindow.cpp" line="497"/>
<source>Recently Opened Files</source>
<translation>Недавно открытые файлы</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="550"/>
<source>Map validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="552"/>
<source>Map has critical problems and most probably will not be playable. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="554"/>
<source>Map has some errors. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="578"/>
<source>Failed to save map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="591"/>
<source>Save map</source>
@ -756,6 +786,16 @@
<source>Other</source>
<translation>Прочее</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Mods loading problem</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Critical error during Mods loading. Disable invalid mods and restart.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="962"/>
<source>View surface</source>
@ -997,7 +1037,7 @@
<translation>Без команды</translation>
</message>
<message>
<location filename="../playerparams.cpp" line="108"/>
<location filename="../playerparams.cpp" line="110"/>
<source>Player ID: %1</source>
<translation>Игрок: %1</translation>
</message>
@ -1062,39 +1102,70 @@
<translation>Эксперт</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="40"/>
<location filename="../inspector/inspector.cpp" line="949"/>
<source>Compliant</source>
<translation>Сговорчивый</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="41"/>
<location filename="../inspector/inspector.cpp" line="950"/>
<source>Friendly</source>
<translation>Дружелюбный</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="42"/>
<location filename="../inspector/inspector.cpp" line="951"/>
<source>Aggressive</source>
<translation>Агрессивный</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="43"/>
<location filename="../inspector/inspector.cpp" line="952"/>
<source>Hostile</source>
<translation>Враждебный</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="44"/>
<location filename="../inspector/inspector.cpp" line="953"/>
<source>Savage</source>
<translation>Дикий</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="357"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="349"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<location filename="../inspector/inspector.cpp" line="927"/>
<source>No patrol</source>
<translation>Без патруля</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>POWER RANK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>HERO TYPE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="315"/>
<source>Hero class</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="324"/>
<source>Portrait</source>
<translation type="unfinished">Портрет</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="327"/>
<source>Skills</source>
<translation type="unfinished">Навыки</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="329"/>
<source>Artifacts</source>
<translation type="unfinished">Артефакты</translation>
</message>
<message numerus="yes">
<location filename="../inspector/inspector.cpp" line="359"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="351"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<source>%n tile(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
@ -1103,13 +1174,223 @@
</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="875"/>
<location filename="../inspector/inspector.cpp" line="964"/>
<location filename="../inspector/inspector.cpp" line="364"/>
<source>Buildings</source>
<translation type="unfinished">Постройки</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="366"/>
<source>Events</source>
<translation type="unfinished">События</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="397"/>
<source>Resource</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="428"/>
<source>Artifact reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="471"/>
<source>Quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="489"/>
<source>Identifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="490"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="491"/>
<source>SubID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="492"/>
<source>InstanceName</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="497"/>
<source>IsStatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="867"/>
<location filename="../inspector/inspector.cpp" line="1003"/>
<source>neutral</source>
<translation>нейтральный</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="873"/>
<location filename="../inspector/inspector.cpp" line="913"/>
<source>Army</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="914"/>
<source>Owner</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="915"/>
<source>Same as town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="916"/>
<source>Removable units</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="917"/>
<source>Placeholder type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="918"/>
<source>Power rank</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="919"/>
<source>Hero type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="920"/>
<source>Experience</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="921"/>
<source>MALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="922"/>
<source>FEMALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="923"/>
<source>Gender</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="924"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="925"/>
<source>Biography</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="926"/>
<source>Spells</source>
<translation type="unfinished">Заклинания</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="928"/>
<source>Patrol radius</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="929"/>
<source>Town name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="930"/>
<source>Message</source>
<translation type="unfinished">Сообщение</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="931"/>
<source>Spell</source>
<translation type="unfinished">Заклинание</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="932"/>
<source>Productivity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="933"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="934"/>
<source>Character</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="935"/>
<source>Never flees</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="936"/>
<source>Not growing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="937"/>
<source>Reward</source>
<translation type="unfinished">Награда</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="938"/>
<source>Remove after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="939"/>
<source>Human trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="940"/>
<source>Cpu trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="941"/>
<source>First visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="942"/>
<source>Next visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="943"/>
<source>Completed text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="944"/>
<source>Repeat quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="945"/>
<source>Time limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="865"/>
<source>UNFLAGGABLE</source>
<translation>НЕФЛАГУЕМЫЙ</translation>
</message>
@ -1535,8 +1816,8 @@
<translation>День %1</translation>
</message>
<message>
<location filename="../inspector/rewardswidget.cpp" line="238"/>
<location filename="../inspector/rewardswidget.cpp" line="609"/>
<location filename="../inspector/rewardswidget.cpp" line="242"/>
<location filename="../inspector/rewardswidget.cpp" line="613"/>
<source>Reward %1</source>
<translation>Награда %1</translation>
</message>
@ -1758,12 +2039,12 @@
<translation>ОК</translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="170"/>
<location filename="../inspector/towneventdialog.cpp" line="174"/>
<source>Creature level %1 / Creature level %1 Upgrade</source>
<translation>Уровень существа %1 / Уровень существа %1 Улучшение</translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="212"/>
<location filename="../inspector/towneventdialog.cpp" line="216"/>
<source>Day %1 - %2</source>
<translation>День %1 - %2</translation>
</message>
@ -2091,6 +2372,11 @@
<source>Kill monster</source>
<translation>Убить монстра</translation>
</message>
<message>
<location filename="../mapsettings/victoryconditions.cpp" line="432"/>
<source>Any town</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowNewMap</name>
@ -2293,6 +2579,11 @@
<source>RMG failure</source>
<translation>Ошибка генерации случайной карты</translation>
</message>
<message>
<location filename="../windownewmap.cpp" line="422"/>
<source>[default]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>

View File

@ -646,6 +646,16 @@
<source>Unsaved changes will be lost, are you sure?</source>
<translation>Los cambios no guardados se perderán. Está usted seguro ?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="410"/>
<source>Mods are required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="415"/>
<source>Failed to open map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="441"/>
<source>Open map</source>
@ -657,10 +667,30 @@
<translation>Todos los mapas soportados (*.vmap *.h3m);;Mapas VCMI (*.vmap);;Mapas HoMM3 (*.h3m)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="463"/>
<location filename="../mainwindow.cpp" line="497"/>
<source>Recently Opened Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="550"/>
<source>Map validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="552"/>
<source>Map has critical problems and most probably will not be playable. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="554"/>
<source>Map has some errors. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="578"/>
<source>Failed to save map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="591"/>
<source>Save map</source>
@ -756,6 +786,16 @@
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Mods loading problem</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Critical error during Mods loading. Disable invalid mods and restart.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="962"/>
<source>View surface</source>
@ -997,7 +1037,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../playerparams.cpp" line="108"/>
<location filename="../playerparams.cpp" line="110"/>
<source>Player ID: %1</source>
<translation>ID de jugador: %1</translation>
</message>
@ -1062,39 +1102,70 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="40"/>
<location filename="../inspector/inspector.cpp" line="949"/>
<source>Compliant</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="41"/>
<location filename="../inspector/inspector.cpp" line="950"/>
<source>Friendly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="42"/>
<location filename="../inspector/inspector.cpp" line="951"/>
<source>Aggressive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="43"/>
<location filename="../inspector/inspector.cpp" line="952"/>
<source>Hostile</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="44"/>
<location filename="../inspector/inspector.cpp" line="953"/>
<source>Savage</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="357"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="349"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<location filename="../inspector/inspector.cpp" line="927"/>
<source>No patrol</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>POWER RANK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>HERO TYPE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="315"/>
<source>Hero class</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="324"/>
<source>Portrait</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="327"/>
<source>Skills</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="329"/>
<source>Artifacts</source>
<translation type="unfinished">Artefactos</translation>
</message>
<message numerus="yes">
<location filename="../inspector/inspector.cpp" line="359"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="351"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<source>%n tile(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
@ -1102,13 +1173,223 @@
</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="875"/>
<location filename="../inspector/inspector.cpp" line="964"/>
<location filename="../inspector/inspector.cpp" line="364"/>
<source>Buildings</source>
<translation type="unfinished">Edificios</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="366"/>
<source>Events</source>
<translation type="unfinished">Eventos</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="397"/>
<source>Resource</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="428"/>
<source>Artifact reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="471"/>
<source>Quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="489"/>
<source>Identifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="490"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="491"/>
<source>SubID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="492"/>
<source>InstanceName</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="497"/>
<source>IsStatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="867"/>
<location filename="../inspector/inspector.cpp" line="1003"/>
<source>neutral</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="873"/>
<location filename="../inspector/inspector.cpp" line="913"/>
<source>Army</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="914"/>
<source>Owner</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="915"/>
<source>Same as town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="916"/>
<source>Removable units</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="917"/>
<source>Placeholder type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="918"/>
<source>Power rank</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="919"/>
<source>Hero type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="920"/>
<source>Experience</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="921"/>
<source>MALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="922"/>
<source>FEMALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="923"/>
<source>Gender</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="924"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="925"/>
<source>Biography</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="926"/>
<source>Spells</source>
<translation type="unfinished">Hechizos</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="928"/>
<source>Patrol radius</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="929"/>
<source>Town name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="930"/>
<source>Message</source>
<translation type="unfinished">Mensaje</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="931"/>
<source>Spell</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="932"/>
<source>Productivity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="933"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="934"/>
<source>Character</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="935"/>
<source>Never flees</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="936"/>
<source>Not growing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="937"/>
<source>Reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="938"/>
<source>Remove after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="939"/>
<source>Human trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="940"/>
<source>Cpu trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="941"/>
<source>First visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="942"/>
<source>Next visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="943"/>
<source>Completed text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="944"/>
<source>Repeat quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="945"/>
<source>Time limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="865"/>
<source>UNFLAGGABLE</source>
<translation type="unfinished"></translation>
</message>
@ -1534,8 +1815,8 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/rewardswidget.cpp" line="238"/>
<location filename="../inspector/rewardswidget.cpp" line="609"/>
<location filename="../inspector/rewardswidget.cpp" line="242"/>
<location filename="../inspector/rewardswidget.cpp" line="613"/>
<source>Reward %1</source>
<translation type="unfinished"></translation>
</message>
@ -1757,12 +2038,12 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="170"/>
<location filename="../inspector/towneventdialog.cpp" line="174"/>
<source>Creature level %1 / Creature level %1 Upgrade</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="212"/>
<location filename="../inspector/towneventdialog.cpp" line="216"/>
<source>Day %1 - %2</source>
<translation type="unfinished"></translation>
</message>
@ -2090,6 +2371,11 @@
<source>Kill monster</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mapsettings/victoryconditions.cpp" line="432"/>
<source>Any town</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowNewMap</name>
@ -2292,6 +2578,11 @@
<source>RMG failure</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../windownewmap.cpp" line="422"/>
<source>[default]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>

View File

@ -646,6 +646,16 @@
<source>Unsaved changes will be lost, are you sure?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="410"/>
<source>Mods are required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="415"/>
<source>Failed to open map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="441"/>
<source>Open map</source>
@ -657,10 +667,30 @@
<translation>Всі підтримувані мапи (*.vmap *.h3m);;Мапи VCMI (*.vmap);;Мапи HoMM3 (*.h3m)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="463"/>
<location filename="../mainwindow.cpp" line="497"/>
<source>Recently Opened Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="550"/>
<source>Map validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="552"/>
<source>Map has critical problems and most probably will not be playable. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="554"/>
<source>Map has some errors. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="578"/>
<source>Failed to save map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="591"/>
<source>Save map</source>
@ -756,6 +786,16 @@
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Mods loading problem</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Critical error during Mods loading. Disable invalid mods and restart.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="962"/>
<source>View surface</source>
@ -997,7 +1037,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../playerparams.cpp" line="108"/>
<location filename="../playerparams.cpp" line="110"/>
<source>Player ID: %1</source>
<translation>Гравець %1</translation>
</message>
@ -1062,39 +1102,70 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="40"/>
<location filename="../inspector/inspector.cpp" line="949"/>
<source>Compliant</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="41"/>
<location filename="../inspector/inspector.cpp" line="950"/>
<source>Friendly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="42"/>
<location filename="../inspector/inspector.cpp" line="951"/>
<source>Aggressive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="43"/>
<location filename="../inspector/inspector.cpp" line="952"/>
<source>Hostile</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="44"/>
<location filename="../inspector/inspector.cpp" line="953"/>
<source>Savage</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="357"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="349"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<location filename="../inspector/inspector.cpp" line="927"/>
<source>No patrol</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>POWER RANK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>HERO TYPE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="315"/>
<source>Hero class</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="324"/>
<source>Portrait</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="327"/>
<source>Skills</source>
<translation type="unfinished">Вміння</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="329"/>
<source>Artifacts</source>
<translation type="unfinished">Артефакти</translation>
</message>
<message numerus="yes">
<location filename="../inspector/inspector.cpp" line="359"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="351"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<source>%n tile(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
@ -1103,13 +1174,223 @@
</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="875"/>
<location filename="../inspector/inspector.cpp" line="964"/>
<location filename="../inspector/inspector.cpp" line="364"/>
<source>Buildings</source>
<translation type="unfinished">Будівлі</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="366"/>
<source>Events</source>
<translation type="unfinished">Події</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="397"/>
<source>Resource</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="428"/>
<source>Artifact reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="471"/>
<source>Quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="489"/>
<source>Identifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="490"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="491"/>
<source>SubID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="492"/>
<source>InstanceName</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="497"/>
<source>IsStatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="867"/>
<location filename="../inspector/inspector.cpp" line="1003"/>
<source>neutral</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="873"/>
<location filename="../inspector/inspector.cpp" line="913"/>
<source>Army</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="914"/>
<source>Owner</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="915"/>
<source>Same as town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="916"/>
<source>Removable units</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="917"/>
<source>Placeholder type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="918"/>
<source>Power rank</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="919"/>
<source>Hero type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="920"/>
<source>Experience</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="921"/>
<source>MALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="922"/>
<source>FEMALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="923"/>
<source>Gender</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="924"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="925"/>
<source>Biography</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="926"/>
<source>Spells</source>
<translation type="unfinished">Закляття</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="928"/>
<source>Patrol radius</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="929"/>
<source>Town name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="930"/>
<source>Message</source>
<translation type="unfinished">Повідомлення</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="931"/>
<source>Spell</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="932"/>
<source>Productivity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="933"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="934"/>
<source>Character</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="935"/>
<source>Never flees</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="936"/>
<source>Not growing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="937"/>
<source>Reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="938"/>
<source>Remove after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="939"/>
<source>Human trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="940"/>
<source>Cpu trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="941"/>
<source>First visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="942"/>
<source>Next visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="943"/>
<source>Completed text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="944"/>
<source>Repeat quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="945"/>
<source>Time limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="865"/>
<source>UNFLAGGABLE</source>
<translation type="unfinished"></translation>
</message>
@ -1535,8 +1816,8 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/rewardswidget.cpp" line="238"/>
<location filename="../inspector/rewardswidget.cpp" line="609"/>
<location filename="../inspector/rewardswidget.cpp" line="242"/>
<location filename="../inspector/rewardswidget.cpp" line="613"/>
<source>Reward %1</source>
<translation type="unfinished"></translation>
</message>
@ -1758,12 +2039,12 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="170"/>
<location filename="../inspector/towneventdialog.cpp" line="174"/>
<source>Creature level %1 / Creature level %1 Upgrade</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="212"/>
<location filename="../inspector/towneventdialog.cpp" line="216"/>
<source>Day %1 - %2</source>
<translation type="unfinished"></translation>
</message>
@ -2091,6 +2372,11 @@
<source>Kill monster</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mapsettings/victoryconditions.cpp" line="432"/>
<source>Any town</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowNewMap</name>
@ -2293,6 +2579,11 @@
<source>RMG failure</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../windownewmap.cpp" line="422"/>
<source>[default]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>

View File

@ -646,6 +646,16 @@
<source>Unsaved changes will be lost, are you sure?</source>
<translation>Thay đi chưa lưu sẽ bị mất, bạn chắc chắn?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="410"/>
<source>Mods are required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="415"/>
<source>Failed to open map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="441"/>
<source>Open map</source>
@ -657,10 +667,30 @@
<translation>Tất cả bản đ hỗ trợ (*.vmap *.h3m);;Bản đ VCMI (*.vmap);;Bản đ HoMM3 (*.h3m)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="463"/>
<location filename="../mainwindow.cpp" line="497"/>
<source>Recently Opened Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="550"/>
<source>Map validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="552"/>
<source>Map has critical problems and most probably will not be playable. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="554"/>
<source>Map has some errors. Open Validator from the Map menu to see issues found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="578"/>
<source>Failed to save map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="591"/>
<source>Save map</source>
@ -756,6 +786,16 @@
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Mods loading problem</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="945"/>
<source>Critical error during Mods loading. Disable invalid mods and restart.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="962"/>
<source>View surface</source>
@ -997,7 +1037,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../playerparams.cpp" line="108"/>
<location filename="../playerparams.cpp" line="110"/>
<source>Player ID: %1</source>
<translation>ID người chơi: %1</translation>
</message>
@ -1062,52 +1102,293 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="40"/>
<location filename="../inspector/inspector.cpp" line="949"/>
<source>Compliant</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="41"/>
<location filename="../inspector/inspector.cpp" line="950"/>
<source>Friendly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="42"/>
<location filename="../inspector/inspector.cpp" line="951"/>
<source>Aggressive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="43"/>
<location filename="../inspector/inspector.cpp" line="952"/>
<source>Hostile</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="44"/>
<location filename="../inspector/inspector.cpp" line="953"/>
<source>Savage</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="357"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="349"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<location filename="../inspector/inspector.cpp" line="927"/>
<source>No patrol</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>POWER RANK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="292"/>
<source>HERO TYPE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="315"/>
<source>Hero class</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="324"/>
<source>Portrait</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="327"/>
<source>Skills</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="329"/>
<source>Artifacts</source>
<translation type="unfinished">Vật phẩm</translation>
</message>
<message numerus="yes">
<location filename="../inspector/inspector.cpp" line="359"/>
<location filename="../inspector/inspector.cpp" line="360"/>
<location filename="../inspector/inspector.cpp" line="351"/>
<location filename="../inspector/inspector.cpp" line="352"/>
<source>%n tile(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="875"/>
<location filename="../inspector/inspector.cpp" line="964"/>
<location filename="../inspector/inspector.cpp" line="364"/>
<source>Buildings</source>
<translation type="unfinished">Công trình</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="366"/>
<source>Events</source>
<translation type="unfinished">Sự kiện</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="397"/>
<source>Resource</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="428"/>
<source>Artifact reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="471"/>
<source>Quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="489"/>
<source>Identifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="490"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="491"/>
<source>SubID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="492"/>
<source>InstanceName</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="497"/>
<source>IsStatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="867"/>
<location filename="../inspector/inspector.cpp" line="1003"/>
<source>neutral</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="873"/>
<location filename="../inspector/inspector.cpp" line="913"/>
<source>Army</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="914"/>
<source>Owner</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="915"/>
<source>Same as town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="916"/>
<source>Removable units</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="917"/>
<source>Placeholder type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="918"/>
<source>Power rank</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="919"/>
<source>Hero type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="920"/>
<source>Experience</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="921"/>
<source>MALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="922"/>
<source>FEMALE</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="923"/>
<source>Gender</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="924"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="925"/>
<source>Biography</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="926"/>
<source>Spells</source>
<translation type="unfinished">Phép</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="928"/>
<source>Patrol radius</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="929"/>
<source>Town name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="930"/>
<source>Message</source>
<translation type="unfinished">Thông báo</translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="931"/>
<source>Spell</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="932"/>
<source>Productivity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="933"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="934"/>
<source>Character</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="935"/>
<source>Never flees</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="936"/>
<source>Not growing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="937"/>
<source>Reward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="938"/>
<source>Remove after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="939"/>
<source>Human trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="940"/>
<source>Cpu trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="941"/>
<source>First visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="942"/>
<source>Next visit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="943"/>
<source>Completed text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="944"/>
<source>Repeat quest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="945"/>
<source>Time limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/inspector.cpp" line="865"/>
<source>UNFLAGGABLE</source>
<translation type="unfinished"></translation>
</message>
@ -1533,8 +1814,8 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/rewardswidget.cpp" line="238"/>
<location filename="../inspector/rewardswidget.cpp" line="609"/>
<location filename="../inspector/rewardswidget.cpp" line="242"/>
<location filename="../inspector/rewardswidget.cpp" line="613"/>
<source>Reward %1</source>
<translation type="unfinished"></translation>
</message>
@ -1756,12 +2037,12 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="170"/>
<location filename="../inspector/towneventdialog.cpp" line="174"/>
<source>Creature level %1 / Creature level %1 Upgrade</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../inspector/towneventdialog.cpp" line="212"/>
<location filename="../inspector/towneventdialog.cpp" line="216"/>
<source>Day %1 - %2</source>
<translation type="unfinished"></translation>
</message>
@ -2089,6 +2370,11 @@
<source>Kill monster</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mapsettings/victoryconditions.cpp" line="432"/>
<source>Any town</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowNewMap</name>
@ -2291,6 +2577,11 @@
<source>RMG failure</source>
<translation>Tạo bản đ ngẫu nhiên thất bại</translation>
</message>
<message>
<location filename="../windownewmap.cpp" line="422"/>
<source>[default]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>

View File

@ -419,7 +419,7 @@ void WindowNewMap::updateTemplateList()
if(templates.empty())
return;
ui->templateCombo->addItem("[default]", 0);
ui->templateCombo->addItem(tr("[default]"), 0);
for(auto * templ : templates)
{