133 lines
7.9 KiB
C++
Executable File
133 lines
7.9 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Convert DSS enumerations to translatable strings
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
|
|
|
|
#include "pdm_to_string.h"
|
|
#include "pdm_translation.h"
|
|
#include <QtCore/QCoreApplication>
|
|
|
|
namespace ProjectDataManagement
|
|
{
|
|
//
|
|
// VulnerabilityState + VulnerabilityClass
|
|
//
|
|
static QString toStringBuilding(VulnerabilityState vs)
|
|
{
|
|
switch (vs)
|
|
{
|
|
#ifdef ETS_MODE
|
|
case VulnerabilityState::VulnerabilityState_CombatReady: return QCoreApplication::translate("ProjectDataManagement", "Ready", "VulnerabilityStateBuilding");
|
|
case VulnerabilityState::VulnerabilityState_CatastrophicKill: return QCoreApplication::translate("ProjectDataManagement", "Damaged", "VulnerabilityStateBuilding");
|
|
#else
|
|
case VulnerabilityState::VulnerabilityState_CombatReady: return QCoreApplication::translate("ProjectDataManagement", "Combat Ready", "VulnerabilityStateBuilding");
|
|
case VulnerabilityState::VulnerabilityState_CatastrophicKill: return QCoreApplication::translate("ProjectDataManagement", "CatastrophicKill", "VulnerabilityStateBuilding");
|
|
#endif
|
|
default: break;
|
|
}
|
|
return QCoreApplication::translate("ProjectDataManagement", "Unknown (%1)", "VulnerabilityState").arg(static_cast<int>(vs));
|
|
}
|
|
|
|
static QString toStringVehicle(VulnerabilityState vs)
|
|
{
|
|
switch (vs)
|
|
{
|
|
#ifdef ETS_MODE
|
|
case VulnerabilityState::VulnerabilityState_CombatReady: return QCoreApplication::translate("ProjectDataManagement", "Ready / OK", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_LightDamage: return QCoreApplication::translate("ProjectDataManagement", "Communication Damage", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_HeavyDamage: return QCoreApplication::translate("ProjectDataManagement", "Main Function Damage", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_MobilityKill: return QCoreApplication::translate("ProjectDataManagement", "Mobility Lost", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_CatastrophicKill: return QCoreApplication::translate("ProjectDataManagement", "Fully Damaged", "VulnerabilityStateVehicle");
|
|
default:
|
|
break;
|
|
#else
|
|
case VulnerabilityState::VulnerabilityState_LightDamage: return QCoreApplication::translate("ProjectDataManagement", "Comms Damaged", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_MediumDamage: return QCoreApplication::translate("ProjectDataManagement", "Veh Body Damaged", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_HeavyDamage: return QCoreApplication::translate("ProjectDataManagement", "Main Funct Damaged", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_MobilityKill: return QCoreApplication::translate("ProjectDataManagement", "Mobility Kill", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_VisibleMobilityKill: return QCoreApplication::translate("ProjectDataManagement", "Visible Mobility Kill", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_WeaponSystemDamage: return QCoreApplication::translate("ProjectDataManagement", "Wpn / Turret Damaged", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_VisibleWeaponSystemDamage: return QCoreApplication::translate("ProjectDataManagement", "Visible Wpn / Turret Damaged", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_CatastrophicKill: return QCoreApplication::translate("ProjectDataManagement", "Catastrophic Kill", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_CombatReady:
|
|
case VulnerabilityState::VulnerabilityState_NoChange:
|
|
case VulnerabilityState::VulnerabilityState_TemporarySeverance:
|
|
case VulnerabilityState::VulnerabilityState_NearMiss:
|
|
case VulnerabilityState::VulnerabilityState_HitWithNoEffect:
|
|
case VulnerabilityState::VulnerabilityState_VulnerabilityBitsChanged:
|
|
case VulnerabilityState::VulnerabilityState_NContamination:
|
|
case VulnerabilityState::VulnerabilityState_BContamination:
|
|
case VulnerabilityState::VulnerabilityState_CContamination:
|
|
case VulnerabilityState::VulnerabilityState_NotReady: // Internal
|
|
case VulnerabilityState::VulnerabilityState_Reserved: // Internal
|
|
break; // use common translation from toString()
|
|
#endif
|
|
}
|
|
// Fallback
|
|
return toString(vs);
|
|
}
|
|
|
|
static QString toStringSoldier(VulnerabilityState vs)
|
|
{
|
|
switch (vs)
|
|
{
|
|
#ifdef ETS_MODE
|
|
case VulnerabilityState::VulnerabilityState_CombatReady: return QCoreApplication::translate("ProjectDataManagement", "Ready / OK", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_LightDamage: return QCoreApplication::translate("ProjectDataManagement", "lightly injured", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_MediumDamage: return QCoreApplication::translate("ProjectDataManagement", "moderatly injured", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_HeavyDamage: return QCoreApplication::translate("ProjectDataManagement", "seriously injured", "VulnerabilityStateVehicle");
|
|
case VulnerabilityState::VulnerabilityState_CatastrophicKill: return QCoreApplication::translate("ProjectDataManagement", "dead", "VulnerabilityStateVehicle");
|
|
default:
|
|
break;
|
|
#else
|
|
case VulnerabilityState::VulnerabilityState_LightDamage: return QCoreApplication::translate("ProjectDataManagement", "Wounded Walking", "VulnerabilityStateSoldier");
|
|
case VulnerabilityState::VulnerabilityState_MediumDamage: return QCoreApplication::translate("ProjectDataManagement", "Wounded Sitting", "VulnerabilityStateSoldier");
|
|
case VulnerabilityState::VulnerabilityState_HeavyDamage: return QCoreApplication::translate("ProjectDataManagement", "Wounded Laying", "VulnerabilityStateSoldier");
|
|
case VulnerabilityState::VulnerabilityState_CatastrophicKill: return QCoreApplication::translate("ProjectDataManagement", "Catastrophic Kill / Killed", "VulnerabilityStateSoldier");
|
|
case VulnerabilityState::VulnerabilityState_WeaponSystemDamage: return QCoreApplication::translate("ProjectDataManagement", "Weapon Damage", "VulnerabilityStateSoldier");
|
|
case VulnerabilityState::VulnerabilityState_VisibleWeaponSystemDamage: return QCoreApplication::translate("ProjectDataManagement", "Visible Weapon Damage", "VulnerabilityStateSoldier");
|
|
case VulnerabilityState::VulnerabilityState_CombatReady:
|
|
case VulnerabilityState::VulnerabilityState_TemporarySeverance:
|
|
case VulnerabilityState::VulnerabilityState_NearMiss:
|
|
case VulnerabilityState::VulnerabilityState_HitWithNoEffect:
|
|
case VulnerabilityState::VulnerabilityState_VulnerabilityBitsChanged:
|
|
case VulnerabilityState::VulnerabilityState_NContamination:
|
|
case VulnerabilityState::VulnerabilityState_BContamination:
|
|
case VulnerabilityState::VulnerabilityState_CContamination:
|
|
case VulnerabilityState::VulnerabilityState_NoChange:
|
|
break; // use common translation from toString()
|
|
// those should not happen ...
|
|
case VulnerabilityState::VulnerabilityState_MobilityKill:
|
|
case VulnerabilityState::VulnerabilityState_VisibleMobilityKill:
|
|
case VulnerabilityState::VulnerabilityState_NotReady: // Internal
|
|
case VulnerabilityState::VulnerabilityState_Reserved: // Internal
|
|
break;
|
|
#endif
|
|
}
|
|
return toString(vs);
|
|
}
|
|
|
|
QString toString(VulnerabilityState vs, VulnerabilityClass vc)
|
|
{
|
|
switch (vc)
|
|
{
|
|
case VulnerabilityClass::VulnerabilityClass_Unknown:
|
|
case VulnerabilityClass::VulnerabilityClass_WtdDamages:
|
|
case VulnerabilityClass::VulnerabilityClass_WtdInjuries:
|
|
return toString(vs);
|
|
case VulnerabilityClass::VulnerabilityClass_BuildingDamages:
|
|
return toStringBuilding(vs);
|
|
case VulnerabilityClass::VulnerabilityClass_VehicleDamages:
|
|
return toStringVehicle(vs);
|
|
case VulnerabilityClass::VulnerabilityClass_SoldierInjuries:
|
|
return toStringSoldier(vs);
|
|
}
|
|
return QCoreApplication::translate("ProjectDataManagement", "Unknown (%1)", "VulnerabilityState").arg(static_cast<int>(vs));
|
|
}
|
|
|
|
} // namespace ProjectDataManagement
|