Browse Source

Added validation for mod translations

Ivan Savenko 2 years ago
parent
commit
eeafc48663
3 changed files with 14 additions and 4 deletions
  1. 8 2
      lib/CGeneralTextHandler.cpp
  2. 3 1
      lib/RiverHandler.cpp
  3. 3 1
      lib/RoadHandler.cpp

+ 8 - 2
lib/CGeneralTextHandler.cpp

@@ -428,7 +428,13 @@ bool CGeneralTextHandler::validateTranslation(const std::string & language, cons
 		if (allPresent)
 			logMod->warn("Translation into language '%s' in mod '%s' is incomplete! Missing lines:", language, modContext);
 
-		logMod->warn(R"(    "%s" : "",)", string.first);
+		std::string currentText;
+		if (string.second.overrideValue.empty())
+			currentText = string.second.baseValue;
+		else
+			currentText = string.second.overrideValue;
+
+		logMod->warn(R"(    "%s" : "%s",)", string.first, currentText);
 		allPresent = false;
 	}
 
@@ -442,7 +448,7 @@ bool CGeneralTextHandler::validateTranslation(const std::string & language, cons
 		if (allFound)
 			logMod->warn("Translation into language '%s' in mod '%s' has unused lines:", language, modContext);
 
-		logMod->warn(R"(    "%s" : "",)", string.first);
+		logMod->warn(R"(    "%s" : "%s",)", string.first, string.second.String());
 		allFound = false;
 	}
 

+ 3 - 1
lib/RiverHandler.cpp

@@ -18,6 +18,8 @@ VCMI_LIB_NAMESPACE_BEGIN
 RiverTypeHandler::RiverTypeHandler()
 {
 	objects.push_back(new RiverType);
+
+	VLC->generaltexth->registerString("core", objects[0]->getNameTextID(), "");
 }
 
 RiverType * RiverTypeHandler::loadFromJson(
@@ -74,7 +76,7 @@ std::string RiverType::getNameTranslated() const
 
 RiverType::RiverType():
 	id(River::NO_RIVER),
-	identifier("core:empty")
+	identifier("empty")
 {}
 
 VCMI_LIB_NAMESPACE_END

+ 3 - 1
lib/RoadHandler.cpp

@@ -18,6 +18,8 @@ VCMI_LIB_NAMESPACE_BEGIN
 RoadTypeHandler::RoadTypeHandler()
 {
 	objects.push_back(new RoadType);
+
+	VLC->generaltexth->registerString("core", objects[0]->getNameTextID(), "");
 }
 
 RoadType * RoadTypeHandler::loadFromJson(
@@ -74,7 +76,7 @@ std::string RoadType::getNameTranslated() const
 
 RoadType::RoadType():
 	id(Road::NO_ROAD),
-	identifier("core:empty"),
+	identifier("empty"),
 	movementCost(GameConstants::BASE_MOVEMENT_COST)
 {}
 VCMI_LIB_NAMESPACE_END