mirror of
https://github.com/vcmi/vcmi.git
synced 2025-03-19 21:10:12 +02:00
Merge remote-tracking branch 'upstream/beta' into develop
This commit is contained in:
commit
71553783e6
@ -205,6 +205,7 @@
|
||||
* Fixed duplicated list of spells in Mage Guild in copy-pasted towns
|
||||
* Removed separate versioning of map editor. Map editor now has same version as VCMI
|
||||
* Timed events interfaces now counts days from 1, instead of from 0
|
||||
* Added Recent Files to File Menu and Toolbar
|
||||
* Fixed crash on attempting to save map with random dwelling
|
||||
|
||||
### Modding
|
||||
|
@ -174,6 +174,12 @@
|
||||
"vcmi.lobby.pvp.randomTownVs.hover" : "Wylosuj 2 miasta",
|
||||
"vcmi.lobby.pvp.randomTownVs.help" : "Wyświetli nazwę 2 wylosowanych miast na czacie, które nie zostały zablokowane na liście",
|
||||
"vcmi.lobby.pvp.versus" : "vs.",
|
||||
"vcmi.lobby.deleteFile" : "Czy chcesz usunąć ten plik ?",
|
||||
"vcmi.lobby.deleteFolder" : "Czy chcesz usunąć ten folder ?",
|
||||
"vcmi.lobby.deleteMapTitle" : "Wskaż tytuł, który chcesz usunąć",
|
||||
"vcmi.lobby.deleteMode" : "Przełącza tryb na usuwanie i spowrotem",
|
||||
"vcmi.lobby.deleteSaveGameTitle" : "Wskaż zapis gry do usunięcia",
|
||||
"vcmi.lobby.deleteUnsupportedSave" : "{Znaleziono niekompatybilne zapisy gry}\n\nVCMI wykrył %d zapisów gry, które nie są już wspierane. Prawdopodobnie ze względu na różne wersje gry.\n\nCzy chcesz je usunąć ?",
|
||||
|
||||
"vcmi.client.errors.invalidMap" : "{Błędna mapa lub kampania}\n\nNie udało się stworzyć gry! Wybrana mapa lub kampania jest niepoprawna lub uszkodzona. Powód:\n%s",
|
||||
"vcmi.client.errors.missingCampaigns" : "{Brakujące pliki gry}\n\nPliki kampanii nie zostały znalezione! Możliwe że używasz niekompletnych lub uszkodzonych plików Heroes 3. Spróbuj ponownej instalacji plików gry.",
|
||||
@ -493,9 +499,31 @@
|
||||
"vcmi.stackExperience.rank.6" : "Adept",
|
||||
"vcmi.stackExperience.rank.7" : "Expert",
|
||||
"vcmi.stackExperience.rank.8" : "Elitarny",
|
||||
"vcmi.stackExperience.rank.9" : "Master",
|
||||
"vcmi.stackExperience.rank.9" : "Mistrz",
|
||||
"vcmi.stackExperience.rank.10" : "As",
|
||||
|
||||
"spell.core.castleMoat.name" : "Fosa",
|
||||
"spell.core.castleMoatTrigger.name" : "Fosa",
|
||||
"spell.core.catapultShot.name" : "Strzał z katapulty",
|
||||
"spell.core.cyclopsShot.name" : "Strzał oblężniczy",
|
||||
"spell.core.dungeonMoat.name" : "Wrzący olej",
|
||||
"spell.core.dungeonMoatTrigger.name" : "Wrzący olej",
|
||||
"spell.core.fireWallTrigger.name" : "Ściana Ognia",
|
||||
"spell.core.firstAid.name" : "Pierwsza pomoc",
|
||||
"spell.core.fortressMoat.name" : "Wrząca smoła",
|
||||
"spell.core.fortressMoatTrigger.name" : "Wrząca smoła",
|
||||
"spell.core.infernoMoat.name" : "Lawa",
|
||||
"spell.core.infernoMoatTrigger.name" : "Lawa",
|
||||
"spell.core.landMineTrigger.name" : "Mina",
|
||||
"spell.core.necropolisMoat.name" : "Fosa z kości",
|
||||
"spell.core.necropolisMoatTrigger.name" : "Fosa z kości",
|
||||
"spell.core.rampartMoat.name" : "Ciernisko",
|
||||
"spell.core.rampartMoatTrigger.name" : "Ciernisko",
|
||||
"spell.core.strongholdMoat.name" : "Palisada obronna",
|
||||
"spell.core.strongholdMoatTrigger.name" : "Palisada obronna",
|
||||
"spell.core.summonDemons.name" : "Przyzwanie Demonów",
|
||||
"spell.core.towerMoat.name" : "Pole minowe",
|
||||
|
||||
// Strings for HotA Seer Hut / Quest Guards
|
||||
"core.seerhut.quest.heroClass.complete.0" : "Ah, ty jesteś %s. Oto prezent dla ciebie. Czy go przyjmiesz?",
|
||||
"core.seerhut.quest.heroClass.complete.1" : "Ah, ty jesteś %s. Oto prezent dla ciebie. Czy go przyjmiesz?",
|
||||
|
@ -1064,7 +1064,7 @@ StackQueue::StackBox::StackBox(StackQueue * owner):
|
||||
icon = std::make_shared<CAnimImage>(AnimationPath::builtin("TWCRPORT"), 0, 0, 9, 1);
|
||||
amount = std::make_shared<CLabel>(pos.w/2, pos.h - 8, FONT_MEDIUM, ETextAlignment::CENTER, Colors::WHITE);
|
||||
roundRect = std::make_shared<TransparentFilledRectangle>(Rect(0, 0, 15, 18), ColorRGBA(0, 0, 0, 255), ColorRGBA(241, 216, 120, 255));
|
||||
round = std::make_shared<CLabel>(4, 2, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE);
|
||||
round = std::make_shared<CLabel>(6, 9, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
||||
|
||||
Point iconPos(pos.w - 16, pos.h - 16);
|
||||
|
||||
@ -1105,6 +1105,7 @@ void StackQueue::StackBox::setUnit(const battle::Unit * unit, size_t turn, std::
|
||||
const auto & font = GH.renderHandler().loadFont(FONT_SMALL);
|
||||
int len = font->getStringWidth(tmp);
|
||||
roundRect->pos.w = len + 6;
|
||||
round->pos = Rect(roundRect->pos.center().x, roundRect->pos.center().y, 0, 0);
|
||||
round->setText(tmp);
|
||||
}
|
||||
|
||||
|
@ -32,15 +32,22 @@ InputSourceKeyboard::InputSourceKeyboard()
|
||||
#endif
|
||||
}
|
||||
|
||||
std::string InputSourceKeyboard::getKeyNameWithModifiers(const std::string & keyName) const
|
||||
std::string InputSourceKeyboard::getKeyNameWithModifiers(const std::string & keyName, bool keyUp)
|
||||
{
|
||||
std::string result;
|
||||
|
||||
if (isKeyboardCtrlDown())
|
||||
if(!keyUp)
|
||||
{
|
||||
wasKeyboardCtrlDown = isKeyboardCtrlDown();
|
||||
wasKeyboardAltDown = isKeyboardAltDown();
|
||||
wasKeyboardShiftDown = isKeyboardShiftDown();
|
||||
}
|
||||
|
||||
if (wasKeyboardCtrlDown)
|
||||
result += "Ctrl+";
|
||||
if (isKeyboardAltDown())
|
||||
if (wasKeyboardAltDown)
|
||||
result += "Alt+";
|
||||
if (isKeyboardShiftDown())
|
||||
if (wasKeyboardShiftDown)
|
||||
result += "Shift+";
|
||||
result += keyName;
|
||||
|
||||
@ -49,7 +56,7 @@ std::string InputSourceKeyboard::getKeyNameWithModifiers(const std::string & key
|
||||
|
||||
void InputSourceKeyboard::handleEventKeyDown(const SDL_KeyboardEvent & key)
|
||||
{
|
||||
std::string keyName = getKeyNameWithModifiers(SDL_GetKeyName(key.keysym.sym));
|
||||
std::string keyName = getKeyNameWithModifiers(SDL_GetKeyName(key.keysym.sym), false);
|
||||
logGlobal->trace("keyboard: key '%s' pressed", keyName);
|
||||
assert(key.state == SDL_PRESSED);
|
||||
|
||||
@ -111,7 +118,7 @@ void InputSourceKeyboard::handleEventKeyUp(const SDL_KeyboardEvent & key)
|
||||
if(key.repeat != 0)
|
||||
return; // ignore periodic event resends
|
||||
|
||||
std::string keyName = getKeyNameWithModifiers(SDL_GetKeyName(key.keysym.sym));
|
||||
std::string keyName = getKeyNameWithModifiers(SDL_GetKeyName(key.keysym.sym), true);
|
||||
logGlobal->trace("keyboard: key '%s' released", keyName);
|
||||
|
||||
if (SDL_IsTextInputActive() == SDL_TRUE)
|
||||
|
@ -15,7 +15,11 @@ struct SDL_KeyboardEvent;
|
||||
/// Class that handles keyboard input from SDL events
|
||||
class InputSourceKeyboard
|
||||
{
|
||||
std::string getKeyNameWithModifiers(const std::string & keyName) const;
|
||||
bool wasKeyboardCtrlDown;
|
||||
bool wasKeyboardAltDown;
|
||||
bool wasKeyboardShiftDown;
|
||||
|
||||
std::string getKeyNameWithModifiers(const std::string & keyName, bool keyUp);
|
||||
public:
|
||||
InputSourceKeyboard();
|
||||
|
||||
|
@ -327,6 +327,11 @@ bool CVideoInstance::videoEnded()
|
||||
return getCurrentFrame() == nullptr;
|
||||
}
|
||||
|
||||
CVideoInstance::CVideoInstance()
|
||||
: startTimeInitialized(false), deactivationStartTimeHandling(false)
|
||||
{
|
||||
}
|
||||
|
||||
CVideoInstance::~CVideoInstance()
|
||||
{
|
||||
sws_freeContext(sws);
|
||||
@ -391,8 +396,11 @@ void CVideoInstance::tick(uint32_t msPassed)
|
||||
if(videoEnded())
|
||||
throw std::runtime_error("Video already ended!");
|
||||
|
||||
if(startTime == std::chrono::steady_clock::time_point())
|
||||
if(!startTimeInitialized)
|
||||
{
|
||||
startTime = std::chrono::steady_clock::now();
|
||||
startTimeInitialized = true;
|
||||
}
|
||||
|
||||
auto nowTime = std::chrono::steady_clock::now();
|
||||
double difference = std::chrono::duration_cast<std::chrono::milliseconds>(nowTime - startTime).count() / 1000.0;
|
||||
@ -410,17 +418,18 @@ void CVideoInstance::tick(uint32_t msPassed)
|
||||
|
||||
void CVideoInstance::activate()
|
||||
{
|
||||
if(deactivationStartTime != std::chrono::steady_clock::time_point())
|
||||
if(deactivationStartTimeHandling)
|
||||
{
|
||||
auto pauseDuration = std::chrono::steady_clock::now() - deactivationStartTime;
|
||||
startTime += pauseDuration;
|
||||
deactivationStartTime = std::chrono::steady_clock::time_point();
|
||||
deactivationStartTimeHandling = false;
|
||||
}
|
||||
}
|
||||
|
||||
void CVideoInstance::deactivate()
|
||||
{
|
||||
deactivationStartTime = std::chrono::steady_clock::now();
|
||||
deactivationStartTimeHandling = true;
|
||||
}
|
||||
|
||||
struct FFMpegFormatDescription
|
||||
|
@ -78,6 +78,8 @@ class CVideoInstance final : public IVideoInstance, public FFMpegStream
|
||||
Point dimensions;
|
||||
|
||||
/// video playback start time point
|
||||
bool startTimeInitialized;
|
||||
bool deactivationStartTimeHandling;
|
||||
std::chrono::steady_clock::time_point startTime;
|
||||
std::chrono::steady_clock::time_point deactivationStartTime;
|
||||
|
||||
@ -86,6 +88,7 @@ class CVideoInstance final : public IVideoInstance, public FFMpegStream
|
||||
const int MAX_FRAMESKIP = 5;
|
||||
|
||||
public:
|
||||
CVideoInstance();
|
||||
~CVideoInstance();
|
||||
|
||||
void openVideo();
|
||||
|
@ -137,7 +137,6 @@ void ImageScaled::prepareImages()
|
||||
|
||||
switch(blitMode)
|
||||
{
|
||||
case EImageBlitMode::SIMPLE:
|
||||
case EImageBlitMode::WITH_SHADOW:
|
||||
case EImageBlitMode::ONLY_SHADOW:
|
||||
case EImageBlitMode::WITH_SHADOW_AND_OVERLAY:
|
||||
|
@ -15,6 +15,7 @@ set(launcher_SRCS
|
||||
modManager/imageviewer_moc.cpp
|
||||
modManager/chroniclesextractor.cpp
|
||||
settingsView/csettingsview_moc.cpp
|
||||
startGame/StartGameTab.cpp
|
||||
firstLaunch/firstlaunch_moc.cpp
|
||||
main.cpp
|
||||
helper.cpp
|
||||
@ -46,6 +47,7 @@ set(launcher_HEADERS
|
||||
modManager/imageviewer_moc.h
|
||||
modManager/chroniclesextractor.h
|
||||
settingsView/csettingsview_moc.h
|
||||
startGame/StartGameTab.h
|
||||
firstLaunch/firstlaunch_moc.h
|
||||
mainwindow_moc.h
|
||||
languages.h
|
||||
@ -63,6 +65,7 @@ set(launcher_FORMS
|
||||
settingsView/csettingsview_moc.ui
|
||||
firstLaunch/firstlaunch_moc.ui
|
||||
mainwindow_moc.ui
|
||||
startGame/StartGameTab.ui
|
||||
updatedialog_moc.ui
|
||||
)
|
||||
|
||||
|
@ -295,13 +295,21 @@ bool FirstLaunchView::heroesDataDetect()
|
||||
QString FirstLaunchView::getHeroesInstallDir()
|
||||
{
|
||||
#ifdef VCMI_WINDOWS
|
||||
QString gogPath = QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\GOG.com\\Games\\1207658787", QSettings::NativeFormat).value("path").toString();
|
||||
if(!gogPath.isEmpty())
|
||||
return gogPath;
|
||||
QVector<QPair<QString, QString>> regKeys = {
|
||||
{ "HKEY_LOCAL_MACHINE\\SOFTWARE\\GOG.com\\Games\\1207658787", "path" }, // Gog on x86 system
|
||||
{ "HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\GOG.com\\Games\\1207658787", "path" }, // Gog on x64 system
|
||||
{ "HKEY_LOCAL_MACHINE\\SOFTWARE\\New World Computing\\Heroes of Might and Magic® III\\1.0", "AppPath" }, // H3 Complete on x86 system
|
||||
{ "HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\New World Computing\\Heroes of Might and Magic® III\\1.0", "AppPath" }, // H3 Complete on x64 system
|
||||
{ "HKEY_LOCAL_MACHINE\\SOFTWARE\\New World Computing\\Heroes of Might and Magic III\\1.0", "AppPath" }, // some localized H3 on x86 system
|
||||
{ "HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\New World Computing\\Heroes of Might and Magic III\\1.0", "AppPath" }, // some localized H3 on x64 system
|
||||
};
|
||||
|
||||
QString cdPath = QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\New World Computing\\Heroes of Might and Magic® III\\1.0", QSettings::NativeFormat).value("AppPath").toString();
|
||||
if(!cdPath.isEmpty())
|
||||
return cdPath;
|
||||
for(auto & regKey : regKeys)
|
||||
{
|
||||
QString path = QSettings(regKey.first, QSettings::NativeFormat).value(regKey.second).toString();
|
||||
if(!path.isEmpty())
|
||||
return path;
|
||||
}
|
||||
#endif
|
||||
return QString{};
|
||||
}
|
||||
@ -381,7 +389,7 @@ void FirstLaunchView::extractGogData()
|
||||
};
|
||||
|
||||
if(isGogGalaxyExe(tmpFileExe))
|
||||
errorText = tr("You've provided GOG Galaxy installer! This file doesn't contain the game. Please download the offline backup game installer!");
|
||||
errorText = tr("You've provided a GOG Galaxy installer! This file doesn't contain the game. Please download the offline backup game installer!");
|
||||
|
||||
if(errorText.isEmpty())
|
||||
errorText = Innoextract::extract(tmpFileExe, tempDir.path(), [this](float progress) {
|
||||
@ -451,7 +459,7 @@ void FirstLaunchView::copyHeroesData(const QString & path, bool move)
|
||||
QStringList dirMaps = sourceRoot.entryList({"maps"}, QDir::Filter::Dirs);
|
||||
QStringList dirMp3 = sourceRoot.entryList({"mp3"}, QDir::Filter::Dirs);
|
||||
|
||||
const auto noDataMessage = tr("Failed to detect valid Heroes III data in chosen directory.\nPlease select directory with installed Heroes III data.");
|
||||
const auto noDataMessage = tr("Failed to detect valid Heroes III data in chosen directory.\nPlease select the directory with installed Heroes III data.");
|
||||
if(dirData.empty())
|
||||
{
|
||||
QMessageBox::critical(this, tr("Heroes III data not found!"), noDataMessage);
|
||||
@ -475,12 +483,12 @@ void FirstLaunchView::copyHeroesData(const QString & path, bool move)
|
||||
if (!hdFiles.empty())
|
||||
{
|
||||
// HD Edition contains only RoE data so we can't use even unmodified files from it
|
||||
QMessageBox::critical(this, tr("Heroes III data not found!"), tr("Heroes III: HD Edition files are not supported by VCMI.\nPlease select directory with Heroes III: Complete Edition or Heroes III: Shadow of Death."));
|
||||
QMessageBox::critical(this, tr("Heroes III data not found!"), tr("Heroes III: HD Edition files are not supported by VCMI.\nPlease select the directory with Heroes III: Complete Edition or Heroes III: Shadow of Death."));
|
||||
return;
|
||||
}
|
||||
|
||||
// RoE or some other unsupported edition. Demo version?
|
||||
QMessageBox::critical(this, tr("Heroes III data not found!"), tr("Unknown or unsupported Heroes III version found.\nPlease select directory with Heroes III: Complete Edition or Heroes III: Shadow of Death."));
|
||||
QMessageBox::critical(this, tr("Heroes III data not found!"), tr("Unknown or unsupported Heroes III version found.\nPlease select the directory with Heroes III: Complete Edition or Heroes III: Shadow of Death."));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -541,15 +549,13 @@ void FirstLaunchView::modPresetUpdate()
|
||||
|
||||
QString FirstLaunchView::findTranslationModName()
|
||||
{
|
||||
if (!getModView())
|
||||
auto * mainWindow = dynamic_cast<MainWindow *>(QApplication::activeWindow());
|
||||
auto status = mainWindow->getTranslationStatus();
|
||||
|
||||
if (status == ETranslationStatus::ACTIVE || status == ETranslationStatus::NOT_AVAILABLE)
|
||||
return QString();
|
||||
|
||||
QString preferredlanguage = QString::fromStdString(settings["general"]["language"].String());
|
||||
QString installedlanguage = QString::fromStdString(settings["session"]["language"].String());
|
||||
|
||||
if (preferredlanguage == installedlanguage)
|
||||
return QString();
|
||||
|
||||
return getModView()->getTranslationModName(preferredlanguage);
|
||||
}
|
||||
|
||||
|
@ -96,7 +96,7 @@
|
||||
<item>
|
||||
<widget class="QStackedWidget" name="installerTabs">
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="pageLanguageSelect">
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
@ -177,9 +177,9 @@
|
||||
<property name="text">
|
||||
<string>Thank you for installing VCMI!
|
||||
|
||||
Before you can start playing, there are a few more steps that need to be completed.
|
||||
Before you can start playing, there are a few more steps to complete.
|
||||
|
||||
Please keep in mind that in order to use VCMI you must own the original data files for Heroes® of Might and Magic® III: Complete or The Shadow of Death.
|
||||
Please remember that to use VCMI, you must own the original data files for Heroes® of Might and Magic® III: Complete or The Shadow of Death.
|
||||
|
||||
Heroes® of Might and Magic® III HD is currently not supported!</string>
|
||||
</property>
|
||||
@ -307,7 +307,7 @@ Heroes® of Might and Magic® III HD is currently not supported!</string>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>You can manually copy directories Maps, Data and Mp3 from the original game directory to VCMI data directory that you can see on top of this page</string>
|
||||
<string>You can manually copy directories Maps, Data, and Mp3 from the original game directory to the VCMI data directory that you can see on top of this page</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
@ -501,8 +501,8 @@ Heroes® of Might and Magic® III HD is currently not supported!</string>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>If you own Heroes III on gog.com you can download backup offline installer from gog.com, and VCMI will import Heroes III data using offline installer.
|
||||
Offline installer consists of two parts, .exe and .bin. Make sure you download both of them.</string>
|
||||
<string>If you own Heroes III on gog.com, you can download a backup offline installer from gog.com. VCMI will then import Heroes III data using the offline installer.
|
||||
Offline installer consists of two files: ".exe" and ".bin" - you must download both.</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
@ -785,7 +785,7 @@ Offline installer consists of two parts, .exe and .bin. Make sure you download b
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Install mod that provides various interface improvements, such as better interface for random maps and selectable actions in battles</string>
|
||||
<string>Install mod that provides various interface improvements, such as a better interface for random maps and selectable actions in battles</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@ -809,9 +809,9 @@ Offline installer consists of two parts, .exe and .bin. Make sure you download b
|
||||
<string>In The Wake of Gods</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<iconset resource="../resources.qrc">
|
||||
<normaloff>:/icons/mod-disabled.png</normaloff>
|
||||
<normalon>:icons/mod-enabled.png</normalon>:icons/mod-disabled.png</iconset>
|
||||
<normalon>:icons/mod-enabled.png</normalon>:/icons/mod-disabled.png</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
@ -876,6 +876,8 @@ Offline installer consists of two parts, .exe and .bin. Make sure you download b
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<resources>
|
||||
<include location="../resources.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
@ -47,7 +47,6 @@ void MainWindow::computeSidePanelSizes()
|
||||
ui->modslistButton,
|
||||
ui->settingsButton,
|
||||
ui->aboutButton,
|
||||
ui->startEditorButton,
|
||||
ui->startGameButton
|
||||
};
|
||||
|
||||
@ -82,7 +81,6 @@ MainWindow::MainWindow(QWidget * parent)
|
||||
ui->modslistButton->setIcon(QIcon{":/icons/menu-mods.png"});
|
||||
ui->settingsButton->setIcon(QIcon{":/icons/menu-settings.png"});
|
||||
ui->aboutButton->setIcon(QIcon{":/icons/about-project.png"});
|
||||
ui->startEditorButton->setIcon(QIcon{":/icons/menu-editor.png"});
|
||||
ui->startGameButton->setIcon(QIcon{":/icons/menu-game.png"});
|
||||
|
||||
#ifndef VCMI_MOBILE
|
||||
@ -101,16 +99,12 @@ MainWindow::MainWindow(QWidget * parent)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef ENABLE_EDITOR
|
||||
ui->startEditorButton->hide();
|
||||
#endif
|
||||
|
||||
computeSidePanelSizes();
|
||||
|
||||
bool h3DataFound = CResourceHandler::get()->existsResource(ResourcePath("DATA/GENRLTXT.TXT"));
|
||||
|
||||
if (h3DataFound && setupCompleted)
|
||||
ui->tabListWidget->setCurrentIndex(TabRows::MODS);
|
||||
ui->tabListWidget->setCurrentIndex(TabRows::START);
|
||||
else
|
||||
enterSetup();
|
||||
|
||||
@ -147,7 +141,6 @@ void MainWindow::detectPreferredLanguage()
|
||||
void MainWindow::enterSetup()
|
||||
{
|
||||
ui->startGameButton->setEnabled(false);
|
||||
ui->startEditorButton->setEnabled(false);
|
||||
ui->settingsButton->setEnabled(false);
|
||||
ui->aboutButton->setEnabled(false);
|
||||
ui->modslistButton->setEnabled(false);
|
||||
@ -160,16 +153,23 @@ void MainWindow::exitSetup()
|
||||
writer->Bool() = true;
|
||||
|
||||
ui->startGameButton->setEnabled(true);
|
||||
ui->startEditorButton->setEnabled(true);
|
||||
ui->settingsButton->setEnabled(true);
|
||||
ui->aboutButton->setEnabled(true);
|
||||
ui->modslistButton->setEnabled(true);
|
||||
ui->tabListWidget->setCurrentIndex(TabRows::MODS);
|
||||
}
|
||||
|
||||
void MainWindow::switchToStartTab()
|
||||
{
|
||||
ui->startGameButton->setEnabled(true);
|
||||
ui->startGameButton->setChecked(true);
|
||||
ui->tabListWidget->setCurrentIndex(TabRows::START);
|
||||
}
|
||||
|
||||
void MainWindow::switchToModsTab()
|
||||
{
|
||||
ui->startGameButton->setEnabled(true);
|
||||
ui->modslistButton->setChecked(true);
|
||||
ui->tabListWidget->setCurrentIndex(TabRows::MODS);
|
||||
}
|
||||
|
||||
@ -196,14 +196,7 @@ MainWindow::~MainWindow()
|
||||
|
||||
void MainWindow::on_startGameButton_clicked()
|
||||
{
|
||||
hide();
|
||||
startGame({});
|
||||
}
|
||||
|
||||
void MainWindow::on_startEditorButton_clicked()
|
||||
{
|
||||
hide();
|
||||
startEditor({});
|
||||
switchToStartTab();
|
||||
}
|
||||
|
||||
CModListView * MainWindow::getModView()
|
||||
@ -228,6 +221,89 @@ void MainWindow::on_aboutButton_clicked()
|
||||
ui->tabListWidget->setCurrentIndex(TabRows::ABOUT);
|
||||
}
|
||||
|
||||
void MainWindow::dragEnterEvent(QDragEnterEvent* event)
|
||||
{
|
||||
if(event->mimeData()->hasUrls())
|
||||
for(const auto & url : event->mimeData()->urls())
|
||||
for(const auto & ending : QStringList({".zip", ".h3m", ".h3c", ".vmap", ".vcmp", ".json", ".exe"}))
|
||||
if(url.fileName().endsWith(ending, Qt::CaseInsensitive))
|
||||
{
|
||||
event->acceptProposedAction();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::dropEvent(QDropEvent* event)
|
||||
{
|
||||
const QMimeData* mimeData = event->mimeData();
|
||||
|
||||
if(mimeData->hasUrls())
|
||||
{
|
||||
const QList<QUrl> urlList = mimeData->urls();
|
||||
for (const auto & url : urlList)
|
||||
manualInstallFile(url.toLocalFile());
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::manualInstallFile(QString filePath)
|
||||
{
|
||||
QString fileName = QFileInfo{filePath}.fileName();
|
||||
if(filePath.endsWith(".zip", Qt::CaseInsensitive))
|
||||
getModView()->downloadFile(fileName.toLower()
|
||||
// mod name currently comes from zip file -> remove suffixes from github zip download
|
||||
.replace(QRegularExpression("-[0-9a-f]{40}"), "")
|
||||
.replace(QRegularExpression("-vcmi-.+\\.zip"), ".zip")
|
||||
.replace("-main.zip", ".zip")
|
||||
, QUrl::fromLocalFile(filePath), "mods");
|
||||
else if(filePath.endsWith(".json", Qt::CaseInsensitive))
|
||||
{
|
||||
QDir configDir(QString::fromStdString(VCMIDirs::get().userConfigPath().string()));
|
||||
QStringList configFile = configDir.entryList({fileName}, QDir::Filter::Files); // case insensitive check
|
||||
if(!configFile.empty())
|
||||
{
|
||||
auto dialogResult = QMessageBox::warning(this, tr("Replace config file?"), tr("Do you want to replace %1?").arg(configFile[0]), QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
|
||||
if(dialogResult == QMessageBox::Yes)
|
||||
{
|
||||
const auto configFilePath = configDir.filePath(configFile[0]);
|
||||
QFile::remove(configFilePath);
|
||||
QFile::copy(filePath, configFilePath);
|
||||
|
||||
// reload settings
|
||||
Helper::loadSettings();
|
||||
for(const auto widget : qApp->allWidgets())
|
||||
if(auto settingsView = qobject_cast<CSettingsView *>(widget))
|
||||
settingsView->loadSettings();
|
||||
|
||||
getModView()->reload();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
getModView()->downloadFile(fileName, QUrl::fromLocalFile(filePath), fileName);
|
||||
}
|
||||
|
||||
ETranslationStatus MainWindow::getTranslationStatus()
|
||||
{
|
||||
QString preferredlanguage = QString::fromStdString(settings["general"]["language"].String());
|
||||
QString installedlanguage = QString::fromStdString(settings["session"]["language"].String());
|
||||
|
||||
if (preferredlanguage == installedlanguage)
|
||||
return ETranslationStatus::ACTIVE;
|
||||
|
||||
QString modName = getModView()->getTranslationModName(preferredlanguage);
|
||||
|
||||
if (modName.isEmpty())
|
||||
return ETranslationStatus::NOT_AVAILABLE;
|
||||
|
||||
if (!getModView()->isModInstalled(modName))
|
||||
return ETranslationStatus::NOT_INSTALLLED;
|
||||
|
||||
if (!getModView()->isModEnabled(modName))
|
||||
return ETranslationStatus::DISABLED;
|
||||
|
||||
return ETranslationStatus::ACTIVE;
|
||||
}
|
||||
|
||||
void MainWindow::updateTranslation()
|
||||
{
|
||||
#ifdef ENABLE_QT_TRANSLATIONS
|
||||
|
@ -23,6 +23,14 @@ class QTableWidgetItem;
|
||||
class CModList;
|
||||
class CModListView;
|
||||
|
||||
enum class ETranslationStatus : int8_t
|
||||
{
|
||||
NOT_AVAILABLE, // translation for this language was not found in mod list. Could also happen if player is offline or disabled repository checkout
|
||||
NOT_INSTALLLED, // translation mod found, but it is not installed
|
||||
DISABLED, // translation mod found, and installed, but toggled off
|
||||
ACTIVE // translation mod active OR game is already in specified language (e.g. English H3 for players with English language)
|
||||
};
|
||||
|
||||
class MainWindow : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -40,6 +48,7 @@ class MainWindow : public QMainWindow
|
||||
SETTINGS = 1,
|
||||
SETUP = 2,
|
||||
ABOUT = 3,
|
||||
START = 4,
|
||||
};
|
||||
|
||||
public:
|
||||
@ -55,6 +64,13 @@ public:
|
||||
void enterSetup();
|
||||
void exitSetup();
|
||||
void switchToModsTab();
|
||||
void switchToStartTab();
|
||||
|
||||
void dragEnterEvent(QDragEnterEvent* event) override;
|
||||
void dropEvent(QDropEvent *event) override;
|
||||
|
||||
void manualInstallFile(QString filePath);
|
||||
ETranslationStatus getTranslationStatus();
|
||||
|
||||
protected:
|
||||
void changeEvent(QEvent * event) override;
|
||||
@ -65,6 +81,5 @@ public slots:
|
||||
private slots:
|
||||
void on_modslistButton_clicked();
|
||||
void on_settingsButton_clicked();
|
||||
void on_startEditorButton_clicked();
|
||||
void on_aboutButton_clicked();
|
||||
};
|
||||
|
@ -62,7 +62,7 @@
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="autoExclusive">
|
||||
<bool>true</bool>
|
||||
@ -180,55 +180,6 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="startEditorButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
|
||||
<horstretch>1</horstretch>
|
||||
<verstretch>5</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Map Editor</string>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="startGameButton">
|
||||
<property name="sizePolicy">
|
||||
@ -251,12 +202,11 @@
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Start game</string>
|
||||
<string>Game</string>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
@ -265,16 +215,19 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="autoExclusive">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -292,12 +245,13 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>3</number>
|
||||
<number>4</number>
|
||||
</property>
|
||||
<widget class="CModListView" name="modlistView"/>
|
||||
<widget class="CSettingsView" name="settingsView"/>
|
||||
<widget class="FirstLaunchView" name="setupView"/>
|
||||
<widget class="AboutProjectView" name="aboutView"/>
|
||||
<widget class="StartGameTab" name="startGameView"/>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@ -329,6 +283,12 @@
|
||||
<header>aboutProject/aboutproject_moc.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>StartGameTab</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>startGame/StartGameTab.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
@ -45,7 +45,7 @@ int ChroniclesExtractor::getChronicleNo(QFile & file)
|
||||
{
|
||||
if(!file.open(QIODevice::ReadOnly))
|
||||
{
|
||||
QMessageBox::critical(parent, tr("File cannot opened"), file.errorString());
|
||||
QMessageBox::critical(parent, tr("The file cannot be opened"), file.errorString());
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -53,7 +53,7 @@ int ChroniclesExtractor::getChronicleNo(QFile & file)
|
||||
QByteArray magicFile = file.read(magic.length());
|
||||
if(!magicFile.startsWith(magic))
|
||||
{
|
||||
QMessageBox::critical(parent, tr("Invalid file selected"), tr("You have to select an gog installer file!"));
|
||||
QMessageBox::critical(parent, tr("Invalid file selected"), tr("You have to select a gog installer file!"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -68,7 +68,7 @@ int ChroniclesExtractor::getChronicleNo(QFile & file)
|
||||
}
|
||||
if(!chronicle)
|
||||
{
|
||||
QMessageBox::critical(parent, tr("Invalid file selected"), tr("You have to select an chronicle installer file!"));
|
||||
QMessageBox::critical(parent, tr("Invalid file selected"), tr("You have to select a Heroes Chronicles installer file!"));
|
||||
return 0;
|
||||
}
|
||||
return chronicle;
|
||||
|
@ -59,30 +59,6 @@ void CModListView::changeEvent(QEvent *event)
|
||||
QWidget::changeEvent(event);
|
||||
}
|
||||
|
||||
void CModListView::dragEnterEvent(QDragEnterEvent* event)
|
||||
{
|
||||
if(event->mimeData()->hasUrls())
|
||||
for(const auto & url : event->mimeData()->urls())
|
||||
for(const auto & ending : QStringList({".zip", ".h3m", ".h3c", ".vmap", ".vcmp", ".json", ".exe"}))
|
||||
if(url.fileName().endsWith(ending, Qt::CaseInsensitive))
|
||||
{
|
||||
event->acceptProposedAction();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void CModListView::dropEvent(QDropEvent* event)
|
||||
{
|
||||
const QMimeData* mimeData = event->mimeData();
|
||||
|
||||
if(mimeData->hasUrls())
|
||||
{
|
||||
const QList<QUrl> urlList = mimeData->urls();
|
||||
for (const auto & url : urlList)
|
||||
manualInstallFile(url.toLocalFile());
|
||||
}
|
||||
}
|
||||
|
||||
void CModListView::setupFilterModel()
|
||||
{
|
||||
filterModel = new CModFilterModel(modModel, this);
|
||||
@ -169,6 +145,12 @@ CModListView::CModListView(QWidget * parent)
|
||||
#endif
|
||||
}
|
||||
|
||||
void CModListView::reload()
|
||||
{
|
||||
modStateModel->reloadLocalState();
|
||||
modModel->reloadRepositories();
|
||||
}
|
||||
|
||||
void CModListView::loadRepositories()
|
||||
{
|
||||
QStringList repositories;
|
||||
@ -599,6 +581,11 @@ QStringList CModListView::getModsToInstall(QString mod)
|
||||
void CModListView::on_updateButton_clicked()
|
||||
{
|
||||
QString modName = ui->allModsView->currentIndex().data(ModRoles::ModNameRole).toString();
|
||||
doUpdateMod(modName);
|
||||
}
|
||||
|
||||
void CModListView::doUpdateMod(const QString & modName)
|
||||
{
|
||||
auto targetMod = modStateModel->getMod(modName);
|
||||
|
||||
if(targetMod.isUpdateAvailable())
|
||||
@ -642,73 +629,6 @@ void CModListView::on_installButton_clicked()
|
||||
}
|
||||
}
|
||||
|
||||
void CModListView::on_installFromFileButton_clicked()
|
||||
{
|
||||
// iOS can't display modal dialogs when called directly on button press
|
||||
// https://bugreports.qt.io/browse/QTBUG-98651
|
||||
QTimer::singleShot(0, this, [this]
|
||||
{
|
||||
QString filter = tr("All supported files") + " (*.h3m *.vmap *.h3c *.vcmp *.zip *.json *.exe);;" +
|
||||
tr("Maps") + " (*.h3m *.vmap);;" +
|
||||
tr("Campaigns") + " (*.h3c *.vcmp);;" +
|
||||
tr("Configs") + " (*.json);;" +
|
||||
tr("Mods") + " (*.zip);;" +
|
||||
tr("Gog files") + " (*.exe)";
|
||||
#if defined(VCMI_MOBILE)
|
||||
filter = tr("All files (*.*)"); //Workaround for sometimes incorrect mime for some extensions (e.g. for exe)
|
||||
#endif
|
||||
QStringList files = QFileDialog::getOpenFileNames(this, tr("Select files (configs, mods, maps, campaigns, gog files) to install..."), QDir::homePath(), filter);
|
||||
|
||||
for(const auto & file : files)
|
||||
{
|
||||
manualInstallFile(file);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void CModListView::manualInstallFile(QString filePath)
|
||||
{
|
||||
QString fileName = QFileInfo{filePath}.fileName();
|
||||
if(filePath.endsWith(".zip", Qt::CaseInsensitive))
|
||||
downloadFile(fileName.toLower()
|
||||
// mod name currently comes from zip file -> remove suffixes from github zip download
|
||||
.replace(QRegularExpression("-[0-9a-f]{40}"), "")
|
||||
.replace(QRegularExpression("-vcmi-.+\\.zip"), ".zip")
|
||||
.replace("-main.zip", ".zip")
|
||||
, QUrl::fromLocalFile(filePath), "mods");
|
||||
else if(filePath.endsWith(".json", Qt::CaseInsensitive))
|
||||
{
|
||||
QDir configDir(QString::fromStdString(VCMIDirs::get().userConfigPath().string()));
|
||||
QStringList configFile = configDir.entryList({fileName}, QDir::Filter::Files); // case insensitive check
|
||||
if(!configFile.empty())
|
||||
{
|
||||
auto dialogResult = QMessageBox::warning(this, tr("Replace config file?"), tr("Do you want to replace %1?").arg(configFile[0]), QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
|
||||
if(dialogResult == QMessageBox::Yes)
|
||||
{
|
||||
const auto configFilePath = configDir.filePath(configFile[0]);
|
||||
QFile::remove(configFilePath);
|
||||
QFile::copy(filePath, configFilePath);
|
||||
|
||||
// reload settings
|
||||
Helper::loadSettings();
|
||||
for(const auto widget : qApp->allWidgets())
|
||||
if(auto settingsView = qobject_cast<CSettingsView *>(widget))
|
||||
settingsView->loadSettings();
|
||||
|
||||
modStateModel->reloadLocalState();
|
||||
modModel->reloadRepositories();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
downloadFile(fileName, QUrl::fromLocalFile(filePath), fileName);
|
||||
}
|
||||
|
||||
void CModListView::downloadFile(QString file, QString url, QString description, qint64 sizeBytes)
|
||||
{
|
||||
downloadFile(file, QUrl{url}, description, sizeBytes);
|
||||
}
|
||||
|
||||
void CModListView::downloadFile(QString file, QUrl url, QString description, qint64 sizeBytes)
|
||||
{
|
||||
if(!dlManager)
|
||||
@ -1060,6 +980,39 @@ bool CModListView::isModInstalled(const QString & modName)
|
||||
return mod.isInstalled();
|
||||
}
|
||||
|
||||
QStringList CModListView::getInstalledChronicles()
|
||||
{
|
||||
QStringList result;
|
||||
|
||||
for(const auto & modName : modStateModel->getAllMods())
|
||||
{
|
||||
auto mod = modStateModel->getMod(modName);
|
||||
if (!mod.isInstalled())
|
||||
continue;
|
||||
|
||||
if (mod.getTopParentID() != "chronicles")
|
||||
continue;
|
||||
|
||||
result += modName;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
QStringList CModListView::getUpdateableMods()
|
||||
{
|
||||
QStringList result;
|
||||
|
||||
for(const auto & modName : modStateModel->getAllMods())
|
||||
{
|
||||
auto mod = modStateModel->getMod(modName);
|
||||
if (mod.isUpdateAvailable())
|
||||
result.push_back(modName);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
QString CModListView::getTranslationModName(const QString & language)
|
||||
{
|
||||
for(const auto & modName : modStateModel->getAllMods())
|
||||
@ -1123,3 +1076,34 @@ void CModListView::on_allModsView_doubleClicked(const QModelIndex &index)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void CModListView::createNewPreset(const QString & presetName)
|
||||
{
|
||||
modStateModel->createNewPreset(presetName);
|
||||
}
|
||||
|
||||
void CModListView::deletePreset(const QString & presetName)
|
||||
{
|
||||
modStateModel->deletePreset(presetName);
|
||||
}
|
||||
|
||||
void CModListView::activatePreset(const QString & presetName)
|
||||
{
|
||||
modStateModel->activatePreset(presetName);
|
||||
modStateModel->reloadLocalState();
|
||||
}
|
||||
|
||||
void CModListView::renamePreset(const QString & oldPresetName, const QString & newPresetName)
|
||||
{
|
||||
modStateModel->renamePreset(oldPresetName, newPresetName);
|
||||
}
|
||||
|
||||
QStringList CModListView::getAllPresets() const
|
||||
{
|
||||
return modStateModel->getAllPresets();
|
||||
}
|
||||
|
||||
QString CModListView::getActivePreset() const
|
||||
{
|
||||
return modStateModel->getActivePreset();
|
||||
}
|
||||
|
@ -52,10 +52,6 @@ class CModListView : public QWidget
|
||||
// find mods unknown to mod list (not present in repo and not installed)
|
||||
QStringList findUnavailableMods(QStringList candidates);
|
||||
|
||||
void manualInstallFile(QString filePath);
|
||||
void downloadFile(QString file, QString url, QString description, qint64 sizeBytes = 0);
|
||||
void downloadFile(QString file, QUrl url, QString description, qint64 sizeBytes = 0);
|
||||
|
||||
void installMods(QStringList archives);
|
||||
void installMaps(QStringList maps);
|
||||
void installFiles(QStringList mods);
|
||||
@ -64,8 +60,6 @@ class CModListView : public QWidget
|
||||
QString genModInfoText(const ModState & mod);
|
||||
|
||||
void changeEvent(QEvent *event) override;
|
||||
void dragEnterEvent(QDragEnterEvent* event) override;
|
||||
void dropEvent(QDropEvent *event) override;
|
||||
|
||||
public:
|
||||
explicit CModListView(QWidget * parent = nullptr);
|
||||
@ -74,6 +68,8 @@ public:
|
||||
void loadScreenshots();
|
||||
void loadRepositories();
|
||||
|
||||
void reload();
|
||||
|
||||
void disableModInfo();
|
||||
|
||||
void selectMod(const QModelIndex & index);
|
||||
@ -83,18 +79,41 @@ public:
|
||||
/// install mod by name
|
||||
void doInstallMod(const QString & modName);
|
||||
|
||||
/// update mod by name
|
||||
void doUpdateMod(const QString & modName);
|
||||
|
||||
/// returns true if mod is available in repository and can be installed
|
||||
bool isModAvailable(const QString & modName);
|
||||
|
||||
/// finds translation mod for specified languages. Returns empty string on error
|
||||
QString getTranslationModName(const QString & language);
|
||||
|
||||
/// finds all already imported Heroes Chronicles mods (if any)
|
||||
QStringList getInstalledChronicles();
|
||||
|
||||
/// finds all mods that can be updated
|
||||
QStringList getUpdateableMods();
|
||||
|
||||
void createNewPreset(const QString & presetName);
|
||||
|
||||
void deletePreset(const QString & presetName);
|
||||
|
||||
void activatePreset(const QString & presetName);
|
||||
|
||||
void renamePreset(const QString & oldPresetName, const QString & newPresetName);
|
||||
|
||||
QStringList getAllPresets() const;
|
||||
|
||||
QString getActivePreset() const;
|
||||
|
||||
/// returns true if mod is currently enabled
|
||||
bool isModEnabled(const QString & modName);
|
||||
|
||||
/// returns true if mod is currently installed
|
||||
bool isModInstalled(const QString & modName);
|
||||
|
||||
void downloadFile(QString file, QUrl url, QString description, qint64 sizeBytes = 0);
|
||||
|
||||
public slots:
|
||||
void enableModByName(QString modName);
|
||||
void disableModByName(QString modName);
|
||||
@ -109,31 +128,17 @@ private slots:
|
||||
void hideProgressBar();
|
||||
|
||||
void on_lineEdit_textChanged(const QString & arg1);
|
||||
|
||||
void on_comboBox_currentIndexChanged(int index);
|
||||
|
||||
void on_enableButton_clicked();
|
||||
|
||||
void on_disableButton_clicked();
|
||||
|
||||
void on_updateButton_clicked();
|
||||
|
||||
void on_uninstallButton_clicked();
|
||||
|
||||
void on_installButton_clicked();
|
||||
|
||||
void on_installFromFileButton_clicked();
|
||||
|
||||
void on_pushButton_clicked();
|
||||
|
||||
void on_refreshButton_clicked();
|
||||
|
||||
void on_allModsView_activated(const QModelIndex & index);
|
||||
|
||||
void on_tabWidget_currentChanged(int index);
|
||||
|
||||
void on_screenshotsList_clicked(const QModelIndex & index);
|
||||
|
||||
void on_allModsView_doubleClicked(const QModelIndex &index);
|
||||
|
||||
private:
|
||||
|
@ -191,7 +191,9 @@
|
||||
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
hr { height: 1px; border-width: 0; }
|
||||
</style></head><body style=" font-family:'.AppleSystemUIFont'; font-size:13pt; font-weight:400; font-style:normal;">
|
||||
li.unchecked::marker { content: "\2610"; }
|
||||
li.checked::marker { content: "\2612"; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu'; font-size:11pt;"><br /></p></body></html></string>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
@ -349,41 +351,6 @@ hr { height: 1px; border-width: 0; }
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QPushButton" name="installFromFileButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>51</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>170</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Install from file</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<normaloff>icons:mod-download.png</normaloff>icons:mod-download.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="modButtonSpacer">
|
||||
<property name="orientation">
|
||||
|
@ -155,7 +155,7 @@ bool ModStateController::canEnableMod(QString modname)
|
||||
|
||||
//check for compatibility
|
||||
if(!mod.isCompatible())
|
||||
return addError(modname, tr("Mod is not compatible, please update VCMI and checkout latest mod revisions"));
|
||||
return addError(modname, tr("Mod is not compatible, please update VCMI and check the latest mod revisions"));
|
||||
|
||||
if (mod.isTranslation() && CGeneralTextHandler::getPreferredLanguage() != mod.getBaseLanguage().toStdString())
|
||||
return addError(modname, tr("Can not enable translation mod for a different language!"));
|
||||
@ -251,7 +251,7 @@ bool ModStateController::doUninstallMod(QString modname)
|
||||
|
||||
QDir modFullDir(modDir);
|
||||
if(!removeModDir(modDir))
|
||||
return addError(modname, tr("Mod is located in protected directory, please remove it manually:\n") + modFullDir.absolutePath());
|
||||
return addError(modname, tr("Mod is located in a protected directory, please remove it manually:\n") + modFullDir.absolutePath());
|
||||
|
||||
modList->reloadLocalState();
|
||||
|
||||
|
@ -32,34 +32,31 @@ QString ModStateItemModel::modIndexToName(const QModelIndex & index) const
|
||||
|
||||
QString ModStateItemModel::modTypeName(QString modTypeID) const
|
||||
{
|
||||
static const QMap<QString, QString> modTypes = {
|
||||
{"Translation", tr("Translation")},
|
||||
{"Town", tr("Town") },
|
||||
{"Test", tr("Test") },
|
||||
{"Templates", tr("Templates") },
|
||||
{"Spells", tr("Spells") },
|
||||
{"Music", tr("Music") },
|
||||
{"Maps", tr("Maps") },
|
||||
{"Sounds", tr("Sounds") },
|
||||
{"Skills", tr("Skills") },
|
||||
{"Other", tr("Other") },
|
||||
{"Objects", tr("Objects") },
|
||||
{"Mechanical", tr("Mechanics") },
|
||||
{"Mechanics", tr("Mechanics") },
|
||||
{"Themes", tr("Interface") },
|
||||
{"Interface", tr("Interface") },
|
||||
{"Heroes", tr("Heroes") },
|
||||
{"Graphic", tr("Graphical") },
|
||||
{"Graphical", tr("Graphical") },
|
||||
{"Expansion", tr("Expansion") },
|
||||
{"Creatures", tr("Creatures") },
|
||||
{"Compatibility", tr("Compatibility") },
|
||||
{"Artifacts", tr("Artifacts") },
|
||||
{"AI", tr("AI") },
|
||||
static const QStringList modTypes = {
|
||||
QT_TR_NOOP("Translation"),
|
||||
QT_TR_NOOP("Town"),
|
||||
QT_TR_NOOP("Test"),
|
||||
QT_TR_NOOP("Templates"),
|
||||
QT_TR_NOOP("Spells"),
|
||||
QT_TR_NOOP("Music"),
|
||||
QT_TR_NOOP("Maps"),
|
||||
QT_TR_NOOP("Sounds"),
|
||||
QT_TR_NOOP("Skills"),
|
||||
QT_TR_NOOP("Other"),
|
||||
QT_TR_NOOP("Objects"),
|
||||
QT_TR_NOOP("Mechanics"),
|
||||
QT_TR_NOOP("Interface"),
|
||||
QT_TR_NOOP("Heroes"),
|
||||
QT_TR_NOOP("Graphical"),
|
||||
QT_TR_NOOP("Expansion"),
|
||||
QT_TR_NOOP("Creatures"),
|
||||
QT_TR_NOOP("Compatibility") ,
|
||||
QT_TR_NOOP("Artifacts"),
|
||||
QT_TR_NOOP("AI"),
|
||||
};
|
||||
|
||||
if (modTypes.contains(modTypeID))
|
||||
return modTypes[modTypeID];
|
||||
return tr(modTypeID.toStdString().c_str());
|
||||
return tr("Other");
|
||||
}
|
||||
|
||||
|
@ -128,3 +128,34 @@ QString ModStateModel::getTopParent(QString modname) const
|
||||
else
|
||||
return "";
|
||||
}
|
||||
|
||||
void ModStateModel::createNewPreset(const QString & presetName)
|
||||
{
|
||||
modManager->createNewPreset(presetName.toStdString());
|
||||
}
|
||||
|
||||
void ModStateModel::deletePreset(const QString & presetName)
|
||||
{
|
||||
modManager->deletePreset(presetName.toStdString());
|
||||
}
|
||||
|
||||
void ModStateModel::activatePreset(const QString & presetName)
|
||||
{
|
||||
modManager->activatePreset(presetName.toStdString());
|
||||
}
|
||||
|
||||
void ModStateModel::renamePreset(const QString & oldPresetName, const QString & newPresetName)
|
||||
{
|
||||
modManager->renamePreset(oldPresetName.toStdString(), newPresetName.toStdString());
|
||||
}
|
||||
|
||||
QStringList ModStateModel::getAllPresets() const
|
||||
{
|
||||
auto result = modManager->getAllPresets();
|
||||
return stringListStdToQt(result);
|
||||
}
|
||||
|
||||
QString ModStateModel::getActivePreset() const
|
||||
{
|
||||
return QString::fromStdString(modManager->getActivePreset());
|
||||
}
|
||||
|
@ -49,4 +49,12 @@ public:
|
||||
|
||||
bool isSubmod(QString modname);
|
||||
QString getTopParent(QString modname) const;
|
||||
|
||||
void createNewPreset(const QString & presetName);
|
||||
void deletePreset(const QString & presetName);
|
||||
void activatePreset(const QString & presetName);
|
||||
void renamePreset(const QString & oldPresetName, const QString & newPresetName);
|
||||
|
||||
QStringList getAllPresets() const;
|
||||
QString getActivePreset() const;
|
||||
};
|
||||
|
@ -517,36 +517,26 @@ void CSettingsView::loadTranslation()
|
||||
if (!mainWindow)
|
||||
return;
|
||||
|
||||
QString languageName = QString::fromStdString(settings["general"]["language"].String());
|
||||
QString modName = mainWindow->getModView()->getTranslationModName(languageName);
|
||||
bool translationExists = !modName.isEmpty();
|
||||
bool translationNeeded = languageName != baseLanguage;
|
||||
bool showTranslation = translationNeeded && translationExists;
|
||||
auto translationStatus = mainWindow->getTranslationStatus();
|
||||
bool showTranslation = translationStatus == ETranslationStatus::DISABLED || translationStatus == ETranslationStatus::NOT_INSTALLLED;
|
||||
|
||||
ui->labelTranslation->setVisible(showTranslation);
|
||||
ui->labelTranslationStatus->setVisible(showTranslation);
|
||||
ui->pushButtonTranslation->setVisible(showTranslation);
|
||||
ui->pushButtonTranslation->setVisible(translationStatus != ETranslationStatus::ACTIVE);
|
||||
|
||||
if (!translationExists || !translationNeeded)
|
||||
return;
|
||||
|
||||
bool translationAvailable = mainWindow->getModView()->isModAvailable(modName);
|
||||
bool translationEnabled = mainWindow->getModView()->isModEnabled(modName);
|
||||
|
||||
ui->pushButtonTranslation->setVisible(!translationEnabled);
|
||||
|
||||
if (translationEnabled)
|
||||
if (translationStatus == ETranslationStatus::ACTIVE)
|
||||
{
|
||||
ui->labelTranslationStatus->setText(tr("Active"));
|
||||
}
|
||||
|
||||
if (!translationEnabled && !translationAvailable)
|
||||
if (translationStatus == ETranslationStatus::DISABLED)
|
||||
{
|
||||
ui->labelTranslationStatus->setText(tr("Disabled"));
|
||||
ui->pushButtonTranslation->setText(tr("Enable"));
|
||||
}
|
||||
|
||||
if (translationAvailable)
|
||||
if (translationStatus == ETranslationStatus::NOT_INSTALLLED)
|
||||
{
|
||||
ui->labelTranslationStatus->setText(tr("Not Installed"));
|
||||
ui->pushButtonTranslation->setText(tr("Install"));
|
||||
@ -614,7 +604,7 @@ void CSettingsView::on_lineEditRepositoryExtra_textEdited(const QString &arg1)
|
||||
void CSettingsView::on_spinBoxInterfaceScaling_valueChanged(int arg1)
|
||||
{
|
||||
Settings node = settings.write["video"]["resolution"]["scaling"];
|
||||
node->Float() = arg1;
|
||||
node->Float() = ui->buttonScalingAuto->isChecked() ? 0 : arg1;
|
||||
}
|
||||
|
||||
void CSettingsView::on_refreshRepositoriesButton_clicked()
|
||||
|
@ -47,7 +47,7 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>-797</y>
|
||||
<y>0</y>
|
||||
<width>729</width>
|
||||
<height>1503</height>
|
||||
</rect>
|
||||
@ -1179,13 +1179,13 @@
|
||||
<item row="11" column="1" colspan="5">
|
||||
<widget class="QComboBox" name="comboBoxFullScreen">
|
||||
<property name="toolTip">
|
||||
<string>Select display mode for game
|
||||
<string>Select a display mode for the game
|
||||
|
||||
Windowed - game will run inside a window that covers part of your screen
|
||||
Windowed - the game will run inside a window that covers part of your screen.
|
||||
|
||||
Borderless Windowed Mode - game will run in a window that covers entirely of your screen, using same resolution as your screen.
|
||||
Borderless Windowed Mode - the game will run in a full-screen window, matching your screen's resolution.
|
||||
|
||||
Fullscreen Exclusive Mode - game will cover entirety of your screen and will use selected resolution.</string>
|
||||
Fullscreen Exclusive Mode - the game will cover the entirety of your screen and will use selected resolution.</string>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
|
417
launcher/startGame/StartGameTab.cpp
Normal file
417
launcher/startGame/StartGameTab.cpp
Normal file
@ -0,0 +1,417 @@
|
||||
/*
|
||||
* StartGameTab.cpp, part of VCMI engine
|
||||
*
|
||||
* Authors: listed in file AUTHORS in main folder
|
||||
*
|
||||
* License: GNU General Public License v2.0 or later
|
||||
* Full text of license available in license.txt file, in main folder
|
||||
*
|
||||
*/
|
||||
#include "StdInc.h"
|
||||
#include "StartGameTab.h"
|
||||
#include "ui_StartGameTab.h"
|
||||
|
||||
#include "../mainwindow_moc.h"
|
||||
#include "../main.h"
|
||||
#include "../updatedialog_moc.h"
|
||||
|
||||
#include "../modManager/cmodlistview_moc.h"
|
||||
|
||||
#include "../../lib/filesystem/Filesystem.h"
|
||||
#include "../../lib/VCMIDirs.h"
|
||||
|
||||
StartGameTab::StartGameTab(QWidget * parent)
|
||||
: QWidget(parent)
|
||||
, ui(new Ui::StartGameTab)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->buttonGameResume->setIcon(QIcon{":/icons/menu-game.png"}); //TODO: different icon?
|
||||
ui->buttonGameStart->setIcon(QIcon{":/icons/menu-game.png"});
|
||||
ui->buttonGameEditor->setIcon(QIcon{":/icons/menu-editor.png"});
|
||||
|
||||
refreshState();
|
||||
|
||||
ui->buttonGameResume->setVisible(false); // TODO: implement
|
||||
ui->buttonPresetExport->setVisible(false); // TODO: implement
|
||||
ui->buttonPresetImport->setVisible(false); // TODO: implement
|
||||
|
||||
#ifndef ENABLE_EDITOR
|
||||
ui->buttonGameEditor->hide();
|
||||
#endif
|
||||
}
|
||||
|
||||
StartGameTab::~StartGameTab()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
MainWindow * StartGameTab::getMainWindow()
|
||||
{
|
||||
foreach(QWidget *w, qApp->allWidgets())
|
||||
if(QMainWindow* mainWin = qobject_cast<QMainWindow*>(w))
|
||||
return dynamic_cast<MainWindow *>(mainWin);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void StartGameTab::refreshState()
|
||||
{
|
||||
refreshGameData();
|
||||
refreshUpdateStatus(EGameUpdateStatus::NOT_CHECKED);//TODO - follow automatic check on startup setting
|
||||
refreshTranslation(getMainWindow()->getTranslationStatus());
|
||||
refreshPresets();
|
||||
refreshMods();
|
||||
}
|
||||
|
||||
void StartGameTab::refreshPresets()
|
||||
{
|
||||
QSignalBlocker blocker(ui->comboBoxModPresets);
|
||||
|
||||
QStringList allPresets = getMainWindow()->getModView()->getAllPresets();
|
||||
ui->comboBoxModPresets->clear();
|
||||
ui->comboBoxModPresets->addItems(allPresets);
|
||||
ui->comboBoxModPresets->setCurrentText(getMainWindow()->getModView()->getActivePreset());
|
||||
ui->buttonPresetDelete->setVisible(allPresets.size() > 1);
|
||||
}
|
||||
|
||||
void StartGameTab::refreshGameData()
|
||||
{
|
||||
// Some players are using pirated version of the game with some of the files missing
|
||||
// leading to broken town hall menu (and possibly other dialogs)
|
||||
// Provide diagnostics to indicate problem with chair-monitor adaptor layer and not with VCMI
|
||||
static constexpr std::array potentiallyMissingFiles = {
|
||||
"Data/TpThBkDg.bmp",
|
||||
"Data/TpThBkFr.bmp",
|
||||
"Data/TpThBkIn.bmp",
|
||||
"Data/TpThBkNc.bmp",
|
||||
"Data/TpThBkSt.bmp",
|
||||
"Data/TpThBRrm.bmp",
|
||||
"Data/TpThBkCs.bmp",
|
||||
"Data/TpThBkRm.bmp",
|
||||
"Data/TpThBkTw.bmp",
|
||||
};
|
||||
|
||||
// Some players for some reason don't have AB expansion campaign files
|
||||
static constexpr std::array armaggedonBladeCampaigns = {
|
||||
"DATA/AB",
|
||||
"DATA/BLOOD",
|
||||
"DATA/SLAYER",
|
||||
"DATA/FESTIVAL",
|
||||
"DATA/FIRE",
|
||||
"DATA/FOOL",
|
||||
};
|
||||
|
||||
bool missingSoundtrack = !CResourceHandler::get()->existsResource(AudioPath::builtin("Music/MainMenu"));
|
||||
bool missingVideoFiles = !CResourceHandler::get()->existsResource(VideoPath::builtin("Video/H3Intro"));
|
||||
bool missingGameFiles = false;
|
||||
bool missingCampaings = false;
|
||||
|
||||
for (const auto & filename : potentiallyMissingFiles)
|
||||
missingGameFiles &= !CResourceHandler::get()->existsResource(ImagePath::builtin(filename));
|
||||
|
||||
for (const auto & filename : armaggedonBladeCampaigns)
|
||||
missingCampaings &= !CResourceHandler::get()->existsResource(ResourcePath(filename, EResType::CAMPAIGN));
|
||||
|
||||
ui->labelMissingCampaigns->setVisible(missingCampaings);
|
||||
ui->labelMissingFiles->setVisible(missingGameFiles);
|
||||
ui->labelMissingVideo->setVisible(missingVideoFiles);
|
||||
ui->labelMissingSoundtrack->setVisible(missingSoundtrack);
|
||||
|
||||
ui->buttonMissingCampaignsHelp->setVisible(missingCampaings);
|
||||
ui->buttonMissingFilesHelp->setVisible(missingGameFiles);
|
||||
ui->buttonMissingVideoHelp->setVisible(missingVideoFiles);
|
||||
ui->buttonMissingSoundtrackHelp->setVisible(missingSoundtrack);
|
||||
}
|
||||
|
||||
void StartGameTab::refreshTranslation(ETranslationStatus status)
|
||||
{
|
||||
ui->buttonInstallTranslation->setVisible(status == ETranslationStatus::NOT_INSTALLLED);
|
||||
ui->buttonInstallTranslationHelp->setVisible(status == ETranslationStatus::NOT_INSTALLLED);
|
||||
|
||||
ui->buttonActivateTranslation->setVisible(status == ETranslationStatus::NOT_INSTALLLED);
|
||||
ui->buttonActivateTranslationHelp->setVisible(status == ETranslationStatus::NOT_INSTALLLED);
|
||||
}
|
||||
|
||||
void StartGameTab::refreshMods()
|
||||
{
|
||||
constexpr int chroniclesCount = 8;
|
||||
QStringList updateableMods = getMainWindow()->getModView()->getUpdateableMods();
|
||||
QStringList chroniclesMods = getMainWindow()->getModView()->getInstalledChronicles();
|
||||
|
||||
ui->buttonUpdateMods->setText(tr("Update %n mods", "", updateableMods.size()));
|
||||
ui->buttonUpdateMods->setVisible(!updateableMods.empty());
|
||||
ui->buttonUpdateModsHelp->setVisible(!updateableMods.empty());
|
||||
|
||||
ui->labelChronicles->setText(tr("Heroes Chronicles:\n%n/%1 installed", "", chroniclesMods.size()).arg(chroniclesCount));
|
||||
ui->labelChronicles->setVisible(chroniclesMods.size() != chroniclesCount);
|
||||
ui->buttonChroniclesHelp->setVisible(chroniclesMods.size() != chroniclesCount);
|
||||
}
|
||||
|
||||
void StartGameTab::refreshUpdateStatus(EGameUpdateStatus status)
|
||||
{
|
||||
QString availableVersion; // TODO
|
||||
|
||||
ui->labelTitleEngine->setText("VCMI " VCMI_VERSION_STRING);
|
||||
ui->buttonUpdateCheck->setVisible(status == EGameUpdateStatus::NOT_CHECKED);
|
||||
ui->labelUpdateNotFound->setVisible(status == EGameUpdateStatus::NO_UPDATE);
|
||||
ui->labelUpdateAvailable->setVisible(status == EGameUpdateStatus::UPDATE_AVAILABLE);
|
||||
ui->buttonOpenChangelog->setVisible(status == EGameUpdateStatus::UPDATE_AVAILABLE);
|
||||
ui->buttonOpenDownloads->setVisible(status == EGameUpdateStatus::UPDATE_AVAILABLE);
|
||||
|
||||
if (status == EGameUpdateStatus::UPDATE_AVAILABLE)
|
||||
ui->labelUpdateAvailable->setText(tr("Update to %1 available").arg(availableVersion));
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonGameStart_clicked()
|
||||
{
|
||||
getMainWindow()->hide();
|
||||
startGame({});
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonOpenChangelog_clicked()
|
||||
{
|
||||
QDesktopServices::openUrl(QUrl("https://vcmi.eu/ChangeLog/"));
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonOpenDownloads_clicked()
|
||||
{
|
||||
QDesktopServices::openUrl(QUrl("https://vcmi.eu/download/"));
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonUpdateCheck_clicked()
|
||||
{
|
||||
UpdateDialog::showUpdateDialog(true);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonGameEditor_clicked()
|
||||
{
|
||||
getMainWindow()->hide();
|
||||
startEditor({});
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonImportFiles_clicked()
|
||||
{
|
||||
const auto & importFunctor = [this]
|
||||
{
|
||||
#ifndef VCMI_MOBILE
|
||||
QString filter =
|
||||
tr("All supported files") + " (*.h3m *.vmap *.h3c *.vcmp *.zip *.json *.exe);;" +
|
||||
tr("Maps") + " (*.h3m *.vmap);;" +
|
||||
tr("Campaigns") + " (*.h3c *.vcmp);;" +
|
||||
tr("Configs") + " (*.json);;" +
|
||||
tr("Mods") + " (*.zip);;" +
|
||||
tr("Gog files") + " (*.exe)";
|
||||
#else
|
||||
//Workaround for sometimes incorrect mime for some extensions (e.g. for exe)
|
||||
QString filter = tr("All files (*.*)");
|
||||
#endif
|
||||
QStringList files = QFileDialog::getOpenFileNames(this, tr("Select files (configs, mods, maps, campaigns, gog files) to install..."), QDir::homePath(), filter);
|
||||
|
||||
for(const auto & file : files)
|
||||
getMainWindow()->manualInstallFile(file);
|
||||
};
|
||||
|
||||
// iOS can't display modal dialogs when called directly on button press
|
||||
// https://bugreports.qt.io/browse/QTBUG-98651
|
||||
QTimer::singleShot(0, this, importFunctor);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonInstallTranslation_clicked()
|
||||
{
|
||||
if (getMainWindow()->getTranslationStatus() == ETranslationStatus::NOT_INSTALLLED)
|
||||
{
|
||||
QString preferredlanguage = QString::fromStdString(settings["general"]["language"].String());
|
||||
QString modName = getMainWindow()->getModView()->getTranslationModName(preferredlanguage);
|
||||
getMainWindow()->getModView()->doInstallMod(modName);
|
||||
}
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonActivateTranslation_clicked()
|
||||
{
|
||||
QString preferredlanguage = QString::fromStdString(settings["general"]["language"].String());
|
||||
QString modName = getMainWindow()->getModView()->getTranslationModName(preferredlanguage);
|
||||
getMainWindow()->getModView()->enableModByName(modName);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonUpdateMods_clicked()
|
||||
{
|
||||
QStringList updateableMods = getMainWindow()->getModView()->getUpdateableMods();
|
||||
|
||||
getMainWindow()->switchToModsTab();
|
||||
|
||||
for (const auto & modName : updateableMods)
|
||||
getMainWindow()->getModView()->doUpdateMod(modName);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonHelpImportFiles_clicked()
|
||||
{
|
||||
QString message = tr(
|
||||
"This option allows you to import additional data files into your VCMI installation. "
|
||||
"At the moment, following options are supported:\n\n"
|
||||
" - Heroes III Maps (.h3m or .vmap).\n"
|
||||
" - Heroes III Campaigns (.h3c or .vcmp).\n"
|
||||
" - Heroes III Chronicles using offline backup installer from GOG.com (.exe).\n"
|
||||
" - VCMI mods in zip format (.zip)\n"
|
||||
" - VCMI configuration files (.json)\n"
|
||||
);
|
||||
|
||||
QMessageBox::information(this, ui->buttonImportFiles->text(), message);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonInstallTranslationHelp_clicked()
|
||||
{
|
||||
QString message = tr(
|
||||
"Your Heroes III version uses different language. "
|
||||
"VCMI provides translations of the game into various languages that you can use. "
|
||||
"Use this option to automatically install such translation to your language."
|
||||
);
|
||||
QMessageBox::information(this, ui->buttonInstallTranslation->text(), message);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonActivateTranslationHelp_clicked()
|
||||
{
|
||||
QString message = tr(
|
||||
"Translation of Heroes III into your language is installed, but has been turned off. "
|
||||
"Use this option to enable it."
|
||||
);
|
||||
|
||||
QMessageBox::information(this, ui->buttonActivateTranslation->text(), message);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonUpdateModsHelp_clicked()
|
||||
{
|
||||
QString message = tr(
|
||||
"A new version of some of the mods that you have installed is now available in mod repository. "
|
||||
"Use this option to automatically update all your mods to latest version.\n\n"
|
||||
"WARNING: In some cases, updated versions of mods may not be compatible with your existing saves. "
|
||||
"You many want to postpone mod update until you finish any of your ongoing games."
|
||||
);
|
||||
|
||||
QMessageBox::information(this, ui->buttonUpdateMods->text(), message);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonChroniclesHelp_clicked()
|
||||
{
|
||||
QString message = tr(
|
||||
"If you own Heroes Chronicles on gog.com, you can use offline backup installers provided by gog "
|
||||
"to import Heroes Chronicles data into VCMI as custom campaigns.\n"
|
||||
"To import Heroes Chronicles, download offline backup installer of each chronicle that you wish to install, "
|
||||
"select 'Import files' option and select downloaded file. "
|
||||
"This will generate and install mod for VCMI that contains imported chronicles"
|
||||
);
|
||||
|
||||
QMessageBox::information(this, ui->labelChronicles->text(), message);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonMissingSoundtrackHelp_clicked()
|
||||
{
|
||||
QString message = tr(
|
||||
"VCMI has detected that Heroes III music files are missing from your installation. "
|
||||
"VCMI will run, but in-game music will not be available.\n\n"
|
||||
"To resolve this problem, please copy missing mp3 files from Heroes III to VCMI data files directory manually "
|
||||
"or reinstall VCMI and re-import Heroes III data files"
|
||||
);
|
||||
QMessageBox::information(this, ui->labelMissingSoundtrack->text(), message);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonMissingVideoHelp_clicked()
|
||||
{
|
||||
QString message = tr(
|
||||
"VCMI has detected that Heroes III video files are missing from your installation. "
|
||||
"VCMI will run, but in-game cutscenes will not be available.\n\n"
|
||||
"To resolve this problem, please copy VIDEO.VID file from Heroes III to VCMI data files directory manually "
|
||||
"or reinstall VCMI and re-import Heroes III data files"
|
||||
);
|
||||
QMessageBox::information(this, ui->labelMissingVideo->text(), message);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonMissingFilesHelp_clicked()
|
||||
{
|
||||
QString message = tr(
|
||||
"VCMI has detected that some of Heroes III data files are missing from your installation. "
|
||||
"You may attempt to run VCMI, but game may not work as expected or crash.\n\n"
|
||||
"To resolve this problem, please reinstall game and reimport data files using supported version of Heroes III. "
|
||||
"VCMI requires Heroes III: Shadow of Death or Complete Edition to run, which you can get (for example) from gog.com"
|
||||
);
|
||||
QMessageBox::information(this, ui->labelMissingFiles->text(), message);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonMissingCampaignsHelp_clicked()
|
||||
{
|
||||
QString message = tr(
|
||||
"VCMI has detected that some of Heroes III: Armageddon's Blade data files are missing from your installation. "
|
||||
"VCMI will work, but Armageddon's Blade campaigns will not be available.\n\n"
|
||||
"To resolve this problem, please copy missing data files from Heroes III to VCMI data files directory manually "
|
||||
"or reinstall VCMI and re-import Heroes III data files"
|
||||
);
|
||||
QMessageBox::information(this, ui->labelMissingCampaigns->text(), message);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonPresetExport_clicked()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonPresetImport_clicked()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonPresetNew_clicked()
|
||||
{
|
||||
bool ok;
|
||||
QString presetName = QInputDialog::getText(
|
||||
this,
|
||||
ui->buttonPresetNew->text(),
|
||||
tr("Enter preset name:"),
|
||||
QLineEdit::Normal,
|
||||
QString(),
|
||||
&ok);
|
||||
|
||||
if (ok && !presetName.isEmpty())
|
||||
{
|
||||
getMainWindow()->getModView()->createNewPreset(presetName);
|
||||
getMainWindow()->getModView()->activatePreset(presetName);
|
||||
refreshPresets();
|
||||
}
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonPresetDelete_clicked()
|
||||
{
|
||||
QString activePresetBefore = getMainWindow()->getModView()->getActivePreset();
|
||||
QStringList allPresets = getMainWindow()->getModView()->getAllPresets();
|
||||
|
||||
allPresets.removeAll(activePresetBefore);
|
||||
if (!allPresets.empty())
|
||||
{
|
||||
getMainWindow()->getModView()->activatePreset(allPresets.front());
|
||||
getMainWindow()->getModView()->deletePreset(activePresetBefore);
|
||||
refreshPresets();
|
||||
}
|
||||
}
|
||||
|
||||
void StartGameTab::on_comboBoxModPresets_currentTextChanged(const QString &presetName)
|
||||
{
|
||||
getMainWindow()->getModView()->activatePreset(presetName);
|
||||
}
|
||||
|
||||
void StartGameTab::on_buttonPresetRename_clicked()
|
||||
{
|
||||
QString currentName = getMainWindow()->getModView()->getActivePreset();
|
||||
|
||||
bool ok;
|
||||
QString newName = QInputDialog::getText(
|
||||
this,
|
||||
ui->buttonPresetNew->text(),
|
||||
tr("Rename preset '%1' to:").arg(currentName),
|
||||
QLineEdit::Normal,
|
||||
currentName,
|
||||
&ok);
|
||||
|
||||
if (ok && !newName.isEmpty())
|
||||
{
|
||||
getMainWindow()->getModView()->renamePreset(currentName, newName);
|
||||
refreshPresets();
|
||||
}
|
||||
}
|
||||
|
82
launcher/startGame/StartGameTab.h
Normal file
82
launcher/startGame/StartGameTab.h
Normal file
@ -0,0 +1,82 @@
|
||||
/*
|
||||
* StartGameTab.cpp, part of VCMI engine
|
||||
*
|
||||
* Authors: listed in file AUTHORS in main folder
|
||||
*
|
||||
* License: GNU General Public License v2.0 or later
|
||||
* Full text of license available in license.txt file, in main folder
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class StartGameTab;
|
||||
}
|
||||
|
||||
enum class EGameUpdateStatus : int8_t
|
||||
{
|
||||
NOT_CHECKED,
|
||||
NO_UPDATE,
|
||||
UPDATE_AVAILABLE
|
||||
};
|
||||
|
||||
enum class ETranslationStatus : int8_t;
|
||||
|
||||
class MainWindow;
|
||||
|
||||
class StartGameTab : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
MainWindow * getMainWindow();
|
||||
|
||||
void refreshState();
|
||||
|
||||
void refreshUpdateStatus(EGameUpdateStatus status);
|
||||
void refreshTranslation(ETranslationStatus status);
|
||||
void refreshMods();
|
||||
void refreshPresets();
|
||||
void refreshGameData();
|
||||
|
||||
public:
|
||||
explicit StartGameTab(QWidget * parent = nullptr);
|
||||
~StartGameTab();
|
||||
|
||||
private slots:
|
||||
void on_buttonGameStart_clicked();
|
||||
void on_buttonOpenChangelog_clicked();
|
||||
void on_buttonOpenDownloads_clicked();
|
||||
void on_buttonUpdateCheck_clicked();
|
||||
void on_buttonGameEditor_clicked();
|
||||
void on_buttonImportFiles_clicked();
|
||||
void on_buttonInstallTranslation_clicked();
|
||||
void on_buttonActivateTranslation_clicked();
|
||||
void on_buttonUpdateMods_clicked();
|
||||
void on_buttonHelpImportFiles_clicked();
|
||||
void on_buttonInstallTranslationHelp_clicked();
|
||||
void on_buttonActivateTranslationHelp_clicked();
|
||||
void on_buttonUpdateModsHelp_clicked();
|
||||
void on_buttonChroniclesHelp_clicked();
|
||||
void on_buttonMissingSoundtrackHelp_clicked();
|
||||
void on_buttonMissingVideoHelp_clicked();
|
||||
void on_buttonMissingFilesHelp_clicked();
|
||||
void on_buttonMissingCampaignsHelp_clicked();
|
||||
|
||||
void on_buttonPresetExport_clicked();
|
||||
|
||||
void on_buttonPresetImport_clicked();
|
||||
|
||||
void on_buttonPresetNew_clicked();
|
||||
|
||||
void on_buttonPresetDelete_clicked();
|
||||
|
||||
void on_comboBoxModPresets_currentTextChanged(const QString &arg1);
|
||||
|
||||
void on_buttonPresetRename_clicked();
|
||||
|
||||
private:
|
||||
Ui::StartGameTab * ui;
|
||||
};
|
906
launcher/startGame/StartGameTab.ui
Normal file
906
launcher/startGame/StartGameTab.ui
Normal file
@ -0,0 +1,906 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>StartGameTab</class>
|
||||
<widget class="QWidget" name="StartGameTab">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>757</width>
|
||||
<height>372</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_4" columnstretch="1,1,1">
|
||||
<item row="1" column="2">
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>226</width>
|
||||
<height>234</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout" rowstretch="1,0,0,0,0,0,0,0,0">
|
||||
<item row="3" column="0">
|
||||
<widget class="QPushButton" name="buttonPresetImport">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Import from Clipboard</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QPushButton" name="buttonPresetRename">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Rename Current Preset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QComboBox" name="comboBoxModPresets">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Current Preset</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QPushButton" name="buttonPresetNew">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Create New Preset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QPushButton" name="buttonPresetExport">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Export to Clipboard</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QPushButton" name="buttonPresetDelete">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Delete Current Preset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QScrollArea" name="scrollArea_2">
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>225</width>
|
||||
<height>342</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="7" column="0">
|
||||
<widget class="QLabel" name="labelMissingFiles">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Unsupported or corrupted game data detected!</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0">
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="labelChronicles">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QPushButton" name="buttonMissingVideoHelp">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>?</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QPushButton" name="buttonMissingSoundtrackHelp">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>?</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="buttonInstallTranslation">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Install Translation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="buttonInstallTranslationHelp">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>?</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QPushButton" name="buttonActivateTranslationHelp">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>?</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="labelMissingSoundtrack">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>No soundtrack detected!</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<widget class="QPushButton" name="buttonMissingFilesHelp">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>?</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<widget class="QLabel" name="labelMissingCampaigns">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Armaggedon's Blade campaigns are missing!</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QPushButton" name="buttonHelpImportFiles">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>?</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QPushButton" name="buttonChroniclesHelp">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>?</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="labelMissingVideo">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>No video files detected!</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<widget class="QPushButton" name="buttonMissingCampaignsHelp">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>?</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QPushButton" name="buttonActivateTranslation">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Activate Translation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QPushButton" name="buttonImportFiles">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Import files</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QPushButton" name="buttonUpdateMods">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QPushButton" name="buttonUpdateModsHelp">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>?</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QScrollArea" name="scrollArea_3">
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>240</width>
|
||||
<height>222</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="6" column="0">
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="labelUpdateAvailable">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QPushButton" name="buttonUpdateCheck">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Check For Updates</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QPushButton" name="buttonOpenDownloads">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Go to Downloads Page</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QPushButton" name="buttonOpenChangelog">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Go to Changelog Page</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelUpdateNotFound">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>You are using the latest version</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelTitleEngine">
|
||||
<property name="font">
|
||||
<font>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="indent">
|
||||
<number>6</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="labelTitleDataFiles">
|
||||
<property name="font">
|
||||
<font>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Game Data Files</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="indent">
|
||||
<number>6</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="labelTitleModPreset">
|
||||
<property name="font">
|
||||
<font>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Mod Preset</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="indent">
|
||||
<number>6</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonGameResume">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>64</width>
|
||||
<height>64</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Resume</string>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>48</width>
|
||||
<height>48</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonGameStart">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Play</string>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>64</width>
|
||||
<height>64</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonGameEditor">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>64</width>
|
||||
<height>64</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Editor</string>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>48</width>
|
||||
<height>48</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -98,7 +98,7 @@ void UpdateDialog::loadFromJson(const JsonNode & node)
|
||||
node["changeLog"].getType() != JsonNode::JsonType::DATA_STRING ||
|
||||
node["downloadLinks"].getType() != JsonNode::JsonType::DATA_STRUCT) //we need at least one link - other are optional
|
||||
{
|
||||
ui->plainTextEdit->setPlainText(tr("Cannot read JSON from url or incorrect JSON data"));
|
||||
ui->plainTextEdit->setPlainText(tr("Cannot read JSON from URL or incorrect JSON data"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1923,7 +1923,8 @@ int CGHeroInstance::getBasePrimarySkillValue(PrimarySkill which) const
|
||||
{
|
||||
std::string cachingStr = "type_PRIMARY_SKILL_base_" + std::to_string(static_cast<int>(which));
|
||||
auto selector = Selector::typeSubtype(BonusType::PRIMARY_SKILL, BonusSubtypeID(which)).And(Selector::sourceType()(BonusSource::HERO_BASE_SKILL));
|
||||
return valOfBonuses(selector, cachingStr);
|
||||
auto minSkillValue = VLC->engineSettings()->getVector(EGameSettings::HEROES_MINIMAL_PRIMARY_SKILLS)[which.getNum()];
|
||||
return std::max(valOfBonuses(selector, cachingStr), minSkillValue);
|
||||
}
|
||||
|
||||
VCMI_LIB_NAMESPACE_END
|
||||
|
@ -326,6 +326,61 @@ void ModsPresetState::saveConfigurationState() const
|
||||
file << modConfig.toCompactString();
|
||||
}
|
||||
|
||||
void ModsPresetState::createNewPreset(const std::string & presetName)
|
||||
{
|
||||
if (modConfig["presets"][presetName].isNull())
|
||||
modConfig["presets"][presetName]["mods"].Vector().emplace_back("vcmi");
|
||||
}
|
||||
|
||||
void ModsPresetState::deletePreset(const std::string & presetName)
|
||||
{
|
||||
if (modConfig["presets"].Struct().size() < 2)
|
||||
throw std::runtime_error("Unable to delete last preset!");
|
||||
|
||||
modConfig["presets"].Struct().erase(presetName);
|
||||
}
|
||||
|
||||
void ModsPresetState::activatePreset(const std::string & presetName)
|
||||
{
|
||||
if (modConfig["presets"].Struct().count(presetName) == 0)
|
||||
throw std::runtime_error("Unable to activate non-exinsting preset!");
|
||||
|
||||
modConfig["activePreset"].String() = presetName;
|
||||
}
|
||||
|
||||
void ModsPresetState::renamePreset(const std::string & oldPresetName, const std::string & newPresetName)
|
||||
{
|
||||
if (oldPresetName == newPresetName)
|
||||
throw std::runtime_error("Unable to rename preset to the same name!");
|
||||
|
||||
if (modConfig["presets"].Struct().count(oldPresetName) == 0)
|
||||
throw std::runtime_error("Unable to rename non-existing last preset!");
|
||||
|
||||
if (modConfig["presets"].Struct().count(newPresetName) != 0)
|
||||
throw std::runtime_error("Unable to rename preset - preset with such name already exists!");
|
||||
|
||||
modConfig["presets"][newPresetName] = modConfig["presets"][oldPresetName];
|
||||
modConfig["presets"].Struct().erase(oldPresetName);
|
||||
|
||||
if (modConfig["activePreset"].String() == oldPresetName)
|
||||
modConfig["activePreset"].String() = newPresetName;
|
||||
}
|
||||
|
||||
std::vector<std::string> ModsPresetState::getAllPresets() const
|
||||
{
|
||||
std::vector<std::string> presets;
|
||||
|
||||
for (const auto & preset : modConfig["presets"].Struct())
|
||||
presets.push_back(preset.first);
|
||||
|
||||
return presets;
|
||||
}
|
||||
|
||||
std::string ModsPresetState::getActivePreset() const
|
||||
{
|
||||
return modConfig["activePreset"].String();
|
||||
}
|
||||
|
||||
ModsStorage::ModsStorage(const std::vector<TModID> & modsToLoad, const JsonNode & repositoryList)
|
||||
{
|
||||
JsonNode coreModConfig(JsonPath::builtin("config/gameConfig.json"));
|
||||
@ -703,4 +758,38 @@ void ModDependenciesResolver::tryAddMods(TModList modsToResolve, const ModsStora
|
||||
brokenMods.insert(brokenMods.end(), modsToResolve.begin(), modsToResolve.end());
|
||||
}
|
||||
|
||||
void ModManager::createNewPreset(const std::string & presetName)
|
||||
{
|
||||
modsPreset->createNewPreset(presetName);
|
||||
modsPreset->saveConfigurationState();
|
||||
}
|
||||
|
||||
void ModManager::deletePreset(const std::string & presetName)
|
||||
{
|
||||
modsPreset->deletePreset(presetName);
|
||||
modsPreset->saveConfigurationState();
|
||||
}
|
||||
|
||||
void ModManager::activatePreset(const std::string & presetName)
|
||||
{
|
||||
modsPreset->activatePreset(presetName);
|
||||
modsPreset->saveConfigurationState();
|
||||
}
|
||||
|
||||
void ModManager::renamePreset(const std::string & oldPresetName, const std::string & newPresetName)
|
||||
{
|
||||
modsPreset->renamePreset(oldPresetName, newPresetName);
|
||||
modsPreset->saveConfigurationState();
|
||||
}
|
||||
|
||||
std::vector<std::string> ModManager::getAllPresets() const
|
||||
{
|
||||
return modsPreset->getAllPresets();
|
||||
}
|
||||
|
||||
std::string ModManager::getActivePreset() const
|
||||
{
|
||||
return modsPreset->getActivePreset();
|
||||
}
|
||||
|
||||
VCMI_LIB_NAMESPACE_END
|
||||
|
@ -50,6 +50,14 @@ class ModsPresetState : boost::noncopyable
|
||||
public:
|
||||
ModsPresetState();
|
||||
|
||||
void createNewPreset(const std::string & presetName);
|
||||
void deletePreset(const std::string & presetName);
|
||||
void activatePreset(const std::string & presetName);
|
||||
void renamePreset(const std::string & oldPresetName, const std::string & newPresetName);
|
||||
|
||||
std::vector<std::string> getAllPresets() const;
|
||||
std::string getActivePreset() const;
|
||||
|
||||
void setModActive(const TModID & modName, bool isActive);
|
||||
|
||||
void addRootMod(const TModID & modName);
|
||||
@ -139,6 +147,14 @@ public:
|
||||
|
||||
void tryEnableMods(const TModList & modList);
|
||||
void tryDisableMod(const TModID & modName);
|
||||
|
||||
void createNewPreset(const std::string & presetName);
|
||||
void deletePreset(const std::string & presetName);
|
||||
void activatePreset(const std::string & presetName);
|
||||
void renamePreset(const std::string & oldPresetName, const std::string & newPresetName);
|
||||
|
||||
std::vector<std::string> getAllPresets() const;
|
||||
std::string getActivePreset() const;
|
||||
};
|
||||
|
||||
VCMI_LIB_NAMESPACE_END
|
||||
|
BIN
mapeditor/icons/document-open-recent.png
Normal file
BIN
mapeditor/icons/document-open-recent.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
@ -67,10 +67,10 @@ void HeroSkillsWidget::on_checkBox_toggled(bool checked)
|
||||
|
||||
void HeroSkillsWidget::obtainData()
|
||||
{
|
||||
ui->attack->setValue(hero.getPrimSkillLevel(PrimarySkill::ATTACK));
|
||||
ui->defence->setValue(hero.getPrimSkillLevel(PrimarySkill::DEFENSE));
|
||||
ui->power->setValue(hero.getPrimSkillLevel(PrimarySkill::SPELL_POWER));
|
||||
ui->knowledge->setValue(hero.getPrimSkillLevel(PrimarySkill::KNOWLEDGE));
|
||||
ui->attack->setValue(hero.getBasePrimarySkillValue(PrimarySkill::ATTACK));
|
||||
ui->defence->setValue(hero.getBasePrimarySkillValue(PrimarySkill::DEFENSE));
|
||||
ui->power->setValue(hero.getBasePrimarySkillValue(PrimarySkill::SPELL_POWER));
|
||||
ui->knowledge->setValue(hero.getBasePrimarySkillValue(PrimarySkill::KNOWLEDGE));
|
||||
|
||||
if(!hero.secSkills.empty() && hero.secSkills.front().first.getNum() == -1)
|
||||
return;
|
||||
|
@ -16,6 +16,8 @@
|
||||
#include <QFile>
|
||||
#include <QMessageBox>
|
||||
#include <QFileInfo>
|
||||
#include <QDialog>
|
||||
#include <QListWidget>
|
||||
|
||||
#include "../lib/VCMIDirs.h"
|
||||
#include "../lib/VCMI_Lib.h"
|
||||
@ -222,6 +224,8 @@ MainWindow::MainWindow(QWidget* parent) :
|
||||
ui->toolFill->setIcon(QIcon{":/icons/tool-fill.png"});
|
||||
ui->toolSelect->setIcon(QIcon{":/icons/tool-select.png"});
|
||||
ui->actionOpen->setIcon(QIcon{":/icons/document-open.png"});
|
||||
ui->actionOpenRecent->setIcon(QIcon{":/icons/document-open-recent.png"});
|
||||
ui->menuOpenRecent->setIcon(QIcon{":/icons/document-open-recent.png"});
|
||||
ui->actionSave->setIcon(QIcon{":/icons/document-save.png"});
|
||||
ui->actionNew->setIcon(QIcon{":/icons/document-new.png"});
|
||||
ui->actionLevel->setIcon(QIcon{":/icons/toggle-underground.png"});
|
||||
@ -265,6 +269,8 @@ MainWindow::MainWindow(QWidget* parent) :
|
||||
scenePreview = new QGraphicsScene(this);
|
||||
ui->objectPreview->setScene(scenePreview);
|
||||
|
||||
connect(ui->actionOpenRecentMore, &QAction::triggered, this, &MainWindow::on_actionOpenRecent_triggered);
|
||||
|
||||
//loading objects
|
||||
loadObjectsTree();
|
||||
|
||||
@ -412,9 +418,21 @@ bool MainWindow::openMap(const QString & filenameSelect)
|
||||
|
||||
filename = filenameSelect;
|
||||
initializeMap(controller.map()->version != EMapFormat::VCMI);
|
||||
|
||||
updateRecentMenu(filenameSelect);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void MainWindow::updateRecentMenu(const QString & filenameSelect) {
|
||||
QSettings s(Ui::teamName, Ui::appName);
|
||||
QStringList recentFiles = s.value(recentlyOpenedFilesSetting).toStringList();
|
||||
recentFiles.removeAll(filenameSelect);
|
||||
recentFiles.prepend(filenameSelect);
|
||||
constexpr int maxRecentFiles = 10;
|
||||
s.setValue(recentlyOpenedFilesSetting, QStringList(recentFiles.mid(0, maxRecentFiles)));
|
||||
}
|
||||
|
||||
void MainWindow::on_actionOpen_triggered()
|
||||
{
|
||||
if(!getAnswerAboutUnsavedChanges())
|
||||
@ -429,6 +447,91 @@ void MainWindow::on_actionOpen_triggered()
|
||||
openMap(filenameSelect);
|
||||
}
|
||||
|
||||
void MainWindow::on_actionOpenRecent_triggered()
|
||||
{
|
||||
QSettings s(Ui::teamName, Ui::appName);
|
||||
QStringList recentFiles = s.value(recentlyOpenedFilesSetting).toStringList();
|
||||
|
||||
class RecentFileDialog : public QDialog
|
||||
{
|
||||
|
||||
public:
|
||||
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)
|
||||
{
|
||||
accept();
|
||||
});
|
||||
|
||||
for (const QString &file : recentFiles)
|
||||
{
|
||||
QListWidgetItem *item = new QListWidgetItem(file);
|
||||
listWidget->addItem(item);
|
||||
}
|
||||
|
||||
// Select most recent items by default.
|
||||
// This enables a "CTRL+R => Enter"-workflow instead of "CTRL+R => 'mouse click on first item'"
|
||||
if(listWidget->count() > 0)
|
||||
{
|
||||
listWidget->item(0)->setSelected(true);
|
||||
}
|
||||
|
||||
layout->setSizeConstraint(QLayout::SetMaximumSize);
|
||||
layout->addWidget(listWidget);
|
||||
}
|
||||
|
||||
QString getSelectedFilePath() const
|
||||
{
|
||||
return listWidget->currentItem()->text();
|
||||
}
|
||||
|
||||
private:
|
||||
QVBoxLayout * layout;
|
||||
QListWidget * listWidget;
|
||||
};
|
||||
|
||||
RecentFileDialog d(recentFiles, this);
|
||||
if(d.exec() == QDialog::Accepted && getAnswerAboutUnsavedChanges())
|
||||
{
|
||||
openMap(d.getSelectedFilePath());
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::on_menuOpenRecent_aboutToShow()
|
||||
{
|
||||
// Clear all actions except "More...", lest the list will grow with each
|
||||
// showing of the list
|
||||
for (QAction* action : ui->menuOpenRecent->actions()) {
|
||||
if (action != ui->actionOpenRecentMore) {
|
||||
ui->menuOpenRecent->removeAction(action);
|
||||
}
|
||||
}
|
||||
|
||||
QSettings s(Ui::teamName, Ui::appName);
|
||||
QStringList recentFiles = s.value(recentlyOpenedFilesSetting).toStringList();
|
||||
|
||||
// Dynamically populate menuOpenRecent with one action per file.
|
||||
for (const QString & file : recentFiles) {
|
||||
QAction *action = new QAction(file, this);
|
||||
ui->menuOpenRecent->insertAction(ui->actionOpenRecentMore, action);
|
||||
connect(action, &QAction::triggered, this, [this, file]() {
|
||||
if(!getAnswerAboutUnsavedChanges())
|
||||
return;
|
||||
openMap(file);
|
||||
});
|
||||
}
|
||||
|
||||
// Finally add a separator between recent entries and "More..."
|
||||
if(recentFiles.size() > 0) {
|
||||
ui->menuOpenRecent->insertSeparator(ui->actionOpenRecentMore);
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::saveMap()
|
||||
{
|
||||
if(!controller.map())
|
||||
@ -534,7 +637,7 @@ void MainWindow::roadOrRiverButtonClicked(ui8 type, bool isRoad)
|
||||
controller.commitRoadOrRiverChange(mapLevel, type, isRoad);
|
||||
}
|
||||
|
||||
void MainWindow::addGroupIntoCatalog(const std::string & groupName, bool staticOnly)
|
||||
void MainWindow::addGroupIntoCatalog(const QString & groupName, bool staticOnly)
|
||||
{
|
||||
auto knownObjects = VLC->objtypeh->knownObjects();
|
||||
for(auto ID : knownObjects)
|
||||
@ -546,13 +649,13 @@ void MainWindow::addGroupIntoCatalog(const std::string & groupName, bool staticO
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::addGroupIntoCatalog(const std::string & groupName, bool useCustomName, bool staticOnly, int ID)
|
||||
void MainWindow::addGroupIntoCatalog(const QString & groupName, bool useCustomName, bool staticOnly, int ID)
|
||||
{
|
||||
QStandardItem * itemGroup = nullptr;
|
||||
auto itms = objectsModel.findItems(QString::fromStdString(groupName));
|
||||
auto itms = objectsModel.findItems(groupName);
|
||||
if(itms.empty())
|
||||
{
|
||||
itemGroup = new QStandardItem(QString::fromStdString(groupName));
|
||||
itemGroup = new QStandardItem(groupName);
|
||||
objectsModel.appendRow(itemGroup);
|
||||
}
|
||||
else
|
||||
@ -684,138 +787,158 @@ void MainWindow::loadObjectsTree()
|
||||
ui->treeView->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||
connect(ui->treeView->selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(treeViewSelected(const QModelIndex &, const QModelIndex &)));
|
||||
|
||||
//groups
|
||||
enum GroupCat { TOWNS, OBJECTS, HEROES, ARTIFACTS, RESOURCES, BANKS, DWELLINGS, GROUNDS, TELEPORTS, MINES, TRIGGERS, MONSTERS, QUESTS, WOG_OBJECTS, OBSTACLES, OTHER };
|
||||
QMap<GroupCat, QString> groups = {
|
||||
{ TOWNS, tr("Towns") },
|
||||
{ OBJECTS, tr("Objects") },
|
||||
{ HEROES, tr("Heroes") },
|
||||
{ ARTIFACTS, tr("Artifacts") },
|
||||
{ RESOURCES, tr("Resources") },
|
||||
{ BANKS, tr("Banks") },
|
||||
{ DWELLINGS, tr("Dwellings") },
|
||||
{ GROUNDS, tr("Grounds") },
|
||||
{ TELEPORTS, tr("Teleports") },
|
||||
{ MINES, tr("Mines") },
|
||||
{ TRIGGERS, tr("Triggers") },
|
||||
{ MONSTERS, tr("Monsters") },
|
||||
{ QUESTS, tr("Quests") },
|
||||
{ WOG_OBJECTS, tr("Wog Objects") },
|
||||
{ OBSTACLES, tr("Obstacles") },
|
||||
{ OTHER, tr("Other") },
|
||||
};
|
||||
|
||||
//adding objects
|
||||
addGroupIntoCatalog("TOWNS", false, false, Obj::TOWN);
|
||||
addGroupIntoCatalog("TOWNS", false, false, Obj::RANDOM_TOWN);
|
||||
addGroupIntoCatalog("TOWNS", true, false, Obj::SHIPYARD);
|
||||
addGroupIntoCatalog("TOWNS", true, false, Obj::GARRISON);
|
||||
addGroupIntoCatalog("TOWNS", true, false, Obj::GARRISON2);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::ARENA);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::BUOY);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::CARTOGRAPHER);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::SWAN_POND);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::COVER_OF_DARKNESS);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::CORPSE);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::FAERIE_RING);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::FOUNTAIN_OF_FORTUNE);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::FOUNTAIN_OF_YOUTH);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::GARDEN_OF_REVELATION);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::HILL_FORT);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::IDOL_OF_FORTUNE);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::LIBRARY_OF_ENLIGHTENMENT);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::LIGHTHOUSE);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::SCHOOL_OF_MAGIC);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::MAGIC_SPRING);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::MAGIC_WELL);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::MERCENARY_CAMP);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::MERMAID);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::MYSTICAL_GARDEN);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::OASIS);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::LEAN_TO);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::OBELISK);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::REDWOOD_OBSERVATORY);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::PILLAR_OF_FIRE);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::STAR_AXIS);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::RALLY_FLAG);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::WATERING_HOLE);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::SCHOLAR);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::SHRINE_OF_MAGIC_INCANTATION);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::SHRINE_OF_MAGIC_GESTURE);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::SHRINE_OF_MAGIC_THOUGHT);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::SIRENS);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::STABLES);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::TAVERN);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::TEMPLE);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::DEN_OF_THIEVES);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::LEARNING_STONE);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::TREE_OF_KNOWLEDGE);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::WAGON);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::SCHOOL_OF_WAR);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::WAR_MACHINE_FACTORY);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::WARRIORS_TOMB);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::WITCH_HUT);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::SANCTUARY);
|
||||
addGroupIntoCatalog("OBJECTS", true, false, Obj::MARLETTO_TOWER);
|
||||
addGroupIntoCatalog("HEROES", true, false, Obj::PRISON);
|
||||
addGroupIntoCatalog("HEROES", false, false, Obj::HERO);
|
||||
addGroupIntoCatalog("HEROES", false, false, Obj::RANDOM_HERO);
|
||||
addGroupIntoCatalog("HEROES", false, false, Obj::HERO_PLACEHOLDER);
|
||||
addGroupIntoCatalog("HEROES", false, false, Obj::BOAT);
|
||||
addGroupIntoCatalog("ARTIFACTS", true, false, Obj::ARTIFACT);
|
||||
addGroupIntoCatalog("ARTIFACTS", false, false, Obj::RANDOM_ART);
|
||||
addGroupIntoCatalog("ARTIFACTS", false, false, Obj::RANDOM_TREASURE_ART);
|
||||
addGroupIntoCatalog("ARTIFACTS", false, false, Obj::RANDOM_MINOR_ART);
|
||||
addGroupIntoCatalog("ARTIFACTS", false, false, Obj::RANDOM_MAJOR_ART);
|
||||
addGroupIntoCatalog("ARTIFACTS", false, false, Obj::RANDOM_RELIC_ART);
|
||||
addGroupIntoCatalog("ARTIFACTS", true, false, Obj::SPELL_SCROLL);
|
||||
addGroupIntoCatalog("ARTIFACTS", true, false, Obj::PANDORAS_BOX);
|
||||
addGroupIntoCatalog("RESOURCES", true, false, Obj::RANDOM_RESOURCE);
|
||||
addGroupIntoCatalog("RESOURCES", false, false, Obj::RESOURCE);
|
||||
addGroupIntoCatalog("RESOURCES", true, false, Obj::SEA_CHEST);
|
||||
addGroupIntoCatalog("RESOURCES", true, false, Obj::TREASURE_CHEST);
|
||||
addGroupIntoCatalog("RESOURCES", true, false, Obj::CAMPFIRE);
|
||||
addGroupIntoCatalog("RESOURCES", true, false, Obj::SHIPWRECK_SURVIVOR);
|
||||
addGroupIntoCatalog("RESOURCES", true, false, Obj::FLOTSAM);
|
||||
addGroupIntoCatalog("BANKS", true, false, Obj::CREATURE_BANK);
|
||||
addGroupIntoCatalog("BANKS", true, false, Obj::DRAGON_UTOPIA);
|
||||
addGroupIntoCatalog("BANKS", true, false, Obj::CRYPT);
|
||||
addGroupIntoCatalog("BANKS", true, false, Obj::DERELICT_SHIP);
|
||||
addGroupIntoCatalog("BANKS", true, false, Obj::PYRAMID);
|
||||
addGroupIntoCatalog("BANKS", true, false, Obj::SHIPWRECK);
|
||||
addGroupIntoCatalog("DWELLINGS", true, false, Obj::CREATURE_GENERATOR1);
|
||||
addGroupIntoCatalog("DWELLINGS", true, false, Obj::CREATURE_GENERATOR2);
|
||||
addGroupIntoCatalog("DWELLINGS", true, false, Obj::CREATURE_GENERATOR3);
|
||||
addGroupIntoCatalog("DWELLINGS", true, false, Obj::CREATURE_GENERATOR4);
|
||||
addGroupIntoCatalog("DWELLINGS", true, false, Obj::REFUGEE_CAMP);
|
||||
addGroupIntoCatalog("DWELLINGS", false, false, Obj::RANDOM_DWELLING);
|
||||
addGroupIntoCatalog("DWELLINGS", false, false, Obj::RANDOM_DWELLING_LVL);
|
||||
addGroupIntoCatalog("DWELLINGS", false, false, Obj::RANDOM_DWELLING_FACTION);
|
||||
addGroupIntoCatalog("GROUNDS", true, false, Obj::CURSED_GROUND1);
|
||||
addGroupIntoCatalog("GROUNDS", true, false, Obj::MAGIC_PLAINS1);
|
||||
addGroupIntoCatalog("GROUNDS", true, false, Obj::CLOVER_FIELD);
|
||||
addGroupIntoCatalog("GROUNDS", true, false, Obj::CURSED_GROUND2);
|
||||
addGroupIntoCatalog("GROUNDS", true, false, Obj::EVIL_FOG);
|
||||
addGroupIntoCatalog("GROUNDS", true, false, Obj::FAVORABLE_WINDS);
|
||||
addGroupIntoCatalog("GROUNDS", true, false, Obj::FIERY_FIELDS);
|
||||
addGroupIntoCatalog("GROUNDS", true, false, Obj::HOLY_GROUNDS);
|
||||
addGroupIntoCatalog("GROUNDS", true, false, Obj::LUCID_POOLS);
|
||||
addGroupIntoCatalog("GROUNDS", true, false, Obj::MAGIC_CLOUDS);
|
||||
addGroupIntoCatalog("GROUNDS", true, false, Obj::MAGIC_PLAINS2);
|
||||
addGroupIntoCatalog("GROUNDS", true, false, Obj::ROCKLANDS);
|
||||
addGroupIntoCatalog("GROUNDS", true, false, Obj::HOLE);
|
||||
addGroupIntoCatalog("TELEPORTS", true, false, Obj::MONOLITH_ONE_WAY_ENTRANCE);
|
||||
addGroupIntoCatalog("TELEPORTS", true, false, Obj::MONOLITH_ONE_WAY_EXIT);
|
||||
addGroupIntoCatalog("TELEPORTS", true, false, Obj::MONOLITH_TWO_WAY);
|
||||
addGroupIntoCatalog("TELEPORTS", true, false, Obj::SUBTERRANEAN_GATE);
|
||||
addGroupIntoCatalog("TELEPORTS", true, false, Obj::WHIRLPOOL);
|
||||
addGroupIntoCatalog("MINES", true, false, Obj::MINE);
|
||||
addGroupIntoCatalog("MINES", false, false, Obj::ABANDONED_MINE);
|
||||
addGroupIntoCatalog("MINES", true, false, Obj::WINDMILL);
|
||||
addGroupIntoCatalog("MINES", true, false, Obj::WATER_WHEEL);
|
||||
addGroupIntoCatalog("TRIGGERS", true, false, Obj::EVENT);
|
||||
addGroupIntoCatalog("TRIGGERS", true, false, Obj::GRAIL);
|
||||
addGroupIntoCatalog("TRIGGERS", true, false, Obj::SIGN);
|
||||
addGroupIntoCatalog("TRIGGERS", true, false, Obj::OCEAN_BOTTLE);
|
||||
addGroupIntoCatalog("MONSTERS", false, false, Obj::MONSTER);
|
||||
addGroupIntoCatalog("MONSTERS", true, false, Obj::RANDOM_MONSTER);
|
||||
addGroupIntoCatalog("MONSTERS", true, false, Obj::RANDOM_MONSTER_L1);
|
||||
addGroupIntoCatalog("MONSTERS", true, false, Obj::RANDOM_MONSTER_L2);
|
||||
addGroupIntoCatalog("MONSTERS", true, false, Obj::RANDOM_MONSTER_L3);
|
||||
addGroupIntoCatalog("MONSTERS", true, false, Obj::RANDOM_MONSTER_L4);
|
||||
addGroupIntoCatalog("MONSTERS", true, false, Obj::RANDOM_MONSTER_L5);
|
||||
addGroupIntoCatalog("MONSTERS", true, false, Obj::RANDOM_MONSTER_L6);
|
||||
addGroupIntoCatalog("MONSTERS", true, false, Obj::RANDOM_MONSTER_L7);
|
||||
addGroupIntoCatalog("QUESTS", true, false, Obj::SEER_HUT);
|
||||
addGroupIntoCatalog("QUESTS", true, false, Obj::BORDER_GATE);
|
||||
addGroupIntoCatalog("QUESTS", true, false, Obj::QUEST_GUARD);
|
||||
addGroupIntoCatalog("QUESTS", true, false, Obj::HUT_OF_MAGI);
|
||||
addGroupIntoCatalog("QUESTS", true, false, Obj::EYE_OF_MAGI);
|
||||
addGroupIntoCatalog("QUESTS", true, false, Obj::BORDERGUARD);
|
||||
addGroupIntoCatalog("QUESTS", true, false, Obj::KEYMASTER);
|
||||
addGroupIntoCatalog("wog object", true, false, Obj::WOG_OBJECT);
|
||||
addGroupIntoCatalog("OBSTACLES", true);
|
||||
addGroupIntoCatalog("OTHER", false);
|
||||
addGroupIntoCatalog(groups[TOWNS], false, false, Obj::TOWN);
|
||||
addGroupIntoCatalog(groups[TOWNS], false, false, Obj::RANDOM_TOWN);
|
||||
addGroupIntoCatalog(groups[TOWNS], true, false, Obj::SHIPYARD);
|
||||
addGroupIntoCatalog(groups[TOWNS], true, false, Obj::GARRISON);
|
||||
addGroupIntoCatalog(groups[TOWNS], true, false, Obj::GARRISON2);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::ARENA);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::BUOY);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::CARTOGRAPHER);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::SWAN_POND);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::COVER_OF_DARKNESS);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::CORPSE);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::FAERIE_RING);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::FOUNTAIN_OF_FORTUNE);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::FOUNTAIN_OF_YOUTH);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::GARDEN_OF_REVELATION);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::HILL_FORT);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::IDOL_OF_FORTUNE);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::LIBRARY_OF_ENLIGHTENMENT);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::LIGHTHOUSE);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::SCHOOL_OF_MAGIC);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::MAGIC_SPRING);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::MAGIC_WELL);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::MERCENARY_CAMP);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::MERMAID);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::MYSTICAL_GARDEN);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::OASIS);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::LEAN_TO);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::OBELISK);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::REDWOOD_OBSERVATORY);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::PILLAR_OF_FIRE);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::STAR_AXIS);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::RALLY_FLAG);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::WATERING_HOLE);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::SCHOLAR);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::SHRINE_OF_MAGIC_INCANTATION);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::SHRINE_OF_MAGIC_GESTURE);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::SHRINE_OF_MAGIC_THOUGHT);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::SIRENS);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::STABLES);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::TAVERN);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::TEMPLE);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::DEN_OF_THIEVES);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::LEARNING_STONE);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::TREE_OF_KNOWLEDGE);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::WAGON);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::SCHOOL_OF_WAR);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::WAR_MACHINE_FACTORY);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::WARRIORS_TOMB);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::WITCH_HUT);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::SANCTUARY);
|
||||
addGroupIntoCatalog(groups[OBJECTS], true, false, Obj::MARLETTO_TOWER);
|
||||
addGroupIntoCatalog(groups[HEROES], true, false, Obj::PRISON);
|
||||
addGroupIntoCatalog(groups[HEROES], false, false, Obj::HERO);
|
||||
addGroupIntoCatalog(groups[HEROES], false, false, Obj::RANDOM_HERO);
|
||||
addGroupIntoCatalog(groups[HEROES], false, false, Obj::HERO_PLACEHOLDER);
|
||||
addGroupIntoCatalog(groups[HEROES], false, false, Obj::BOAT);
|
||||
addGroupIntoCatalog(groups[ARTIFACTS], true, false, Obj::ARTIFACT);
|
||||
addGroupIntoCatalog(groups[ARTIFACTS], false, false, Obj::RANDOM_ART);
|
||||
addGroupIntoCatalog(groups[ARTIFACTS], false, false, Obj::RANDOM_TREASURE_ART);
|
||||
addGroupIntoCatalog(groups[ARTIFACTS], false, false, Obj::RANDOM_MINOR_ART);
|
||||
addGroupIntoCatalog(groups[ARTIFACTS], false, false, Obj::RANDOM_MAJOR_ART);
|
||||
addGroupIntoCatalog(groups[ARTIFACTS], false, false, Obj::RANDOM_RELIC_ART);
|
||||
addGroupIntoCatalog(groups[ARTIFACTS], true, false, Obj::SPELL_SCROLL);
|
||||
addGroupIntoCatalog(groups[ARTIFACTS], true, false, Obj::PANDORAS_BOX);
|
||||
addGroupIntoCatalog(groups[RESOURCES], true, false, Obj::RANDOM_RESOURCE);
|
||||
addGroupIntoCatalog(groups[RESOURCES], false, false, Obj::RESOURCE);
|
||||
addGroupIntoCatalog(groups[RESOURCES], true, false, Obj::SEA_CHEST);
|
||||
addGroupIntoCatalog(groups[RESOURCES], true, false, Obj::TREASURE_CHEST);
|
||||
addGroupIntoCatalog(groups[RESOURCES], true, false, Obj::CAMPFIRE);
|
||||
addGroupIntoCatalog(groups[RESOURCES], true, false, Obj::SHIPWRECK_SURVIVOR);
|
||||
addGroupIntoCatalog(groups[RESOURCES], true, false, Obj::FLOTSAM);
|
||||
addGroupIntoCatalog(groups[BANKS], true, false, Obj::CREATURE_BANK);
|
||||
addGroupIntoCatalog(groups[BANKS], true, false, Obj::DRAGON_UTOPIA);
|
||||
addGroupIntoCatalog(groups[BANKS], true, false, Obj::CRYPT);
|
||||
addGroupIntoCatalog(groups[BANKS], true, false, Obj::DERELICT_SHIP);
|
||||
addGroupIntoCatalog(groups[BANKS], true, false, Obj::PYRAMID);
|
||||
addGroupIntoCatalog(groups[BANKS], true, false, Obj::SHIPWRECK);
|
||||
addGroupIntoCatalog(groups[DWELLINGS], true, false, Obj::CREATURE_GENERATOR1);
|
||||
addGroupIntoCatalog(groups[DWELLINGS], true, false, Obj::CREATURE_GENERATOR2);
|
||||
addGroupIntoCatalog(groups[DWELLINGS], true, false, Obj::CREATURE_GENERATOR3);
|
||||
addGroupIntoCatalog(groups[DWELLINGS], true, false, Obj::CREATURE_GENERATOR4);
|
||||
addGroupIntoCatalog(groups[DWELLINGS], true, false, Obj::REFUGEE_CAMP);
|
||||
addGroupIntoCatalog(groups[DWELLINGS], false, false, Obj::RANDOM_DWELLING);
|
||||
addGroupIntoCatalog(groups[DWELLINGS], false, false, Obj::RANDOM_DWELLING_LVL);
|
||||
addGroupIntoCatalog(groups[DWELLINGS], false, false, Obj::RANDOM_DWELLING_FACTION);
|
||||
addGroupIntoCatalog(groups[GROUNDS], true, false, Obj::CURSED_GROUND1);
|
||||
addGroupIntoCatalog(groups[GROUNDS], true, false, Obj::MAGIC_PLAINS1);
|
||||
addGroupIntoCatalog(groups[GROUNDS], true, false, Obj::CLOVER_FIELD);
|
||||
addGroupIntoCatalog(groups[GROUNDS], true, false, Obj::CURSED_GROUND2);
|
||||
addGroupIntoCatalog(groups[GROUNDS], true, false, Obj::EVIL_FOG);
|
||||
addGroupIntoCatalog(groups[GROUNDS], true, false, Obj::FAVORABLE_WINDS);
|
||||
addGroupIntoCatalog(groups[GROUNDS], true, false, Obj::FIERY_FIELDS);
|
||||
addGroupIntoCatalog(groups[GROUNDS], true, false, Obj::HOLY_GROUNDS);
|
||||
addGroupIntoCatalog(groups[GROUNDS], true, false, Obj::LUCID_POOLS);
|
||||
addGroupIntoCatalog(groups[GROUNDS], true, false, Obj::MAGIC_CLOUDS);
|
||||
addGroupIntoCatalog(groups[GROUNDS], true, false, Obj::MAGIC_PLAINS2);
|
||||
addGroupIntoCatalog(groups[GROUNDS], true, false, Obj::ROCKLANDS);
|
||||
addGroupIntoCatalog(groups[GROUNDS], true, false, Obj::HOLE);
|
||||
addGroupIntoCatalog(groups[TELEPORTS], true, false, Obj::MONOLITH_ONE_WAY_ENTRANCE);
|
||||
addGroupIntoCatalog(groups[TELEPORTS], true, false, Obj::MONOLITH_ONE_WAY_EXIT);
|
||||
addGroupIntoCatalog(groups[TELEPORTS], true, false, Obj::MONOLITH_TWO_WAY);
|
||||
addGroupIntoCatalog(groups[TELEPORTS], true, false, Obj::SUBTERRANEAN_GATE);
|
||||
addGroupIntoCatalog(groups[TELEPORTS], true, false, Obj::WHIRLPOOL);
|
||||
addGroupIntoCatalog(groups[MINES], true, false, Obj::MINE);
|
||||
addGroupIntoCatalog(groups[MINES], false, false, Obj::ABANDONED_MINE);
|
||||
addGroupIntoCatalog(groups[MINES], true, false, Obj::WINDMILL);
|
||||
addGroupIntoCatalog(groups[MINES], true, false, Obj::WATER_WHEEL);
|
||||
addGroupIntoCatalog(groups[TRIGGERS], true, false, Obj::EVENT);
|
||||
addGroupIntoCatalog(groups[TRIGGERS], true, false, Obj::GRAIL);
|
||||
addGroupIntoCatalog(groups[TRIGGERS], true, false, Obj::SIGN);
|
||||
addGroupIntoCatalog(groups[TRIGGERS], true, false, Obj::OCEAN_BOTTLE);
|
||||
addGroupIntoCatalog(groups[MONSTERS], false, false, Obj::MONSTER);
|
||||
addGroupIntoCatalog(groups[MONSTERS], true, false, Obj::RANDOM_MONSTER);
|
||||
addGroupIntoCatalog(groups[MONSTERS], true, false, Obj::RANDOM_MONSTER_L1);
|
||||
addGroupIntoCatalog(groups[MONSTERS], true, false, Obj::RANDOM_MONSTER_L2);
|
||||
addGroupIntoCatalog(groups[MONSTERS], true, false, Obj::RANDOM_MONSTER_L3);
|
||||
addGroupIntoCatalog(groups[MONSTERS], true, false, Obj::RANDOM_MONSTER_L4);
|
||||
addGroupIntoCatalog(groups[MONSTERS], true, false, Obj::RANDOM_MONSTER_L5);
|
||||
addGroupIntoCatalog(groups[MONSTERS], true, false, Obj::RANDOM_MONSTER_L6);
|
||||
addGroupIntoCatalog(groups[MONSTERS], true, false, Obj::RANDOM_MONSTER_L7);
|
||||
addGroupIntoCatalog(groups[QUESTS], true, false, Obj::SEER_HUT);
|
||||
addGroupIntoCatalog(groups[QUESTS], true, false, Obj::BORDER_GATE);
|
||||
addGroupIntoCatalog(groups[QUESTS], true, false, Obj::QUEST_GUARD);
|
||||
addGroupIntoCatalog(groups[QUESTS], true, false, Obj::HUT_OF_MAGI);
|
||||
addGroupIntoCatalog(groups[QUESTS], true, false, Obj::EYE_OF_MAGI);
|
||||
addGroupIntoCatalog(groups[QUESTS], true, false, Obj::BORDERGUARD);
|
||||
addGroupIntoCatalog(groups[QUESTS], true, false, Obj::KEYMASTER);
|
||||
addGroupIntoCatalog(groups[WOG_OBJECTS], true, false, Obj::WOG_OBJECT);
|
||||
addGroupIntoCatalog(groups[OBSTACLES], true);
|
||||
addGroupIntoCatalog(groups[OTHER], false);
|
||||
}
|
||||
catch(const std::exception &)
|
||||
{
|
||||
|
@ -28,6 +28,7 @@ class MainWindow : public QMainWindow
|
||||
const QString mainWindowSizeSetting = "MainWindow/Size";
|
||||
const QString mainWindowPositionSetting = "MainWindow/Position";
|
||||
const QString lastDirectorySetting = "MainWindow/Directory";
|
||||
const QString recentlyOpenedFilesSetting = "MainWindow/RecentlyOpenedFiles";
|
||||
|
||||
#ifdef ENABLE_QT_TRANSLATIONS
|
||||
QTranslator translator;
|
||||
@ -58,6 +59,10 @@ public:
|
||||
|
||||
private slots:
|
||||
void on_actionOpen_triggered();
|
||||
|
||||
void on_actionOpenRecent_triggered();
|
||||
|
||||
void on_menuOpenRecent_aboutToShow();
|
||||
|
||||
void on_actionSave_as_triggered();
|
||||
|
||||
@ -153,8 +158,8 @@ public slots:
|
||||
|
||||
private:
|
||||
void preparePreview(const QModelIndex & index);
|
||||
void addGroupIntoCatalog(const std::string & groupName, bool staticOnly);
|
||||
void addGroupIntoCatalog(const std::string & groupName, bool useCustomName, bool staticOnly, int ID);
|
||||
void addGroupIntoCatalog(const QString & groupName, bool staticOnly);
|
||||
void addGroupIntoCatalog(const QString & groupName, bool useCustomName, bool staticOnly, int ID);
|
||||
|
||||
QAction * getActionPlayer(const PlayerColor &);
|
||||
|
||||
@ -170,6 +175,8 @@ private:
|
||||
|
||||
void parseCommandLine(ExtractionOptions & extractionOptions);
|
||||
|
||||
void updateRecentMenu(const QString & filenameSelect);
|
||||
|
||||
private:
|
||||
Ui::MainWindow * ui;
|
||||
ObjectBrowserProxyModel * objectBrowser = nullptr;
|
||||
|
@ -58,8 +58,15 @@
|
||||
<property name="title">
|
||||
<string>File</string>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuOpenRecent">
|
||||
<property name="title">
|
||||
<string>Open Recent</string>
|
||||
</property>
|
||||
<addaction name="actionOpenRecentMore"/>
|
||||
</widget>
|
||||
<addaction name="actionNew"/>
|
||||
<addaction name="actionOpen"/>
|
||||
<addaction name="menuOpenRecent"/>
|
||||
<addaction name="actionSave"/>
|
||||
<addaction name="actionSave_as"/>
|
||||
<addaction name="actionExport"/>
|
||||
@ -133,6 +140,7 @@
|
||||
</attribute>
|
||||
<addaction name="actionNew"/>
|
||||
<addaction name="actionOpen"/>
|
||||
<addaction name="actionOpenRecent"/>
|
||||
<addaction name="actionSave"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionUndo"/>
|
||||
@ -1019,6 +1027,19 @@
|
||||
<string notr="true">Ctrl+O</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionOpenRecent">
|
||||
<property name="text">
|
||||
<string>Open Recent</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionOpenRecentMore">
|
||||
<property name="text">
|
||||
<string>More...</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+R</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSave">
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
|
@ -43,7 +43,7 @@ void LoseConditions::initialize(MapController & c)
|
||||
|
||||
for(auto & s : conditionStringsLose)
|
||||
{
|
||||
ui->loseComboBox->addItem(QString::fromStdString(s));
|
||||
ui->loseComboBox->addItem(tr(s.c_str()));
|
||||
}
|
||||
ui->standardLoseCheck->setChecked(false);
|
||||
|
||||
|
@ -48,7 +48,7 @@ void VictoryConditions::initialize(MapController & c)
|
||||
|
||||
for(auto & s : conditionStringsWin)
|
||||
{
|
||||
ui->victoryComboBox->addItem(QString::fromStdString(s));
|
||||
ui->victoryComboBox->addItem(tr(s.c_str()));
|
||||
}
|
||||
ui->standardVictoryCheck->setChecked(false);
|
||||
ui->onlyForHumansCheck->setChecked(false);
|
||||
|
@ -24,7 +24,7 @@ PlayerParams::PlayerParams(MapController & ctrl, int playerId, QWidget *parent)
|
||||
ui->setupUi(this);
|
||||
|
||||
//set colors and teams
|
||||
ui->teamId->addItem("No team", QVariant(TeamID::NO_TEAM));
|
||||
ui->teamId->addItem(tr("No team"), QVariant(TeamID::NO_TEAM));
|
||||
for(int i = 0, index = 0; i < PlayerColor::PLAYER_LIMIT_I; ++i)
|
||||
{
|
||||
if(i == playerId || !controller.map()->players[i].canAnyonePlay())
|
||||
|
@ -5,6 +5,7 @@
|
||||
<file>icons/brush-4.png</file>
|
||||
<file>icons/document-new.png</file>
|
||||
<file>icons/document-open.png</file>
|
||||
<file>icons/document-open-recent.png</file>
|
||||
<file>icons/document-save.png</file>
|
||||
<file>icons/edit-clear.png</file>
|
||||
<file>icons/edit-copy.png</file>
|
||||
|
@ -19,6 +19,30 @@
|
||||
<translation>紧凑队形</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ArtifactWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="29"/>
|
||||
<location filename="../inspector/artifactwidget.ui" line="44"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="57"/>
|
||||
<source>Equip where:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="73"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished">保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="86"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">取消</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EventSettings</name>
|
||||
<message>
|
||||
@ -42,7 +66,7 @@
|
||||
<translation>移除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="123"/>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="147"/>
|
||||
<source>New event</source>
|
||||
<translation>新事件</translation>
|
||||
</message>
|
||||
@ -103,6 +127,34 @@
|
||||
<translation>生成地图中</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroArtifactsWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="29"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">宝物</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="71"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">添加</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="87"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished">移除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="130"/>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="135"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroSkillsWidget</name>
|
||||
<message>
|
||||
@ -243,423 +295,519 @@
|
||||
<translation>文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="70"/>
|
||||
<location filename="../mainwindow.ui" line="63"/>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<source>Open Recent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="77"/>
|
||||
<source>Map</source>
|
||||
<translation>地图</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="81"/>
|
||||
<location filename="../mainwindow.ui" line="88"/>
|
||||
<source>Edit</source>
|
||||
<translation>编辑</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="94"/>
|
||||
<location filename="../mainwindow.ui" line="101"/>
|
||||
<source>View</source>
|
||||
<translation>视图</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="106"/>
|
||||
<location filename="../mainwindow.ui" line="113"/>
|
||||
<source>Player</source>
|
||||
<translation>玩家</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="126"/>
|
||||
<location filename="../mainwindow.ui" line="133"/>
|
||||
<source>Toolbar</source>
|
||||
<translation>工具栏</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="183"/>
|
||||
<location filename="../mainwindow.ui" line="191"/>
|
||||
<source>Minimap</source>
|
||||
<translation>小地图</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="256"/>
|
||||
<location filename="../mainwindow.ui" line="264"/>
|
||||
<source>Map Objects View</source>
|
||||
<translation>地图物体视图</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="300"/>
|
||||
<location filename="../mainwindow.ui" line="308"/>
|
||||
<source>Browser</source>
|
||||
<translation>浏览器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="378"/>
|
||||
<location filename="../mainwindow.ui" line="386"/>
|
||||
<source>Inspector</source>
|
||||
<translation>检视器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="420"/>
|
||||
<location filename="../mainwindow.ui" line="428"/>
|
||||
<source>Property</source>
|
||||
<translation>属性</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="425"/>
|
||||
<location filename="../mainwindow.ui" line="433"/>
|
||||
<source>Value</source>
|
||||
<translation>值</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="449"/>
|
||||
<location filename="../mainwindow.ui" line="457"/>
|
||||
<source>Tools</source>
|
||||
<translation>工具</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="813"/>
|
||||
<location filename="../mainwindow.ui" line="821"/>
|
||||
<source>Painting</source>
|
||||
<translation>绘制</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="865"/>
|
||||
<location filename="../mainwindow.ui" line="873"/>
|
||||
<source>Terrains</source>
|
||||
<translation>地形</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="908"/>
|
||||
<location filename="../mainwindow.ui" line="916"/>
|
||||
<source>Roads</source>
|
||||
<translation>道路</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="948"/>
|
||||
<location filename="../mainwindow.ui" line="956"/>
|
||||
<source>Rivers</source>
|
||||
<translation>河流</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="982"/>
|
||||
<location filename="../mainwindow.ui" line="990"/>
|
||||
<source>Preview</source>
|
||||
<translation>预览</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1016"/>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<source>Open</source>
|
||||
<translation>打开</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<location filename="../mainwindow.ui" line="1037"/>
|
||||
<source>More...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1045"/>
|
||||
<source>Save</source>
|
||||
<translation>保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<location filename="../mainwindow.ui" line="1053"/>
|
||||
<source>New</source>
|
||||
<translation>新建</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1040"/>
|
||||
<location filename="../mainwindow.ui" line="1061"/>
|
||||
<source>Save as...</source>
|
||||
<translation>另存为</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1043"/>
|
||||
<location filename="../mainwindow.ui" line="1064"/>
|
||||
<source>Ctrl+Shift+S</source>
|
||||
<translation>Ctrl+Shift+S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1048"/>
|
||||
<location filename="../mainwindow.ui" line="1069"/>
|
||||
<source>U/G</source>
|
||||
<translation>地上/地下</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1051"/>
|
||||
<location filename="../mainwindow.cpp" line="835"/>
|
||||
<location filename="../mainwindow.ui" line="1072"/>
|
||||
<location filename="../mainwindow.cpp" line="958"/>
|
||||
<source>View underground</source>
|
||||
<translation>查看地下</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1062"/>
|
||||
<location filename="../mainwindow.ui" line="1083"/>
|
||||
<source>Pass</source>
|
||||
<translation>可通行</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1070"/>
|
||||
<location filename="../mainwindow.ui" line="1091"/>
|
||||
<source>Cut</source>
|
||||
<translation>剪切</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1078"/>
|
||||
<location filename="../mainwindow.ui" line="1099"/>
|
||||
<source>Copy</source>
|
||||
<translation>复制</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1086"/>
|
||||
<location filename="../mainwindow.ui" line="1107"/>
|
||||
<source>Paste</source>
|
||||
<translation>粘贴</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1094"/>
|
||||
<location filename="../mainwindow.ui" line="1115"/>
|
||||
<source>Fill</source>
|
||||
<translation>填充</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1097"/>
|
||||
<location filename="../mainwindow.ui" line="1118"/>
|
||||
<source>Fills the selection with obstacles</source>
|
||||
<translation>填充障碍物到选定区域</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1108"/>
|
||||
<location filename="../mainwindow.ui" line="1129"/>
|
||||
<source>Grid</source>
|
||||
<translation>网格</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1119"/>
|
||||
<location filename="../mainwindow.ui" line="1140"/>
|
||||
<source>General</source>
|
||||
<translation>通用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1122"/>
|
||||
<location filename="../mainwindow.ui" line="1143"/>
|
||||
<source>Map title and description</source>
|
||||
<translation>地图标题与描述</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1133"/>
|
||||
<location filename="../mainwindow.ui" line="1154"/>
|
||||
<source>Players settings</source>
|
||||
<translation>玩家设置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1144"/>
|
||||
<location filename="../mainwindow.ui" line="1147"/>
|
||||
<location filename="../mainwindow.ui" line="1165"/>
|
||||
<location filename="../mainwindow.ui" line="1168"/>
|
||||
<source>Undo</source>
|
||||
<translation>撤销</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1161"/>
|
||||
<location filename="../mainwindow.ui" line="1182"/>
|
||||
<source>Redo</source>
|
||||
<translation>重做</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1175"/>
|
||||
<location filename="../mainwindow.ui" line="1196"/>
|
||||
<source>Erase</source>
|
||||
<translation>擦除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1186"/>
|
||||
<location filename="../mainwindow.ui" line="1207"/>
|
||||
<source>Neutral</source>
|
||||
<translation>中立</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1194"/>
|
||||
<location filename="../mainwindow.ui" line="1215"/>
|
||||
<source>Validate</source>
|
||||
<translation>有效性验证</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1205"/>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.ui" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Update appearance</source>
|
||||
<translation>更新外观</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1216"/>
|
||||
<location filename="../mainwindow.ui" line="1237"/>
|
||||
<source>Recreate obstacles</source>
|
||||
<translation>重建障碍物</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1227"/>
|
||||
<location filename="../mainwindow.ui" line="1248"/>
|
||||
<source>Player 1</source>
|
||||
<translation>玩家1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1238"/>
|
||||
<location filename="../mainwindow.ui" line="1259"/>
|
||||
<source>Player 2</source>
|
||||
<translation>玩家2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1249"/>
|
||||
<location filename="../mainwindow.ui" line="1270"/>
|
||||
<source>Player 3</source>
|
||||
<translation>玩家3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1260"/>
|
||||
<location filename="../mainwindow.ui" line="1281"/>
|
||||
<source>Player 4</source>
|
||||
<translation>玩家4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1271"/>
|
||||
<location filename="../mainwindow.ui" line="1292"/>
|
||||
<source>Player 5</source>
|
||||
<translation>玩家5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1282"/>
|
||||
<location filename="../mainwindow.ui" line="1303"/>
|
||||
<source>Player 6</source>
|
||||
<translation>玩家6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1293"/>
|
||||
<location filename="../mainwindow.ui" line="1314"/>
|
||||
<source>Player 7</source>
|
||||
<translation>玩家7</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1304"/>
|
||||
<location filename="../mainwindow.ui" line="1325"/>
|
||||
<source>Player 8</source>
|
||||
<translation>玩家8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1312"/>
|
||||
<location filename="../mainwindow.ui" line="1333"/>
|
||||
<source>Export as...</source>
|
||||
<translation>导出为</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1320"/>
|
||||
<location filename="../mainwindow.ui" line="1341"/>
|
||||
<source>Translations</source>
|
||||
<translation>翻译</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1323"/>
|
||||
<location filename="../mainwindow.ui" line="1344"/>
|
||||
<source>Ctrl+T</source>
|
||||
<translation>Ctrl+T</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1328"/>
|
||||
<location filename="../mainwindow.ui" line="1331"/>
|
||||
<location filename="../mainwindow.ui" line="1349"/>
|
||||
<location filename="../mainwindow.ui" line="1352"/>
|
||||
<source>h3m converter</source>
|
||||
<translation>h3m转换器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1336"/>
|
||||
<location filename="../mainwindow.ui" line="1357"/>
|
||||
<source>Lock</source>
|
||||
<translation>锁定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1339"/>
|
||||
<location filename="../mainwindow.ui" line="1360"/>
|
||||
<source>Lock objects on map to avoid unnecessary changes</source>
|
||||
<translation>锁定地图上的物体防止误操作</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1342"/>
|
||||
<location filename="../mainwindow.ui" line="1363"/>
|
||||
<source>Ctrl+L</source>
|
||||
<translation>Ctrl+L</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1347"/>
|
||||
<location filename="../mainwindow.ui" line="1368"/>
|
||||
<source>Unlock</source>
|
||||
<translation>解锁</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1350"/>
|
||||
<location filename="../mainwindow.ui" line="1371"/>
|
||||
<source>Unlock all objects on the map</source>
|
||||
<translation>解锁地图上的所有物体</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1353"/>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<source>Ctrl+Shift+L</source>
|
||||
<translation>Ctrl+Shift+L</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1358"/>
|
||||
<location filename="../mainwindow.ui" line="1379"/>
|
||||
<source>Zoom in</source>
|
||||
<translation>放大</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1361"/>
|
||||
<location filename="../mainwindow.ui" line="1382"/>
|
||||
<source>Ctrl+=</source>
|
||||
<translation>Ctrl+=</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1366"/>
|
||||
<location filename="../mainwindow.ui" line="1387"/>
|
||||
<source>Zoom out</source>
|
||||
<translation>缩小</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1369"/>
|
||||
<location filename="../mainwindow.ui" line="1390"/>
|
||||
<source>Ctrl+-</source>
|
||||
<translation>Ctrl+-</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<location filename="../mainwindow.ui" line="1395"/>
|
||||
<source>Zoom reset</source>
|
||||
<translation>重置缩放</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1377"/>
|
||||
<location filename="../mainwindow.ui" line="1398"/>
|
||||
<source>Ctrl+Shift+=</source>
|
||||
<translation>Ctrl+Shift+=</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Confirmation</source>
|
||||
<translation>确认</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Unsaved changes will be lost, are you sure?</source>
|
||||
<translation>未保存的改动会丢失,你确定要这么做吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="423"/>
|
||||
<location filename="../mainwindow.cpp" line="441"/>
|
||||
<source>Open map</source>
|
||||
<translation>打开地图</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="425"/>
|
||||
<location filename="../mainwindow.cpp" line="443"/>
|
||||
<source>All supported maps (*.vmap *.h3m);;VCMI maps(*.vmap);;HoMM3 maps(*.h3m)</source>
|
||||
<translation>所有支持的地图类型(*.vmap *.h3m);;VCMI地图(*.vmap);;英雄无敌3地图(*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="463"/>
|
||||
<source>Recently Opened Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>Save map</source>
|
||||
<translation>保存地图</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>VCMI maps (*.vmap)</source>
|
||||
<translation>VCMI地图(*.vmap)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="677"/>
|
||||
<location filename="../mainwindow.cpp" line="780"/>
|
||||
<source>Type</source>
|
||||
<translation>类型</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="839"/>
|
||||
<location filename="../mainwindow.cpp" line="793"/>
|
||||
<source>Towns</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="794"/>
|
||||
<source>Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="795"/>
|
||||
<source>Heroes</source>
|
||||
<translation type="unfinished">英雄</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="796"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">宝物</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="797"/>
|
||||
<source>Resources</source>
|
||||
<translation type="unfinished">资源</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="798"/>
|
||||
<source>Banks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="799"/>
|
||||
<source>Dwellings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="800"/>
|
||||
<source>Grounds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="801"/>
|
||||
<source>Teleports</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="802"/>
|
||||
<source>Mines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="803"/>
|
||||
<source>Triggers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="804"/>
|
||||
<source>Monsters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="805"/>
|
||||
<source>Quests</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="806"/>
|
||||
<source>Wog Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="807"/>
|
||||
<source>Obstacles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="808"/>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="962"/>
|
||||
<source>View surface</source>
|
||||
<translation>查看地上</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<source>No objects selected</source>
|
||||
<translation>未选择任何物体</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<source>This operation is irreversible. Do you want to continue?</source>
|
||||
<translation>此操作无法被撤销,你确定要继续么?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Errors occurred. %1 objects were not updated</source>
|
||||
<translation>发生错误!%1 物体未完成更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1207"/>
|
||||
<location filename="../mainwindow.cpp" line="1330"/>
|
||||
<source>Save to image</source>
|
||||
<translation>保存为图片</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1349"/>
|
||||
<source>Select maps to convert</source>
|
||||
<translation>选择待转换的地图</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1228"/>
|
||||
<location filename="../mainwindow.cpp" line="1351"/>
|
||||
<source>HoMM3 maps(*.h3m)</source>
|
||||
<translation>英雄无敌3地图文件(*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1232"/>
|
||||
<location filename="../mainwindow.cpp" line="1355"/>
|
||||
<source>Choose directory to save converted maps</source>
|
||||
<translation>选择保存转换地图的目录</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Operation completed</source>
|
||||
<translation>操作完成</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Successfully converted %1 maps</source>
|
||||
<translation>成功转换 %1 地图</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1249"/>
|
||||
<location filename="../mainwindow.cpp" line="1372"/>
|
||||
<source>Failed to convert the map. Abort operation</source>
|
||||
<translation>转换地图失败,操作终止</translation>
|
||||
</message>
|
||||
@ -843,6 +991,11 @@
|
||||
<source>(default)</source>
|
||||
<translation>(默认)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="27"/>
|
||||
<source>No team</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="108"/>
|
||||
<source>Player ID: %1</source>
|
||||
@ -909,52 +1062,52 @@
|
||||
<translation>高级</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="39"/>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<source>Compliant</source>
|
||||
<translation>屈服的</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<source>Friendly</source>
|
||||
<translation>友善的</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<source>Aggressive</source>
|
||||
<translation>好斗的</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<source>Hostile</source>
|
||||
<translation>有敌意的</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<location filename="../inspector/inspector.cpp" line="44"/>
|
||||
<source>Savage</source>
|
||||
<translation>野蛮的</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="341"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="357"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>No patrol</source>
|
||||
<translation>无巡逻</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../inspector/inspector.cpp" line="343"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="359"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>%n tile(s)</source>
|
||||
<translation>
|
||||
<numerusform>%n格</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="859"/>
|
||||
<location filename="../inspector/inspector.cpp" line="948"/>
|
||||
<location filename="../inspector/inspector.cpp" line="875"/>
|
||||
<location filename="../inspector/inspector.cpp" line="964"/>
|
||||
<source>neutral</source>
|
||||
<translation>中立</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="857"/>
|
||||
<location filename="../inspector/inspector.cpp" line="873"/>
|
||||
<source>UNFLAGGABLE</source>
|
||||
<translation>没有旗帜</translation>
|
||||
</message>
|
||||
@ -1472,7 +1625,22 @@
|
||||
<translation>数量</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="207"/>
|
||||
<location filename="../mapsettings/timedevent.ui" line="211"/>
|
||||
<source>Objects to delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="218"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">添加</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="225"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished">移除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="235"/>
|
||||
<source>Ok</source>
|
||||
<translation>确定</translation>
|
||||
</message>
|
||||
@ -2127,27 +2295,27 @@
|
||||
<context>
|
||||
<name>main</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="110"/>
|
||||
<location filename="../mainwindow.cpp" line="112"/>
|
||||
<source>Filepath of the map to open.</source>
|
||||
<translation>要打开的地图所在的文件路径。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="113"/>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<source>Extract original H3 archives into a separate folder.</source>
|
||||
<translation>将原始H3文件解压到特定目录。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="114"/>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<source>From an extracted archive, it Splits TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 and Un44 into individual PNG's.</source>
|
||||
<translation>数据文件解压后,将TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 und Un44切分为独立的PNG文件。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<location filename="../mainwindow.cpp" line="117"/>
|
||||
<source>From an extracted archive, Converts single Images (found in Images folder) from .pcx to png.</source>
|
||||
<translation>数据文件解压后,将每一张图片(Images目录)从pcx格式转化为png格式。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<location filename="../mainwindow.cpp" line="118"/>
|
||||
<source>Delete original files, for the ones split / converted.</source>
|
||||
<translation>当切分/转换完成后,原始文件将被删除。</translation>
|
||||
</message>
|
||||
|
@ -19,6 +19,30 @@
|
||||
<translation>Úzká formace</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ArtifactWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="29"/>
|
||||
<location filename="../inspector/artifactwidget.ui" line="44"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="57"/>
|
||||
<source>Equip where:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="73"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished">Uložit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="86"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Zrušit</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EventSettings</name>
|
||||
<message>
|
||||
@ -42,7 +66,7 @@
|
||||
<translation>Odebrat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="123"/>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="147"/>
|
||||
<source>New event</source>
|
||||
<translation>Nová událost</translation>
|
||||
</message>
|
||||
@ -103,6 +127,34 @@
|
||||
<translation>Generování mapy</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroArtifactsWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="29"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Artefakty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="71"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">Přidat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="87"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished">Odebrat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="130"/>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="135"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroSkillsWidget</name>
|
||||
<message>
|
||||
@ -243,423 +295,519 @@
|
||||
<translation>Soubor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="70"/>
|
||||
<location filename="../mainwindow.ui" line="63"/>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<source>Open Recent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="77"/>
|
||||
<source>Map</source>
|
||||
<translation>Mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="81"/>
|
||||
<location filename="../mainwindow.ui" line="88"/>
|
||||
<source>Edit</source>
|
||||
<translation>Upravit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="94"/>
|
||||
<location filename="../mainwindow.ui" line="101"/>
|
||||
<source>View</source>
|
||||
<translation>Zobrazit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="106"/>
|
||||
<location filename="../mainwindow.ui" line="113"/>
|
||||
<source>Player</source>
|
||||
<translation>Hráč</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="126"/>
|
||||
<location filename="../mainwindow.ui" line="133"/>
|
||||
<source>Toolbar</source>
|
||||
<translation>Panel nástrojů</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="183"/>
|
||||
<location filename="../mainwindow.ui" line="191"/>
|
||||
<source>Minimap</source>
|
||||
<translation>Minimapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="256"/>
|
||||
<location filename="../mainwindow.ui" line="264"/>
|
||||
<source>Map Objects View</source>
|
||||
<translation>Zobrazení objektů mapy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="300"/>
|
||||
<location filename="../mainwindow.ui" line="308"/>
|
||||
<source>Browser</source>
|
||||
<translation>Prohlížeč</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="378"/>
|
||||
<location filename="../mainwindow.ui" line="386"/>
|
||||
<source>Inspector</source>
|
||||
<translation>Inspektor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="420"/>
|
||||
<location filename="../mainwindow.ui" line="428"/>
|
||||
<source>Property</source>
|
||||
<translation>Vlastnost</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="425"/>
|
||||
<location filename="../mainwindow.ui" line="433"/>
|
||||
<source>Value</source>
|
||||
<translation>Hodnota</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="449"/>
|
||||
<location filename="../mainwindow.ui" line="457"/>
|
||||
<source>Tools</source>
|
||||
<translation>Nástroje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="813"/>
|
||||
<location filename="../mainwindow.ui" line="821"/>
|
||||
<source>Painting</source>
|
||||
<translation>Malování</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="865"/>
|
||||
<location filename="../mainwindow.ui" line="873"/>
|
||||
<source>Terrains</source>
|
||||
<translation>Krajiny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="908"/>
|
||||
<location filename="../mainwindow.ui" line="916"/>
|
||||
<source>Roads</source>
|
||||
<translation>Cesty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="948"/>
|
||||
<location filename="../mainwindow.ui" line="956"/>
|
||||
<source>Rivers</source>
|
||||
<translation>Řeky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="982"/>
|
||||
<location filename="../mainwindow.ui" line="990"/>
|
||||
<source>Preview</source>
|
||||
<translation>Náhled</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1016"/>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<source>Open</source>
|
||||
<translation>Otevřít</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<location filename="../mainwindow.ui" line="1037"/>
|
||||
<source>More...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1045"/>
|
||||
<source>Save</source>
|
||||
<translation>Uložit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<location filename="../mainwindow.ui" line="1053"/>
|
||||
<source>New</source>
|
||||
<translation>Nový</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1040"/>
|
||||
<location filename="../mainwindow.ui" line="1061"/>
|
||||
<source>Save as...</source>
|
||||
<translation>Uložit jako...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1043"/>
|
||||
<location filename="../mainwindow.ui" line="1064"/>
|
||||
<source>Ctrl+Shift+S</source>
|
||||
<translation>Ctrl+Shift+S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1048"/>
|
||||
<location filename="../mainwindow.ui" line="1069"/>
|
||||
<source>U/G</source>
|
||||
<translation>P/Z</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1051"/>
|
||||
<location filename="../mainwindow.cpp" line="835"/>
|
||||
<location filename="../mainwindow.ui" line="1072"/>
|
||||
<location filename="../mainwindow.cpp" line="958"/>
|
||||
<source>View underground</source>
|
||||
<translation>Zobrazit podzemí</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1062"/>
|
||||
<location filename="../mainwindow.ui" line="1083"/>
|
||||
<source>Pass</source>
|
||||
<translation>Průchodnost</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1070"/>
|
||||
<location filename="../mainwindow.ui" line="1091"/>
|
||||
<source>Cut</source>
|
||||
<translation>Vyjmout</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1078"/>
|
||||
<location filename="../mainwindow.ui" line="1099"/>
|
||||
<source>Copy</source>
|
||||
<translation>Kopírovat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1086"/>
|
||||
<location filename="../mainwindow.ui" line="1107"/>
|
||||
<source>Paste</source>
|
||||
<translation>Vložit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1094"/>
|
||||
<location filename="../mainwindow.ui" line="1115"/>
|
||||
<source>Fill</source>
|
||||
<translation>Vyplnit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1097"/>
|
||||
<location filename="../mainwindow.ui" line="1118"/>
|
||||
<source>Fills the selection with obstacles</source>
|
||||
<translation>Vyplní výběr překážkami</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1108"/>
|
||||
<location filename="../mainwindow.ui" line="1129"/>
|
||||
<source>Grid</source>
|
||||
<translation>Mřížka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1119"/>
|
||||
<location filename="../mainwindow.ui" line="1140"/>
|
||||
<source>General</source>
|
||||
<translation>Všeobecné</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1122"/>
|
||||
<location filename="../mainwindow.ui" line="1143"/>
|
||||
<source>Map title and description</source>
|
||||
<translation>Název a popis mapy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1133"/>
|
||||
<location filename="../mainwindow.ui" line="1154"/>
|
||||
<source>Players settings</source>
|
||||
<translation>Hráčské nastavení</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1144"/>
|
||||
<location filename="../mainwindow.ui" line="1147"/>
|
||||
<location filename="../mainwindow.ui" line="1165"/>
|
||||
<location filename="../mainwindow.ui" line="1168"/>
|
||||
<source>Undo</source>
|
||||
<translation>Zpět</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1161"/>
|
||||
<location filename="../mainwindow.ui" line="1182"/>
|
||||
<source>Redo</source>
|
||||
<translation>Znovu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1175"/>
|
||||
<location filename="../mainwindow.ui" line="1196"/>
|
||||
<source>Erase</source>
|
||||
<translation>Smazat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1186"/>
|
||||
<location filename="../mainwindow.ui" line="1207"/>
|
||||
<source>Neutral</source>
|
||||
<translation>Neutrální</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1194"/>
|
||||
<location filename="../mainwindow.ui" line="1215"/>
|
||||
<source>Validate</source>
|
||||
<translation>Posoudit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1205"/>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.ui" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Update appearance</source>
|
||||
<translation>Aktualizovat vzhled</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1216"/>
|
||||
<location filename="../mainwindow.ui" line="1237"/>
|
||||
<source>Recreate obstacles</source>
|
||||
<translation>Přetvořit překážky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1227"/>
|
||||
<location filename="../mainwindow.ui" line="1248"/>
|
||||
<source>Player 1</source>
|
||||
<translation>Hráč 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1238"/>
|
||||
<location filename="../mainwindow.ui" line="1259"/>
|
||||
<source>Player 2</source>
|
||||
<translation>Hráč 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1249"/>
|
||||
<location filename="../mainwindow.ui" line="1270"/>
|
||||
<source>Player 3</source>
|
||||
<translation>Hráč 3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1260"/>
|
||||
<location filename="../mainwindow.ui" line="1281"/>
|
||||
<source>Player 4</source>
|
||||
<translation>Hráč 4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1271"/>
|
||||
<location filename="../mainwindow.ui" line="1292"/>
|
||||
<source>Player 5</source>
|
||||
<translation>Hráč 5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1282"/>
|
||||
<location filename="../mainwindow.ui" line="1303"/>
|
||||
<source>Player 6</source>
|
||||
<translation>Hráč 6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1293"/>
|
||||
<location filename="../mainwindow.ui" line="1314"/>
|
||||
<source>Player 7</source>
|
||||
<translation>Hráč 7</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1304"/>
|
||||
<location filename="../mainwindow.ui" line="1325"/>
|
||||
<source>Player 8</source>
|
||||
<translation>Hráč 8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1312"/>
|
||||
<location filename="../mainwindow.ui" line="1333"/>
|
||||
<source>Export as...</source>
|
||||
<translation>Exportovat jako...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1320"/>
|
||||
<location filename="../mainwindow.ui" line="1341"/>
|
||||
<source>Translations</source>
|
||||
<translation>Překlady</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1323"/>
|
||||
<location filename="../mainwindow.ui" line="1344"/>
|
||||
<source>Ctrl+T</source>
|
||||
<translation>Ctrl+T</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1328"/>
|
||||
<location filename="../mainwindow.ui" line="1331"/>
|
||||
<location filename="../mainwindow.ui" line="1349"/>
|
||||
<location filename="../mainwindow.ui" line="1352"/>
|
||||
<source>h3m converter</source>
|
||||
<translation>Převodník h3m</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1336"/>
|
||||
<location filename="../mainwindow.ui" line="1357"/>
|
||||
<source>Lock</source>
|
||||
<translation>Zamknout</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1339"/>
|
||||
<location filename="../mainwindow.ui" line="1360"/>
|
||||
<source>Lock objects on map to avoid unnecessary changes</source>
|
||||
<translation>Zamknout objekty na mapě pro zabránění nadbytečných změn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1342"/>
|
||||
<location filename="../mainwindow.ui" line="1363"/>
|
||||
<source>Ctrl+L</source>
|
||||
<translation>Ctrl+L</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1347"/>
|
||||
<location filename="../mainwindow.ui" line="1368"/>
|
||||
<source>Unlock</source>
|
||||
<translation>Odemknout</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1350"/>
|
||||
<location filename="../mainwindow.ui" line="1371"/>
|
||||
<source>Unlock all objects on the map</source>
|
||||
<translation>Odemknout objekty na mapě</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1353"/>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<source>Ctrl+Shift+L</source>
|
||||
<translation>Ctrl+Shift+L</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1358"/>
|
||||
<location filename="../mainwindow.ui" line="1379"/>
|
||||
<source>Zoom in</source>
|
||||
<translation>Přiblížit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1361"/>
|
||||
<location filename="../mainwindow.ui" line="1382"/>
|
||||
<source>Ctrl+=</source>
|
||||
<translation>Ctrl+=</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1366"/>
|
||||
<location filename="../mainwindow.ui" line="1387"/>
|
||||
<source>Zoom out</source>
|
||||
<translation>Oddálit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1369"/>
|
||||
<location filename="../mainwindow.ui" line="1390"/>
|
||||
<source>Ctrl+-</source>
|
||||
<translation>Ctrl+-</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<location filename="../mainwindow.ui" line="1395"/>
|
||||
<source>Zoom reset</source>
|
||||
<translation>Zrušit přiblížení</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1377"/>
|
||||
<location filename="../mainwindow.ui" line="1398"/>
|
||||
<source>Ctrl+Shift+=</source>
|
||||
<translation>Ctrl+Shift+=</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Confirmation</source>
|
||||
<translation>Potvrzení</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<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="423"/>
|
||||
<location filename="../mainwindow.cpp" line="441"/>
|
||||
<source>Open map</source>
|
||||
<translation>Otevřít mapu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="425"/>
|
||||
<location filename="../mainwindow.cpp" line="443"/>
|
||||
<source>All supported maps (*.vmap *.h3m);;VCMI maps(*.vmap);;HoMM3 maps(*.h3m)</source>
|
||||
<translation>Všechny podporované mapy (*.vmap *.h3m);; Mapy VCMI(*.vmap);;Mapy HoMM3(*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="463"/>
|
||||
<source>Recently Opened Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>Save map</source>
|
||||
<translation>Uložit mapu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>VCMI maps (*.vmap)</source>
|
||||
<translation>Mapy VCMI (*.vmap)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="677"/>
|
||||
<location filename="../mainwindow.cpp" line="780"/>
|
||||
<source>Type</source>
|
||||
<translation>Druh</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="839"/>
|
||||
<location filename="../mainwindow.cpp" line="793"/>
|
||||
<source>Towns</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="794"/>
|
||||
<source>Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="795"/>
|
||||
<source>Heroes</source>
|
||||
<translation type="unfinished">Hrdinové</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="796"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Artefakty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="797"/>
|
||||
<source>Resources</source>
|
||||
<translation type="unfinished">Zdroje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="798"/>
|
||||
<source>Banks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="799"/>
|
||||
<source>Dwellings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="800"/>
|
||||
<source>Grounds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="801"/>
|
||||
<source>Teleports</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="802"/>
|
||||
<source>Mines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="803"/>
|
||||
<source>Triggers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="804"/>
|
||||
<source>Monsters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="805"/>
|
||||
<source>Quests</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="806"/>
|
||||
<source>Wog Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="807"/>
|
||||
<source>Obstacles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="808"/>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="962"/>
|
||||
<source>View surface</source>
|
||||
<translation>Zobrazit povrch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<source>No objects selected</source>
|
||||
<translation>Nejsou vybrány žádné objekty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<source>This operation is irreversible. Do you want to continue?</source>
|
||||
<translation>Tento úkon je nezvratný. Chcete pokračovat?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Errors occurred. %1 objects were not updated</source>
|
||||
<translation>Nastaly chyby. Nebylo aktualizováno %1 objektů</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1207"/>
|
||||
<location filename="../mainwindow.cpp" line="1330"/>
|
||||
<source>Save to image</source>
|
||||
<translation>Uložit do obrázku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1349"/>
|
||||
<source>Select maps to convert</source>
|
||||
<translation>Vyberte mapy pro převod</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1228"/>
|
||||
<location filename="../mainwindow.cpp" line="1351"/>
|
||||
<source>HoMM3 maps(*.h3m)</source>
|
||||
<translation>Mapy HoMM3 (*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1232"/>
|
||||
<location filename="../mainwindow.cpp" line="1355"/>
|
||||
<source>Choose directory to save converted maps</source>
|
||||
<translation>Vyberte složku pro uložení převedených map</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Operation completed</source>
|
||||
<translation>Operace dokončena</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Successfully converted %1 maps</source>
|
||||
<translation>Úspěšně převedeno %1 map</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1249"/>
|
||||
<location filename="../mainwindow.cpp" line="1372"/>
|
||||
<source>Failed to convert the map. Abort operation</source>
|
||||
<translation>Převod map selhal. Úkon zrušen</translation>
|
||||
</message>
|
||||
@ -843,6 +991,11 @@
|
||||
<source>(default)</source>
|
||||
<translation>(výchozí)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="27"/>
|
||||
<source>No team</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="108"/>
|
||||
<source>Player ID: %1</source>
|
||||
@ -909,39 +1062,39 @@
|
||||
<translation>Expert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="39"/>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<source>Compliant</source>
|
||||
<translation>Ochotná</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<source>Friendly</source>
|
||||
<translation>Přátelská</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<source>Aggressive</source>
|
||||
<translation>Agresivní</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<source>Hostile</source>
|
||||
<translation>Nepřátelská</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<location filename="../inspector/inspector.cpp" line="44"/>
|
||||
<source>Savage</source>
|
||||
<translation>Brutální</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="341"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="357"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>No patrol</source>
|
||||
<translation>Bez hlídky</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../inspector/inspector.cpp" line="343"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="359"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>%n tile(s)</source>
|
||||
<translation>
|
||||
<numerusform>%n pole</numerusform>
|
||||
@ -950,13 +1103,13 @@
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="859"/>
|
||||
<location filename="../inspector/inspector.cpp" line="948"/>
|
||||
<location filename="../inspector/inspector.cpp" line="875"/>
|
||||
<location filename="../inspector/inspector.cpp" line="964"/>
|
||||
<source>neutral</source>
|
||||
<translation>neutrální</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="857"/>
|
||||
<location filename="../inspector/inspector.cpp" line="873"/>
|
||||
<source>UNFLAGGABLE</source>
|
||||
<translation>NEOZNAČITELNÝ</translation>
|
||||
</message>
|
||||
@ -1474,7 +1627,22 @@
|
||||
<translation>množství</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="207"/>
|
||||
<location filename="../mapsettings/timedevent.ui" line="211"/>
|
||||
<source>Objects to delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="218"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">Přidat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="225"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished">Odebrat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="235"/>
|
||||
<source>Ok</source>
|
||||
<translation>Dobře</translation>
|
||||
</message>
|
||||
@ -2129,27 +2297,27 @@
|
||||
<context>
|
||||
<name>main</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="110"/>
|
||||
<location filename="../mainwindow.cpp" line="112"/>
|
||||
<source>Filepath of the map to open.</source>
|
||||
<translation>Cesta k souboru mapy, kterou chcete otevřít.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="113"/>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<source>Extract original H3 archives into a separate folder.</source>
|
||||
<translation>Rozbalit originální archivy H3 do zvláštní složky.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="114"/>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<source>From an extracted archive, it Splits TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 and Un44 into individual PNG's.</source>
|
||||
<translation>Z rozbaleného archivu rozdělí TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 a Un44 do jednotlivých PNG.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<location filename="../mainwindow.cpp" line="117"/>
|
||||
<source>From an extracted archive, Converts single Images (found in Images folder) from .pcx to png.</source>
|
||||
<translation>Z rozbaleného archivu převede jednoduché obrázky (nalezené ve složce Images) z .pcx do png.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<location filename="../mainwindow.cpp" line="118"/>
|
||||
<source>Delete original files, for the ones split / converted.</source>
|
||||
<translation>Odstranit původní soubory pro ty, které byly rozděleny nebo převedeny.</translation>
|
||||
</message>
|
||||
|
@ -19,6 +19,30 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ArtifactWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="29"/>
|
||||
<location filename="../inspector/artifactwidget.ui" line="44"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="57"/>
|
||||
<source>Equip where:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="73"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="86"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EventSettings</name>
|
||||
<message>
|
||||
@ -42,7 +66,7 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="123"/>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="147"/>
|
||||
<source>New event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -103,6 +127,34 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroArtifactsWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="29"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="71"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="87"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="130"/>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="135"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroSkillsWidget</name>
|
||||
<message>
|
||||
@ -243,423 +295,519 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="70"/>
|
||||
<location filename="../mainwindow.ui" line="63"/>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<source>Open Recent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="77"/>
|
||||
<source>Map</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="81"/>
|
||||
<location filename="../mainwindow.ui" line="88"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="94"/>
|
||||
<location filename="../mainwindow.ui" line="101"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="106"/>
|
||||
<location filename="../mainwindow.ui" line="113"/>
|
||||
<source>Player</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="126"/>
|
||||
<location filename="../mainwindow.ui" line="133"/>
|
||||
<source>Toolbar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="183"/>
|
||||
<location filename="../mainwindow.ui" line="191"/>
|
||||
<source>Minimap</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="256"/>
|
||||
<location filename="../mainwindow.ui" line="264"/>
|
||||
<source>Map Objects View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="300"/>
|
||||
<location filename="../mainwindow.ui" line="308"/>
|
||||
<source>Browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="378"/>
|
||||
<location filename="../mainwindow.ui" line="386"/>
|
||||
<source>Inspector</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="420"/>
|
||||
<location filename="../mainwindow.ui" line="428"/>
|
||||
<source>Property</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="425"/>
|
||||
<location filename="../mainwindow.ui" line="433"/>
|
||||
<source>Value</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="449"/>
|
||||
<location filename="../mainwindow.ui" line="457"/>
|
||||
<source>Tools</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="813"/>
|
||||
<location filename="../mainwindow.ui" line="821"/>
|
||||
<source>Painting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="865"/>
|
||||
<location filename="../mainwindow.ui" line="873"/>
|
||||
<source>Terrains</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="908"/>
|
||||
<location filename="../mainwindow.ui" line="916"/>
|
||||
<source>Roads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="948"/>
|
||||
<location filename="../mainwindow.ui" line="956"/>
|
||||
<source>Rivers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="982"/>
|
||||
<location filename="../mainwindow.ui" line="990"/>
|
||||
<source>Preview</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1016"/>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<source>Open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<location filename="../mainwindow.ui" line="1037"/>
|
||||
<source>More...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1045"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<location filename="../mainwindow.ui" line="1053"/>
|
||||
<source>New</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1040"/>
|
||||
<location filename="../mainwindow.ui" line="1061"/>
|
||||
<source>Save as...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1043"/>
|
||||
<location filename="../mainwindow.ui" line="1064"/>
|
||||
<source>Ctrl+Shift+S</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1048"/>
|
||||
<location filename="../mainwindow.ui" line="1069"/>
|
||||
<source>U/G</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1051"/>
|
||||
<location filename="../mainwindow.cpp" line="835"/>
|
||||
<location filename="../mainwindow.ui" line="1072"/>
|
||||
<location filename="../mainwindow.cpp" line="958"/>
|
||||
<source>View underground</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1062"/>
|
||||
<location filename="../mainwindow.ui" line="1083"/>
|
||||
<source>Pass</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1070"/>
|
||||
<location filename="../mainwindow.ui" line="1091"/>
|
||||
<source>Cut</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1078"/>
|
||||
<location filename="../mainwindow.ui" line="1099"/>
|
||||
<source>Copy</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1086"/>
|
||||
<location filename="../mainwindow.ui" line="1107"/>
|
||||
<source>Paste</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1094"/>
|
||||
<location filename="../mainwindow.ui" line="1115"/>
|
||||
<source>Fill</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1097"/>
|
||||
<location filename="../mainwindow.ui" line="1118"/>
|
||||
<source>Fills the selection with obstacles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1108"/>
|
||||
<location filename="../mainwindow.ui" line="1129"/>
|
||||
<source>Grid</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1119"/>
|
||||
<location filename="../mainwindow.ui" line="1140"/>
|
||||
<source>General</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1122"/>
|
||||
<location filename="../mainwindow.ui" line="1143"/>
|
||||
<source>Map title and description</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1133"/>
|
||||
<location filename="../mainwindow.ui" line="1154"/>
|
||||
<source>Players settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1144"/>
|
||||
<location filename="../mainwindow.ui" line="1147"/>
|
||||
<location filename="../mainwindow.ui" line="1165"/>
|
||||
<location filename="../mainwindow.ui" line="1168"/>
|
||||
<source>Undo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1161"/>
|
||||
<location filename="../mainwindow.ui" line="1182"/>
|
||||
<source>Redo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1175"/>
|
||||
<location filename="../mainwindow.ui" line="1196"/>
|
||||
<source>Erase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1186"/>
|
||||
<location filename="../mainwindow.ui" line="1207"/>
|
||||
<source>Neutral</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1194"/>
|
||||
<location filename="../mainwindow.ui" line="1215"/>
|
||||
<source>Validate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1205"/>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.ui" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Update appearance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1216"/>
|
||||
<location filename="../mainwindow.ui" line="1237"/>
|
||||
<source>Recreate obstacles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1227"/>
|
||||
<location filename="../mainwindow.ui" line="1248"/>
|
||||
<source>Player 1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1238"/>
|
||||
<location filename="../mainwindow.ui" line="1259"/>
|
||||
<source>Player 2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1249"/>
|
||||
<location filename="../mainwindow.ui" line="1270"/>
|
||||
<source>Player 3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1260"/>
|
||||
<location filename="../mainwindow.ui" line="1281"/>
|
||||
<source>Player 4</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1271"/>
|
||||
<location filename="../mainwindow.ui" line="1292"/>
|
||||
<source>Player 5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1282"/>
|
||||
<location filename="../mainwindow.ui" line="1303"/>
|
||||
<source>Player 6</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1293"/>
|
||||
<location filename="../mainwindow.ui" line="1314"/>
|
||||
<source>Player 7</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1304"/>
|
||||
<location filename="../mainwindow.ui" line="1325"/>
|
||||
<source>Player 8</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1312"/>
|
||||
<location filename="../mainwindow.ui" line="1333"/>
|
||||
<source>Export as...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1320"/>
|
||||
<location filename="../mainwindow.ui" line="1341"/>
|
||||
<source>Translations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1323"/>
|
||||
<location filename="../mainwindow.ui" line="1344"/>
|
||||
<source>Ctrl+T</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1328"/>
|
||||
<location filename="../mainwindow.ui" line="1331"/>
|
||||
<location filename="../mainwindow.ui" line="1349"/>
|
||||
<location filename="../mainwindow.ui" line="1352"/>
|
||||
<source>h3m converter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1336"/>
|
||||
<location filename="../mainwindow.ui" line="1357"/>
|
||||
<source>Lock</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1339"/>
|
||||
<location filename="../mainwindow.ui" line="1360"/>
|
||||
<source>Lock objects on map to avoid unnecessary changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1342"/>
|
||||
<location filename="../mainwindow.ui" line="1363"/>
|
||||
<source>Ctrl+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1347"/>
|
||||
<location filename="../mainwindow.ui" line="1368"/>
|
||||
<source>Unlock</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1350"/>
|
||||
<location filename="../mainwindow.ui" line="1371"/>
|
||||
<source>Unlock all objects on the map</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1353"/>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<source>Ctrl+Shift+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1358"/>
|
||||
<location filename="../mainwindow.ui" line="1379"/>
|
||||
<source>Zoom in</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1361"/>
|
||||
<location filename="../mainwindow.ui" line="1382"/>
|
||||
<source>Ctrl+=</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1366"/>
|
||||
<location filename="../mainwindow.ui" line="1387"/>
|
||||
<source>Zoom out</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1369"/>
|
||||
<location filename="../mainwindow.ui" line="1390"/>
|
||||
<source>Ctrl+-</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<location filename="../mainwindow.ui" line="1395"/>
|
||||
<source>Zoom reset</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1377"/>
|
||||
<location filename="../mainwindow.ui" line="1398"/>
|
||||
<source>Ctrl+Shift+=</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Confirmation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Unsaved changes will be lost, are you sure?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="423"/>
|
||||
<location filename="../mainwindow.cpp" line="441"/>
|
||||
<source>Open map</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="425"/>
|
||||
<location filename="../mainwindow.cpp" line="443"/>
|
||||
<source>All supported maps (*.vmap *.h3m);;VCMI maps(*.vmap);;HoMM3 maps(*.h3m)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="463"/>
|
||||
<source>Recently Opened Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>Save map</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>VCMI maps (*.vmap)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="677"/>
|
||||
<location filename="../mainwindow.cpp" line="780"/>
|
||||
<source>Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="839"/>
|
||||
<location filename="../mainwindow.cpp" line="793"/>
|
||||
<source>Towns</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="794"/>
|
||||
<source>Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="795"/>
|
||||
<source>Heroes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="796"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="797"/>
|
||||
<source>Resources</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="798"/>
|
||||
<source>Banks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="799"/>
|
||||
<source>Dwellings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="800"/>
|
||||
<source>Grounds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="801"/>
|
||||
<source>Teleports</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="802"/>
|
||||
<source>Mines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="803"/>
|
||||
<source>Triggers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="804"/>
|
||||
<source>Monsters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="805"/>
|
||||
<source>Quests</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="806"/>
|
||||
<source>Wog Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="807"/>
|
||||
<source>Obstacles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="808"/>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="962"/>
|
||||
<source>View surface</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<source>No objects selected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<source>This operation is irreversible. Do you want to continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Errors occurred. %1 objects were not updated</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1207"/>
|
||||
<location filename="../mainwindow.cpp" line="1330"/>
|
||||
<source>Save to image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1349"/>
|
||||
<source>Select maps to convert</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1228"/>
|
||||
<location filename="../mainwindow.cpp" line="1351"/>
|
||||
<source>HoMM3 maps(*.h3m)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1232"/>
|
||||
<location filename="../mainwindow.cpp" line="1355"/>
|
||||
<source>Choose directory to save converted maps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Operation completed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Successfully converted %1 maps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1249"/>
|
||||
<location filename="../mainwindow.cpp" line="1372"/>
|
||||
<source>Failed to convert the map. Abort operation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -843,6 +991,11 @@
|
||||
<source>(default)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="27"/>
|
||||
<source>No team</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="108"/>
|
||||
<source>Player ID: %1</source>
|
||||
@ -909,39 +1062,39 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="39"/>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<source>Compliant</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<source>Friendly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<source>Aggressive</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<source>Hostile</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<location filename="../inspector/inspector.cpp" line="44"/>
|
||||
<source>Savage</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="341"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="357"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>No patrol</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../inspector/inspector.cpp" line="343"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="359"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>%n tile(s)</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform></numerusform>
|
||||
@ -949,13 +1102,13 @@
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="859"/>
|
||||
<location filename="../inspector/inspector.cpp" line="948"/>
|
||||
<location filename="../inspector/inspector.cpp" line="875"/>
|
||||
<location filename="../inspector/inspector.cpp" line="964"/>
|
||||
<source>neutral</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="857"/>
|
||||
<location filename="../inspector/inspector.cpp" line="873"/>
|
||||
<source>UNFLAGGABLE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -1473,7 +1626,22 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="207"/>
|
||||
<location filename="../mapsettings/timedevent.ui" line="211"/>
|
||||
<source>Objects to delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="218"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="225"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="235"/>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -2128,27 +2296,27 @@
|
||||
<context>
|
||||
<name>main</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="110"/>
|
||||
<location filename="../mainwindow.cpp" line="112"/>
|
||||
<source>Filepath of the map to open.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="113"/>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<source>Extract original H3 archives into a separate folder.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="114"/>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<source>From an extracted archive, it Splits TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 and Un44 into individual PNG's.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<location filename="../mainwindow.cpp" line="117"/>
|
||||
<source>From an extracted archive, Converts single Images (found in Images folder) from .pcx to png.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<location filename="../mainwindow.cpp" line="118"/>
|
||||
<source>Delete original files, for the ones split / converted.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -19,6 +19,30 @@
|
||||
<translation>Formation serrée</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ArtifactWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="29"/>
|
||||
<location filename="../inspector/artifactwidget.ui" line="44"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="57"/>
|
||||
<source>Equip where:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="73"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished">Enregistrer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="86"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Annuler</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EventSettings</name>
|
||||
<message>
|
||||
@ -42,7 +66,7 @@
|
||||
<translation>Supprimer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="123"/>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="147"/>
|
||||
<source>New event</source>
|
||||
<translation>Nouvel évènement</translation>
|
||||
</message>
|
||||
@ -103,6 +127,34 @@
|
||||
<translation>Générer une carte</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroArtifactsWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="29"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="71"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">Ajouter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="87"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished">Supprimer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="130"/>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="135"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroSkillsWidget</name>
|
||||
<message>
|
||||
@ -243,423 +295,519 @@
|
||||
<translation>Fichier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="70"/>
|
||||
<location filename="../mainwindow.ui" line="63"/>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<source>Open Recent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="77"/>
|
||||
<source>Map</source>
|
||||
<translation>Carte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="81"/>
|
||||
<location filename="../mainwindow.ui" line="88"/>
|
||||
<source>Edit</source>
|
||||
<translation>Édition</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="94"/>
|
||||
<location filename="../mainwindow.ui" line="101"/>
|
||||
<source>View</source>
|
||||
<translation>Affichage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="106"/>
|
||||
<location filename="../mainwindow.ui" line="113"/>
|
||||
<source>Player</source>
|
||||
<translation>Joueur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="126"/>
|
||||
<location filename="../mainwindow.ui" line="133"/>
|
||||
<source>Toolbar</source>
|
||||
<translation>Barre d'outils</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="183"/>
|
||||
<location filename="../mainwindow.ui" line="191"/>
|
||||
<source>Minimap</source>
|
||||
<translation>Mini-carte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="256"/>
|
||||
<location filename="../mainwindow.ui" line="264"/>
|
||||
<source>Map Objects View</source>
|
||||
<translation>Vue des objets cartographiques</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="300"/>
|
||||
<location filename="../mainwindow.ui" line="308"/>
|
||||
<source>Browser</source>
|
||||
<translation>Navigateur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="378"/>
|
||||
<location filename="../mainwindow.ui" line="386"/>
|
||||
<source>Inspector</source>
|
||||
<translation>Inspecteur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="420"/>
|
||||
<location filename="../mainwindow.ui" line="428"/>
|
||||
<source>Property</source>
|
||||
<translation>Propriété</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="425"/>
|
||||
<location filename="../mainwindow.ui" line="433"/>
|
||||
<source>Value</source>
|
||||
<translation>Valeur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="449"/>
|
||||
<location filename="../mainwindow.ui" line="457"/>
|
||||
<source>Tools</source>
|
||||
<translation>Outils</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="813"/>
|
||||
<location filename="../mainwindow.ui" line="821"/>
|
||||
<source>Painting</source>
|
||||
<translation>Remplissage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="865"/>
|
||||
<location filename="../mainwindow.ui" line="873"/>
|
||||
<source>Terrains</source>
|
||||
<translation>Terrains</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="908"/>
|
||||
<location filename="../mainwindow.ui" line="916"/>
|
||||
<source>Roads</source>
|
||||
<translation>Routes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="948"/>
|
||||
<location filename="../mainwindow.ui" line="956"/>
|
||||
<source>Rivers</source>
|
||||
<translation>Rivières</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="982"/>
|
||||
<location filename="../mainwindow.ui" line="990"/>
|
||||
<source>Preview</source>
|
||||
<translation>Aperçu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1016"/>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<source>Open</source>
|
||||
<translation>Ouvrir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<location filename="../mainwindow.ui" line="1037"/>
|
||||
<source>More...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1045"/>
|
||||
<source>Save</source>
|
||||
<translation>Enregistrer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<location filename="../mainwindow.ui" line="1053"/>
|
||||
<source>New</source>
|
||||
<translation>Nouveau</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1040"/>
|
||||
<location filename="../mainwindow.ui" line="1061"/>
|
||||
<source>Save as...</source>
|
||||
<translation>Enregistrer sous...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1043"/>
|
||||
<location filename="../mainwindow.ui" line="1064"/>
|
||||
<source>Ctrl+Shift+S</source>
|
||||
<translation>Ctrl+Maj+S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1048"/>
|
||||
<location filename="../mainwindow.ui" line="1069"/>
|
||||
<source>U/G</source>
|
||||
<translation>Sous-sol/Surface</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1051"/>
|
||||
<location filename="../mainwindow.cpp" line="835"/>
|
||||
<location filename="../mainwindow.ui" line="1072"/>
|
||||
<location filename="../mainwindow.cpp" line="958"/>
|
||||
<source>View underground</source>
|
||||
<translation>Voir le sous-sol</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1062"/>
|
||||
<location filename="../mainwindow.ui" line="1083"/>
|
||||
<source>Pass</source>
|
||||
<translation>Passage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1070"/>
|
||||
<location filename="../mainwindow.ui" line="1091"/>
|
||||
<source>Cut</source>
|
||||
<translation>Couper</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1078"/>
|
||||
<location filename="../mainwindow.ui" line="1099"/>
|
||||
<source>Copy</source>
|
||||
<translation>Copier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1086"/>
|
||||
<location filename="../mainwindow.ui" line="1107"/>
|
||||
<source>Paste</source>
|
||||
<translation>Coller</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1094"/>
|
||||
<location filename="../mainwindow.ui" line="1115"/>
|
||||
<source>Fill</source>
|
||||
<translation>Remplir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1097"/>
|
||||
<location filename="../mainwindow.ui" line="1118"/>
|
||||
<source>Fills the selection with obstacles</source>
|
||||
<translation>Remplir la sélection d'obstacles</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1108"/>
|
||||
<location filename="../mainwindow.ui" line="1129"/>
|
||||
<source>Grid</source>
|
||||
<translation>Grille</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1119"/>
|
||||
<location filename="../mainwindow.ui" line="1140"/>
|
||||
<source>General</source>
|
||||
<translation>Général</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1122"/>
|
||||
<location filename="../mainwindow.ui" line="1143"/>
|
||||
<source>Map title and description</source>
|
||||
<translation>Titre et description de la carte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1133"/>
|
||||
<location filename="../mainwindow.ui" line="1154"/>
|
||||
<source>Players settings</source>
|
||||
<translation>Paramètres des joueurs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1144"/>
|
||||
<location filename="../mainwindow.ui" line="1147"/>
|
||||
<location filename="../mainwindow.ui" line="1165"/>
|
||||
<location filename="../mainwindow.ui" line="1168"/>
|
||||
<source>Undo</source>
|
||||
<translation>Annuler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1161"/>
|
||||
<location filename="../mainwindow.ui" line="1182"/>
|
||||
<source>Redo</source>
|
||||
<translation>Rétablir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1175"/>
|
||||
<location filename="../mainwindow.ui" line="1196"/>
|
||||
<source>Erase</source>
|
||||
<translation>Effacer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1186"/>
|
||||
<location filename="../mainwindow.ui" line="1207"/>
|
||||
<source>Neutral</source>
|
||||
<translation>Neutre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1194"/>
|
||||
<location filename="../mainwindow.ui" line="1215"/>
|
||||
<source>Validate</source>
|
||||
<translation>Valider</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1205"/>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.ui" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Update appearance</source>
|
||||
<translation>Mettre à jour l'apparence</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1216"/>
|
||||
<location filename="../mainwindow.ui" line="1237"/>
|
||||
<source>Recreate obstacles</source>
|
||||
<translation>Recréer des obstacles</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1227"/>
|
||||
<location filename="../mainwindow.ui" line="1248"/>
|
||||
<source>Player 1</source>
|
||||
<translation>Joueur 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1238"/>
|
||||
<location filename="../mainwindow.ui" line="1259"/>
|
||||
<source>Player 2</source>
|
||||
<translation>Joueur 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1249"/>
|
||||
<location filename="../mainwindow.ui" line="1270"/>
|
||||
<source>Player 3</source>
|
||||
<translation>Joueur 3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1260"/>
|
||||
<location filename="../mainwindow.ui" line="1281"/>
|
||||
<source>Player 4</source>
|
||||
<translation>Joueur 4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1271"/>
|
||||
<location filename="../mainwindow.ui" line="1292"/>
|
||||
<source>Player 5</source>
|
||||
<translation>Joueur 5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1282"/>
|
||||
<location filename="../mainwindow.ui" line="1303"/>
|
||||
<source>Player 6</source>
|
||||
<translation>Joueur 6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1293"/>
|
||||
<location filename="../mainwindow.ui" line="1314"/>
|
||||
<source>Player 7</source>
|
||||
<translation>Joueur 7</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1304"/>
|
||||
<location filename="../mainwindow.ui" line="1325"/>
|
||||
<source>Player 8</source>
|
||||
<translation>Joueur 8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1312"/>
|
||||
<location filename="../mainwindow.ui" line="1333"/>
|
||||
<source>Export as...</source>
|
||||
<translation>Exporter sous...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1320"/>
|
||||
<location filename="../mainwindow.ui" line="1341"/>
|
||||
<source>Translations</source>
|
||||
<translation>Traductions</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1323"/>
|
||||
<location filename="../mainwindow.ui" line="1344"/>
|
||||
<source>Ctrl+T</source>
|
||||
<translation>Ctrl+T</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1328"/>
|
||||
<location filename="../mainwindow.ui" line="1331"/>
|
||||
<location filename="../mainwindow.ui" line="1349"/>
|
||||
<location filename="../mainwindow.ui" line="1352"/>
|
||||
<source>h3m converter</source>
|
||||
<translation>convertisseur h3m</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1336"/>
|
||||
<location filename="../mainwindow.ui" line="1357"/>
|
||||
<source>Lock</source>
|
||||
<translation>Vérouiller</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1339"/>
|
||||
<location filename="../mainwindow.ui" line="1360"/>
|
||||
<source>Lock objects on map to avoid unnecessary changes</source>
|
||||
<translation>Vérouiller les objets sur la carte pour éviter des changements non nécessaires</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1342"/>
|
||||
<location filename="../mainwindow.ui" line="1363"/>
|
||||
<source>Ctrl+L</source>
|
||||
<translation>Ctrl+L</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1347"/>
|
||||
<location filename="../mainwindow.ui" line="1368"/>
|
||||
<source>Unlock</source>
|
||||
<translation>Déverouiller</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1350"/>
|
||||
<location filename="../mainwindow.ui" line="1371"/>
|
||||
<source>Unlock all objects on the map</source>
|
||||
<translation>Dévérouiller tous les objets de la carte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1353"/>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<source>Ctrl+Shift+L</source>
|
||||
<translation>Ctrl+Maj+L</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1358"/>
|
||||
<location filename="../mainwindow.ui" line="1379"/>
|
||||
<source>Zoom in</source>
|
||||
<translation>Zoom avant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1361"/>
|
||||
<location filename="../mainwindow.ui" line="1382"/>
|
||||
<source>Ctrl+=</source>
|
||||
<translation>Ctrl+=</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1366"/>
|
||||
<location filename="../mainwindow.ui" line="1387"/>
|
||||
<source>Zoom out</source>
|
||||
<translation>Zoom arrière</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1369"/>
|
||||
<location filename="../mainwindow.ui" line="1390"/>
|
||||
<source>Ctrl+-</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<location filename="../mainwindow.ui" line="1395"/>
|
||||
<source>Zoom reset</source>
|
||||
<translation>Remise à zéro du zoom</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1377"/>
|
||||
<location filename="../mainwindow.ui" line="1398"/>
|
||||
<source>Ctrl+Shift+=</source>
|
||||
<translation>Ctrl+Maj+=</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Confirmation</source>
|
||||
<translation>Confirmation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<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="423"/>
|
||||
<location filename="../mainwindow.cpp" line="441"/>
|
||||
<source>Open map</source>
|
||||
<translation>Ouvrir une carte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="425"/>
|
||||
<location filename="../mainwindow.cpp" line="443"/>
|
||||
<source>All supported maps (*.vmap *.h3m);;VCMI maps(*.vmap);;HoMM3 maps(*.h3m)</source>
|
||||
<translation>Toutes les cartes prises en charge (*.vmap *.h3m);;Cartes VCMI (*.vmap);;Cartes HoMM3 (*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="463"/>
|
||||
<source>Recently Opened Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>Save map</source>
|
||||
<translation>Enregistrer la carte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>VCMI maps (*.vmap)</source>
|
||||
<translation>Cartes VCMI (*.vmap)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="677"/>
|
||||
<location filename="../mainwindow.cpp" line="780"/>
|
||||
<source>Type</source>
|
||||
<translation>Type</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="839"/>
|
||||
<location filename="../mainwindow.cpp" line="793"/>
|
||||
<source>Towns</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="794"/>
|
||||
<source>Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="795"/>
|
||||
<source>Heroes</source>
|
||||
<translation type="unfinished">Héros</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="796"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="797"/>
|
||||
<source>Resources</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="798"/>
|
||||
<source>Banks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="799"/>
|
||||
<source>Dwellings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="800"/>
|
||||
<source>Grounds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="801"/>
|
||||
<source>Teleports</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="802"/>
|
||||
<source>Mines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="803"/>
|
||||
<source>Triggers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="804"/>
|
||||
<source>Monsters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="805"/>
|
||||
<source>Quests</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="806"/>
|
||||
<source>Wog Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="807"/>
|
||||
<source>Obstacles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="808"/>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="962"/>
|
||||
<source>View surface</source>
|
||||
<translation>Afficher la surface</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<source>No objects selected</source>
|
||||
<translation>Pas d'objets sélectionnés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<source>This operation is irreversible. Do you want to continue?</source>
|
||||
<translation>Cette opération est irreversible. Voulez-vous continuer ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Errors occurred. %1 objects were not updated</source>
|
||||
<translation>Erreur rencontrée. %1 objets n'ont pas étés mis à jour</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1207"/>
|
||||
<location filename="../mainwindow.cpp" line="1330"/>
|
||||
<source>Save to image</source>
|
||||
<translation>Sauvegarder en tant qu'image</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1349"/>
|
||||
<source>Select maps to convert</source>
|
||||
<translation>Sélectionner les cartes à convertir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1228"/>
|
||||
<location filename="../mainwindow.cpp" line="1351"/>
|
||||
<source>HoMM3 maps(*.h3m)</source>
|
||||
<translation>Cartes HoMM3(*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1232"/>
|
||||
<location filename="../mainwindow.cpp" line="1355"/>
|
||||
<source>Choose directory to save converted maps</source>
|
||||
<translation>Sélectionner le dossier ou sauvegarder les cartes converties</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Operation completed</source>
|
||||
<translation>Opération terminée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Successfully converted %1 maps</source>
|
||||
<translation>Conversion éffectuée avec succès des %1 cartes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1249"/>
|
||||
<location filename="../mainwindow.cpp" line="1372"/>
|
||||
<source>Failed to convert the map. Abort operation</source>
|
||||
<translation>Erreur de conversion de carte. Opération annulée</translation>
|
||||
</message>
|
||||
@ -843,6 +991,11 @@
|
||||
<source>(default)</source>
|
||||
<translation>(par défaut)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="27"/>
|
||||
<source>No team</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="108"/>
|
||||
<source>Player ID: %1</source>
|
||||
@ -909,39 +1062,39 @@
|
||||
<translation>Expert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="39"/>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<source>Compliant</source>
|
||||
<translation>Compérhensif</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<source>Friendly</source>
|
||||
<translation>Amical</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<source>Aggressive</source>
|
||||
<translation>Aggressif</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<source>Hostile</source>
|
||||
<translation>Hostile</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<location filename="../inspector/inspector.cpp" line="44"/>
|
||||
<source>Savage</source>
|
||||
<translation>Sauvage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="341"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="357"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>No patrol</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../inspector/inspector.cpp" line="343"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="359"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>%n tile(s)</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform></numerusform>
|
||||
@ -949,13 +1102,13 @@
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="859"/>
|
||||
<location filename="../inspector/inspector.cpp" line="948"/>
|
||||
<location filename="../inspector/inspector.cpp" line="875"/>
|
||||
<location filename="../inspector/inspector.cpp" line="964"/>
|
||||
<source>neutral</source>
|
||||
<translation>neutre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="857"/>
|
||||
<location filename="../inspector/inspector.cpp" line="873"/>
|
||||
<source>UNFLAGGABLE</source>
|
||||
<translation>INCLASSABLE</translation>
|
||||
</message>
|
||||
@ -1473,7 +1626,22 @@
|
||||
<translation>quantité</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="207"/>
|
||||
<location filename="../mapsettings/timedevent.ui" line="211"/>
|
||||
<source>Objects to delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="218"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">Ajouter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="225"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished">Supprimer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="235"/>
|
||||
<source>Ok</source>
|
||||
<translation>OK</translation>
|
||||
</message>
|
||||
@ -2128,27 +2296,27 @@
|
||||
<context>
|
||||
<name>main</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="110"/>
|
||||
<location filename="../mainwindow.cpp" line="112"/>
|
||||
<source>Filepath of the map to open.</source>
|
||||
<translation>Chemin du fichier de la carte à ouvrir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="113"/>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<source>Extract original H3 archives into a separate folder.</source>
|
||||
<translation>Extraire les archives H3 d'origine dans un dossier séparé.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="114"/>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<source>From an extracted archive, it Splits TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 and Un44 into individual PNG's.</source>
|
||||
<translation>À partir d'une archive extraite, il divise TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 et Un44 en fichiers PNG individuals.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<location filename="../mainwindow.cpp" line="117"/>
|
||||
<source>From an extracted archive, Converts single Images (found in Images folder) from .pcx to png.</source>
|
||||
<translation>À partir d'une archive extraite, convertit des images uniques (trouvées dans le dossier Images) de .pcx en png.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<location filename="../mainwindow.cpp" line="118"/>
|
||||
<source>Delete original files, for the ones split / converted.</source>
|
||||
<translation>Supprimer les fichiers d'origine, pour ceux fractionnés/converts.</translation>
|
||||
</message>
|
||||
|
@ -19,6 +19,30 @@
|
||||
<translation>Enge Formation</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ArtifactWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="29"/>
|
||||
<location filename="../inspector/artifactwidget.ui" line="44"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="57"/>
|
||||
<source>Equip where:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="73"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished">Speichern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="86"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Abbrechen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EventSettings</name>
|
||||
<message>
|
||||
@ -42,7 +66,7 @@
|
||||
<translation>Entfernen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="123"/>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="147"/>
|
||||
<source>New event</source>
|
||||
<translation>Neues Ereignis</translation>
|
||||
</message>
|
||||
@ -103,6 +127,34 @@
|
||||
<translation>Karte generieren</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroArtifactsWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="29"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Artefakte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="71"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">Hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="87"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished">Entfernen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="130"/>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="135"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroSkillsWidget</name>
|
||||
<message>
|
||||
@ -243,423 +295,519 @@
|
||||
<translation>Datei</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="70"/>
|
||||
<location filename="../mainwindow.ui" line="63"/>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<source>Open Recent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="77"/>
|
||||
<source>Map</source>
|
||||
<translation>Karte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="81"/>
|
||||
<location filename="../mainwindow.ui" line="88"/>
|
||||
<source>Edit</source>
|
||||
<translation>Bearbeiten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="94"/>
|
||||
<location filename="../mainwindow.ui" line="101"/>
|
||||
<source>View</source>
|
||||
<translation>Ansicht</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="106"/>
|
||||
<location filename="../mainwindow.ui" line="113"/>
|
||||
<source>Player</source>
|
||||
<translation>Spieler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="126"/>
|
||||
<location filename="../mainwindow.ui" line="133"/>
|
||||
<source>Toolbar</source>
|
||||
<translation>Werkzeugleiste</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="183"/>
|
||||
<location filename="../mainwindow.ui" line="191"/>
|
||||
<source>Minimap</source>
|
||||
<translation>Minikarte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="256"/>
|
||||
<location filename="../mainwindow.ui" line="264"/>
|
||||
<source>Map Objects View</source>
|
||||
<translation>Kartenobjekte-Ansicht</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="300"/>
|
||||
<location filename="../mainwindow.ui" line="308"/>
|
||||
<source>Browser</source>
|
||||
<translation>Browser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="378"/>
|
||||
<location filename="../mainwindow.ui" line="386"/>
|
||||
<source>Inspector</source>
|
||||
<translation>Inspektor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="420"/>
|
||||
<location filename="../mainwindow.ui" line="428"/>
|
||||
<source>Property</source>
|
||||
<translation>Eigenschaft</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="425"/>
|
||||
<location filename="../mainwindow.ui" line="433"/>
|
||||
<source>Value</source>
|
||||
<translation>Wert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="449"/>
|
||||
<location filename="../mainwindow.ui" line="457"/>
|
||||
<source>Tools</source>
|
||||
<translation>Werkzeuge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="813"/>
|
||||
<location filename="../mainwindow.ui" line="821"/>
|
||||
<source>Painting</source>
|
||||
<translation>Malen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="865"/>
|
||||
<location filename="../mainwindow.ui" line="873"/>
|
||||
<source>Terrains</source>
|
||||
<translation>Terrains</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="908"/>
|
||||
<location filename="../mainwindow.ui" line="916"/>
|
||||
<source>Roads</source>
|
||||
<translation>Straßen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="948"/>
|
||||
<location filename="../mainwindow.ui" line="956"/>
|
||||
<source>Rivers</source>
|
||||
<translation>Flüsse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="982"/>
|
||||
<location filename="../mainwindow.ui" line="990"/>
|
||||
<source>Preview</source>
|
||||
<translation>Vorschau</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1016"/>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<source>Open</source>
|
||||
<translation>Öffnen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<location filename="../mainwindow.ui" line="1037"/>
|
||||
<source>More...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1045"/>
|
||||
<source>Save</source>
|
||||
<translation>Speichern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<location filename="../mainwindow.ui" line="1053"/>
|
||||
<source>New</source>
|
||||
<translation>Neu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1040"/>
|
||||
<location filename="../mainwindow.ui" line="1061"/>
|
||||
<source>Save as...</source>
|
||||
<translation>Speichern unter...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1043"/>
|
||||
<location filename="../mainwindow.ui" line="1064"/>
|
||||
<source>Ctrl+Shift+S</source>
|
||||
<translation>Strg+Shift+S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1048"/>
|
||||
<location filename="../mainwindow.ui" line="1069"/>
|
||||
<source>U/G</source>
|
||||
<translation>U/G</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1051"/>
|
||||
<location filename="../mainwindow.cpp" line="835"/>
|
||||
<location filename="../mainwindow.ui" line="1072"/>
|
||||
<location filename="../mainwindow.cpp" line="958"/>
|
||||
<source>View underground</source>
|
||||
<translation>Ansicht Untergrund</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1062"/>
|
||||
<location filename="../mainwindow.ui" line="1083"/>
|
||||
<source>Pass</source>
|
||||
<translation>Passierbar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1070"/>
|
||||
<location filename="../mainwindow.ui" line="1091"/>
|
||||
<source>Cut</source>
|
||||
<translation>Ausschneiden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1078"/>
|
||||
<location filename="../mainwindow.ui" line="1099"/>
|
||||
<source>Copy</source>
|
||||
<translation>Kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1086"/>
|
||||
<location filename="../mainwindow.ui" line="1107"/>
|
||||
<source>Paste</source>
|
||||
<translation>Einfügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1094"/>
|
||||
<location filename="../mainwindow.ui" line="1115"/>
|
||||
<source>Fill</source>
|
||||
<translation>Füllen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1097"/>
|
||||
<location filename="../mainwindow.ui" line="1118"/>
|
||||
<source>Fills the selection with obstacles</source>
|
||||
<translation>Füllt die Auswahl mit Hindernissen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1108"/>
|
||||
<location filename="../mainwindow.ui" line="1129"/>
|
||||
<source>Grid</source>
|
||||
<translation>Raster</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1119"/>
|
||||
<location filename="../mainwindow.ui" line="1140"/>
|
||||
<source>General</source>
|
||||
<translation>Allgemein</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1122"/>
|
||||
<location filename="../mainwindow.ui" line="1143"/>
|
||||
<source>Map title and description</source>
|
||||
<translation>Titel und Beschreibung der Karte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1133"/>
|
||||
<location filename="../mainwindow.ui" line="1154"/>
|
||||
<source>Players settings</source>
|
||||
<translation>Spieler-Einstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1144"/>
|
||||
<location filename="../mainwindow.ui" line="1147"/>
|
||||
<location filename="../mainwindow.ui" line="1165"/>
|
||||
<location filename="../mainwindow.ui" line="1168"/>
|
||||
<source>Undo</source>
|
||||
<translation>Rückgängig</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1161"/>
|
||||
<location filename="../mainwindow.ui" line="1182"/>
|
||||
<source>Redo</source>
|
||||
<translation>Wiederholen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1175"/>
|
||||
<location filename="../mainwindow.ui" line="1196"/>
|
||||
<source>Erase</source>
|
||||
<translation>Löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1186"/>
|
||||
<location filename="../mainwindow.ui" line="1207"/>
|
||||
<source>Neutral</source>
|
||||
<translation>Neutral</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1194"/>
|
||||
<location filename="../mainwindow.ui" line="1215"/>
|
||||
<source>Validate</source>
|
||||
<translation>Validieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1205"/>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.ui" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Update appearance</source>
|
||||
<translation>Aussehen aktualisieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1216"/>
|
||||
<location filename="../mainwindow.ui" line="1237"/>
|
||||
<source>Recreate obstacles</source>
|
||||
<translation>Hindernisse neu erschaffen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1227"/>
|
||||
<location filename="../mainwindow.ui" line="1248"/>
|
||||
<source>Player 1</source>
|
||||
<translation>Spieler 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1238"/>
|
||||
<location filename="../mainwindow.ui" line="1259"/>
|
||||
<source>Player 2</source>
|
||||
<translation>Spieler 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1249"/>
|
||||
<location filename="../mainwindow.ui" line="1270"/>
|
||||
<source>Player 3</source>
|
||||
<translation>Spieler 3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1260"/>
|
||||
<location filename="../mainwindow.ui" line="1281"/>
|
||||
<source>Player 4</source>
|
||||
<translation>Spieler 4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1271"/>
|
||||
<location filename="../mainwindow.ui" line="1292"/>
|
||||
<source>Player 5</source>
|
||||
<translation>Spieler 5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1282"/>
|
||||
<location filename="../mainwindow.ui" line="1303"/>
|
||||
<source>Player 6</source>
|
||||
<translation>Spieler 6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1293"/>
|
||||
<location filename="../mainwindow.ui" line="1314"/>
|
||||
<source>Player 7</source>
|
||||
<translation>Spieler 7</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1304"/>
|
||||
<location filename="../mainwindow.ui" line="1325"/>
|
||||
<source>Player 8</source>
|
||||
<translation>Spieler 8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1312"/>
|
||||
<location filename="../mainwindow.ui" line="1333"/>
|
||||
<source>Export as...</source>
|
||||
<translation>Exportieren als...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1320"/>
|
||||
<location filename="../mainwindow.ui" line="1341"/>
|
||||
<source>Translations</source>
|
||||
<translation>Übersetzungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1323"/>
|
||||
<location filename="../mainwindow.ui" line="1344"/>
|
||||
<source>Ctrl+T</source>
|
||||
<translation>Strg+T</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1328"/>
|
||||
<location filename="../mainwindow.ui" line="1331"/>
|
||||
<location filename="../mainwindow.ui" line="1349"/>
|
||||
<location filename="../mainwindow.ui" line="1352"/>
|
||||
<source>h3m converter</source>
|
||||
<translation>h3m-Konverter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1336"/>
|
||||
<location filename="../mainwindow.ui" line="1357"/>
|
||||
<source>Lock</source>
|
||||
<translation>Sperren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1339"/>
|
||||
<location filename="../mainwindow.ui" line="1360"/>
|
||||
<source>Lock objects on map to avoid unnecessary changes</source>
|
||||
<translation>Objekte auf der Karte sperren, um unnötige Änderungen zu vermeiden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1342"/>
|
||||
<location filename="../mainwindow.ui" line="1363"/>
|
||||
<source>Ctrl+L</source>
|
||||
<translation>Strg+L</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1347"/>
|
||||
<location filename="../mainwindow.ui" line="1368"/>
|
||||
<source>Unlock</source>
|
||||
<translation>Entsperren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1350"/>
|
||||
<location filename="../mainwindow.ui" line="1371"/>
|
||||
<source>Unlock all objects on the map</source>
|
||||
<translation>Entsperre alle Objekte auf der Karte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1353"/>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<source>Ctrl+Shift+L</source>
|
||||
<translation>Strg+Umschalt+L</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1358"/>
|
||||
<location filename="../mainwindow.ui" line="1379"/>
|
||||
<source>Zoom in</source>
|
||||
<translation>Heranzoomen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1361"/>
|
||||
<location filename="../mainwindow.ui" line="1382"/>
|
||||
<source>Ctrl+=</source>
|
||||
<translation>Strg+=</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1366"/>
|
||||
<location filename="../mainwindow.ui" line="1387"/>
|
||||
<source>Zoom out</source>
|
||||
<translation>Herauszoomen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1369"/>
|
||||
<location filename="../mainwindow.ui" line="1390"/>
|
||||
<source>Ctrl+-</source>
|
||||
<translation>Strg+-</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<location filename="../mainwindow.ui" line="1395"/>
|
||||
<source>Zoom reset</source>
|
||||
<translation>Zoom zurücksetzen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1377"/>
|
||||
<location filename="../mainwindow.ui" line="1398"/>
|
||||
<source>Ctrl+Shift+=</source>
|
||||
<translation>Strg+Umschalt+=</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Confirmation</source>
|
||||
<translation>Bestätigung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<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="423"/>
|
||||
<location filename="../mainwindow.cpp" line="441"/>
|
||||
<source>Open map</source>
|
||||
<translation>Karte öffnen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="425"/>
|
||||
<location filename="../mainwindow.cpp" line="443"/>
|
||||
<source>All supported maps (*.vmap *.h3m);;VCMI maps(*.vmap);;HoMM3 maps(*.h3m)</source>
|
||||
<translation>Alle unterstützten Karten (*.vmap *.h3m);;VCMI-Karten (*.vmap);;HoMM3-Karten (*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="463"/>
|
||||
<source>Recently Opened Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>Save map</source>
|
||||
<translation>Karte speichern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>VCMI maps (*.vmap)</source>
|
||||
<translation>VCMI-Karten (*.vmap)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="677"/>
|
||||
<location filename="../mainwindow.cpp" line="780"/>
|
||||
<source>Type</source>
|
||||
<translation>Typ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="839"/>
|
||||
<location filename="../mainwindow.cpp" line="793"/>
|
||||
<source>Towns</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="794"/>
|
||||
<source>Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="795"/>
|
||||
<source>Heroes</source>
|
||||
<translation type="unfinished">Helden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="796"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Artefakte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="797"/>
|
||||
<source>Resources</source>
|
||||
<translation type="unfinished">Ressourcen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="798"/>
|
||||
<source>Banks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="799"/>
|
||||
<source>Dwellings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="800"/>
|
||||
<source>Grounds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="801"/>
|
||||
<source>Teleports</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="802"/>
|
||||
<source>Mines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="803"/>
|
||||
<source>Triggers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="804"/>
|
||||
<source>Monsters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="805"/>
|
||||
<source>Quests</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="806"/>
|
||||
<source>Wog Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="807"/>
|
||||
<source>Obstacles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="808"/>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="962"/>
|
||||
<source>View surface</source>
|
||||
<translation>Oberfläche anzeigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<source>No objects selected</source>
|
||||
<translation>Keine Objekte selektiert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<source>This operation is irreversible. Do you want to continue?</source>
|
||||
<translation>Diese Operation ist unumkehrbar. Möchten sie fortsetzen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Errors occurred. %1 objects were not updated</source>
|
||||
<translation>Fehler sind aufgetreten. %1 Objekte konnten nicht aktualisiert werden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1207"/>
|
||||
<location filename="../mainwindow.cpp" line="1330"/>
|
||||
<source>Save to image</source>
|
||||
<translation>Als Bild speichern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1349"/>
|
||||
<source>Select maps to convert</source>
|
||||
<translation>Zu konvertierende Karten auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1228"/>
|
||||
<location filename="../mainwindow.cpp" line="1351"/>
|
||||
<source>HoMM3 maps(*.h3m)</source>
|
||||
<translation>HoMM3-Karten (*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1232"/>
|
||||
<location filename="../mainwindow.cpp" line="1355"/>
|
||||
<source>Choose directory to save converted maps</source>
|
||||
<translation>Verzeichnis zum Speichern der konvertierten Karten wählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Operation completed</source>
|
||||
<translation>Vorgang abgeschlossen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Successfully converted %1 maps</source>
|
||||
<translation>Erfolgreiche Konvertierung von %1 Karten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1249"/>
|
||||
<location filename="../mainwindow.cpp" line="1372"/>
|
||||
<source>Failed to convert the map. Abort operation</source>
|
||||
<translation>Die Karte konnte nicht konvertiert werden. Vorgang abgebrochen</translation>
|
||||
</message>
|
||||
@ -843,6 +991,11 @@
|
||||
<source>(default)</source>
|
||||
<translation>(Standard)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="27"/>
|
||||
<source>No team</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="108"/>
|
||||
<source>Player ID: %1</source>
|
||||
@ -909,39 +1062,39 @@
|
||||
<translation>Experte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="39"/>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<source>Compliant</source>
|
||||
<translation>Konform</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<source>Friendly</source>
|
||||
<translation>Freundlich</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<source>Aggressive</source>
|
||||
<translation>Aggressiv</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<source>Hostile</source>
|
||||
<translation>Feindlich</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<location filename="../inspector/inspector.cpp" line="44"/>
|
||||
<source>Savage</source>
|
||||
<translation>Wild</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="341"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="357"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>No patrol</source>
|
||||
<translation>Keine Streife</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../inspector/inspector.cpp" line="343"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="359"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>%n tile(s)</source>
|
||||
<translation>
|
||||
<numerusform>%n Kachel</numerusform>
|
||||
@ -949,13 +1102,13 @@
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="859"/>
|
||||
<location filename="../inspector/inspector.cpp" line="948"/>
|
||||
<location filename="../inspector/inspector.cpp" line="875"/>
|
||||
<location filename="../inspector/inspector.cpp" line="964"/>
|
||||
<source>neutral</source>
|
||||
<translation>neutral</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="857"/>
|
||||
<location filename="../inspector/inspector.cpp" line="873"/>
|
||||
<source>UNFLAGGABLE</source>
|
||||
<translation>UNFLAGGBAR</translation>
|
||||
</message>
|
||||
@ -1473,7 +1626,22 @@
|
||||
<translation>anz.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="207"/>
|
||||
<location filename="../mapsettings/timedevent.ui" line="211"/>
|
||||
<source>Objects to delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="218"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">Hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="225"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished">Entfernen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="235"/>
|
||||
<source>Ok</source>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
@ -2128,27 +2296,27 @@
|
||||
<context>
|
||||
<name>main</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="110"/>
|
||||
<location filename="../mainwindow.cpp" line="112"/>
|
||||
<source>Filepath of the map to open.</source>
|
||||
<translation>Dateipfad der zu öffnenden Karte.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="113"/>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<source>Extract original H3 archives into a separate folder.</source>
|
||||
<translation>Extrahieren Sie die Original-H3-Archive in einen separaten Ordner.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="114"/>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<source>From an extracted archive, it Splits TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 and Un44 into individual PNG's.</source>
|
||||
<translation>Aus einem extrahierten Archiv zerlegt es TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 und Un44 in einzelne PNGs.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<location filename="../mainwindow.cpp" line="117"/>
|
||||
<source>From an extracted archive, Converts single Images (found in Images folder) from .pcx to png.</source>
|
||||
<translation>Aus einem extrahierten Archiv werden einzelne Bilder (aus dem Ordner "Images") von .pcx in png konvertiert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<location filename="../mainwindow.cpp" line="118"/>
|
||||
<source>Delete original files, for the ones split / converted.</source>
|
||||
<translation>Löschen Sie die Originaldateien für die gesplitteten/konvertierten Dateien.</translation>
|
||||
</message>
|
||||
|
@ -19,6 +19,30 @@
|
||||
<translation>Zwarta formacja</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ArtifactWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="29"/>
|
||||
<location filename="../inspector/artifactwidget.ui" line="44"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="57"/>
|
||||
<source>Equip where:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="73"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished">Zapisz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="86"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Anuluj</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EventSettings</name>
|
||||
<message>
|
||||
@ -42,7 +66,7 @@
|
||||
<translation>Usuń</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="123"/>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="147"/>
|
||||
<source>New event</source>
|
||||
<translation>Nowe zdarzenie</translation>
|
||||
</message>
|
||||
@ -67,22 +91,22 @@
|
||||
<message>
|
||||
<location filename="../mapsettings/generalsettings.ui" line="52"/>
|
||||
<source>Author</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/generalsettings.ui" line="62"/>
|
||||
<source>Author contact (e.g. email)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Autor - kontakt (np. email)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/generalsettings.ui" line="72"/>
|
||||
<source>Map Creation Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Data utworzenia mapy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/generalsettings.ui" line="86"/>
|
||||
<source>Map Version</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Wersja mapy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/generalsettings.ui" line="120"/>
|
||||
@ -103,6 +127,34 @@
|
||||
<translation>Trwa generowanie mapy</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroArtifactsWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="29"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Artefakty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="71"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">Dodaj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="87"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished">Usuń</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="130"/>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="135"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroSkillsWidget</name>
|
||||
<message>
|
||||
@ -243,423 +295,519 @@
|
||||
<translation>Plik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="70"/>
|
||||
<location filename="../mainwindow.ui" line="63"/>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<source>Open Recent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="77"/>
|
||||
<source>Map</source>
|
||||
<translation>Mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="81"/>
|
||||
<location filename="../mainwindow.ui" line="88"/>
|
||||
<source>Edit</source>
|
||||
<translation>Edycja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="94"/>
|
||||
<location filename="../mainwindow.ui" line="101"/>
|
||||
<source>View</source>
|
||||
<translation>Widok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="106"/>
|
||||
<location filename="../mainwindow.ui" line="113"/>
|
||||
<source>Player</source>
|
||||
<translation>Gracz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="126"/>
|
||||
<location filename="../mainwindow.ui" line="133"/>
|
||||
<source>Toolbar</source>
|
||||
<translation>Przybornik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="183"/>
|
||||
<location filename="../mainwindow.ui" line="191"/>
|
||||
<source>Minimap</source>
|
||||
<translation>Minimapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="256"/>
|
||||
<location filename="../mainwindow.ui" line="264"/>
|
||||
<source>Map Objects View</source>
|
||||
<translation>Widok obiektów</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="300"/>
|
||||
<location filename="../mainwindow.ui" line="308"/>
|
||||
<source>Browser</source>
|
||||
<translation>Przeglądarka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="378"/>
|
||||
<location filename="../mainwindow.ui" line="386"/>
|
||||
<source>Inspector</source>
|
||||
<translation>Inspektor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="420"/>
|
||||
<location filename="../mainwindow.ui" line="428"/>
|
||||
<source>Property</source>
|
||||
<translation>Właściwość</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="425"/>
|
||||
<location filename="../mainwindow.ui" line="433"/>
|
||||
<source>Value</source>
|
||||
<translation>Wartość</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="449"/>
|
||||
<location filename="../mainwindow.ui" line="457"/>
|
||||
<source>Tools</source>
|
||||
<translation>Narzędzia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="813"/>
|
||||
<location filename="../mainwindow.ui" line="821"/>
|
||||
<source>Painting</source>
|
||||
<translation>Malowanie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="865"/>
|
||||
<location filename="../mainwindow.ui" line="873"/>
|
||||
<source>Terrains</source>
|
||||
<translation>Tereny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="908"/>
|
||||
<location filename="../mainwindow.ui" line="916"/>
|
||||
<source>Roads</source>
|
||||
<translation>Drogi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="948"/>
|
||||
<location filename="../mainwindow.ui" line="956"/>
|
||||
<source>Rivers</source>
|
||||
<translation>Rzeki</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="982"/>
|
||||
<location filename="../mainwindow.ui" line="990"/>
|
||||
<source>Preview</source>
|
||||
<translation>Podgląd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1016"/>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<source>Open</source>
|
||||
<translation>Otwórz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<location filename="../mainwindow.ui" line="1037"/>
|
||||
<source>More...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1045"/>
|
||||
<source>Save</source>
|
||||
<translation>Zapisz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<location filename="../mainwindow.ui" line="1053"/>
|
||||
<source>New</source>
|
||||
<translation>Nowy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1040"/>
|
||||
<location filename="../mainwindow.ui" line="1061"/>
|
||||
<source>Save as...</source>
|
||||
<translation>Zapisz jako...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1043"/>
|
||||
<location filename="../mainwindow.ui" line="1064"/>
|
||||
<source>Ctrl+Shift+S</source>
|
||||
<translation>Ctrl+Shift+S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1048"/>
|
||||
<location filename="../mainwindow.ui" line="1069"/>
|
||||
<source>U/G</source>
|
||||
<translation>Podziemia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1051"/>
|
||||
<location filename="../mainwindow.cpp" line="835"/>
|
||||
<location filename="../mainwindow.ui" line="1072"/>
|
||||
<location filename="../mainwindow.cpp" line="958"/>
|
||||
<source>View underground</source>
|
||||
<translation>Pokaż podziemia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1062"/>
|
||||
<location filename="../mainwindow.ui" line="1083"/>
|
||||
<source>Pass</source>
|
||||
<translation>Przejścia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1070"/>
|
||||
<location filename="../mainwindow.ui" line="1091"/>
|
||||
<source>Cut</source>
|
||||
<translation>Wytnij</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1078"/>
|
||||
<location filename="../mainwindow.ui" line="1099"/>
|
||||
<source>Copy</source>
|
||||
<translation>Kopiuj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1086"/>
|
||||
<location filename="../mainwindow.ui" line="1107"/>
|
||||
<source>Paste</source>
|
||||
<translation>Wklej</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1094"/>
|
||||
<location filename="../mainwindow.ui" line="1115"/>
|
||||
<source>Fill</source>
|
||||
<translation>Wypełnij</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1097"/>
|
||||
<location filename="../mainwindow.ui" line="1118"/>
|
||||
<source>Fills the selection with obstacles</source>
|
||||
<translation>Wypełnia zaznaczony obszar przeszkodami</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1108"/>
|
||||
<location filename="../mainwindow.ui" line="1129"/>
|
||||
<source>Grid</source>
|
||||
<translation>Siatka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1119"/>
|
||||
<location filename="../mainwindow.ui" line="1140"/>
|
||||
<source>General</source>
|
||||
<translation>Ogólne</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1122"/>
|
||||
<location filename="../mainwindow.ui" line="1143"/>
|
||||
<source>Map title and description</source>
|
||||
<translation>Nazwa i opis mapy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1133"/>
|
||||
<location filename="../mainwindow.ui" line="1154"/>
|
||||
<source>Players settings</source>
|
||||
<translation>Ustawienia graczy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1144"/>
|
||||
<location filename="../mainwindow.ui" line="1147"/>
|
||||
<location filename="../mainwindow.ui" line="1165"/>
|
||||
<location filename="../mainwindow.ui" line="1168"/>
|
||||
<source>Undo</source>
|
||||
<translation>Cofnij</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1161"/>
|
||||
<location filename="../mainwindow.ui" line="1182"/>
|
||||
<source>Redo</source>
|
||||
<translation>Przywróć</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1175"/>
|
||||
<location filename="../mainwindow.ui" line="1196"/>
|
||||
<source>Erase</source>
|
||||
<translation>Wymaż</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1186"/>
|
||||
<location filename="../mainwindow.ui" line="1207"/>
|
||||
<source>Neutral</source>
|
||||
<translation>Neutralny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1194"/>
|
||||
<location filename="../mainwindow.ui" line="1215"/>
|
||||
<source>Validate</source>
|
||||
<translation>Sprawdź</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1205"/>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.ui" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Update appearance</source>
|
||||
<translation>Aktualizuj wygląd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1216"/>
|
||||
<location filename="../mainwindow.ui" line="1237"/>
|
||||
<source>Recreate obstacles</source>
|
||||
<translation>Powtórnie stwórz przeszkody</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1227"/>
|
||||
<location filename="../mainwindow.ui" line="1248"/>
|
||||
<source>Player 1</source>
|
||||
<translation>Gracz 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1238"/>
|
||||
<location filename="../mainwindow.ui" line="1259"/>
|
||||
<source>Player 2</source>
|
||||
<translation>Gracz 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1249"/>
|
||||
<location filename="../mainwindow.ui" line="1270"/>
|
||||
<source>Player 3</source>
|
||||
<translation>Gracz 3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1260"/>
|
||||
<location filename="../mainwindow.ui" line="1281"/>
|
||||
<source>Player 4</source>
|
||||
<translation>Gracz 4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1271"/>
|
||||
<location filename="../mainwindow.ui" line="1292"/>
|
||||
<source>Player 5</source>
|
||||
<translation>Gracz 5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1282"/>
|
||||
<location filename="../mainwindow.ui" line="1303"/>
|
||||
<source>Player 6</source>
|
||||
<translation>Gracz 6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1293"/>
|
||||
<location filename="../mainwindow.ui" line="1314"/>
|
||||
<source>Player 7</source>
|
||||
<translation>Gracz 7</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1304"/>
|
||||
<location filename="../mainwindow.ui" line="1325"/>
|
||||
<source>Player 8</source>
|
||||
<translation>Gracz 8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1312"/>
|
||||
<location filename="../mainwindow.ui" line="1333"/>
|
||||
<source>Export as...</source>
|
||||
<translation>Eksportuj jako...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1320"/>
|
||||
<location filename="../mainwindow.ui" line="1341"/>
|
||||
<source>Translations</source>
|
||||
<translation>Tłumaczenia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1323"/>
|
||||
<location filename="../mainwindow.ui" line="1344"/>
|
||||
<source>Ctrl+T</source>
|
||||
<translation>Ctrl+T</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1328"/>
|
||||
<location filename="../mainwindow.ui" line="1331"/>
|
||||
<location filename="../mainwindow.ui" line="1349"/>
|
||||
<location filename="../mainwindow.ui" line="1352"/>
|
||||
<source>h3m converter</source>
|
||||
<translation>konwerter h3m</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1336"/>
|
||||
<location filename="../mainwindow.ui" line="1357"/>
|
||||
<source>Lock</source>
|
||||
<translation>Zablokuj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1339"/>
|
||||
<location filename="../mainwindow.ui" line="1360"/>
|
||||
<source>Lock objects on map to avoid unnecessary changes</source>
|
||||
<translation>Zablokuj obiekty na mapie by uniknąć przypadkowych zmian</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1342"/>
|
||||
<location filename="../mainwindow.ui" line="1363"/>
|
||||
<source>Ctrl+L</source>
|
||||
<translation>Ctrl+L</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1347"/>
|
||||
<location filename="../mainwindow.ui" line="1368"/>
|
||||
<source>Unlock</source>
|
||||
<translation>Odblokuj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1350"/>
|
||||
<location filename="../mainwindow.ui" line="1371"/>
|
||||
<source>Unlock all objects on the map</source>
|
||||
<translation>Odblokuj wszystkie obiekty na mapie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1353"/>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<source>Ctrl+Shift+L</source>
|
||||
<translation>Ctrl+Shift+L</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1358"/>
|
||||
<location filename="../mainwindow.ui" line="1379"/>
|
||||
<source>Zoom in</source>
|
||||
<translation>Powiększ</translation>
|
||||
<translation>Zbliż widok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1361"/>
|
||||
<location filename="../mainwindow.ui" line="1382"/>
|
||||
<source>Ctrl+=</source>
|
||||
<translation>Ctrl+=</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1366"/>
|
||||
<location filename="../mainwindow.ui" line="1387"/>
|
||||
<source>Zoom out</source>
|
||||
<translation>Pomniejsz</translation>
|
||||
<translation>Oddal widok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1369"/>
|
||||
<location filename="../mainwindow.ui" line="1390"/>
|
||||
<source>Ctrl+-</source>
|
||||
<translation>Ctrl+-</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<location filename="../mainwindow.ui" line="1395"/>
|
||||
<source>Zoom reset</source>
|
||||
<translation>Domyślne powiększenie</translation>
|
||||
<translation>Domyślne oddalenie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1377"/>
|
||||
<location filename="../mainwindow.ui" line="1398"/>
|
||||
<source>Ctrl+Shift+=</source>
|
||||
<translation>Ctrl+Shift+=</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Confirmation</source>
|
||||
<translation>Potwierdzenie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<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="423"/>
|
||||
<location filename="../mainwindow.cpp" line="441"/>
|
||||
<source>Open map</source>
|
||||
<translation>Otwórz mapę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="425"/>
|
||||
<location filename="../mainwindow.cpp" line="443"/>
|
||||
<source>All supported maps (*.vmap *.h3m);;VCMI maps(*.vmap);;HoMM3 maps(*.h3m)</source>
|
||||
<translation>Wszystkie wspierane mapy (*.vmap *.h3m);;Mapy VCMI(*.vmap);;Mapy HoMM3(*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="463"/>
|
||||
<source>Recently Opened Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>Save map</source>
|
||||
<translation>Zapisz mapę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>VCMI maps (*.vmap)</source>
|
||||
<translation>Mapy VCMI (*.vmap)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="677"/>
|
||||
<location filename="../mainwindow.cpp" line="780"/>
|
||||
<source>Type</source>
|
||||
<translation>Typ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="839"/>
|
||||
<location filename="../mainwindow.cpp" line="793"/>
|
||||
<source>Towns</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="794"/>
|
||||
<source>Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="795"/>
|
||||
<source>Heroes</source>
|
||||
<translation type="unfinished">Bohaterowie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="796"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Artefakty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="797"/>
|
||||
<source>Resources</source>
|
||||
<translation type="unfinished">Zasoby</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="798"/>
|
||||
<source>Banks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="799"/>
|
||||
<source>Dwellings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="800"/>
|
||||
<source>Grounds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="801"/>
|
||||
<source>Teleports</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="802"/>
|
||||
<source>Mines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="803"/>
|
||||
<source>Triggers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="804"/>
|
||||
<source>Monsters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="805"/>
|
||||
<source>Quests</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="806"/>
|
||||
<source>Wog Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="807"/>
|
||||
<source>Obstacles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="808"/>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="962"/>
|
||||
<source>View surface</source>
|
||||
<translation>Pokaż powierzchnię</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<source>No objects selected</source>
|
||||
<translation>Brak wybranych obiektów</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<source>This operation is irreversible. Do you want to continue?</source>
|
||||
<translation>Ta operacja jest nieodwracalna. Czy chcesz kontynuować?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Errors occurred. %1 objects were not updated</source>
|
||||
<translation>Wystąpiły błędy. %1 obiektów nie zostało zaktualizowanych</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1207"/>
|
||||
<location filename="../mainwindow.cpp" line="1330"/>
|
||||
<source>Save to image</source>
|
||||
<translation>Zapisz jako obraz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1349"/>
|
||||
<source>Select maps to convert</source>
|
||||
<translation>Wybierz mapy do konwersji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1228"/>
|
||||
<location filename="../mainwindow.cpp" line="1351"/>
|
||||
<source>HoMM3 maps(*.h3m)</source>
|
||||
<translation>Mapy HoMM3(*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1232"/>
|
||||
<location filename="../mainwindow.cpp" line="1355"/>
|
||||
<source>Choose directory to save converted maps</source>
|
||||
<translation>Wybierz folder zapisu skonwertowanych map</translation>
|
||||
<translation>Wybierz folder do zapisu skonwertowanych map</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Operation completed</source>
|
||||
<translation>Operacja zakończona</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Successfully converted %1 maps</source>
|
||||
<translation>Pomyślnie skonwertowano %1 map</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1249"/>
|
||||
<location filename="../mainwindow.cpp" line="1372"/>
|
||||
<source>Failed to convert the map. Abort operation</source>
|
||||
<translation>Nieudana konwersja mapy. Przerywanie operacji</translation>
|
||||
</message>
|
||||
@ -843,6 +991,11 @@
|
||||
<source>(default)</source>
|
||||
<translation>(domyślny)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="27"/>
|
||||
<source>No team</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="108"/>
|
||||
<source>Player ID: %1</source>
|
||||
@ -909,39 +1062,39 @@
|
||||
<translation>Ekspert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="39"/>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<source>Compliant</source>
|
||||
<translation>Przyjazny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<source>Friendly</source>
|
||||
<translation>Przychylny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<source>Aggressive</source>
|
||||
<translation>Agresywny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<source>Hostile</source>
|
||||
<translation>Wrogi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<location filename="../inspector/inspector.cpp" line="44"/>
|
||||
<source>Savage</source>
|
||||
<translation>Nienawistny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="341"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="357"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>No patrol</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Brak patrolu</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../inspector/inspector.cpp" line="343"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="359"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>%n tile(s)</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform></numerusform>
|
||||
@ -950,30 +1103,30 @@
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="859"/>
|
||||
<location filename="../inspector/inspector.cpp" line="948"/>
|
||||
<location filename="../inspector/inspector.cpp" line="875"/>
|
||||
<location filename="../inspector/inspector.cpp" line="964"/>
|
||||
<source>neutral</source>
|
||||
<translation>neutralny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="857"/>
|
||||
<location filename="../inspector/inspector.cpp" line="873"/>
|
||||
<source>UNFLAGGABLE</source>
|
||||
<translation>NIEOFLAGOWYWALNY</translation>
|
||||
<translation>NIEFLAGOWALNY</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapcontroller.cpp" line="385"/>
|
||||
<source>Can't place object</source>
|
||||
<translation type="unfinished">Nie można umieścić obiektu</translation>
|
||||
<translation>Nie można umieścić obiektu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapcontroller.cpp" line="555"/>
|
||||
<source>There can only be one grail object on the map.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Na mapie może znajdować się tylko jeden Graal.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapcontroller.cpp" line="561"/>
|
||||
<source>Hero %1 cannot be created as NEUTRAL.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Bohater %1 nie może zostać utworzony jako NEUTRALNY</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1474,7 +1627,22 @@
|
||||
<translation>ilość</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="207"/>
|
||||
<location filename="../mapsettings/timedevent.ui" line="211"/>
|
||||
<source>Objects to delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="218"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">Dodaj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="225"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished">Usuń</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="235"/>
|
||||
<source>Ok</source>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
@ -1768,7 +1936,7 @@
|
||||
<message>
|
||||
<location filename="../validator.cpp" line="97"/>
|
||||
<source>Armored instance %1 is UNFLAGGABLE but must have NEUTRAL or player owner</source>
|
||||
<translation>Obiekt z armią %1 jest nie do oflagowania, lecz musi mieć właściciela neutralnego lub gracza</translation>
|
||||
<translation>Obiekt z armią %1 jest nie do oflagowania, lecz musi mieć być oznaczony jako neutralny lub przynależeć do gracza</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../validator.cpp" line="103"/>
|
||||
@ -1778,17 +1946,17 @@
|
||||
<message>
|
||||
<location filename="../validator.cpp" line="148"/>
|
||||
<source>Spell scroll %1 doesn't have instance assigned and must be removed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Zaklęcie ze zwoju %1 nie posiada przypisanego obiektu i musi zostać usunięte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../validator.cpp" line="154"/>
|
||||
<source>Artifact %1 is prohibited by map settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Artefakt %1 jest zabroniony w ustawieniach mapy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../validator.cpp" line="168"/>
|
||||
<source>Player %1 has no towns and heroes assigned</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Gracz %1 nie posiada żadnych miast i bohaterów</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../validator.cpp" line="116"/>
|
||||
@ -1848,7 +2016,7 @@
|
||||
<message>
|
||||
<location filename="../validator.cpp" line="195"/>
|
||||
<source>Unknown exception occurs during validation</source>
|
||||
<translation>Wystąpił nieznane wyjątek podczas walidacji</translation>
|
||||
<translation>Wystąpił nieznany wyjątek podczas walidacji</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2068,22 +2236,22 @@
|
||||
<message>
|
||||
<location filename="../windownewmap.ui" line="713"/>
|
||||
<source>Roads</source>
|
||||
<translation type="unfinished">Drogi</translation>
|
||||
<translation>Drogi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../windownewmap.ui" line="728"/>
|
||||
<source>Dirt</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ziemna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../windownewmap.ui" line="748"/>
|
||||
<source>Gravel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Żwirowa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../windownewmap.ui" line="768"/>
|
||||
<source>Cobblestone</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Brukowana</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../windownewmap.ui" line="813"/>
|
||||
@ -2129,27 +2297,27 @@
|
||||
<context>
|
||||
<name>main</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="110"/>
|
||||
<location filename="../mainwindow.cpp" line="112"/>
|
||||
<source>Filepath of the map to open.</source>
|
||||
<translation>Lokalizacja pliku mapy do otworzenia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="113"/>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<source>Extract original H3 archives into a separate folder.</source>
|
||||
<translation>Wyodrębnij oryginalne archiwa H3 do osobnego folderu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="114"/>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<source>From an extracted archive, it Splits TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 and Un44 into individual PNG's.</source>
|
||||
<translation>Z wyodrębnionego archiwum, rozdzielenie TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 i Un44 do poszczególnych plików PNG.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<location filename="../mainwindow.cpp" line="117"/>
|
||||
<source>From an extracted archive, Converts single Images (found in Images folder) from .pcx to png.</source>
|
||||
<translation>Z wyodrębnionego archiwum, konwersja pojedynczych obrazków (znalezionych w folderze Images) z .pcx do .png.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<location filename="../mainwindow.cpp" line="118"/>
|
||||
<source>Delete original files, for the ones split / converted.</source>
|
||||
<translation>Usuń oryginalne pliki, dla już rozdzielonych / skonwertowanych.</translation>
|
||||
</message>
|
||||
|
@ -19,6 +19,30 @@
|
||||
<translation>Formação compacta</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ArtifactWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="29"/>
|
||||
<location filename="../inspector/artifactwidget.ui" line="44"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="57"/>
|
||||
<source>Equip where:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="73"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished">Salvar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="86"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Cancelar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EventSettings</name>
|
||||
<message>
|
||||
@ -42,7 +66,7 @@
|
||||
<translation>Remover</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="123"/>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="147"/>
|
||||
<source>New event</source>
|
||||
<translation>Novo evento</translation>
|
||||
</message>
|
||||
@ -103,6 +127,34 @@
|
||||
<translation>Gerando mapa</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroArtifactsWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="29"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Artefatos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="71"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">Adicionar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="87"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished">Remover</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="130"/>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="135"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroSkillsWidget</name>
|
||||
<message>
|
||||
@ -243,423 +295,519 @@
|
||||
<translation>Arquivo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="70"/>
|
||||
<location filename="../mainwindow.ui" line="63"/>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<source>Open Recent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="77"/>
|
||||
<source>Map</source>
|
||||
<translation>Mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="81"/>
|
||||
<location filename="../mainwindow.ui" line="88"/>
|
||||
<source>Edit</source>
|
||||
<translation>Editar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="94"/>
|
||||
<location filename="../mainwindow.ui" line="101"/>
|
||||
<source>View</source>
|
||||
<translation>Visualizar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="106"/>
|
||||
<location filename="../mainwindow.ui" line="113"/>
|
||||
<source>Player</source>
|
||||
<translation>Jogador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="126"/>
|
||||
<location filename="../mainwindow.ui" line="133"/>
|
||||
<source>Toolbar</source>
|
||||
<translation>Barra de Ferramentas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="183"/>
|
||||
<location filename="../mainwindow.ui" line="191"/>
|
||||
<source>Minimap</source>
|
||||
<translation>Minimapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="256"/>
|
||||
<location filename="../mainwindow.ui" line="264"/>
|
||||
<source>Map Objects View</source>
|
||||
<translation>Visualização de Objetos do Mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="300"/>
|
||||
<location filename="../mainwindow.ui" line="308"/>
|
||||
<source>Browser</source>
|
||||
<translation>Navegador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="378"/>
|
||||
<location filename="../mainwindow.ui" line="386"/>
|
||||
<source>Inspector</source>
|
||||
<translation>Inspetor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="420"/>
|
||||
<location filename="../mainwindow.ui" line="428"/>
|
||||
<source>Property</source>
|
||||
<translation>Propriedade</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="425"/>
|
||||
<location filename="../mainwindow.ui" line="433"/>
|
||||
<source>Value</source>
|
||||
<translation>Valor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="449"/>
|
||||
<location filename="../mainwindow.ui" line="457"/>
|
||||
<source>Tools</source>
|
||||
<translation>Ferramentas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="813"/>
|
||||
<location filename="../mainwindow.ui" line="821"/>
|
||||
<source>Painting</source>
|
||||
<translation>Pintura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="865"/>
|
||||
<location filename="../mainwindow.ui" line="873"/>
|
||||
<source>Terrains</source>
|
||||
<translation>Terrenos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="908"/>
|
||||
<location filename="../mainwindow.ui" line="916"/>
|
||||
<source>Roads</source>
|
||||
<translation>Estradas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="948"/>
|
||||
<location filename="../mainwindow.ui" line="956"/>
|
||||
<source>Rivers</source>
|
||||
<translation>Rios</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="982"/>
|
||||
<location filename="../mainwindow.ui" line="990"/>
|
||||
<source>Preview</source>
|
||||
<translation>Visualização</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1016"/>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<source>Open</source>
|
||||
<translation>Abrir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<location filename="../mainwindow.ui" line="1037"/>
|
||||
<source>More...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1045"/>
|
||||
<source>Save</source>
|
||||
<translation>Salvar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<location filename="../mainwindow.ui" line="1053"/>
|
||||
<source>New</source>
|
||||
<translation>Novo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1040"/>
|
||||
<location filename="../mainwindow.ui" line="1061"/>
|
||||
<source>Save as...</source>
|
||||
<translation>Salvar como...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1043"/>
|
||||
<location filename="../mainwindow.ui" line="1064"/>
|
||||
<source>Ctrl+Shift+S</source>
|
||||
<translation>Ctrl+Shift+S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1048"/>
|
||||
<location filename="../mainwindow.ui" line="1069"/>
|
||||
<source>U/G</source>
|
||||
<translation>Subterrâneo/Superfície</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1051"/>
|
||||
<location filename="../mainwindow.cpp" line="835"/>
|
||||
<location filename="../mainwindow.ui" line="1072"/>
|
||||
<location filename="../mainwindow.cpp" line="958"/>
|
||||
<source>View underground</source>
|
||||
<translation>Visualizar subterrâneo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1062"/>
|
||||
<location filename="../mainwindow.ui" line="1083"/>
|
||||
<source>Pass</source>
|
||||
<translation>Passar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1070"/>
|
||||
<location filename="../mainwindow.ui" line="1091"/>
|
||||
<source>Cut</source>
|
||||
<translation>Recortar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1078"/>
|
||||
<location filename="../mainwindow.ui" line="1099"/>
|
||||
<source>Copy</source>
|
||||
<translation>Copiar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1086"/>
|
||||
<location filename="../mainwindow.ui" line="1107"/>
|
||||
<source>Paste</source>
|
||||
<translation>Colar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1094"/>
|
||||
<location filename="../mainwindow.ui" line="1115"/>
|
||||
<source>Fill</source>
|
||||
<translation>Preencher</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1097"/>
|
||||
<location filename="../mainwindow.ui" line="1118"/>
|
||||
<source>Fills the selection with obstacles</source>
|
||||
<translation>Preenche a seleção com obstáculos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1108"/>
|
||||
<location filename="../mainwindow.ui" line="1129"/>
|
||||
<source>Grid</source>
|
||||
<translation>Grade</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1119"/>
|
||||
<location filename="../mainwindow.ui" line="1140"/>
|
||||
<source>General</source>
|
||||
<translation>Geral</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1122"/>
|
||||
<location filename="../mainwindow.ui" line="1143"/>
|
||||
<source>Map title and description</source>
|
||||
<translation>Título e descrição do mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1133"/>
|
||||
<location filename="../mainwindow.ui" line="1154"/>
|
||||
<source>Players settings</source>
|
||||
<translation>Configurações dos jogadores</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1144"/>
|
||||
<location filename="../mainwindow.ui" line="1147"/>
|
||||
<location filename="../mainwindow.ui" line="1165"/>
|
||||
<location filename="../mainwindow.ui" line="1168"/>
|
||||
<source>Undo</source>
|
||||
<translation>Desfazer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1161"/>
|
||||
<location filename="../mainwindow.ui" line="1182"/>
|
||||
<source>Redo</source>
|
||||
<translation>Refazer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1175"/>
|
||||
<location filename="../mainwindow.ui" line="1196"/>
|
||||
<source>Erase</source>
|
||||
<translation>Apagar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1186"/>
|
||||
<location filename="../mainwindow.ui" line="1207"/>
|
||||
<source>Neutral</source>
|
||||
<translation>Neutro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1194"/>
|
||||
<location filename="../mainwindow.ui" line="1215"/>
|
||||
<source>Validate</source>
|
||||
<translation>Validar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1205"/>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.ui" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Update appearance</source>
|
||||
<translation>Atualizar aparência</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1216"/>
|
||||
<location filename="../mainwindow.ui" line="1237"/>
|
||||
<source>Recreate obstacles</source>
|
||||
<translation>Recriar obstáculos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1227"/>
|
||||
<location filename="../mainwindow.ui" line="1248"/>
|
||||
<source>Player 1</source>
|
||||
<translation>Jogador 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1238"/>
|
||||
<location filename="../mainwindow.ui" line="1259"/>
|
||||
<source>Player 2</source>
|
||||
<translation>Jogador 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1249"/>
|
||||
<location filename="../mainwindow.ui" line="1270"/>
|
||||
<source>Player 3</source>
|
||||
<translation>Jogador 3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1260"/>
|
||||
<location filename="../mainwindow.ui" line="1281"/>
|
||||
<source>Player 4</source>
|
||||
<translation>Jogador 4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1271"/>
|
||||
<location filename="../mainwindow.ui" line="1292"/>
|
||||
<source>Player 5</source>
|
||||
<translation>Jogador 5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1282"/>
|
||||
<location filename="../mainwindow.ui" line="1303"/>
|
||||
<source>Player 6</source>
|
||||
<translation>Jogador 6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1293"/>
|
||||
<location filename="../mainwindow.ui" line="1314"/>
|
||||
<source>Player 7</source>
|
||||
<translation>Jogador 7</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1304"/>
|
||||
<location filename="../mainwindow.ui" line="1325"/>
|
||||
<source>Player 8</source>
|
||||
<translation>Jogador 8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1312"/>
|
||||
<location filename="../mainwindow.ui" line="1333"/>
|
||||
<source>Export as...</source>
|
||||
<translation>Exportar como...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1320"/>
|
||||
<location filename="../mainwindow.ui" line="1341"/>
|
||||
<source>Translations</source>
|
||||
<translation>Traduções</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1323"/>
|
||||
<location filename="../mainwindow.ui" line="1344"/>
|
||||
<source>Ctrl+T</source>
|
||||
<translation>Ctrl+T</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1328"/>
|
||||
<location filename="../mainwindow.ui" line="1331"/>
|
||||
<location filename="../mainwindow.ui" line="1349"/>
|
||||
<location filename="../mainwindow.ui" line="1352"/>
|
||||
<source>h3m converter</source>
|
||||
<translation>Conversor h3m</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1336"/>
|
||||
<location filename="../mainwindow.ui" line="1357"/>
|
||||
<source>Lock</source>
|
||||
<translation>Bloquear</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1339"/>
|
||||
<location filename="../mainwindow.ui" line="1360"/>
|
||||
<source>Lock objects on map to avoid unnecessary changes</source>
|
||||
<translation>Bloquear objetos no mapa para evitar alterações desnecessárias</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1342"/>
|
||||
<location filename="../mainwindow.ui" line="1363"/>
|
||||
<source>Ctrl+L</source>
|
||||
<translation>Ctrl+L</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1347"/>
|
||||
<location filename="../mainwindow.ui" line="1368"/>
|
||||
<source>Unlock</source>
|
||||
<translation>Desbloquear</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1350"/>
|
||||
<location filename="../mainwindow.ui" line="1371"/>
|
||||
<source>Unlock all objects on the map</source>
|
||||
<translation>Desbloquear todos os objetos no mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1353"/>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<source>Ctrl+Shift+L</source>
|
||||
<translation>Ctrl+Shift+L</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1358"/>
|
||||
<location filename="../mainwindow.ui" line="1379"/>
|
||||
<source>Zoom in</source>
|
||||
<translation>Aumentar o zoom</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1361"/>
|
||||
<location filename="../mainwindow.ui" line="1382"/>
|
||||
<source>Ctrl+=</source>
|
||||
<translation>Ctrl+=</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1366"/>
|
||||
<location filename="../mainwindow.ui" line="1387"/>
|
||||
<source>Zoom out</source>
|
||||
<translation>Reduzir o zoom</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1369"/>
|
||||
<location filename="../mainwindow.ui" line="1390"/>
|
||||
<source>Ctrl+-</source>
|
||||
<translation>Ctrl+-</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<location filename="../mainwindow.ui" line="1395"/>
|
||||
<source>Zoom reset</source>
|
||||
<translation>Redefinir zoom</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1377"/>
|
||||
<location filename="../mainwindow.ui" line="1398"/>
|
||||
<source>Ctrl+Shift+=</source>
|
||||
<translation>Ctrl+Shift+=</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Confirmation</source>
|
||||
<translation>Confirmação</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<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="423"/>
|
||||
<location filename="../mainwindow.cpp" line="441"/>
|
||||
<source>Open map</source>
|
||||
<translation>Abrir mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="425"/>
|
||||
<location filename="../mainwindow.cpp" line="443"/>
|
||||
<source>All supported maps (*.vmap *.h3m);;VCMI maps(*.vmap);;HoMM3 maps(*.h3m)</source>
|
||||
<translation>Todos os mapas suportados (*.vmap *.h3m);;Mapas do VCMI (*.vmap);;Mapas do HoMM3 (*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="463"/>
|
||||
<source>Recently Opened Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>Save map</source>
|
||||
<translation>Salvar mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>VCMI maps (*.vmap)</source>
|
||||
<translation>Mapas do VCMI (*.vmap)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="677"/>
|
||||
<location filename="../mainwindow.cpp" line="780"/>
|
||||
<source>Type</source>
|
||||
<translation>Tipo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="839"/>
|
||||
<location filename="../mainwindow.cpp" line="793"/>
|
||||
<source>Towns</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="794"/>
|
||||
<source>Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="795"/>
|
||||
<source>Heroes</source>
|
||||
<translation type="unfinished">Heróis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="796"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Artefatos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="797"/>
|
||||
<source>Resources</source>
|
||||
<translation type="unfinished">Recursos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="798"/>
|
||||
<source>Banks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="799"/>
|
||||
<source>Dwellings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="800"/>
|
||||
<source>Grounds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="801"/>
|
||||
<source>Teleports</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="802"/>
|
||||
<source>Mines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="803"/>
|
||||
<source>Triggers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="804"/>
|
||||
<source>Monsters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="805"/>
|
||||
<source>Quests</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="806"/>
|
||||
<source>Wog Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="807"/>
|
||||
<source>Obstacles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="808"/>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="962"/>
|
||||
<source>View surface</source>
|
||||
<translation>Visualizar superfície</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<source>No objects selected</source>
|
||||
<translation>Nenhum objeto selecionado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<source>This operation is irreversible. Do you want to continue?</source>
|
||||
<translation>Esta operação é irreversível. Deseja continuar?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Errors occurred. %1 objects were not updated</source>
|
||||
<translation>Ocorreram erros. %1 objetos não foram atualizados</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1207"/>
|
||||
<location filename="../mainwindow.cpp" line="1330"/>
|
||||
<source>Save to image</source>
|
||||
<translation>Salvar como imagem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1349"/>
|
||||
<source>Select maps to convert</source>
|
||||
<translation>Selecionar mapas para converter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1228"/>
|
||||
<location filename="../mainwindow.cpp" line="1351"/>
|
||||
<source>HoMM3 maps(*.h3m)</source>
|
||||
<translation>Mapas do HoMM3 (*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1232"/>
|
||||
<location filename="../mainwindow.cpp" line="1355"/>
|
||||
<source>Choose directory to save converted maps</source>
|
||||
<translation>Escolher diretório para salvar mapas convertidos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Operation completed</source>
|
||||
<translation>Operação concluída</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Successfully converted %1 maps</source>
|
||||
<translation>%1 mapas foram convertidos com sucesso</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1249"/>
|
||||
<location filename="../mainwindow.cpp" line="1372"/>
|
||||
<source>Failed to convert the map. Abort operation</source>
|
||||
<translation>Falha ao converter o mapa. Abortar operação</translation>
|
||||
</message>
|
||||
@ -843,6 +991,11 @@
|
||||
<source>(default)</source>
|
||||
<translation>(padrão)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="27"/>
|
||||
<source>No team</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="108"/>
|
||||
<source>Player ID: %1</source>
|
||||
@ -909,39 +1062,39 @@
|
||||
<translation>Experiente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="39"/>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<source>Compliant</source>
|
||||
<translation>Complacente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<source>Friendly</source>
|
||||
<translation>Amigável</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<source>Aggressive</source>
|
||||
<translation>Agressivo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<source>Hostile</source>
|
||||
<translation>Hostil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<location filename="../inspector/inspector.cpp" line="44"/>
|
||||
<source>Savage</source>
|
||||
<translation>Selvagem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="341"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="357"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>No patrol</source>
|
||||
<translation>Sem patrulha</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../inspector/inspector.cpp" line="343"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="359"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>%n tile(s)</source>
|
||||
<translation>
|
||||
<numerusform>%n bloco</numerusform>
|
||||
@ -949,13 +1102,13 @@
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="859"/>
|
||||
<location filename="../inspector/inspector.cpp" line="948"/>
|
||||
<location filename="../inspector/inspector.cpp" line="875"/>
|
||||
<location filename="../inspector/inspector.cpp" line="964"/>
|
||||
<source>neutral</source>
|
||||
<translation>neutro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="857"/>
|
||||
<location filename="../inspector/inspector.cpp" line="873"/>
|
||||
<source>UNFLAGGABLE</source>
|
||||
<translation>NÃO TEM BANDEIRA</translation>
|
||||
</message>
|
||||
@ -1473,7 +1626,22 @@
|
||||
<translation>qtd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="207"/>
|
||||
<location filename="../mapsettings/timedevent.ui" line="211"/>
|
||||
<source>Objects to delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="218"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">Adicionar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="225"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished">Remover</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="235"/>
|
||||
<source>Ok</source>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
@ -2128,27 +2296,27 @@
|
||||
<context>
|
||||
<name>main</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="110"/>
|
||||
<location filename="../mainwindow.cpp" line="112"/>
|
||||
<source>Filepath of the map to open.</source>
|
||||
<translation>Caminho do arquivo do mapa para abrir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="113"/>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<source>Extract original H3 archives into a separate folder.</source>
|
||||
<translation>Extrair arquivos originais do H3 em uma pasta separada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="114"/>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<source>From an extracted archive, it Splits TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 and Un44 into individual PNG's.</source>
|
||||
<translation>De um arquivo extraído, divide TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 e Un44 em ONGs individuals.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<location filename="../mainwindow.cpp" line="117"/>
|
||||
<source>From an extracted archive, Converts single Images (found in Images folder) from .pcx to png.</source>
|
||||
<translation>De um arquivo extraído, converte imagens únicas (encontradas na pasta Imagens) de .pcx para png.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<location filename="../mainwindow.cpp" line="118"/>
|
||||
<source>Delete original files, for the ones split / converted.</source>
|
||||
<translation>Excluir arquivos originais, para os divididos / convertidos.</translation>
|
||||
</message>
|
||||
|
@ -19,6 +19,30 @@
|
||||
<translation>Суженная формация</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ArtifactWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="29"/>
|
||||
<location filename="../inspector/artifactwidget.ui" line="44"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="57"/>
|
||||
<source>Equip where:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="73"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished">Сохранить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="86"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Отмена</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EventSettings</name>
|
||||
<message>
|
||||
@ -42,7 +66,7 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="123"/>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="147"/>
|
||||
<source>New event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -103,6 +127,34 @@
|
||||
<translation>Создание карты</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroArtifactsWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="29"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Артефакты</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="71"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="87"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="130"/>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="135"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroSkillsWidget</name>
|
||||
<message>
|
||||
@ -243,423 +295,519 @@
|
||||
<translation>Файл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="70"/>
|
||||
<location filename="../mainwindow.ui" line="63"/>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<source>Open Recent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="77"/>
|
||||
<source>Map</source>
|
||||
<translation>Карта</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="81"/>
|
||||
<location filename="../mainwindow.ui" line="88"/>
|
||||
<source>Edit</source>
|
||||
<translation>Правка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="94"/>
|
||||
<location filename="../mainwindow.ui" line="101"/>
|
||||
<source>View</source>
|
||||
<translation>Вид</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="106"/>
|
||||
<location filename="../mainwindow.ui" line="113"/>
|
||||
<source>Player</source>
|
||||
<translation>Игрок</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="126"/>
|
||||
<location filename="../mainwindow.ui" line="133"/>
|
||||
<source>Toolbar</source>
|
||||
<translation>Панель инструментов</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="183"/>
|
||||
<location filename="../mainwindow.ui" line="191"/>
|
||||
<source>Minimap</source>
|
||||
<translation>Мини-карта</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="256"/>
|
||||
<location filename="../mainwindow.ui" line="264"/>
|
||||
<source>Map Objects View</source>
|
||||
<translation>Объекты карты</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="300"/>
|
||||
<location filename="../mainwindow.ui" line="308"/>
|
||||
<source>Browser</source>
|
||||
<translation>Навигатор</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="378"/>
|
||||
<location filename="../mainwindow.ui" line="386"/>
|
||||
<source>Inspector</source>
|
||||
<translation>Инспектор</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="420"/>
|
||||
<location filename="../mainwindow.ui" line="428"/>
|
||||
<source>Property</source>
|
||||
<translation>Свойство</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="425"/>
|
||||
<location filename="../mainwindow.ui" line="433"/>
|
||||
<source>Value</source>
|
||||
<translation>Значение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="449"/>
|
||||
<location filename="../mainwindow.ui" line="457"/>
|
||||
<source>Tools</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="813"/>
|
||||
<location filename="../mainwindow.ui" line="821"/>
|
||||
<source>Painting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="865"/>
|
||||
<location filename="../mainwindow.ui" line="873"/>
|
||||
<source>Terrains</source>
|
||||
<translation>Земли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="908"/>
|
||||
<location filename="../mainwindow.ui" line="916"/>
|
||||
<source>Roads</source>
|
||||
<translation>Дороги</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="948"/>
|
||||
<location filename="../mainwindow.ui" line="956"/>
|
||||
<source>Rivers</source>
|
||||
<translation>Реки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="982"/>
|
||||
<location filename="../mainwindow.ui" line="990"/>
|
||||
<source>Preview</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1016"/>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<source>Open</source>
|
||||
<translation>Открыть</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<location filename="../mainwindow.ui" line="1037"/>
|
||||
<source>More...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1045"/>
|
||||
<source>Save</source>
|
||||
<translation>Сохранить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<location filename="../mainwindow.ui" line="1053"/>
|
||||
<source>New</source>
|
||||
<translation>Создать</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1040"/>
|
||||
<location filename="../mainwindow.ui" line="1061"/>
|
||||
<source>Save as...</source>
|
||||
<translation>Сохранить как</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1043"/>
|
||||
<location filename="../mainwindow.ui" line="1064"/>
|
||||
<source>Ctrl+Shift+S</source>
|
||||
<translation>Ctrl+Shift+S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1048"/>
|
||||
<location filename="../mainwindow.ui" line="1069"/>
|
||||
<source>U/G</source>
|
||||
<translation>П/Н</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1051"/>
|
||||
<location filename="../mainwindow.cpp" line="835"/>
|
||||
<location filename="../mainwindow.ui" line="1072"/>
|
||||
<location filename="../mainwindow.cpp" line="958"/>
|
||||
<source>View underground</source>
|
||||
<translation>Вид на подземелье</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1062"/>
|
||||
<location filename="../mainwindow.ui" line="1083"/>
|
||||
<source>Pass</source>
|
||||
<translation>Проходимость</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1070"/>
|
||||
<location filename="../mainwindow.ui" line="1091"/>
|
||||
<source>Cut</source>
|
||||
<translation>Вырезать</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1078"/>
|
||||
<location filename="../mainwindow.ui" line="1099"/>
|
||||
<source>Copy</source>
|
||||
<translation>Копировать</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1086"/>
|
||||
<location filename="../mainwindow.ui" line="1107"/>
|
||||
<source>Paste</source>
|
||||
<translation>Вставить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1094"/>
|
||||
<location filename="../mainwindow.ui" line="1115"/>
|
||||
<source>Fill</source>
|
||||
<translation>Заливка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1097"/>
|
||||
<location filename="../mainwindow.ui" line="1118"/>
|
||||
<source>Fills the selection with obstacles</source>
|
||||
<translation>Заливает выбранное препятствиями</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1108"/>
|
||||
<location filename="../mainwindow.ui" line="1129"/>
|
||||
<source>Grid</source>
|
||||
<translation>Сетка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1119"/>
|
||||
<location filename="../mainwindow.ui" line="1140"/>
|
||||
<source>General</source>
|
||||
<translation>Общее</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1122"/>
|
||||
<location filename="../mainwindow.ui" line="1143"/>
|
||||
<source>Map title and description</source>
|
||||
<translation>Название и описание карты</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1133"/>
|
||||
<location filename="../mainwindow.ui" line="1154"/>
|
||||
<source>Players settings</source>
|
||||
<translation>Настройки игроков</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1144"/>
|
||||
<location filename="../mainwindow.ui" line="1147"/>
|
||||
<location filename="../mainwindow.ui" line="1165"/>
|
||||
<location filename="../mainwindow.ui" line="1168"/>
|
||||
<source>Undo</source>
|
||||
<translation>Отменить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1161"/>
|
||||
<location filename="../mainwindow.ui" line="1182"/>
|
||||
<source>Redo</source>
|
||||
<translation>Повторить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1175"/>
|
||||
<location filename="../mainwindow.ui" line="1196"/>
|
||||
<source>Erase</source>
|
||||
<translation>Удалить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1186"/>
|
||||
<location filename="../mainwindow.ui" line="1207"/>
|
||||
<source>Neutral</source>
|
||||
<translation>Нейтральный</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1194"/>
|
||||
<location filename="../mainwindow.ui" line="1215"/>
|
||||
<source>Validate</source>
|
||||
<translation>Проверить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1205"/>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.ui" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Update appearance</source>
|
||||
<translation>Обновить вид</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1216"/>
|
||||
<location filename="../mainwindow.ui" line="1237"/>
|
||||
<source>Recreate obstacles</source>
|
||||
<translation>Обновить препятствия</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1227"/>
|
||||
<location filename="../mainwindow.ui" line="1248"/>
|
||||
<source>Player 1</source>
|
||||
<translation>Игрок 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1238"/>
|
||||
<location filename="../mainwindow.ui" line="1259"/>
|
||||
<source>Player 2</source>
|
||||
<translation>Игрок 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1249"/>
|
||||
<location filename="../mainwindow.ui" line="1270"/>
|
||||
<source>Player 3</source>
|
||||
<translation>Игрок 3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1260"/>
|
||||
<location filename="../mainwindow.ui" line="1281"/>
|
||||
<source>Player 4</source>
|
||||
<translation>Игрок 4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1271"/>
|
||||
<location filename="../mainwindow.ui" line="1292"/>
|
||||
<source>Player 5</source>
|
||||
<translation>Игрок 5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1282"/>
|
||||
<location filename="../mainwindow.ui" line="1303"/>
|
||||
<source>Player 6</source>
|
||||
<translation>Игрок 6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1293"/>
|
||||
<location filename="../mainwindow.ui" line="1314"/>
|
||||
<source>Player 7</source>
|
||||
<translation>Игрок 7</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1304"/>
|
||||
<location filename="../mainwindow.ui" line="1325"/>
|
||||
<source>Player 8</source>
|
||||
<translation>Игрок 8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1312"/>
|
||||
<location filename="../mainwindow.ui" line="1333"/>
|
||||
<source>Export as...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1320"/>
|
||||
<location filename="../mainwindow.ui" line="1341"/>
|
||||
<source>Translations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1323"/>
|
||||
<location filename="../mainwindow.ui" line="1344"/>
|
||||
<source>Ctrl+T</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1328"/>
|
||||
<location filename="../mainwindow.ui" line="1331"/>
|
||||
<location filename="../mainwindow.ui" line="1349"/>
|
||||
<location filename="../mainwindow.ui" line="1352"/>
|
||||
<source>h3m converter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1336"/>
|
||||
<location filename="../mainwindow.ui" line="1357"/>
|
||||
<source>Lock</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1339"/>
|
||||
<location filename="../mainwindow.ui" line="1360"/>
|
||||
<source>Lock objects on map to avoid unnecessary changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1342"/>
|
||||
<location filename="../mainwindow.ui" line="1363"/>
|
||||
<source>Ctrl+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1347"/>
|
||||
<location filename="../mainwindow.ui" line="1368"/>
|
||||
<source>Unlock</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1350"/>
|
||||
<location filename="../mainwindow.ui" line="1371"/>
|
||||
<source>Unlock all objects on the map</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1353"/>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<source>Ctrl+Shift+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1358"/>
|
||||
<location filename="../mainwindow.ui" line="1379"/>
|
||||
<source>Zoom in</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1361"/>
|
||||
<location filename="../mainwindow.ui" line="1382"/>
|
||||
<source>Ctrl+=</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1366"/>
|
||||
<location filename="../mainwindow.ui" line="1387"/>
|
||||
<source>Zoom out</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1369"/>
|
||||
<location filename="../mainwindow.ui" line="1390"/>
|
||||
<source>Ctrl+-</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<location filename="../mainwindow.ui" line="1395"/>
|
||||
<source>Zoom reset</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1377"/>
|
||||
<location filename="../mainwindow.ui" line="1398"/>
|
||||
<source>Ctrl+Shift+=</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Confirmation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Unsaved changes will be lost, are you sure?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="423"/>
|
||||
<location filename="../mainwindow.cpp" line="441"/>
|
||||
<source>Open map</source>
|
||||
<translation>Открыть карту</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="425"/>
|
||||
<location filename="../mainwindow.cpp" line="443"/>
|
||||
<source>All supported maps (*.vmap *.h3m);;VCMI maps(*.vmap);;HoMM3 maps(*.h3m)</source>
|
||||
<translation>Все поддерживаемые карты (*.vmap *.h3m);;Карты VCMI (*.vmap);;Карты Героев III (*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="463"/>
|
||||
<source>Recently Opened Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>Save map</source>
|
||||
<translation>Сохранить карту</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>VCMI maps (*.vmap)</source>
|
||||
<translation>Карты VCMI (*.vmap)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="677"/>
|
||||
<location filename="../mainwindow.cpp" line="780"/>
|
||||
<source>Type</source>
|
||||
<translation>Тип</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="839"/>
|
||||
<location filename="../mainwindow.cpp" line="793"/>
|
||||
<source>Towns</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="794"/>
|
||||
<source>Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="795"/>
|
||||
<source>Heroes</source>
|
||||
<translation type="unfinished">Герои</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="796"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Артефакты</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="797"/>
|
||||
<source>Resources</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="798"/>
|
||||
<source>Banks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="799"/>
|
||||
<source>Dwellings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="800"/>
|
||||
<source>Grounds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="801"/>
|
||||
<source>Teleports</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="802"/>
|
||||
<source>Mines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="803"/>
|
||||
<source>Triggers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="804"/>
|
||||
<source>Monsters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="805"/>
|
||||
<source>Quests</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="806"/>
|
||||
<source>Wog Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="807"/>
|
||||
<source>Obstacles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="808"/>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="962"/>
|
||||
<source>View surface</source>
|
||||
<translation>Вид на поверхность</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<source>No objects selected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<source>This operation is irreversible. Do you want to continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Errors occurred. %1 objects were not updated</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1207"/>
|
||||
<location filename="../mainwindow.cpp" line="1330"/>
|
||||
<source>Save to image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1349"/>
|
||||
<source>Select maps to convert</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1228"/>
|
||||
<location filename="../mainwindow.cpp" line="1351"/>
|
||||
<source>HoMM3 maps(*.h3m)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1232"/>
|
||||
<location filename="../mainwindow.cpp" line="1355"/>
|
||||
<source>Choose directory to save converted maps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Operation completed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Successfully converted %1 maps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1249"/>
|
||||
<location filename="../mainwindow.cpp" line="1372"/>
|
||||
<source>Failed to convert the map. Abort operation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -843,6 +991,11 @@
|
||||
<source>(default)</source>
|
||||
<translation>(по умолчанию)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="27"/>
|
||||
<source>No team</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="108"/>
|
||||
<source>Player ID: %1</source>
|
||||
@ -909,39 +1062,39 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="39"/>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<source>Compliant</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<source>Friendly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<source>Aggressive</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<source>Hostile</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<location filename="../inspector/inspector.cpp" line="44"/>
|
||||
<source>Savage</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="341"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="357"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>No patrol</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../inspector/inspector.cpp" line="343"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="359"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>%n tile(s)</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform></numerusform>
|
||||
@ -950,13 +1103,13 @@
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="859"/>
|
||||
<location filename="../inspector/inspector.cpp" line="948"/>
|
||||
<location filename="../inspector/inspector.cpp" line="875"/>
|
||||
<location filename="../inspector/inspector.cpp" line="964"/>
|
||||
<source>neutral</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="857"/>
|
||||
<location filename="../inspector/inspector.cpp" line="873"/>
|
||||
<source>UNFLAGGABLE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -1474,7 +1627,22 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="207"/>
|
||||
<location filename="../mapsettings/timedevent.ui" line="211"/>
|
||||
<source>Objects to delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="218"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="225"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="235"/>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished">ОК</translation>
|
||||
</message>
|
||||
@ -2129,27 +2297,27 @@
|
||||
<context>
|
||||
<name>main</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="110"/>
|
||||
<location filename="../mainwindow.cpp" line="112"/>
|
||||
<source>Filepath of the map to open.</source>
|
||||
<translation>Путь к файлу карты для открытия.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="113"/>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<source>Extract original H3 archives into a separate folder.</source>
|
||||
<translation>Распаковать архивы оригинальных Героев III в отдельную папку.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="114"/>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<source>From an extracted archive, it Splits TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 and Un44 into individual PNG's.</source>
|
||||
<translation>Разделение в распакованном архиве TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 и Un44 на отдельные PNG.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<location filename="../mainwindow.cpp" line="117"/>
|
||||
<source>From an extracted archive, Converts single Images (found in Images folder) from .pcx to png.</source>
|
||||
<translation>Преобразование в расспакованном архиве изображений .pcx в .png.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<location filename="../mainwindow.cpp" line="118"/>
|
||||
<source>Delete original files, for the ones split / converted.</source>
|
||||
<translation>Удалить оригиналы для преобразованных файлов.</translation>
|
||||
</message>
|
||||
|
@ -19,6 +19,30 @@
|
||||
<translation>Formación ajustada</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ArtifactWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="29"/>
|
||||
<location filename="../inspector/artifactwidget.ui" line="44"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="57"/>
|
||||
<source>Equip where:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="73"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished">Guardar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="86"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Cancelar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EventSettings</name>
|
||||
<message>
|
||||
@ -42,7 +66,7 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="123"/>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="147"/>
|
||||
<source>New event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -103,6 +127,34 @@
|
||||
<translation>Generando mapa</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroArtifactsWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="29"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Artefactos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="71"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="87"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="130"/>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="135"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroSkillsWidget</name>
|
||||
<message>
|
||||
@ -243,423 +295,519 @@
|
||||
<translation>Archivo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="70"/>
|
||||
<location filename="../mainwindow.ui" line="63"/>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<source>Open Recent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="77"/>
|
||||
<source>Map</source>
|
||||
<translation>Mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="81"/>
|
||||
<location filename="../mainwindow.ui" line="88"/>
|
||||
<source>Edit</source>
|
||||
<translation>Editar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="94"/>
|
||||
<location filename="../mainwindow.ui" line="101"/>
|
||||
<source>View</source>
|
||||
<translation>Ver</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="106"/>
|
||||
<location filename="../mainwindow.ui" line="113"/>
|
||||
<source>Player</source>
|
||||
<translation>Jugador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="126"/>
|
||||
<location filename="../mainwindow.ui" line="133"/>
|
||||
<source>Toolbar</source>
|
||||
<translation>Barra de herramientas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="183"/>
|
||||
<location filename="../mainwindow.ui" line="191"/>
|
||||
<source>Minimap</source>
|
||||
<translation>Miniatura del mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="256"/>
|
||||
<location filename="../mainwindow.ui" line="264"/>
|
||||
<source>Map Objects View</source>
|
||||
<translation>Vista de Objetos del Mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="300"/>
|
||||
<location filename="../mainwindow.ui" line="308"/>
|
||||
<source>Browser</source>
|
||||
<translation>Navegador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="378"/>
|
||||
<location filename="../mainwindow.ui" line="386"/>
|
||||
<source>Inspector</source>
|
||||
<translation>Inspector</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="420"/>
|
||||
<location filename="../mainwindow.ui" line="428"/>
|
||||
<source>Property</source>
|
||||
<translation>Propiedad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="425"/>
|
||||
<location filename="../mainwindow.ui" line="433"/>
|
||||
<source>Value</source>
|
||||
<translation>Valor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="449"/>
|
||||
<location filename="../mainwindow.ui" line="457"/>
|
||||
<source>Tools</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="813"/>
|
||||
<location filename="../mainwindow.ui" line="821"/>
|
||||
<source>Painting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="865"/>
|
||||
<location filename="../mainwindow.ui" line="873"/>
|
||||
<source>Terrains</source>
|
||||
<translation>Terrenos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="908"/>
|
||||
<location filename="../mainwindow.ui" line="916"/>
|
||||
<source>Roads</source>
|
||||
<translation>Caminos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="948"/>
|
||||
<location filename="../mainwindow.ui" line="956"/>
|
||||
<source>Rivers</source>
|
||||
<translation>Ríos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="982"/>
|
||||
<location filename="../mainwindow.ui" line="990"/>
|
||||
<source>Preview</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1016"/>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<source>Open</source>
|
||||
<translation>Abrir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<location filename="../mainwindow.ui" line="1037"/>
|
||||
<source>More...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1045"/>
|
||||
<source>Save</source>
|
||||
<translation>Guardar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<location filename="../mainwindow.ui" line="1053"/>
|
||||
<source>New</source>
|
||||
<translation>Nuevo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1040"/>
|
||||
<location filename="../mainwindow.ui" line="1061"/>
|
||||
<source>Save as...</source>
|
||||
<translation>Guardar como...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1043"/>
|
||||
<location filename="../mainwindow.ui" line="1064"/>
|
||||
<source>Ctrl+Shift+S</source>
|
||||
<translation>Ctrl+Shift+S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1048"/>
|
||||
<location filename="../mainwindow.ui" line="1069"/>
|
||||
<source>U/G</source>
|
||||
<translation>Subterráneo/Superficie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1051"/>
|
||||
<location filename="../mainwindow.cpp" line="835"/>
|
||||
<location filename="../mainwindow.ui" line="1072"/>
|
||||
<location filename="../mainwindow.cpp" line="958"/>
|
||||
<source>View underground</source>
|
||||
<translation>Ver subterráneo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1062"/>
|
||||
<location filename="../mainwindow.ui" line="1083"/>
|
||||
<source>Pass</source>
|
||||
<translation>Pasar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1070"/>
|
||||
<location filename="../mainwindow.ui" line="1091"/>
|
||||
<source>Cut</source>
|
||||
<translation>Cortar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1078"/>
|
||||
<location filename="../mainwindow.ui" line="1099"/>
|
||||
<source>Copy</source>
|
||||
<translation>Copiar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1086"/>
|
||||
<location filename="../mainwindow.ui" line="1107"/>
|
||||
<source>Paste</source>
|
||||
<translation>Pegar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1094"/>
|
||||
<location filename="../mainwindow.ui" line="1115"/>
|
||||
<source>Fill</source>
|
||||
<translation>Rellenar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1097"/>
|
||||
<location filename="../mainwindow.ui" line="1118"/>
|
||||
<source>Fills the selection with obstacles</source>
|
||||
<translation>Rellena la selección con obstáculos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1108"/>
|
||||
<location filename="../mainwindow.ui" line="1129"/>
|
||||
<source>Grid</source>
|
||||
<translation>Rejilla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1119"/>
|
||||
<location filename="../mainwindow.ui" line="1140"/>
|
||||
<source>General</source>
|
||||
<translation>General</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1122"/>
|
||||
<location filename="../mainwindow.ui" line="1143"/>
|
||||
<source>Map title and description</source>
|
||||
<translation>Título y descripción del mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1133"/>
|
||||
<location filename="../mainwindow.ui" line="1154"/>
|
||||
<source>Players settings</source>
|
||||
<translation>Configuración de jugadores</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1144"/>
|
||||
<location filename="../mainwindow.ui" line="1147"/>
|
||||
<location filename="../mainwindow.ui" line="1165"/>
|
||||
<location filename="../mainwindow.ui" line="1168"/>
|
||||
<source>Undo</source>
|
||||
<translation>Deshacer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1161"/>
|
||||
<location filename="../mainwindow.ui" line="1182"/>
|
||||
<source>Redo</source>
|
||||
<translation>Rehacer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1175"/>
|
||||
<location filename="../mainwindow.ui" line="1196"/>
|
||||
<source>Erase</source>
|
||||
<translation>Borrar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1186"/>
|
||||
<location filename="../mainwindow.ui" line="1207"/>
|
||||
<source>Neutral</source>
|
||||
<translation>Neutral</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1194"/>
|
||||
<location filename="../mainwindow.ui" line="1215"/>
|
||||
<source>Validate</source>
|
||||
<translation>Validar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1205"/>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.ui" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Update appearance</source>
|
||||
<translation>Actualizar apariencia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1216"/>
|
||||
<location filename="../mainwindow.ui" line="1237"/>
|
||||
<source>Recreate obstacles</source>
|
||||
<translation>Recrear obstáculos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1227"/>
|
||||
<location filename="../mainwindow.ui" line="1248"/>
|
||||
<source>Player 1</source>
|
||||
<translation>Jugador 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1238"/>
|
||||
<location filename="../mainwindow.ui" line="1259"/>
|
||||
<source>Player 2</source>
|
||||
<translation>Jugador 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1249"/>
|
||||
<location filename="../mainwindow.ui" line="1270"/>
|
||||
<source>Player 3</source>
|
||||
<translation>Jugador 3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1260"/>
|
||||
<location filename="../mainwindow.ui" line="1281"/>
|
||||
<source>Player 4</source>
|
||||
<translation>Jugador 4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1271"/>
|
||||
<location filename="../mainwindow.ui" line="1292"/>
|
||||
<source>Player 5</source>
|
||||
<translation>Jugador 5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1282"/>
|
||||
<location filename="../mainwindow.ui" line="1303"/>
|
||||
<source>Player 6</source>
|
||||
<translation>Jugador 6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1293"/>
|
||||
<location filename="../mainwindow.ui" line="1314"/>
|
||||
<source>Player 7</source>
|
||||
<translation>Jugador 7</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1304"/>
|
||||
<location filename="../mainwindow.ui" line="1325"/>
|
||||
<source>Player 8</source>
|
||||
<translation>Jugador 8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1312"/>
|
||||
<location filename="../mainwindow.ui" line="1333"/>
|
||||
<source>Export as...</source>
|
||||
<translation>Exportar como...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1320"/>
|
||||
<location filename="../mainwindow.ui" line="1341"/>
|
||||
<source>Translations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1323"/>
|
||||
<location filename="../mainwindow.ui" line="1344"/>
|
||||
<source>Ctrl+T</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1328"/>
|
||||
<location filename="../mainwindow.ui" line="1331"/>
|
||||
<location filename="../mainwindow.ui" line="1349"/>
|
||||
<location filename="../mainwindow.ui" line="1352"/>
|
||||
<source>h3m converter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1336"/>
|
||||
<location filename="../mainwindow.ui" line="1357"/>
|
||||
<source>Lock</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1339"/>
|
||||
<location filename="../mainwindow.ui" line="1360"/>
|
||||
<source>Lock objects on map to avoid unnecessary changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1342"/>
|
||||
<location filename="../mainwindow.ui" line="1363"/>
|
||||
<source>Ctrl+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1347"/>
|
||||
<location filename="../mainwindow.ui" line="1368"/>
|
||||
<source>Unlock</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1350"/>
|
||||
<location filename="../mainwindow.ui" line="1371"/>
|
||||
<source>Unlock all objects on the map</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1353"/>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<source>Ctrl+Shift+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1358"/>
|
||||
<location filename="../mainwindow.ui" line="1379"/>
|
||||
<source>Zoom in</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1361"/>
|
||||
<location filename="../mainwindow.ui" line="1382"/>
|
||||
<source>Ctrl+=</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1366"/>
|
||||
<location filename="../mainwindow.ui" line="1387"/>
|
||||
<source>Zoom out</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1369"/>
|
||||
<location filename="../mainwindow.ui" line="1390"/>
|
||||
<source>Ctrl+-</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<location filename="../mainwindow.ui" line="1395"/>
|
||||
<source>Zoom reset</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1377"/>
|
||||
<location filename="../mainwindow.ui" line="1398"/>
|
||||
<source>Ctrl+Shift+=</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Confirmation</source>
|
||||
<translation>Confirmación</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<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="423"/>
|
||||
<location filename="../mainwindow.cpp" line="441"/>
|
||||
<source>Open map</source>
|
||||
<translation>Abrir mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="425"/>
|
||||
<location filename="../mainwindow.cpp" line="443"/>
|
||||
<source>All supported maps (*.vmap *.h3m);;VCMI maps(*.vmap);;HoMM3 maps(*.h3m)</source>
|
||||
<translation>Todos los mapas soportados (*.vmap *.h3m);;Mapas VCMI (*.vmap);;Mapas HoMM3 (*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="463"/>
|
||||
<source>Recently Opened Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>Save map</source>
|
||||
<translation>Guardar mapa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>VCMI maps (*.vmap)</source>
|
||||
<translation>Mapas VCMI (*.vmap)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="677"/>
|
||||
<location filename="../mainwindow.cpp" line="780"/>
|
||||
<source>Type</source>
|
||||
<translation>Tipo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="839"/>
|
||||
<location filename="../mainwindow.cpp" line="793"/>
|
||||
<source>Towns</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="794"/>
|
||||
<source>Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="795"/>
|
||||
<source>Heroes</source>
|
||||
<translation type="unfinished">Héroes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="796"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Artefactos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="797"/>
|
||||
<source>Resources</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="798"/>
|
||||
<source>Banks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="799"/>
|
||||
<source>Dwellings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="800"/>
|
||||
<source>Grounds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="801"/>
|
||||
<source>Teleports</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="802"/>
|
||||
<source>Mines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="803"/>
|
||||
<source>Triggers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="804"/>
|
||||
<source>Monsters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="805"/>
|
||||
<source>Quests</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="806"/>
|
||||
<source>Wog Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="807"/>
|
||||
<source>Obstacles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="808"/>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="962"/>
|
||||
<source>View surface</source>
|
||||
<translation>Ver superficie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<source>No objects selected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<source>This operation is irreversible. Do you want to continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Errors occurred. %1 objects were not updated</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1207"/>
|
||||
<location filename="../mainwindow.cpp" line="1330"/>
|
||||
<source>Save to image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1349"/>
|
||||
<source>Select maps to convert</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1228"/>
|
||||
<location filename="../mainwindow.cpp" line="1351"/>
|
||||
<source>HoMM3 maps(*.h3m)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1232"/>
|
||||
<location filename="../mainwindow.cpp" line="1355"/>
|
||||
<source>Choose directory to save converted maps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Operation completed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Successfully converted %1 maps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1249"/>
|
||||
<location filename="../mainwindow.cpp" line="1372"/>
|
||||
<source>Failed to convert the map. Abort operation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -843,6 +991,11 @@
|
||||
<source>(default)</source>
|
||||
<translation>(predeterminado)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="27"/>
|
||||
<source>No team</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="108"/>
|
||||
<source>Player ID: %1</source>
|
||||
@ -909,39 +1062,39 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="39"/>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<source>Compliant</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<source>Friendly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<source>Aggressive</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<source>Hostile</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<location filename="../inspector/inspector.cpp" line="44"/>
|
||||
<source>Savage</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="341"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="357"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>No patrol</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../inspector/inspector.cpp" line="343"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="359"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>%n tile(s)</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform></numerusform>
|
||||
@ -949,13 +1102,13 @@
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="859"/>
|
||||
<location filename="../inspector/inspector.cpp" line="948"/>
|
||||
<location filename="../inspector/inspector.cpp" line="875"/>
|
||||
<location filename="../inspector/inspector.cpp" line="964"/>
|
||||
<source>neutral</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="857"/>
|
||||
<location filename="../inspector/inspector.cpp" line="873"/>
|
||||
<source>UNFLAGGABLE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -1473,7 +1626,22 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="207"/>
|
||||
<location filename="../mapsettings/timedevent.ui" line="211"/>
|
||||
<source>Objects to delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="218"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="225"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="235"/>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished">Aceptar</translation>
|
||||
</message>
|
||||
@ -2128,27 +2296,27 @@
|
||||
<context>
|
||||
<name>main</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="110"/>
|
||||
<location filename="../mainwindow.cpp" line="112"/>
|
||||
<source>Filepath of the map to open.</source>
|
||||
<translation>Ruta del archivo del mapa a abrir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="113"/>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<source>Extract original H3 archives into a separate folder.</source>
|
||||
<translation>Extraer archivos originales de H3 en una carpeta separada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="114"/>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<source>From an extracted archive, it Splits TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 and Un44 into individual PNG's.</source>
|
||||
<translation>Desde un archivo extraído, separa TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 y Un44 en imágenes PNG individuales.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<location filename="../mainwindow.cpp" line="117"/>
|
||||
<source>From an extracted archive, Converts single Images (found in Images folder) from .pcx to png.</source>
|
||||
<translation>Desde un archivo extraído, convierte imágenes individuales (encontradas en la carpeta Imágenes) de .pcx a png.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<location filename="../mainwindow.cpp" line="118"/>
|
||||
<source>Delete original files, for the ones split / converted.</source>
|
||||
<translation>Eliminar archivos originales, por los que se han separado / convertido.</translation>
|
||||
</message>
|
||||
|
@ -19,6 +19,30 @@
|
||||
<translation>Щільна формація</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ArtifactWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="29"/>
|
||||
<location filename="../inspector/artifactwidget.ui" line="44"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="57"/>
|
||||
<source>Equip where:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="73"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished">Зберегти</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="86"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Скасувати</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EventSettings</name>
|
||||
<message>
|
||||
@ -42,7 +66,7 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="123"/>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="147"/>
|
||||
<source>New event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -103,6 +127,34 @@
|
||||
<translation>Побудова мапи</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroArtifactsWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="29"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Артефакти</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="71"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="87"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="130"/>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="135"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroSkillsWidget</name>
|
||||
<message>
|
||||
@ -243,423 +295,519 @@
|
||||
<translation>Файл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="70"/>
|
||||
<location filename="../mainwindow.ui" line="63"/>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<source>Open Recent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="77"/>
|
||||
<source>Map</source>
|
||||
<translation>Мапа</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="81"/>
|
||||
<location filename="../mainwindow.ui" line="88"/>
|
||||
<source>Edit</source>
|
||||
<translation>Редагування</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="94"/>
|
||||
<location filename="../mainwindow.ui" line="101"/>
|
||||
<source>View</source>
|
||||
<translation>Вигляд</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="106"/>
|
||||
<location filename="../mainwindow.ui" line="113"/>
|
||||
<source>Player</source>
|
||||
<translation>Гравець</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="126"/>
|
||||
<location filename="../mainwindow.ui" line="133"/>
|
||||
<source>Toolbar</source>
|
||||
<translation>Панель інструментів</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="183"/>
|
||||
<location filename="../mainwindow.ui" line="191"/>
|
||||
<source>Minimap</source>
|
||||
<translation>Мінімапа</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="256"/>
|
||||
<location filename="../mainwindow.ui" line="264"/>
|
||||
<source>Map Objects View</source>
|
||||
<translation>Перегляд об'єктів мапи</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="300"/>
|
||||
<location filename="../mainwindow.ui" line="308"/>
|
||||
<source>Browser</source>
|
||||
<translation>Навігатор</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="378"/>
|
||||
<location filename="../mainwindow.ui" line="386"/>
|
||||
<source>Inspector</source>
|
||||
<translation>Інспектор</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="420"/>
|
||||
<location filename="../mainwindow.ui" line="428"/>
|
||||
<source>Property</source>
|
||||
<translation>Властивість</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="425"/>
|
||||
<location filename="../mainwindow.ui" line="433"/>
|
||||
<source>Value</source>
|
||||
<translation>Значення</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="449"/>
|
||||
<location filename="../mainwindow.ui" line="457"/>
|
||||
<source>Tools</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="813"/>
|
||||
<location filename="../mainwindow.ui" line="821"/>
|
||||
<source>Painting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="865"/>
|
||||
<location filename="../mainwindow.ui" line="873"/>
|
||||
<source>Terrains</source>
|
||||
<translation>Землі</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="908"/>
|
||||
<location filename="../mainwindow.ui" line="916"/>
|
||||
<source>Roads</source>
|
||||
<translation>Шляхи</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="948"/>
|
||||
<location filename="../mainwindow.ui" line="956"/>
|
||||
<source>Rivers</source>
|
||||
<translation>Річки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="982"/>
|
||||
<location filename="../mainwindow.ui" line="990"/>
|
||||
<source>Preview</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1016"/>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<source>Open</source>
|
||||
<translation>Відкрити</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<location filename="../mainwindow.ui" line="1037"/>
|
||||
<source>More...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1045"/>
|
||||
<source>Save</source>
|
||||
<translation>Зберегти</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<location filename="../mainwindow.ui" line="1053"/>
|
||||
<source>New</source>
|
||||
<translation>Створити</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1040"/>
|
||||
<location filename="../mainwindow.ui" line="1061"/>
|
||||
<source>Save as...</source>
|
||||
<translation>Зберегти як...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1043"/>
|
||||
<location filename="../mainwindow.ui" line="1064"/>
|
||||
<source>Ctrl+Shift+S</source>
|
||||
<translation>Ctrl+Shift+S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1048"/>
|
||||
<location filename="../mainwindow.ui" line="1069"/>
|
||||
<source>U/G</source>
|
||||
<translation>П/З</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1051"/>
|
||||
<location filename="../mainwindow.cpp" line="835"/>
|
||||
<location filename="../mainwindow.ui" line="1072"/>
|
||||
<location filename="../mainwindow.cpp" line="958"/>
|
||||
<source>View underground</source>
|
||||
<translation>Дивитись підземелля</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1062"/>
|
||||
<location filename="../mainwindow.ui" line="1083"/>
|
||||
<source>Pass</source>
|
||||
<translation>Прохідність</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1070"/>
|
||||
<location filename="../mainwindow.ui" line="1091"/>
|
||||
<source>Cut</source>
|
||||
<translation>Вирізати</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1078"/>
|
||||
<location filename="../mainwindow.ui" line="1099"/>
|
||||
<source>Copy</source>
|
||||
<translation>Скопіювати</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1086"/>
|
||||
<location filename="../mainwindow.ui" line="1107"/>
|
||||
<source>Paste</source>
|
||||
<translation>Вставити</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1094"/>
|
||||
<location filename="../mainwindow.ui" line="1115"/>
|
||||
<source>Fill</source>
|
||||
<translation>Заповнити</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1097"/>
|
||||
<location filename="../mainwindow.ui" line="1118"/>
|
||||
<source>Fills the selection with obstacles</source>
|
||||
<translation>Заповнити перешкодами</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1108"/>
|
||||
<location filename="../mainwindow.ui" line="1129"/>
|
||||
<source>Grid</source>
|
||||
<translation>Сітка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1119"/>
|
||||
<location filename="../mainwindow.ui" line="1140"/>
|
||||
<source>General</source>
|
||||
<translation>Загальний</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1122"/>
|
||||
<location filename="../mainwindow.ui" line="1143"/>
|
||||
<source>Map title and description</source>
|
||||
<translation>Назва та опис мапи</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1133"/>
|
||||
<location filename="../mainwindow.ui" line="1154"/>
|
||||
<source>Players settings</source>
|
||||
<translation>Налаштування гравців</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1144"/>
|
||||
<location filename="../mainwindow.ui" line="1147"/>
|
||||
<location filename="../mainwindow.ui" line="1165"/>
|
||||
<location filename="../mainwindow.ui" line="1168"/>
|
||||
<source>Undo</source>
|
||||
<translation>Відмінити</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1161"/>
|
||||
<location filename="../mainwindow.ui" line="1182"/>
|
||||
<source>Redo</source>
|
||||
<translation>Повторити</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1175"/>
|
||||
<location filename="../mainwindow.ui" line="1196"/>
|
||||
<source>Erase</source>
|
||||
<translation>Стерти</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1186"/>
|
||||
<location filename="../mainwindow.ui" line="1207"/>
|
||||
<source>Neutral</source>
|
||||
<translation>Нейтральний</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1194"/>
|
||||
<location filename="../mainwindow.ui" line="1215"/>
|
||||
<source>Validate</source>
|
||||
<translation>Перевірити</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1205"/>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.ui" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Update appearance</source>
|
||||
<translation>Оновити вигляд</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1216"/>
|
||||
<location filename="../mainwindow.ui" line="1237"/>
|
||||
<source>Recreate obstacles</source>
|
||||
<translation>Оновити перешкоди</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1227"/>
|
||||
<location filename="../mainwindow.ui" line="1248"/>
|
||||
<source>Player 1</source>
|
||||
<translation>Гравець 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1238"/>
|
||||
<location filename="../mainwindow.ui" line="1259"/>
|
||||
<source>Player 2</source>
|
||||
<translation>Гравець 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1249"/>
|
||||
<location filename="../mainwindow.ui" line="1270"/>
|
||||
<source>Player 3</source>
|
||||
<translation>Гравець 3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1260"/>
|
||||
<location filename="../mainwindow.ui" line="1281"/>
|
||||
<source>Player 4</source>
|
||||
<translation>Гравець 4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1271"/>
|
||||
<location filename="../mainwindow.ui" line="1292"/>
|
||||
<source>Player 5</source>
|
||||
<translation>Гравець 5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1282"/>
|
||||
<location filename="../mainwindow.ui" line="1303"/>
|
||||
<source>Player 6</source>
|
||||
<translation>Гравець 6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1293"/>
|
||||
<location filename="../mainwindow.ui" line="1314"/>
|
||||
<source>Player 7</source>
|
||||
<translation>Гравець 7</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1304"/>
|
||||
<location filename="../mainwindow.ui" line="1325"/>
|
||||
<source>Player 8</source>
|
||||
<translation>Гравець 8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1312"/>
|
||||
<location filename="../mainwindow.ui" line="1333"/>
|
||||
<source>Export as...</source>
|
||||
<translation>Експортувати як...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1320"/>
|
||||
<location filename="../mainwindow.ui" line="1341"/>
|
||||
<source>Translations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1323"/>
|
||||
<location filename="../mainwindow.ui" line="1344"/>
|
||||
<source>Ctrl+T</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1328"/>
|
||||
<location filename="../mainwindow.ui" line="1331"/>
|
||||
<location filename="../mainwindow.ui" line="1349"/>
|
||||
<location filename="../mainwindow.ui" line="1352"/>
|
||||
<source>h3m converter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1336"/>
|
||||
<location filename="../mainwindow.ui" line="1357"/>
|
||||
<source>Lock</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1339"/>
|
||||
<location filename="../mainwindow.ui" line="1360"/>
|
||||
<source>Lock objects on map to avoid unnecessary changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1342"/>
|
||||
<location filename="../mainwindow.ui" line="1363"/>
|
||||
<source>Ctrl+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1347"/>
|
||||
<location filename="../mainwindow.ui" line="1368"/>
|
||||
<source>Unlock</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1350"/>
|
||||
<location filename="../mainwindow.ui" line="1371"/>
|
||||
<source>Unlock all objects on the map</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1353"/>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<source>Ctrl+Shift+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1358"/>
|
||||
<location filename="../mainwindow.ui" line="1379"/>
|
||||
<source>Zoom in</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1361"/>
|
||||
<location filename="../mainwindow.ui" line="1382"/>
|
||||
<source>Ctrl+=</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1366"/>
|
||||
<location filename="../mainwindow.ui" line="1387"/>
|
||||
<source>Zoom out</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1369"/>
|
||||
<location filename="../mainwindow.ui" line="1390"/>
|
||||
<source>Ctrl+-</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<location filename="../mainwindow.ui" line="1395"/>
|
||||
<source>Zoom reset</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1377"/>
|
||||
<location filename="../mainwindow.ui" line="1398"/>
|
||||
<source>Ctrl+Shift+=</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Confirmation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Unsaved changes will be lost, are you sure?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="423"/>
|
||||
<location filename="../mainwindow.cpp" line="441"/>
|
||||
<source>Open map</source>
|
||||
<translation>Відкрити мапу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="425"/>
|
||||
<location filename="../mainwindow.cpp" line="443"/>
|
||||
<source>All supported maps (*.vmap *.h3m);;VCMI maps(*.vmap);;HoMM3 maps(*.h3m)</source>
|
||||
<translation>Всі підтримувані мапи (*.vmap *.h3m);;Мапи VCMI (*.vmap);;Мапи HoMM3 (*.h3m)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="463"/>
|
||||
<source>Recently Opened Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>Save map</source>
|
||||
<translation>Зберегти мапу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>VCMI maps (*.vmap)</source>
|
||||
<translation>Мапи VCMI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="677"/>
|
||||
<location filename="../mainwindow.cpp" line="780"/>
|
||||
<source>Type</source>
|
||||
<translation>Тип</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="839"/>
|
||||
<location filename="../mainwindow.cpp" line="793"/>
|
||||
<source>Towns</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="794"/>
|
||||
<source>Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="795"/>
|
||||
<source>Heroes</source>
|
||||
<translation type="unfinished">Герої</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="796"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Артефакти</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="797"/>
|
||||
<source>Resources</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="798"/>
|
||||
<source>Banks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="799"/>
|
||||
<source>Dwellings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="800"/>
|
||||
<source>Grounds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="801"/>
|
||||
<source>Teleports</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="802"/>
|
||||
<source>Mines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="803"/>
|
||||
<source>Triggers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="804"/>
|
||||
<source>Monsters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="805"/>
|
||||
<source>Quests</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="806"/>
|
||||
<source>Wog Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="807"/>
|
||||
<source>Obstacles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="808"/>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="962"/>
|
||||
<source>View surface</source>
|
||||
<translation>Дивитись поверхню</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<source>No objects selected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<source>This operation is irreversible. Do you want to continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Errors occurred. %1 objects were not updated</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1207"/>
|
||||
<location filename="../mainwindow.cpp" line="1330"/>
|
||||
<source>Save to image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1349"/>
|
||||
<source>Select maps to convert</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1228"/>
|
||||
<location filename="../mainwindow.cpp" line="1351"/>
|
||||
<source>HoMM3 maps(*.h3m)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1232"/>
|
||||
<location filename="../mainwindow.cpp" line="1355"/>
|
||||
<source>Choose directory to save converted maps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Operation completed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Successfully converted %1 maps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1249"/>
|
||||
<location filename="../mainwindow.cpp" line="1372"/>
|
||||
<source>Failed to convert the map. Abort operation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -843,6 +991,11 @@
|
||||
<source>(default)</source>
|
||||
<translation>(за замовчуванням)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="27"/>
|
||||
<source>No team</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="108"/>
|
||||
<source>Player ID: %1</source>
|
||||
@ -909,39 +1062,39 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="39"/>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<source>Compliant</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<source>Friendly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<source>Aggressive</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<source>Hostile</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<location filename="../inspector/inspector.cpp" line="44"/>
|
||||
<source>Savage</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="341"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="357"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>No patrol</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../inspector/inspector.cpp" line="343"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="359"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>%n tile(s)</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform></numerusform>
|
||||
@ -950,13 +1103,13 @@
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="859"/>
|
||||
<location filename="../inspector/inspector.cpp" line="948"/>
|
||||
<location filename="../inspector/inspector.cpp" line="875"/>
|
||||
<location filename="../inspector/inspector.cpp" line="964"/>
|
||||
<source>neutral</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="857"/>
|
||||
<location filename="../inspector/inspector.cpp" line="873"/>
|
||||
<source>UNFLAGGABLE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -1474,7 +1627,22 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="207"/>
|
||||
<location filename="../mapsettings/timedevent.ui" line="211"/>
|
||||
<source>Objects to delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="218"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="225"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="235"/>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished">Підтвердити</translation>
|
||||
</message>
|
||||
@ -2129,27 +2297,27 @@
|
||||
<context>
|
||||
<name>main</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="110"/>
|
||||
<location filename="../mainwindow.cpp" line="112"/>
|
||||
<source>Filepath of the map to open.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="113"/>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<source>Extract original H3 archives into a separate folder.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="114"/>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<source>From an extracted archive, it Splits TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 and Un44 into individual PNG's.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<location filename="../mainwindow.cpp" line="117"/>
|
||||
<source>From an extracted archive, Converts single Images (found in Images folder) from .pcx to png.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<location filename="../mainwindow.cpp" line="118"/>
|
||||
<source>Delete original files, for the ones split / converted.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -19,6 +19,30 @@
|
||||
<translation>Đội hình kín</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ArtifactWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="29"/>
|
||||
<location filename="../inspector/artifactwidget.ui" line="44"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="57"/>
|
||||
<source>Equip where:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="73"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished">Lưu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/artifactwidget.ui" line="86"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Hủy</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EventSettings</name>
|
||||
<message>
|
||||
@ -42,7 +66,7 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="123"/>
|
||||
<location filename="../mapsettings/eventsettings.cpp" line="147"/>
|
||||
<source>New event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -103,6 +127,34 @@
|
||||
<translation>Tạo bản đồ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroArtifactsWidget</name>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="29"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Vật phẩm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="71"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="87"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="130"/>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/heroartifactswidget.ui" line="135"/>
|
||||
<source>Artifact</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HeroSkillsWidget</name>
|
||||
<message>
|
||||
@ -243,423 +295,519 @@
|
||||
<translation>Tập tin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="70"/>
|
||||
<location filename="../mainwindow.ui" line="77"/>
|
||||
<source>Map</source>
|
||||
<translation>Bản đồ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="81"/>
|
||||
<location filename="../mainwindow.ui" line="88"/>
|
||||
<source>Edit</source>
|
||||
<translation>Hiệu chỉnh</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="94"/>
|
||||
<location filename="../mainwindow.ui" line="101"/>
|
||||
<source>View</source>
|
||||
<translation>Xem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="106"/>
|
||||
<location filename="../mainwindow.ui" line="113"/>
|
||||
<source>Player</source>
|
||||
<translation>Người chơi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="126"/>
|
||||
<location filename="../mainwindow.ui" line="133"/>
|
||||
<source>Toolbar</source>
|
||||
<translation>Thanh công cụ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="183"/>
|
||||
<location filename="../mainwindow.ui" line="191"/>
|
||||
<source>Minimap</source>
|
||||
<translation>Bản đồ nhỏ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="256"/>
|
||||
<location filename="../mainwindow.ui" line="264"/>
|
||||
<source>Map Objects View</source>
|
||||
<translation>Xem đối tượng bản đồ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="300"/>
|
||||
<location filename="../mainwindow.ui" line="308"/>
|
||||
<source>Browser</source>
|
||||
<translation>Duyệt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="378"/>
|
||||
<location filename="../mainwindow.ui" line="386"/>
|
||||
<source>Inspector</source>
|
||||
<translation>Giám định</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="420"/>
|
||||
<location filename="../mainwindow.ui" line="428"/>
|
||||
<source>Property</source>
|
||||
<translation>Đặc tính</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="425"/>
|
||||
<location filename="../mainwindow.ui" line="433"/>
|
||||
<source>Value</source>
|
||||
<translation>Giá trị</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="865"/>
|
||||
<location filename="../mainwindow.ui" line="873"/>
|
||||
<source>Terrains</source>
|
||||
<translation>Địa hình</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="908"/>
|
||||
<location filename="../mainwindow.ui" line="916"/>
|
||||
<source>Roads</source>
|
||||
<translation>Đường</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="948"/>
|
||||
<location filename="../mainwindow.ui" line="956"/>
|
||||
<source>Rivers</source>
|
||||
<translation>Sông</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1016"/>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<source>Open</source>
|
||||
<translation>Mở</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1024"/>
|
||||
<location filename="../mainwindow.ui" line="1045"/>
|
||||
<source>Save</source>
|
||||
<translation>Lưu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<location filename="../mainwindow.ui" line="1053"/>
|
||||
<source>New</source>
|
||||
<translation>Tạo mới</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="449"/>
|
||||
<location filename="../mainwindow.ui" line="457"/>
|
||||
<source>Tools</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="813"/>
|
||||
<location filename="../mainwindow.ui" line="63"/>
|
||||
<location filename="../mainwindow.ui" line="1032"/>
|
||||
<source>Open Recent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="821"/>
|
||||
<source>Painting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="982"/>
|
||||
<location filename="../mainwindow.ui" line="990"/>
|
||||
<source>Preview</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1040"/>
|
||||
<location filename="../mainwindow.ui" line="1037"/>
|
||||
<source>More...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1061"/>
|
||||
<source>Save as...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1043"/>
|
||||
<location filename="../mainwindow.ui" line="1064"/>
|
||||
<source>Ctrl+Shift+S</source>
|
||||
<translation>Ctrl+Shift+S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1048"/>
|
||||
<location filename="../mainwindow.ui" line="1069"/>
|
||||
<source>U/G</source>
|
||||
<translation>U/G</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1051"/>
|
||||
<location filename="../mainwindow.cpp" line="835"/>
|
||||
<location filename="../mainwindow.ui" line="1072"/>
|
||||
<location filename="../mainwindow.cpp" line="958"/>
|
||||
<source>View underground</source>
|
||||
<translation>Xem hang ngầm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1062"/>
|
||||
<location filename="../mainwindow.ui" line="1083"/>
|
||||
<source>Pass</source>
|
||||
<translation>Đi qua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1070"/>
|
||||
<location filename="../mainwindow.ui" line="1091"/>
|
||||
<source>Cut</source>
|
||||
<translation>Cắt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1078"/>
|
||||
<location filename="../mainwindow.ui" line="1099"/>
|
||||
<source>Copy</source>
|
||||
<translation>Sao chép</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1086"/>
|
||||
<location filename="../mainwindow.ui" line="1107"/>
|
||||
<source>Paste</source>
|
||||
<translation>Dán</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1094"/>
|
||||
<location filename="../mainwindow.ui" line="1115"/>
|
||||
<source>Fill</source>
|
||||
<translation>Làm đầy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1097"/>
|
||||
<location filename="../mainwindow.ui" line="1118"/>
|
||||
<source>Fills the selection with obstacles</source>
|
||||
<translation>Làm đầy vùng chọn với vật cản</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1108"/>
|
||||
<location filename="../mainwindow.ui" line="1129"/>
|
||||
<source>Grid</source>
|
||||
<translation>Đường kẻ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1119"/>
|
||||
<location filename="../mainwindow.ui" line="1140"/>
|
||||
<source>General</source>
|
||||
<translation>Chung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1122"/>
|
||||
<location filename="../mainwindow.ui" line="1143"/>
|
||||
<source>Map title and description</source>
|
||||
<translation>Tên bản đồ và mô tả</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1133"/>
|
||||
<location filename="../mainwindow.ui" line="1154"/>
|
||||
<source>Players settings</source>
|
||||
<translation>Cài đặt người chơi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1144"/>
|
||||
<location filename="../mainwindow.ui" line="1147"/>
|
||||
<location filename="../mainwindow.ui" line="1165"/>
|
||||
<location filename="../mainwindow.ui" line="1168"/>
|
||||
<source>Undo</source>
|
||||
<translation>Hoàn tác</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1161"/>
|
||||
<location filename="../mainwindow.ui" line="1182"/>
|
||||
<source>Redo</source>
|
||||
<translation>Làm lại</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1175"/>
|
||||
<location filename="../mainwindow.ui" line="1196"/>
|
||||
<source>Erase</source>
|
||||
<translation>Xóa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1186"/>
|
||||
<location filename="../mainwindow.ui" line="1207"/>
|
||||
<source>Neutral</source>
|
||||
<translation>Trung lập</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1194"/>
|
||||
<location filename="../mainwindow.ui" line="1215"/>
|
||||
<source>Validate</source>
|
||||
<translation>Hiệu lực</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1205"/>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.ui" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Update appearance</source>
|
||||
<translation>Cập nhật hiện thị</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1216"/>
|
||||
<location filename="../mainwindow.ui" line="1237"/>
|
||||
<source>Recreate obstacles</source>
|
||||
<translation>Tạo lại vật cản</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1227"/>
|
||||
<location filename="../mainwindow.ui" line="1248"/>
|
||||
<source>Player 1</source>
|
||||
<translation>Người chơi 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1238"/>
|
||||
<location filename="../mainwindow.ui" line="1259"/>
|
||||
<source>Player 2</source>
|
||||
<translation>Người chơi 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1249"/>
|
||||
<location filename="../mainwindow.ui" line="1270"/>
|
||||
<source>Player 3</source>
|
||||
<translation>Người chơi 3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1260"/>
|
||||
<location filename="../mainwindow.ui" line="1281"/>
|
||||
<source>Player 4</source>
|
||||
<translation>Người chơi 4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1271"/>
|
||||
<location filename="../mainwindow.ui" line="1292"/>
|
||||
<source>Player 5</source>
|
||||
<translation>Người chơi 5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1282"/>
|
||||
<location filename="../mainwindow.ui" line="1303"/>
|
||||
<source>Player 6</source>
|
||||
<translation>Người chơi 6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1293"/>
|
||||
<location filename="../mainwindow.ui" line="1314"/>
|
||||
<source>Player 7</source>
|
||||
<translation>Người chơi 7</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1304"/>
|
||||
<location filename="../mainwindow.ui" line="1325"/>
|
||||
<source>Player 8</source>
|
||||
<translation>Người chơi 8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1312"/>
|
||||
<location filename="../mainwindow.ui" line="1333"/>
|
||||
<source>Export as...</source>
|
||||
<translation>Xuất thành...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1320"/>
|
||||
<location filename="../mainwindow.ui" line="1341"/>
|
||||
<source>Translations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1323"/>
|
||||
<location filename="../mainwindow.ui" line="1344"/>
|
||||
<source>Ctrl+T</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1328"/>
|
||||
<location filename="../mainwindow.ui" line="1331"/>
|
||||
<location filename="../mainwindow.ui" line="1349"/>
|
||||
<location filename="../mainwindow.ui" line="1352"/>
|
||||
<source>h3m converter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1336"/>
|
||||
<location filename="../mainwindow.ui" line="1357"/>
|
||||
<source>Lock</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1339"/>
|
||||
<location filename="../mainwindow.ui" line="1360"/>
|
||||
<source>Lock objects on map to avoid unnecessary changes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1342"/>
|
||||
<location filename="../mainwindow.ui" line="1363"/>
|
||||
<source>Ctrl+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1347"/>
|
||||
<location filename="../mainwindow.ui" line="1368"/>
|
||||
<source>Unlock</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1350"/>
|
||||
<location filename="../mainwindow.ui" line="1371"/>
|
||||
<source>Unlock all objects on the map</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1353"/>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<source>Ctrl+Shift+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1358"/>
|
||||
<location filename="../mainwindow.ui" line="1379"/>
|
||||
<source>Zoom in</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1361"/>
|
||||
<location filename="../mainwindow.ui" line="1382"/>
|
||||
<source>Ctrl+=</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1366"/>
|
||||
<location filename="../mainwindow.ui" line="1387"/>
|
||||
<source>Zoom out</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1369"/>
|
||||
<location filename="../mainwindow.ui" line="1390"/>
|
||||
<source>Ctrl+-</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1374"/>
|
||||
<location filename="../mainwindow.ui" line="1395"/>
|
||||
<source>Zoom reset</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="1377"/>
|
||||
<location filename="../mainwindow.ui" line="1398"/>
|
||||
<source>Ctrl+Shift+=</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Confirmation</source>
|
||||
<translation>Xác nhận</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="297"/>
|
||||
<location filename="../mainwindow.cpp" line="303"/>
|
||||
<source>Unsaved changes will be lost, are you sure?</source>
|
||||
<translation>Thay đổi chưa lưu sẽ bị mất, bạn có chắc chắn?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="423"/>
|
||||
<location filename="../mainwindow.cpp" line="441"/>
|
||||
<source>Open map</source>
|
||||
<translation>Mở bản đồ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="425"/>
|
||||
<location filename="../mainwindow.cpp" line="443"/>
|
||||
<source>All supported maps (*.vmap *.h3m);;VCMI maps(*.vmap);;HoMM3 maps(*.h3m)</source>
|
||||
<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="488"/>
|
||||
<location filename="../mainwindow.cpp" line="463"/>
|
||||
<source>Recently Opened Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>Save map</source>
|
||||
<translation>Lưu bản đồ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="488"/>
|
||||
<location filename="../mainwindow.cpp" line="591"/>
|
||||
<source>VCMI maps (*.vmap)</source>
|
||||
<translation>Bản đồ VCMI (*.vmap)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="677"/>
|
||||
<location filename="../mainwindow.cpp" line="780"/>
|
||||
<source>Type</source>
|
||||
<translation>Loại</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="839"/>
|
||||
<location filename="../mainwindow.cpp" line="793"/>
|
||||
<source>Towns</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="794"/>
|
||||
<source>Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="795"/>
|
||||
<source>Heroes</source>
|
||||
<translation type="unfinished">Tướng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="796"/>
|
||||
<source>Artifacts</source>
|
||||
<translation type="unfinished">Vật phẩm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="797"/>
|
||||
<source>Resources</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="798"/>
|
||||
<source>Banks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="799"/>
|
||||
<source>Dwellings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="800"/>
|
||||
<source>Grounds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="801"/>
|
||||
<source>Teleports</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="802"/>
|
||||
<source>Mines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="803"/>
|
||||
<source>Triggers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="804"/>
|
||||
<source>Monsters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="805"/>
|
||||
<source>Quests</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="806"/>
|
||||
<source>Wog Objects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="807"/>
|
||||
<source>Obstacles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="808"/>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="962"/>
|
||||
<source>View surface</source>
|
||||
<translation>Xem bề mặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1106"/>
|
||||
<location filename="../mainwindow.cpp" line="1229"/>
|
||||
<source>No objects selected</source>
|
||||
<translation>Không mục tiêu được chọn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1110"/>
|
||||
<location filename="../mainwindow.cpp" line="1233"/>
|
||||
<source>This operation is irreversible. Do you want to continue?</source>
|
||||
<translation>Thao tác này không thể đảo ngược. Bạn muốn tiếp tục?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1167"/>
|
||||
<location filename="../mainwindow.cpp" line="1290"/>
|
||||
<source>Errors occurred. %1 objects were not updated</source>
|
||||
<translation>Xảy ra lỗi. %1 mục tiêu không được cập nhật</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1207"/>
|
||||
<location filename="../mainwindow.cpp" line="1330"/>
|
||||
<source>Save to image</source>
|
||||
<translation>Lưu thành ảnh</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1226"/>
|
||||
<location filename="../mainwindow.cpp" line="1349"/>
|
||||
<source>Select maps to convert</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1228"/>
|
||||
<location filename="../mainwindow.cpp" line="1351"/>
|
||||
<source>HoMM3 maps(*.h3m)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1232"/>
|
||||
<location filename="../mainwindow.cpp" line="1355"/>
|
||||
<source>Choose directory to save converted maps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Operation completed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1245"/>
|
||||
<location filename="../mainwindow.cpp" line="1368"/>
|
||||
<source>Successfully converted %1 maps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="1249"/>
|
||||
<location filename="../mainwindow.cpp" line="1372"/>
|
||||
<source>Failed to convert the map. Abort operation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -843,6 +991,11 @@
|
||||
<source>(default)</source>
|
||||
<translation>(mặc định)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="27"/>
|
||||
<source>No team</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../playerparams.cpp" line="108"/>
|
||||
<source>Player ID: %1</source>
|
||||
@ -909,52 +1062,52 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="39"/>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<source>Compliant</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="40"/>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<source>Friendly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="41"/>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<source>Aggressive</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="42"/>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<source>Hostile</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="43"/>
|
||||
<location filename="../inspector/inspector.cpp" line="44"/>
|
||||
<source>Savage</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="341"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="357"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>No patrol</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../inspector/inspector.cpp" line="343"/>
|
||||
<location filename="../inspector/inspector.cpp" line="344"/>
|
||||
<location filename="../inspector/inspector.cpp" line="359"/>
|
||||
<location filename="../inspector/inspector.cpp" line="360"/>
|
||||
<source>%n tile(s)</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform></numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="859"/>
|
||||
<location filename="../inspector/inspector.cpp" line="948"/>
|
||||
<location filename="../inspector/inspector.cpp" line="875"/>
|
||||
<location filename="../inspector/inspector.cpp" line="964"/>
|
||||
<source>neutral</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../inspector/inspector.cpp" line="857"/>
|
||||
<location filename="../inspector/inspector.cpp" line="873"/>
|
||||
<source>UNFLAGGABLE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -1472,7 +1625,22 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="207"/>
|
||||
<location filename="../mapsettings/timedevent.ui" line="211"/>
|
||||
<source>Objects to delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="218"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="225"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mapsettings/timedevent.ui" line="235"/>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished">Đồng ý</translation>
|
||||
</message>
|
||||
@ -2127,27 +2295,27 @@
|
||||
<context>
|
||||
<name>main</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="110"/>
|
||||
<location filename="../mainwindow.cpp" line="112"/>
|
||||
<source>Filepath of the map to open.</source>
|
||||
<translation>Đường dẫn bản đồ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="113"/>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<source>Extract original H3 archives into a separate folder.</source>
|
||||
<translation>Giải nén dữ liệu H3 gốc vào 1 thư mục riêng.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="114"/>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<source>From an extracted archive, it Splits TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 and Un44 into individual PNG's.</source>
|
||||
<translation>Từ dữ liệu giải nén, chia TwCrPort, CPRSMALL, FlagPort, ITPA, ITPt, Un32 và Un44 thành những hình PNG riêng lẻ.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="115"/>
|
||||
<location filename="../mainwindow.cpp" line="117"/>
|
||||
<source>From an extracted archive, Converts single Images (found in Images folder) from .pcx to png.</source>
|
||||
<translation>Từ dữ liệu giải nén, chuyển đổi các hình đơn (được tìm thấy trong thư mục Images) từ .pcx sang .png.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="116"/>
|
||||
<location filename="../mainwindow.cpp" line="118"/>
|
||||
<source>Delete original files, for the ones split / converted.</source>
|
||||
<translation>Xóa các tập tin gốc đã được phân chia / chuyển đổi.</translation>
|
||||
</message>
|
||||
|
Loading…
x
Reference in New Issue
Block a user