diff --git a/android/assets/jsons/Translations/Other.json b/android/assets/jsons/Translations/Other.json index 8b4cbfcc9f..7900ea8cac 100644 --- a/android/assets/jsons/Translations/Other.json +++ b/android/assets/jsons/Translations/Other.json @@ -262,7 +262,7 @@ Romanian:"Dormi" Simplified_Chinese:"休眠" Portuguese:"Dormir" - German:"Schlafen legen" + German:"Schlafen" French:"Dormir" Japanese:"睡眠" Russian:"Спать" @@ -270,6 +270,10 @@ Spanish:"Dormir" } + "Moving": { + "German": "Bewegen" + } + "Set up":{ // For siege units Italian:"Monta" Russian:"Подготовится" diff --git a/core/src/com/unciv/logic/map/action/BuildLongRoadAction.kt b/core/src/com/unciv/logic/map/action/BuildLongRoadAction.kt index 43d7a06cf4..2fdbcce9c8 100644 --- a/core/src/com/unciv/logic/map/action/BuildLongRoadAction.kt +++ b/core/src/com/unciv/logic/map/action/BuildLongRoadAction.kt @@ -7,7 +7,9 @@ import com.unciv.logic.map.TileInfo class BuildLongRoadAction( mapUnit: MapUnit = MapUnit(), val target: TileInfo = TileInfo() -) : MapUnitAction(mapUnit, "Build Long Road") { +) : MapUnitAction(mapUnit) { + + override fun name(): String = "Build Long Road" override fun shouldStopOnEnemyInSight(): Boolean = true diff --git a/core/src/com/unciv/logic/map/action/MapUnitAction.kt b/core/src/com/unciv/logic/map/action/MapUnitAction.kt index c53ea1b464..fe2d08c2ef 100644 --- a/core/src/com/unciv/logic/map/action/MapUnitAction.kt +++ b/core/src/com/unciv/logic/map/action/MapUnitAction.kt @@ -5,6 +5,7 @@ import com.unciv.logic.map.MapUnit open class MapUnitAction( @Transient var unit: MapUnit = MapUnit() ) { + open fun name(): String = "" /** return true if this action is possible in the given conditions */ open fun isAvailable(): Boolean = true open fun doPreTurnAction() {} diff --git a/core/src/com/unciv/logic/map/action/StringAction.kt b/core/src/com/unciv/logic/map/action/StringAction.kt index 17f60dd1ef..08b767f323 100644 --- a/core/src/com/unciv/logic/map/action/StringAction.kt +++ b/core/src/com/unciv/logic/map/action/StringAction.kt @@ -11,8 +11,17 @@ import com.unciv.logic.map.MapUnit class StringAction( unit: MapUnit = MapUnit(), val action: String = "" // traditional string-encoded action like "moveTo x,y" -): MapUnitAction(unit) { +) : MapUnitAction(unit) { override fun shouldStopOnEnemyInSight(): Boolean = action.startsWith("moveTo") + override fun name(): String { + return when { + // translate string-encoded actions to user-readable names + action.startsWith("moveTo") -> "Moving" + else -> action + } + } + + } \ No newline at end of file diff --git a/core/src/com/unciv/ui/EmpireOverviewScreen.kt b/core/src/com/unciv/ui/EmpireOverviewScreen.kt index ebb62ac25a..f456f35324 100644 --- a/core/src/com/unciv/ui/EmpireOverviewScreen.kt +++ b/core/src/com/unciv/ui/EmpireOverviewScreen.kt @@ -104,7 +104,7 @@ class EmpireOverviewScreen : CameraStageBaseScreen(){ generalTable.add(createOffersTable(otherCiv, trade.theirOffers, trade.ourOffers.size)) return generalTable } - + private fun createOffersTable(civ: CivilizationInfo, offersList: TradeOffersList, numberOfOtherSidesOffers: Int): Table { val table = Table() table.defaults().pad(10f) @@ -256,6 +256,7 @@ class EmpireOverviewScreen : CameraStageBaseScreen(){ fun getUnitTable(): Table { val table=Table(skin).apply { defaults().pad(5f) } table.add("Name".tr()) + table.add("Action".tr()) table.add("Strength".tr()) table.add("Ranged strength".tr()) table.add("Movement".tr()) @@ -267,6 +268,7 @@ class EmpireOverviewScreen : CameraStageBaseScreen(){ for(unit in currentPlayerCivInfo.getCivUnits()){ val baseUnit = unit.baseUnit() table.add(unit.name.tr()) + unit.mapUnitAction?.let { table.add(it.name().tr()) } ?: table.add() if(baseUnit.strength>0) table.add(baseUnit.strength.toString()) else table.add() if(baseUnit.rangedStrength>0) table.add(baseUnit.rangedStrength.toString()) else table.add() table.add(DecimalFormat("0.#").format(unit.currentMovement)+"/"+unit.getMaxMovement())