1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-24 22:14:36 +02:00

Merge pull request #1779 from IvanSavenko/launcher_fixes

Launcher improvements for 1.2
This commit is contained in:
Ivan Savenko 2023-03-28 21:18:48 +03:00 committed by GitHub
commit 498c968e45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 2030 additions and 660 deletions

View File

@ -16,7 +16,6 @@
"name" : "VCMI - grundlegende Dateien",
"description" : "Grundlegende Dateien, die für die korrekte Ausführung von VCMI erforderlich sind",
"author" : "VCMI-Team",
"modType" : "Grafik",
"skipValidation" : true,
"translations" : [
@ -28,7 +27,6 @@
"name" : "Podstawowe pliki VCMI",
"description" : "Dodatkowe pliki wymagane do prawidłowego działania VCMI",
"author" : "Zespół VCMI",
"modType" : "Graficzny",
"skipValidation" : true,
"translations" : [
@ -52,7 +50,6 @@
"name" : "VCMI - ключові файли",
"description" : "Ключові файли необхідні для повноцінної роботи VCMI",
"author" : "Команда VCMI",
"modType" : "Графіка",
"translations" : [
"config/vcmi/ukrainian.json"
@ -63,7 +60,6 @@
"name" : "VCMI - ficheros necesarios",
"description" : "Ficheros necesarios para ejecutar VCMI correctamente",
"author" : "Abel Rivas",
"modType" : "Gráfico",
"skipValidation" : true,
"translations" : [

View File

@ -18,10 +18,6 @@
"type":"string",
"description": "More lengthy description of mod. No hard limit"
},
"modType" : {
"type":"string",
"description": "Type of mod, e.g. Town, Artifacts, Graphical."
},
"author" : {
"type":"string",
"description": "Author of the mod. Can be nickname, real name or name of team"
@ -60,6 +56,7 @@
"modType" : {
"type":"string",
"enum" : [ "Translation", "Town", "Test", "Templates", "Spells", "Music", "Sounds", "Skills", "Other", "Objects", "Mechanics", "Interface", "Heroes", "Graphical", "Expansion", "Creatures", "Artifacts", "AI" ],
"description": "Type of mod, e.g. Town, Artifacts, Graphical."
},

View File

@ -91,7 +91,7 @@ void FirstLaunchView::on_pushButtonDataCopy_clicked()
void FirstLaunchView::on_pushButtonDataHelp_clicked()
{
static const QUrl vcmibuilderWiki("https://wiki.vcmi.eu/Installation_on_Linux#Installing_Heroes_III_data_files");
static const QUrl vcmibuilderWiki("https://wiki.vcmi.eu/Using_vcmibuilder");
QDesktopServices::openUrl(vcmibuilderWiki);
}
@ -232,9 +232,10 @@ bool FirstLaunchView::heroesDataDetect()
CResourceHandler::load("config/filesystem.json");
// use file from lod archive to check presence of H3 data. Very rough estimate, but will work in majority of cases
bool heroesDataFound = CResourceHandler::get()->existsResource(ResourceID("DATA/GENRLTXT.TXT"));
bool heroesDataFoundROE = CResourceHandler::get()->existsResource(ResourceID("DATA/GENRLTXT.TXT"));
bool heroesDataFoundSOD = CResourceHandler::get()->existsResource(ResourceID("DATA/TENTCOLR.TXT"));
return heroesDataFound;
return heroesDataFoundROE && heroesDataFoundSOD;
}
void FirstLaunchView::heroesLanguageUpdate()
@ -267,16 +268,46 @@ void FirstLaunchView::copyHeroesData()
QStringList dirMaps = sourceRoot.entryList({"maps"}, QDir::Filter::Dirs);
QStringList dirMp3 = sourceRoot.entryList({"mp3"}, QDir::Filter::Dirs);
if(dirData.empty() || dirMaps.empty() || dirMp3.empty())
if(dirData.empty())
{
QMessageBox::critical(this, "Heroes III data not found!", "Failed to detect valid Heroes III data in chosen directory.\nPlease select directory with installed Heroes III data.");
return;
}
QDir sourceData = sourceRoot.filePath(dirData.front());
QStringList lodArchives = sourceData.entryList({"*.lod"}, QDir::Filter::Files);
QStringList roeFiles = sourceData.entryList({"*.lod"}, QDir::Filter::Files);
QStringList sodFiles = sourceData.entryList({"H3ab*.lod"}, QDir::Filter::Files);
QStringList hdFiles = sourceData.entryList({"*.pak"}, QDir::Filter::Files);
if(lodArchives.empty())
if(sodFiles.empty())
{
if (roeFiles.empty())
{
// Directory structure is correct (Data/Maps/Mp3) but no .lod archives that should be present in any install
QMessageBox::critical(this, "Heroes III data not found!", "Failed to detect valid Heroes III data in chosen directory.\nPlease select directory with installed Heroes III data.");
return;
}
if (!hdFiles.empty())
{
// HD Edition contains only RoE data so we can't use even unmodified files from it
QMessageBox::critical(this, "Heroes III data not found!", "Heroes III: HD Edition files are not supported by VCMI.\nPlease select directory with Heroes III: Complete Edition or Heroes III: Shadow of Death.");
return;
}
// RoE or some other unsupported edition. Demo version?
QMessageBox::critical(this, "Heroes III data not found!", "Unknown or unsupported Heroes III version found.\nPlease select directory with Heroes III: Complete Edition or Heroes III: Shadow of Death.");
return;
}
QStringList copyDirectories = {dirData.front(), dirMaps.front(), dirMp3.front()};
QStringList copyDirectories;
copyDirectories += dirData.front();
if (!dirMaps.empty())
copyDirectories += dirMaps.front();
if (!dirMp3.empty())
copyDirectories += dirMp3.front();
QDir targetRoot = pathToQString(VCMIDirs::get().userDataPath());
@ -310,6 +341,10 @@ void FirstLaunchView::modPresetUpdate()
ui->checkBoxPresetExtras->setEnabled(checkCanInstallExtras());
ui->checkBoxPresetHota->setEnabled(checkCanInstallHota());
ui->checkBoxPresetWog->setEnabled(checkCanInstallWog());
// we can't install anything - either repository checkout is off or all recommended mods are already installed
if (!checkCanInstallTranslation() && !checkCanInstallExtras() && !checkCanInstallHota() && !checkCanInstallWog())
exitSetup();
}
QString FirstLaunchView::findTranslationModName()
@ -364,7 +399,7 @@ CModListView * FirstLaunchView::getModView()
bool FirstLaunchView::checkCanInstallMod(const QString & modID)
{
return getModView() && !getModView()->isModInstalled(modID);
return getModView() && getModView()->isModAvailable(modID);
}
void FirstLaunchView::on_pushButtonPresetBack_clicked()
@ -376,16 +411,16 @@ void FirstLaunchView::on_pushButtonPresetNext_clicked()
{
QStringList modsToInstall;
if (ui->checkBoxPresetLanguage && checkCanInstallTranslation())
if (ui->checkBoxPresetLanguage->isChecked() && checkCanInstallTranslation())
modsToInstall.push_back(findTranslationModName());
if (ui->checkBoxPresetExtras && checkCanInstallExtras())
if (ui->checkBoxPresetExtras->isChecked() && checkCanInstallExtras())
modsToInstall.push_back("vcmi-extras");
if (ui->checkBoxPresetWog && checkCanInstallWog())
if (ui->checkBoxPresetWog->isChecked() && checkCanInstallWog())
modsToInstall.push_back("wake-of-gods");
if (ui->checkBoxPresetHota && checkCanInstallHota())
if (ui->checkBoxPresetHota->isChecked() && checkCanInstallHota())
modsToInstall.push_back("hota");
exitSetup();
@ -394,3 +429,18 @@ void FirstLaunchView::on_pushButtonPresetNext_clicked()
getModView()->doInstallMod(modName);
}
void FirstLaunchView::on_pushButtonDiscord_clicked()
{
QDesktopServices::openUrl(QUrl("https://discord.gg/chBT42V"));
}
void FirstLaunchView::on_pushButtonSlack_clicked()
{
QDesktopServices::openUrl(QUrl("https://slack.vcmi.eu/"));
}
void FirstLaunchView::on_pushButtonGithub_clicked()
{
QDesktopServices::openUrl(QUrl("https://github.com/vcmi/vcmi"));
}

View File

@ -93,6 +93,12 @@ private slots:
void on_pushButtonPresetNext_clicked();
void on_pushButtonDiscord_clicked();
void on_pushButtonSlack_clicked();
void on_pushButtonGithub_clicked();
private:
Ui::FirstLaunchView * ui;

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>650</width>
<height>409</height>
<width>745</width>
<height>389</height>
</rect>
</property>
<property name="windowTitle">
@ -115,7 +115,7 @@
<item>
<widget class="QStackedWidget" name="installerTabs">
<property name="currentIndex">
<number>1</number>
<number>0</number>
</property>
<widget class="QWidget" name="pageLanguageSelect">
<layout class="QGridLayout" name="gridLayout_3">
@ -131,6 +131,9 @@
<property name="bottomMargin">
<number>0</number>
</property>
<property name="horizontalSpacing">
<number>6</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="labelLanguageTitle">
<property name="font">
@ -144,27 +147,14 @@
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="pushButtonLanguageNext">
<property name="text">
<string>Next</string>
<item row="1" column="0" rowspan="4">
<widget class="QListWidget" name="listWidgetLanguage">
<property name="spacing">
<number>5</number>
</property>
</widget>
</item>
<item row="2" column="1">
<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 row="1" column="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -172,19 +162,90 @@
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
<height>8</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" rowspan="2">
<widget class="QListWidget" name="listWidgetLanguage">
<property name="spacing">
<number>5</number>
<item row="3" column="1" colspan="2">
<layout class="QGridLayout" name="gridLayout_5">
<item row="3" column="0">
<widget class="QPushButton" name="pushButtonGithub">
<property name="text">
<string>VCMI on Github</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="pushButtonSlack">
<property name="text">
<string>VCMI on Slack</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="pushButtonDiscord">
<property name="text">
<string>VCMI on Discord</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="labelLanguageSocial">
<property name="text">
<string>Have a question? Found a bug? Want to help? Join us:</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="1" colspan="2">
<widget class="QLabel" name="labelLanguageWelcome">
<property name="text">
<string>Thanks for installing VCMI.
There are a few more steps to be done before you can start playing.
Keep in mind that in order to use VCMI you need to own original data files, Heroes III: Complete Edition or Shadow of Death.
Heroes III: HD Edition is currently not supported</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="1" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>6</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="QPushButton" name="pushButtonLanguageNext">
<property name="text">
<string>Next</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
<zorder>labelLanguageWelcome</zorder>
<zorder>labelLanguageTitle</zorder>
<zorder>listWidgetLanguage</zorder>
</widget>
<widget class="QWidget" name="pageDataFiles">
<layout class="QVBoxLayout" name="verticalLayout_4">
@ -539,24 +600,8 @@
</spacer>
</item>
<item>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="labelPresetDescription">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>100</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Optionally, you can install additional mods either now or at any point later:</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<layout class="QGridLayout" name="gridLayout_4" columnstretch="1,10,25">
<item row="2" column="0">
<widget class="QCheckBox" name="checkBoxPresetLanguage">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
@ -572,7 +617,29 @@
</property>
</widget>
</item>
<item row="1" column="1">
<item row="4" column="1">
<widget class="QLabel" name="labelPresetHota">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>100</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Horn of the Abyss</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="labelPresetLanguage">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
@ -580,15 +647,21 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Install translation of Heroes III to your language</string>
<string>Heroes III Translation</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<item row="3" column="0">
<widget class="QCheckBox" name="checkBoxPresetExtras">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
@ -604,8 +677,110 @@
</property>
</widget>
</item>
<item row="2" column="1">
<item row="4" column="0">
<widget class="QCheckBox" name="checkBoxPresetHota">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="checkBoxPresetWog">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="labelPresetExtras">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>100</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>High Definition Support</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="labelPresetWog">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>100</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>In The Wake of Gods</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLabel" name="labelPresetLanguageDescr">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>100</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Install translation of Heroes III to your language</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0" colspan="3">
<widget class="QLabel" name="labelPresetDescription">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>100</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Optionally, you can install additional mods either now or at any point later:</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QLabel" name="labelPresetExtrasDescr">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>100</horstretch>
@ -620,21 +795,8 @@
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="checkBoxPresetHota">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="labelPresetHota">
<item row="4" column="2">
<widget class="QLabel" name="labelPresetHotaDescr">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>100</horstretch>
@ -649,21 +811,8 @@
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="checkBoxPresetWog">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="labelPresetWog">
<item row="5" column="2">
<widget class="QLabel" name="labelPresetWogDecsr">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>100</horstretch>

View File

@ -316,7 +316,6 @@ CModEntry CModList::getMod(QString modname) const
settings["active"] = false;
}
for(auto entry : repositories)
{
QVariant repoVal = getValue(entry, path);

View File

@ -12,19 +12,6 @@
#include <QIcon>
namespace ModFields
{
static const QString names[ModFields::COUNT] =
{
"name",
"",
"",
"modType",
"version",
};
}
namespace ModStatus
{
static const QString iconDelete = "icons:mod-delete.png";
@ -48,18 +35,59 @@ QString CModListModel::modIndexToName(const QModelIndex & index) const
return "";
}
QString CModListModel::modTypeName(QString modTypeID) const
{
static QMap<QString, QString> modTypes = {
{"Translation", tr("Translation")},
{"Town", tr("Town") },
{"Test", tr("Test") },
{"Templates", tr("Templates") },
{"Spells", tr("Spells") },
{"Music", tr("Music") },
{"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") },
{"Artifacts", tr("Artifacts") },
{"AI", tr("AI") },
};
if (modTypes.contains(modTypeID))
return modTypes[modTypeID];
return tr("Other");
}
QVariant CModListModel::getValue(const CModEntry & mod, int field) const
{
switch(field)
{
case ModFields::STATUS_ENABLED:
return mod.getModStatus() & (ModStatus::ENABLED | ModStatus::INSTALLED);
case ModFields::STATUS_ENABLED:
return mod.getModStatus() & (ModStatus::ENABLED | ModStatus::INSTALLED);
case ModFields::STATUS_UPDATE:
return mod.getModStatus() & (ModStatus::UPDATEABLE | ModStatus::INSTALLED);
case ModFields::STATUS_UPDATE:
return mod.getModStatus() & (ModStatus::UPDATEABLE | ModStatus::INSTALLED);
default:
return mod.getValue(ModFields::names[field]);
case ModFields::NAME:
return mod.getValue("name");
case ModFields::VERSION:
return mod.getValue("version");
case ModFields::TYPE:
return modTypeName(mod.getValue("modType").toString());
default:
return QVariant();
}
}

View File

@ -48,6 +48,7 @@ class CModListModel : public QAbstractItemModel, public CModList
void endResetModel();
QString modIndexToName(const QModelIndex & index) const;
QString modTypeName(QString modTypeID) const;
QVariant getTextAlign(int field) const;
QVariant getValue(const CModEntry & mod, int field) const;

View File

@ -24,6 +24,7 @@
#include "../jsonutils.h"
#include "../../lib/CConfigHandler.h"
#include "../../lib/Languages.h"
void CModListView::setupModModel()
{
@ -74,8 +75,9 @@ void CModListView::setupModsView()
ui->allModsView->setColumnWidth(ModFields::TYPE, 75);
ui->allModsView->setColumnWidth(ModFields::VERSION, 60);
}
ui->allModsView->setColumnWidth(ModFields::STATUS_ENABLED, 24);
ui->allModsView->setColumnWidth(ModFields::STATUS_UPDATE, 24);
ui->allModsView->resizeColumnToContents(ModFields::STATUS_ENABLED);
ui->allModsView->resizeColumnToContents(ModFields::STATUS_UPDATE);
ui->allModsView->setUniformRowHeights(true);
@ -212,6 +214,25 @@ QString CModListView::genChangelogText(CModEntry & mod)
return result;
}
QStringList CModListView::getModNames(QStringList input)
{
QStringList result;
for(const auto & modID : input)
{
auto mod = modModel->getMod(modID);
QString modName = mod.getValue("name").toString();
if (modName.isEmpty())
result += modID;
else
result += modName;
}
return result;
}
QString CModListView::genModInfoText(CModEntry & mod)
{
QString prefix = "<p><span style=\" font-weight:600;\">%1: </span>"; // shared prefix
@ -221,7 +242,6 @@ QString CModListView::genModInfoText(CModEntry & mod)
QString textTemplate = prefix + "</p><p align=\"justify\">%2</p>";
QString listTemplate = "<p align=\"justify\">%1: %2</p>";
QString noteTemplate = "<p align=\"justify\">%1</p>";
QString compatibleString = prefix + tr("Mod is compatible") + "</p>";
QString incompatibleString = redPrefix + tr("Mod is incompatible") + "</p>";
QString supportedVersions = redPrefix + "%2 %3 %4</p>";
@ -242,9 +262,7 @@ QString CModListView::genModInfoText(CModEntry & mod)
result += urlTemplate.arg(tr("Contact")).arg(mod.getValue("contact").toString()).arg(mod.getValue("contact").toString());
//compatibility info
if(mod.isCompatible())
result += compatibleString.arg(tr("Compatibility"));
else
if(!mod.isCompatible())
{
auto compatibilityInfo = mod.getValue("compatibility").toMap();
auto minStr = compatibilityInfo.value("min").toString();
@ -267,9 +285,34 @@ QString CModListView::genModInfoText(CModEntry & mod)
}
}
result += replaceIfNotEmpty(mod.getValue("depends"), lineTemplate.arg(tr("Required mods")));
result += replaceIfNotEmpty(mod.getValue("conflicts"), lineTemplate.arg(tr("Conflicting mods")));
result += replaceIfNotEmpty(mod.getValue("description"), textTemplate.arg(tr("Description")));
QStringList supportedLanguages;
QVariant baseLanguageVariant = mod.getBaseValue("language");
QString baseLanguageID = baseLanguageVariant.isValid() ? baseLanguageVariant.toString() : "english";
bool needToShowSupportedLanguages = false;
for(const auto & language : Languages::getLanguageList())
{
if (!language.hasTranslation)
continue;
QString languageID = QString::fromStdString(language.identifier);
if (languageID != baseLanguageID && !mod.getValue(languageID).isValid())
continue;
if (languageID != baseLanguageID)
needToShowSupportedLanguages = true;
supportedLanguages += QApplication::translate("Language", language.nameEnglish.c_str());
}
if(needToShowSupportedLanguages)
result += replaceIfNotEmpty(supportedLanguages, lineTemplate.arg(tr("Languages")));
result += replaceIfNotEmpty(getModNames(mod.getValue("depends").toStringList()), lineTemplate.arg(tr("Required mods")));
result += replaceIfNotEmpty(getModNames(mod.getValue("conflicts").toStringList()), lineTemplate.arg(tr("Conflicting mods")));
result += replaceIfNotEmpty(getModNames(mod.getValue("description").toStringList()), textTemplate.arg(tr("Description")));
result += "<p></p>"; // to get some empty space
@ -281,12 +324,12 @@ QString CModListView::genModInfoText(CModEntry & mod)
QString notes;
notes += replaceIfNotEmpty(findInvalidDependencies(mod.getName()), listTemplate.arg(unknownDeps));
notes += replaceIfNotEmpty(findBlockingMods(mod.getName()), listTemplate.arg(blockingMods));
notes += replaceIfNotEmpty(getModNames(findInvalidDependencies(mod.getName())), listTemplate.arg(unknownDeps));
notes += replaceIfNotEmpty(getModNames(findBlockingMods(mod.getName())), listTemplate.arg(blockingMods));
if(mod.isEnabled())
notes += replaceIfNotEmpty(findDependentMods(mod.getName(), true), listTemplate.arg(hasActiveDependentMods));
notes += replaceIfNotEmpty(getModNames(findDependentMods(mod.getName(), true)), listTemplate.arg(hasActiveDependentMods));
if(mod.isInstalled())
notes += replaceIfNotEmpty(findDependentMods(mod.getName(), false), listTemplate.arg(hasDependentMods));
notes += replaceIfNotEmpty(getModNames(findDependentMods(mod.getName(), false)), listTemplate.arg(hasDependentMods));
if(mod.getName().contains('.'))
notes += noteTemplate.arg(thisIsSubmod);
@ -829,10 +872,10 @@ void CModListView::doInstallMod(const QString & modName)
}
}
bool CModListView::isModInstalled(const QString & modName)
bool CModListView::isModAvailable(const QString & modName)
{
auto mod = modModel->getMod(modName);
return mod.isInstalled();
return mod.isAvailable();
}
bool CModListView::isModEnabled(const QString & modName)

View File

@ -47,6 +47,9 @@ class CModListView : public QWidget
void checkManagerErrors();
/// replace mod ID's with proper human-readable mod names
QStringList getModNames(QStringList input);
// find mods unknown to mod list (not present in repo and not installed)
QStringList findInvalidDependencies(QString mod);
// find mods that block enabling of this mod: conflicting with this mod or one of required mods
@ -86,8 +89,8 @@ public:
/// install mod by name
void doInstallMod(const QString & modName);
/// returns true if mod is currently installed
bool isModInstalled(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);

View File

@ -375,7 +375,7 @@ void CSettingsView::loadTranslation()
if (!translationExists)
return;
bool translationInstalled = mainWindow->getModView()->isModInstalled(modName);
bool translationAvailable = mainWindow->getModView()->isModAvailable(modName);
bool translationEnabled = mainWindow->getModView()->isModEnabled(modName);
ui->pushButtonTranslation->setVisible(!translationEnabled);
@ -385,13 +385,13 @@ void CSettingsView::loadTranslation()
ui->labelTranslationStatus->setText(tr("Active"));
}
if (translationInstalled && !translationEnabled)
if (!translationEnabled && !translationAvailable)
{
ui->labelTranslationStatus->setText(tr("Disabled"));
ui->pushButtonTranslation->setText(tr("Enable"));
}
if (!translationInstalled)
if (translationAvailable)
{
ui->labelTranslationStatus->setText(tr("Not Installed"));
ui->pushButtonTranslation->setText(tr("Install"));
@ -413,15 +413,15 @@ void CSettingsView::on_pushButtonTranslation_clicked()
if (modName.isEmpty())
return;
if (mainWindow->getModView()->isModInstalled(modName))
{
mainWindow->getModView()->enableModByName(modName);
}
else
if (mainWindow->getModView()->isModAvailable(modName))
{
mainWindow->switchToModsTab();
mainWindow->getModView()->doInstallMod(modName);
}
else
{
mainWindow->getModView()->enableModByName(modName);
}
}
void CSettingsView::on_comboBoxLanguageBase_currentIndexChanged(int index)

View File

@ -4,17 +4,111 @@
<context>
<name>CModListModel</name>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="142"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="42"/>
<source>Translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="43"/>
<source>Town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="44"/>
<source>Test</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="45"/>
<source>Templates</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="46"/>
<source>Spells</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="47"/>
<source>Music</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="48"/>
<source>Sounds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="49"/>
<source>Skills</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="50"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="67"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="51"/>
<source>Objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="52"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="53"/>
<source>Mechanics</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="54"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="55"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="56"/>
<source>Heroes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="57"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="58"/>
<source>Graphical</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="59"/>
<source>Expansion</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="60"/>
<source>Creatures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="61"/>
<source>Artifacts</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="62"/>
<source>AI</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="170"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="145"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="173"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="146"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="174"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
@ -63,7 +157,7 @@
</message>
<message>
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
<source>Description</source>
<translation type="unfinished"></translation>
</message>
@ -113,114 +207,113 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="230"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
<source>Mod name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="231"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="251"/>
<source>Installed version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="232"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="252"/>
<source>Latest version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="235"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
<source>Download size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="236"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="256"/>
<source>Authors</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="239"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="259"/>
<source>License</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="242"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="262"/>
<source>Contact</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="246"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="271"/>
<source>Compatibility</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="273"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="281"/>
<source>Required VCMI version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="261"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="279"/>
<source>Supported VCMI version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="266"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="284"/>
<source>Supported VCMI versions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="270"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
<source>Languages</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
<source>Required mods</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="271"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
<source>Conflicting mods</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="276"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
<source>This mod can not be installed or enabled because following dependencies are not present</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="277"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
<source>This mod can not be enabled because following mods are incompatible with this mod</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="278"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
<source>This mod can not be disabled because it is required to run following mods</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="279"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
<source>This mod can not be uninstalled or updated because it is required to run following mods</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
<source>This is submod and it can not be installed or uninstalled separately from parent mod</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="295"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="338"/>
<source>Notes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="797"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="840"/>
<source>Screenshot %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="224"/>
<source>Mod is compatible</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="225"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="245"/>
<source>Mod is incompatible</source>
<translation type="unfinished"></translation>
</message>
@ -449,32 +542,32 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="384"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="445"/>
<source>Your Heroes III data files have been successfully found.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="552"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="775"/>
<source>Optionally, you can install additional mods either now or at any point later:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="616"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="791"/>
<source>Install support for playing Heroes III in resolutions other than 800x600.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="645"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="807"/>
<source>Install compatible version of addon Horn of the Abyss: fan-made Heroes III expansion, ported by VCMI team</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="674"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="823"/>
<source>Install compatible version of addon &quot;In The Wake of Gods&quot;: fan-made Heroes III expansion</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="721"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="870"/>
<source>Finish</source>
<translation type="unfinished"></translation>
</message>
@ -484,84 +577,135 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="143"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="146"/>
<source>Choose your language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="150"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="493"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="175"/>
<source>VCMI on Github</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="182"/>
<source>VCMI on Slack</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="189"/>
<source>VCMI on Discord</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="196"/>
<source>Have a question? Found a bug? Want to help? Join us:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="205"/>
<source>Thanks for installing VCMI.
There are a few more steps to be done before you can start playing.
Keep in mind that in order to use VCMI you need to own original data files, Heroes III: Complete Edition or Shadow of Death.
Heroes III: HD Edition is currently not supported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="239"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="554"/>
<source>Next</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="215"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="276"/>
<source>Find Heroes III data files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="246"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="307"/>
<source>Open help in browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="259"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="320"/>
<source>Search again</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="304"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="365"/>
<source>If you don&apos;t have installed Heroes III copy, it is possible to use our automatic installation tool &apos;vcmibuilder&apos; to extract data from GoG.com installer. Visit our wiki for detailed instructions.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="320"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="381"/>
<source>VCMI requires Heroes III data files in one of the locations listed above. Please copy Heroes III data in one of these directories.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="342"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="403"/>
<source>Heroes III data files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="355"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="416"/>
<source>Alternatively, you can select directory with installed Heroes III data and VCMI will copy exisiting data automatically.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="371"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="432"/>
<source>Copy existing data</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="414"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="475"/>
<source>Your Heroes III language has been successfully detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="424"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="485"/>
<source>Automatic detection of language failed. Please select language of your Heroes III copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="443"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="504"/>
<source>Heroes III language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="486"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="714"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="547"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="863"/>
<source>Back</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="524"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="585"/>
<source>Install VCMI Mod Preset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="584"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="635"/>
<source>Horn of the Abyss</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="657"/>
<source>Heroes III Translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="721"/>
<source>High Definition Support</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="743"/>
<source>In The Wake of Gods</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="759"/>
<source>Install translation of Heroes III to your language</source>
<translation type="unfinished"></translation>
</message>

View File

@ -4,17 +4,111 @@
<context>
<name>CModListModel</name>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="142"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="42"/>
<source>Translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="43"/>
<source>Town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="44"/>
<source>Test</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="45"/>
<source>Templates</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="46"/>
<source>Spells</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="47"/>
<source>Music</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="48"/>
<source>Sounds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="49"/>
<source>Skills</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="50"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="67"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="51"/>
<source>Objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="52"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="53"/>
<source>Mechanics</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="54"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="55"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="56"/>
<source>Heroes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="57"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="58"/>
<source>Graphical</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="59"/>
<source>Expansion</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="60"/>
<source>Creatures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="61"/>
<source>Artifacts</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="62"/>
<source>AI</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="170"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="145"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="173"/>
<source>Type</source>
<translation>Typ</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="146"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="174"/>
<source>Version</source>
<translation>Version</translation>
</message>
@ -63,7 +157,7 @@
</message>
<message>
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
<source>Description</source>
<translation>Beschreibung</translation>
</message>
@ -113,114 +207,113 @@
<translation>Abbrechen</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="230"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
<source>Mod name</source>
<translation>Mod-Name</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="231"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="251"/>
<source>Installed version</source>
<translation>Installierte Version</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="232"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="252"/>
<source>Latest version</source>
<translation>Letzte Version</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="235"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
<source>Download size</source>
<translation>Downloadgröße</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="236"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="256"/>
<source>Authors</source>
<translation>Autoren</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="239"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="259"/>
<source>License</source>
<translation>Lizenz</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="242"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="262"/>
<source>Contact</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="246"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="271"/>
<source>Compatibility</source>
<translation>Kompatibilität</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="273"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="281"/>
<source>Required VCMI version</source>
<translation>Benötigte VCMI Version</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="261"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="279"/>
<source>Supported VCMI version</source>
<translation>Unterstützte VCMI Version</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="266"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="284"/>
<source>Supported VCMI versions</source>
<translation>Unterstützte VCMI Versionen</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="270"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
<source>Languages</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
<source>Required mods</source>
<translation>Benötigte Mods</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="271"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
<source>Conflicting mods</source>
<translation>Mods mit Konflikt</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="276"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
<source>This mod can not be installed or enabled because following dependencies are not present</source>
<translation>Diese Mod kann nicht installiert oder aktiviert werden, da die folgenden Abhängigkeiten nicht vorhanden sind</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="277"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
<source>This mod can not be enabled because following mods are incompatible with this mod</source>
<translation>Diese Mod kann nicht aktiviert werden, da folgende Mods nicht mit dieser Mod kompatibel sind</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="278"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
<source>This mod can not be disabled because it is required to run following mods</source>
<translation>Diese Mod kann nicht deaktiviert werden, da sie zum Ausführen der folgenden Mods erforderlich ist</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="279"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
<source>This mod can not be uninstalled or updated because it is required to run following mods</source>
<translation>Diese Mod kann nicht deinstalliert oder aktualisiert werden, da sie für die folgenden Mods erforderlich ist</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
<source>This is submod and it can not be installed or uninstalled separately from parent mod</source>
<translation>Dies ist eine Submod und kann nicht separat von der Hauptmod installiert oder deinstalliert werden</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="295"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="338"/>
<source>Notes</source>
<translation>Anmerkungen</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="797"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="840"/>
<source>Screenshot %1</source>
<translation>Screenshot %1</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="224"/>
<source>Mod is compatible</source>
<translation>Mod ist kompatibel</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="225"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="245"/>
<source>Mod is incompatible</source>
<translation>Mod ist inkompatibel</translation>
</message>
@ -449,32 +542,32 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="384"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="445"/>
<source>Your Heroes III data files have been successfully found.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="552"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="775"/>
<source>Optionally, you can install additional mods either now or at any point later:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="616"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="791"/>
<source>Install support for playing Heroes III in resolutions other than 800x600.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="645"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="807"/>
<source>Install compatible version of addon Horn of the Abyss: fan-made Heroes III expansion, ported by VCMI team</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="674"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="823"/>
<source>Install compatible version of addon &quot;In The Wake of Gods&quot;: fan-made Heroes III expansion</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="721"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="870"/>
<source>Finish</source>
<translation type="unfinished"></translation>
</message>
@ -484,84 +577,135 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="143"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="146"/>
<source>Choose your language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="150"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="493"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="175"/>
<source>VCMI on Github</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="182"/>
<source>VCMI on Slack</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="189"/>
<source>VCMI on Discord</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="196"/>
<source>Have a question? Found a bug? Want to help? Join us:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="205"/>
<source>Thanks for installing VCMI.
There are a few more steps to be done before you can start playing.
Keep in mind that in order to use VCMI you need to own original data files, Heroes III: Complete Edition or Shadow of Death.
Heroes III: HD Edition is currently not supported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="239"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="554"/>
<source>Next</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="215"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="276"/>
<source>Find Heroes III data files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="246"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="307"/>
<source>Open help in browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="259"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="320"/>
<source>Search again</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="304"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="365"/>
<source>If you don&apos;t have installed Heroes III copy, it is possible to use our automatic installation tool &apos;vcmibuilder&apos; to extract data from GoG.com installer. Visit our wiki for detailed instructions.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="320"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="381"/>
<source>VCMI requires Heroes III data files in one of the locations listed above. Please copy Heroes III data in one of these directories.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="342"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="403"/>
<source>Heroes III data files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="355"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="416"/>
<source>Alternatively, you can select directory with installed Heroes III data and VCMI will copy exisiting data automatically.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="371"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="432"/>
<source>Copy existing data</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="414"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="475"/>
<source>Your Heroes III language has been successfully detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="424"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="485"/>
<source>Automatic detection of language failed. Please select language of your Heroes III copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="443"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="504"/>
<source>Heroes III language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="486"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="714"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="547"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="863"/>
<source>Back</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="524"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="585"/>
<source>Install VCMI Mod Preset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="584"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="635"/>
<source>Horn of the Abyss</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="657"/>
<source>Heroes III Translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="721"/>
<source>High Definition Support</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="743"/>
<source>In The Wake of Gods</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="759"/>
<source>Install translation of Heroes III to your language</source>
<translation type="unfinished"></translation>
</message>

View File

@ -4,17 +4,111 @@
<context>
<name>CModListModel</name>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="142"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="42"/>
<source>Translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="43"/>
<source>Town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="44"/>
<source>Test</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="45"/>
<source>Templates</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="46"/>
<source>Spells</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="47"/>
<source>Music</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="48"/>
<source>Sounds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="49"/>
<source>Skills</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="50"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="67"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="51"/>
<source>Objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="52"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="53"/>
<source>Mechanics</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="54"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="55"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="56"/>
<source>Heroes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="57"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="58"/>
<source>Graphical</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="59"/>
<source>Expansion</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="60"/>
<source>Creatures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="61"/>
<source>Artifacts</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="62"/>
<source>AI</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="170"/>
<source>Name</source>
<translation>Nazwa</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="145"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="173"/>
<source>Type</source>
<translation>Typ</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="146"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="174"/>
<source>Version</source>
<translation>Wersja</translation>
</message>
@ -63,7 +157,7 @@
</message>
<message>
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
<source>Description</source>
<translation>Opis</translation>
</message>
@ -113,114 +207,113 @@
<translation>Przerwij</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="230"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
<source>Mod name</source>
<translation>Nazwa moda</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="231"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="251"/>
<source>Installed version</source>
<translation>Zainstalowana wersja</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="232"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="252"/>
<source>Latest version</source>
<translation>Najnowsza wersja</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="235"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
<source>Download size</source>
<translation>Rozmiar pobierania</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="236"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="256"/>
<source>Authors</source>
<translation>Autorzy</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="239"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="259"/>
<source>License</source>
<translation>Licencja</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="242"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="262"/>
<source>Contact</source>
<translation>Kontakt</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="246"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="271"/>
<source>Compatibility</source>
<translation>Kompatybilność</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="273"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="281"/>
<source>Required VCMI version</source>
<translation>Wymagana wersja VCMI</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="261"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="279"/>
<source>Supported VCMI version</source>
<translation>Wspierana wersja VCMI</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="266"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="284"/>
<source>Supported VCMI versions</source>
<translation>Wspierane wersje VCMI</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="270"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
<source>Languages</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
<source>Required mods</source>
<translation>Wymagane mody</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="271"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
<source>Conflicting mods</source>
<translation>Konfliktujące mody</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="276"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
<source>This mod can not be installed or enabled because following dependencies are not present</source>
<translation>Ten mod nie może zostać zainstalowany lub włączony ponieważ następujące zależności nie zostały spełnione</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="277"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
<source>This mod can not be enabled because following mods are incompatible with this mod</source>
<translation>Ten mod nie może zostać włączony ponieważ następujące mody z nim niekompatybilne</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="278"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
<source>This mod can not be disabled because it is required to run following mods</source>
<translation>Ten mod nie może zostać wyłączony ponieważ jest wymagany by do uruchomienia następujących modów</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="279"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
<source>This mod can not be uninstalled or updated because it is required to run following mods</source>
<translation>Ten mod nie może zostać odinstalowany lub zaktualizowany ponieważ jest wymagany do uruchomienia następujących modów</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
<source>This is submod and it can not be installed or uninstalled separately from parent mod</source>
<translation>To jest moduł składowy innego moda i nie może być zainstalowany lub odinstalowany oddzielnie od moda nadrzędnego</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="295"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="338"/>
<source>Notes</source>
<translation>Uwagi</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="797"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="840"/>
<source>Screenshot %1</source>
<translation>Zrzut ekranu %1</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="224"/>
<source>Mod is compatible</source>
<translation>Mod jest kompatybilny</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="225"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="245"/>
<source>Mod is incompatible</source>
<translation>Mod jest niekompatybilny</translation>
</message>
@ -449,32 +542,32 @@
<translation>Zestaw modów</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="384"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="445"/>
<source>Your Heroes III data files have been successfully found.</source>
<translation>Twoje pliki Heroes III zostały pomyślnie znalezione.</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="552"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="775"/>
<source>Optionally, you can install additional mods either now or at any point later:</source>
<translation>Opcjonalnie możesz zainstalować dodatkowe modyfikacje teraz lub później:</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="616"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="791"/>
<source>Install support for playing Heroes III in resolutions other than 800x600.</source>
<translation>Zapinstaluj wsparcie dla grania w Heroes III w rozdzielczości innej niż 800x600.</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="645"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="807"/>
<source>Install compatible version of addon Horn of the Abyss: fan-made Heroes III expansion, ported by VCMI team</source>
<translation>Zainstaluj kompatybilną wersję fanowskiego dodatku Horn of the Abyss przeportowaną przez zespół VCMI</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="674"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="823"/>
<source>Install compatible version of addon &quot;In The Wake of Gods&quot;: fan-made Heroes III expansion</source>
<translation>Zainstaluj kompatybilną wersję fanowskiego dodatku &quot;In The Wake Of Gods&quot;</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="721"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="870"/>
<source>Finish</source>
<translation>Zakończ</translation>
</message>
@ -484,84 +577,135 @@
<translation>Krok %v z %m</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="143"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="146"/>
<source>Choose your language</source>
<translation>Wybierz język</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="150"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="493"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="175"/>
<source>VCMI on Github</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="182"/>
<source>VCMI on Slack</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="189"/>
<source>VCMI on Discord</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="196"/>
<source>Have a question? Found a bug? Want to help? Join us:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="205"/>
<source>Thanks for installing VCMI.
There are a few more steps to be done before you can start playing.
Keep in mind that in order to use VCMI you need to own original data files, Heroes III: Complete Edition or Shadow of Death.
Heroes III: HD Edition is currently not supported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="239"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="554"/>
<source>Next</source>
<translation>Dalej</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="215"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="276"/>
<source>Find Heroes III data files</source>
<translation>Znajdź pliki Heroes III</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="246"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="307"/>
<source>Open help in browser</source>
<translation>Otwórz pomoc w przeglądarce</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="259"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="320"/>
<source>Search again</source>
<translation>Szukaj ponownie</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="304"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="365"/>
<source>If you don&apos;t have installed Heroes III copy, it is possible to use our automatic installation tool &apos;vcmibuilder&apos; to extract data from GoG.com installer. Visit our wiki for detailed instructions.</source>
<translation>Jeśli nie masz zainstalowanej kopii Heroes III istnieje możliwość użycia naszego automatycznego narzędzia instalacyjnego &apos;vcmibuilder&apos; by wyodrębnić dane z instalatora GoG.com. Odwiedź nasze wiki po szczegółowe instrukcje.</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="320"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="381"/>
<source>VCMI requires Heroes III data files in one of the locations listed above. Please copy Heroes III data in one of these directories.</source>
<translation>VCMI wymaga plików Heroes III w jednej z wymienionych wyżej lokalizacji. Proszę, skopiuj pliki Heroes III do jednego z tych katalogów.</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="342"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="403"/>
<source>Heroes III data files</source>
<translation>Pliki Heroes III</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="355"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="416"/>
<source>Alternatively, you can select directory with installed Heroes III data and VCMI will copy exisiting data automatically.</source>
<translation>Możesz też wybrać folder z zainstalowanym Heroes III i VCMI automatycznie skopiuje istniejące dane.</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="371"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="432"/>
<source>Copy existing data</source>
<translation>Skopiuj istniejące dane</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="414"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="475"/>
<source>Your Heroes III language has been successfully detected.</source>
<translation>Twój język Heroes III został pomyślnie wykryty.</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="424"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="485"/>
<source>Automatic detection of language failed. Please select language of your Heroes III copy</source>
<translation>Automatyczna detekcja języka nie powiodła się. Proszę wybrać język twojego Heroes III</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="443"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="504"/>
<source>Heroes III language</source>
<translation>Język Heroes III</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="486"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="714"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="547"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="863"/>
<source>Back</source>
<translation>Wstecz</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="524"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="585"/>
<source>Install VCMI Mod Preset</source>
<translation>Zainstaluj zestaw modyfikacji</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="584"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="635"/>
<source>Horn of the Abyss</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="657"/>
<source>Heroes III Translation</source>
<translation type="unfinished">Tłumaczenie Heroes III</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="721"/>
<source>High Definition Support</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="743"/>
<source>In The Wake of Gods</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="759"/>
<source>Install translation of Heroes III to your language</source>
<translation>Zainstaluj tłumaczenie Heroes III dla twojego języka</translation>
</message>

View File

@ -4,17 +4,111 @@
<context>
<name>CModListModel</name>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="142"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="42"/>
<source>Translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="43"/>
<source>Town</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="44"/>
<source>Test</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="45"/>
<source>Templates</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="46"/>
<source>Spells</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="47"/>
<source>Music</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="48"/>
<source>Sounds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="49"/>
<source>Skills</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="50"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="67"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="51"/>
<source>Objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="52"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="53"/>
<source>Mechanics</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="54"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="55"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="56"/>
<source>Heroes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="57"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="58"/>
<source>Graphical</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="59"/>
<source>Expansion</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="60"/>
<source>Creatures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="61"/>
<source>Artifacts</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="62"/>
<source>AI</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="170"/>
<source>Name</source>
<translation>Название</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="145"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="173"/>
<source>Type</source>
<translation>Тип</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="146"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="174"/>
<source>Version</source>
<translation>Версия</translation>
</message>
@ -63,7 +157,7 @@
</message>
<message>
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
<source>Description</source>
<translation>Описание</translation>
</message>
@ -113,114 +207,113 @@
<translation>Отмена</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="230"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
<source>Mod name</source>
<translation>Название мода</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="231"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="251"/>
<source>Installed version</source>
<translation>Установленная версия</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="232"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="252"/>
<source>Latest version</source>
<translation>Последняя версия</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="235"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
<source>Download size</source>
<translation>Размер загрузки</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="236"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="256"/>
<source>Authors</source>
<translation>Авторы</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="239"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="259"/>
<source>License</source>
<translation>Лицензия</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="242"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="262"/>
<source>Contact</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="246"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="271"/>
<source>Compatibility</source>
<translation>Совместимость</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="273"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="281"/>
<source>Required VCMI version</source>
<translation>Требуемая версия VCMI</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="261"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="279"/>
<source>Supported VCMI version</source>
<translation>Поддерживаемая версия VCMI</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="266"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="284"/>
<source>Supported VCMI versions</source>
<translation>Поддерживаемые версии VCMI</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="270"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
<source>Languages</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
<source>Required mods</source>
<translation>Зависимости</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="271"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
<source>Conflicting mods</source>
<translation>Конфликтующие моды</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="276"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
<source>This mod can not be installed or enabled because following dependencies are not present</source>
<translation>Этот мод не может быть установлен или активирован, так как отсутствуют следующие зависимости</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="277"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
<source>This mod can not be enabled because following mods are incompatible with this mod</source>
<translation>Этот мод не может быть установлен или активирован, так как следующие моды несовместимы с этим</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="278"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
<source>This mod can not be disabled because it is required to run following mods</source>
<translation>Этот мод не может быть выключен, так как он является зависимостью для следующих</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="279"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
<source>This mod can not be uninstalled or updated because it is required to run following mods</source>
<translation>Этот мод не может быть удален или обновлен, так как является зависимостью для следующих модов</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
<source>This is submod and it can not be installed or uninstalled separately from parent mod</source>
<translation>Это вложенный мод, он не может быть установлен или удален отдельно от родительского</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="295"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="338"/>
<source>Notes</source>
<translation>Замечания</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="797"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="840"/>
<source>Screenshot %1</source>
<translation>Скриншот %1</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="224"/>
<source>Mod is compatible</source>
<translation>Мод совместим</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="225"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="245"/>
<source>Mod is incompatible</source>
<translation>Мод несовместим</translation>
</message>
@ -449,32 +542,32 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="384"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="445"/>
<source>Your Heroes III data files have been successfully found.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="552"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="775"/>
<source>Optionally, you can install additional mods either now or at any point later:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="616"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="791"/>
<source>Install support for playing Heroes III in resolutions other than 800x600.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="645"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="807"/>
<source>Install compatible version of addon Horn of the Abyss: fan-made Heroes III expansion, ported by VCMI team</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="674"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="823"/>
<source>Install compatible version of addon &quot;In The Wake of Gods&quot;: fan-made Heroes III expansion</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="721"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="870"/>
<source>Finish</source>
<translation type="unfinished"></translation>
</message>
@ -484,84 +577,135 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="143"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="146"/>
<source>Choose your language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="150"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="493"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="175"/>
<source>VCMI on Github</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="182"/>
<source>VCMI on Slack</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="189"/>
<source>VCMI on Discord</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="196"/>
<source>Have a question? Found a bug? Want to help? Join us:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="205"/>
<source>Thanks for installing VCMI.
There are a few more steps to be done before you can start playing.
Keep in mind that in order to use VCMI you need to own original data files, Heroes III: Complete Edition or Shadow of Death.
Heroes III: HD Edition is currently not supported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="239"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="554"/>
<source>Next</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="215"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="276"/>
<source>Find Heroes III data files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="246"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="307"/>
<source>Open help in browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="259"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="320"/>
<source>Search again</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="304"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="365"/>
<source>If you don&apos;t have installed Heroes III copy, it is possible to use our automatic installation tool &apos;vcmibuilder&apos; to extract data from GoG.com installer. Visit our wiki for detailed instructions.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="320"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="381"/>
<source>VCMI requires Heroes III data files in one of the locations listed above. Please copy Heroes III data in one of these directories.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="342"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="403"/>
<source>Heroes III data files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="355"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="416"/>
<source>Alternatively, you can select directory with installed Heroes III data and VCMI will copy exisiting data automatically.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="371"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="432"/>
<source>Copy existing data</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="414"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="475"/>
<source>Your Heroes III language has been successfully detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="424"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="485"/>
<source>Automatic detection of language failed. Please select language of your Heroes III copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="443"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="504"/>
<source>Heroes III language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="486"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="714"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="547"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="863"/>
<source>Back</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="524"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="585"/>
<source>Install VCMI Mod Preset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="584"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="635"/>
<source>Horn of the Abyss</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="657"/>
<source>Heroes III Translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="721"/>
<source>High Definition Support</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="743"/>
<source>In The Wake of Gods</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="759"/>
<source>Install translation of Heroes III to your language</source>
<translation type="unfinished"></translation>
</message>

File diff suppressed because it is too large Load Diff

View File

@ -4,17 +4,111 @@
<context>
<name>CModListModel</name>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="142"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="42"/>
<source>Translation</source>
<translation>Переклад</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="43"/>
<source>Town</source>
<translation>Місто</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="44"/>
<source>Test</source>
<translation>Тестування</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="45"/>
<source>Templates</source>
<translation>Шаблони</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="46"/>
<source>Spells</source>
<translation>Закляття</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="47"/>
<source>Music</source>
<translation>Музика</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="48"/>
<source>Sounds</source>
<translation>Звуки</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="49"/>
<source>Skills</source>
<translation>Вміння</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="50"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="67"/>
<source>Other</source>
<translation>Інше</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="51"/>
<source>Objects</source>
<translation>Об&apos;єкти</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="52"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="53"/>
<source>Mechanics</source>
<translation>Механіки</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="54"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="55"/>
<source>Interface</source>
<translation>Інтерфейс</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="56"/>
<source>Heroes</source>
<translation>Герої</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="57"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="58"/>
<source>Graphical</source>
<translation>Графічний</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="59"/>
<source>Expansion</source>
<translation>Розширення</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="60"/>
<source>Creatures</source>
<translation>Істоти</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="61"/>
<source>Artifacts</source>
<translation>Артефакти</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="62"/>
<source>AI</source>
<translation>ШІ</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="170"/>
<source>Name</source>
<translation>Назва</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="145"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="173"/>
<source>Type</source>
<translation>Тип</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="146"/>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="174"/>
<source>Version</source>
<translation>Версія</translation>
</message>
@ -63,7 +157,7 @@
</message>
<message>
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
<source>Description</source>
<translation>Опис</translation>
</message>
@ -113,114 +207,113 @@
<translation>Відмінити</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="230"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
<source>Mod name</source>
<translation>Назва модифікації</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="231"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="251"/>
<source>Installed version</source>
<translation>Встановлена версія</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="232"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="252"/>
<source>Latest version</source>
<translation>Найновіша версія</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="235"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
<source>Download size</source>
<translation>Розмір для завантаження</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="236"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="256"/>
<source>Authors</source>
<translation>Автори</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="239"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="259"/>
<source>License</source>
<translation>Ліцензія</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="242"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="262"/>
<source>Contact</source>
<translation>Контакти</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="246"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="271"/>
<source>Compatibility</source>
<translation>Сумісність</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="273"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="281"/>
<source>Required VCMI version</source>
<translation>Необхідна версія VCMI</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="261"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="279"/>
<source>Supported VCMI version</source>
<translation>Підтримувана версія VCMI</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="266"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="284"/>
<source>Supported VCMI versions</source>
<translation>Підтримувані версії VCMI</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="270"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
<source>Languages</source>
<translation>Мови</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
<source>Required mods</source>
<translation>Необхідні модифікації</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="271"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
<source>Conflicting mods</source>
<translation>Конфліктуючі модифікації</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="276"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
<source>This mod can not be installed or enabled because following dependencies are not present</source>
<translation>Цю модифікацію не можна встановити чи активувати, оскільки відсутні наступні залежності</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="277"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
<source>This mod can not be enabled because following mods are incompatible with this mod</source>
<translation>Цю модифікацію не можна ввімкнути, оскільки наступні модифікації несумісні з цією модифікацією</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="278"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
<source>This mod can not be disabled because it is required to run following mods</source>
<translation>Цю модифікацію не можна відключити, оскільки вона необхідна для запуску наступних модифікацій</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="279"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
<source>This mod can not be uninstalled or updated because it is required to run following mods</source>
<translation>Цю модифікацію не можна видалити або оновити, оскільки вона необхідна для запуску наступних модифікацій</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
<source>This is submod and it can not be installed or uninstalled separately from parent mod</source>
<translation>Це вкладена модифікація, і її не можна встановити або видалити окремо від батьківської модифікації</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="295"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="338"/>
<source>Notes</source>
<translation>Примітки</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="797"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="840"/>
<source>Screenshot %1</source>
<translation>Знімок екрану %1</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="224"/>
<source>Mod is compatible</source>
<translation>Модифікація сумісна</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="225"/>
<location filename="../modManager/cmodlistview_moc.cpp" line="245"/>
<source>Mod is incompatible</source>
<translation>Модифікація несумісна</translation>
</message>
@ -449,32 +542,32 @@
<translation>Початкові модифікації</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="384"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="445"/>
<source>Your Heroes III data files have been successfully found.</source>
<translation>Файли даних вашої гри Heroes III успішно знайдено.</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="552"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="775"/>
<source>Optionally, you can install additional mods either now or at any point later:</source>
<translation>За бажанням ви можете встановити додаткові модифікації зараз або пізніше:</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="616"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="791"/>
<source>Install support for playing Heroes III in resolutions other than 800x600.</source>
<translation type="unfinished"></translation>
<translation>Встановити підтримку для гри в Heroes III у роздільних здатностях, більших за 800x600.</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="645"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="807"/>
<source>Install compatible version of addon Horn of the Abyss: fan-made Heroes III expansion, ported by VCMI team</source>
<translation type="unfinished"></translation>
<translation>Встановити сумісну версію доповнення Horn of the Abyss: фанатське доповнення Heroes III, портоване командою VCMI</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="674"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="823"/>
<source>Install compatible version of addon &quot;In The Wake of Gods&quot;: fan-made Heroes III expansion</source>
<translation type="unfinished"></translation>
<translation>Встановити сумісну версію доповнення &quot; In The Wake of Gods&quot;: фанатське доповнення до Heroes III</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="721"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="870"/>
<source>Finish</source>
<translation>Завершити</translation>
</message>
@ -484,84 +577,141 @@
<translation>Крок %v з %m</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="143"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="146"/>
<source>Choose your language</source>
<translation>Оберіть свою мову</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="150"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="493"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="175"/>
<source>VCMI on Github</source>
<translation>VCMI на Github</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="182"/>
<source>VCMI on Slack</source>
<translation>VCMI на Slack</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="189"/>
<source>VCMI on Discord</source>
<translation>VCMI на Discord</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="196"/>
<source>Have a question? Found a bug? Want to help? Join us:</source>
<translation>Маєте питання? Виявили помилку? Хочете допомогти? Приєднуйтесь до нас:</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="205"/>
<source>Thanks for installing VCMI.
There are a few more steps to be done before you can start playing.
Keep in mind that in order to use VCMI you need to own original data files, Heroes III: Complete Edition or Shadow of Death.
Heroes III: HD Edition is currently not supported</source>
<translation>Дякуємо, що встановили VCMI.
Залишилося зробити ще кілька кроків, перш ніж ви зможете почати грати.
Майте на увазі, що для використання VCMI вам потрібно мати оригінальні файли гри Heroes III: Complete Edition або Shadow of Death.
Heroes III: HD Edition наразі не підтримується</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="239"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="554"/>
<source>Next</source>
<translation>Далі</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="215"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="276"/>
<source>Find Heroes III data files</source>
<translation>Пошук файлів даних Heroes III</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="246"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="307"/>
<source>Open help in browser</source>
<translation>Відкрити довідку у браузері</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="259"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="320"/>
<source>Search again</source>
<translation>Повторити пошук</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="304"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="365"/>
<source>If you don&apos;t have installed Heroes III copy, it is possible to use our automatic installation tool &apos;vcmibuilder&apos; to extract data from GoG.com installer. Visit our wiki for detailed instructions.</source>
<translation type="unfinished"></translation>
<translation>Якщо у вас не встановлена копія Heroes III, ви можете скористатися нашим засобом встановлення &quot;vcmibuilder&quot;, щоб видобути дані з інсталятора GoG.com. Докладні інструкції можна знайти у нашій вікі.</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="320"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="381"/>
<source>VCMI requires Heroes III data files in one of the locations listed above. Please copy Heroes III data in one of these directories.</source>
<translation type="unfinished"></translation>
<translation>VCMI потребує файлів даних Heroes III в одному з перелічених вище розташувань. Будь ласка, скопіюйте дані Heroes III в одну з цих директорій.</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="342"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="403"/>
<source>Heroes III data files</source>
<translation>Файли даних Heroes III</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="355"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="416"/>
<source>Alternatively, you can select directory with installed Heroes III data and VCMI will copy exisiting data automatically.</source>
<translation type="unfinished"></translation>
<translation>Або ж ви можете вибрати директорію зі встановленими даними Heroes III, і VCMI автоматично скопіює ці дані.</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="371"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="432"/>
<source>Copy existing data</source>
<translation>Копіювати наявні дані</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="414"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="475"/>
<source>Your Heroes III language has been successfully detected.</source>
<translation>Мову вашої гри Heroes III успішно визначено.</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="424"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="485"/>
<source>Automatic detection of language failed. Please select language of your Heroes III copy</source>
<translation>Не вдалося визначити мову гри. Будь ласка, виберіть мову вашої копії Heroes III</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="443"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="504"/>
<source>Heroes III language</source>
<translation>Мова Heroes III</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="486"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="714"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="547"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="863"/>
<source>Back</source>
<translation>Назад</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="524"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="585"/>
<source>Install VCMI Mod Preset</source>
<translation>Встановлення початкових модифікацій VCMI</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="584"/>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="635"/>
<source>Horn of the Abyss</source>
<translation>Horn of the Abyss</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="657"/>
<source>Heroes III Translation</source>
<translation>Переклад Heroes III</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="721"/>
<source>High Definition Support</source>
<translation>Підтримка високих роздільних здатностей</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="743"/>
<source>In The Wake of Gods</source>
<translation>In The Wake of Gods</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="759"/>
<source>Install translation of Heroes III to your language</source>
<translation>Встановити переклад Heroes III на вашу мову</translation>
</message>

View File

@ -48,6 +48,20 @@ void CGeneralTextHandler::detectInstallParameters()
"ukrainian"
} };
if(!CResourceHandler::get("core")->existsResource(ResourceID("DATA/GENRLTXT.TXT", EResType::TEXT)))
{
Settings language = settings.write["session"]["language"];
language->String() = "english";
Settings confidence = settings.write["session"]["languageDeviation"];
confidence->Float() = 1.0;
Settings encoding = settings.write["session"]["encoding"];
encoding->String() = Languages::getLanguageOptions("english").encoding;
return;
}
// load file that will be used for footprint generation
// this is one of the most text-heavy files in game and consists solely from translated texts
auto resource = CResourceHandler::get("core")->load(ResourceID("DATA/GENRLTXT.TXT", EResType::TEXT));
@ -254,7 +268,7 @@ const std::string & CGeneralTextHandler::deserialize(const TextIdentifier & iden
return identifier.get();
}
auto const & entry = stringsLocalizations.at(identifier.get());
const auto & entry = stringsLocalizations.at(identifier.get());
if (!entry.overrideValue.empty())
return entry.overrideValue;
@ -312,7 +326,7 @@ bool CGeneralTextHandler::validateTranslation(const std::string & language, cons
{
bool allPresent = true;
for (auto const & string : stringsLocalizations)
for(const auto & string : stringsLocalizations)
{
if (string.second.modContext != modContext)
continue; // Not our mod
@ -341,7 +355,7 @@ bool CGeneralTextHandler::validateTranslation(const std::string & language, cons
bool allFound = true;
for (auto const & string : config.Struct())
for(const auto & string : config.Struct())
{
if (stringsLocalizations.count(string.first) > 0)
continue;