From 8af6a5ffa668b8e03bff1c4a647198c66d63eac2 Mon Sep 17 00:00:00 2001 From: lishaoxia1985 <49801619+lishaoxia1985@users.noreply.github.com> Date: Tue, 29 Oct 2019 12:20:27 +0800 Subject: [PATCH] update translation (#1247) * update * update * update * update * update * update * update * range extension * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update --- .../NewGame,SaveGame,LoadGame,Options.json | 6 +- .../jsons/Translations/Notifications.json | 8 ++- android/assets/jsons/Translations/Other.json | 61 +++++++++++++------ .../jsons/Translations/Units,Promotions.json | 2 +- .../Tutorials_Simplified_Chinese.json | 2 +- core/src/com/unciv/logic/battle/Battle.kt | 11 +++- .../ui/worldscreen/bottombar/BattleTable.kt | 23 +++++-- 7 files changed, 82 insertions(+), 31 deletions(-) diff --git a/android/assets/jsons/Translations/NewGame,SaveGame,LoadGame,Options.json b/android/assets/jsons/Translations/NewGame,SaveGame,LoadGame,Options.json index 6fe4f8e012..50c536ff3f 100644 --- a/android/assets/jsons/Translations/NewGame,SaveGame,LoadGame,Options.json +++ b/android/assets/jsons/Translations/NewGame,SaveGame,LoadGame,Options.json @@ -670,7 +670,7 @@ German:"Gespeichert um" Dutch:"Opgeslagen in" Spanish:"Guardado en" - Simplified_Chinese:"存储时间" + Simplified_Chinese:"保存时间" Portuguese:"Salvo em" Korean:"저장 시간" Czech:"Uloženo jako" @@ -680,7 +680,7 @@ "Load map":{ Italian:"Carica mappa" - Simplified_Chinese:"载入地图" + Simplified_Chinese:"读取地图" Russian:"Загрузить карту" Korean:"지도 불러오기" Czech:"Načíst mapu" @@ -695,7 +695,7 @@ } "Upload map":{ - Simplified_Chinese:"上传" + Simplified_Chinese:"上传地图" Italian:"Carica" Russian:"Отправить" Korean:"업로드" diff --git a/android/assets/jsons/Translations/Notifications.json b/android/assets/jsons/Translations/Notifications.json index 42e0fb96dd..d7ffec9be0 100644 --- a/android/assets/jsons/Translations/Notifications.json +++ b/android/assets/jsons/Translations/Notifications.json @@ -297,6 +297,10 @@ Czech:"Nepřátelská jednotka [unit] zničila naši jednotku [ourUnit]" } + "An enemy [RangedUnit] has destroyed the defence of [cityname]":{// When Ranged Unit's attack reduces the City's health to 1. + Simplified_Chinese:"敌方的[RangedUnit]摧毁了[cityname]的防御" + } + "Enemy city [cityName] has destroyed our [ourUnit]":{ Italian:"La città nemica di [cityName] ha distrutto [ourUnit]" French:"La cité ennemie [cityName] a détruit notre [ourUnit]" @@ -419,7 +423,7 @@ German:"Die Zivilisation [civName] wurde besiegt!" Dutch:"De [civName] beschaving is vernietigt!" //civname has to be an adjective Spanish:"¡La civilización de [civName] ha sido destruida!" - Simplified_Chinese:"文明--[civName]已经灭亡!" + Simplified_Chinese:"[civName]文明已经灭亡!" Portuguese:"A civilização de [civName] foi destruida!" Japanese:"[civName]の文明は破壊されました!", Czech:"Civilizace [civName] byla zničena!" @@ -429,7 +433,7 @@ Italian:"La Città-Stato di [name] è stata distrutta!" French:"La Cité état [name] a été détruite" Russian:"Город-государство [name] был уничтожен!" - Simplified_Chinese:"城邦--[name]已经灭亡!", + Simplified_Chinese:"[name]城邦已经灭亡!", Czech:"Městský stát [name] byl zničen!" } diff --git a/android/assets/jsons/Translations/Other.json b/android/assets/jsons/Translations/Other.json index bfcb571102..4c7b7a49f0 100644 --- a/android/assets/jsons/Translations/Other.json +++ b/android/assets/jsons/Translations/Other.json @@ -620,6 +620,10 @@ Czech:"ZLATÝ VĚK" } + "Golden Age":{ + Simplified_Chinese:"黄金时代" +} + // You don't have to translate this is it's good for your language, but some languages have their own display "[year] BC":{ // Before Christus Italian:"[year] a.C." @@ -670,7 +674,7 @@ German:"Spiel speichern" Dutch:"Spel opslaan" Spanish:"Salvar partida" - Simplified_Chinese:"储存游戏" + Simplified_Chinese:"保存游戏" Portuguese:"Salvar jogo" Japanese:"ゲームを保存する" Czech:"Uložit hru" @@ -1411,17 +1415,8 @@ Czech:"Zdraví města" } - "Captured":{ // Shown in the battle table when attacking a civilian unit or a defeated city - Italian:"Cattura" - Russian:"Захвачен" - French:"Capturé" - Romanian:"Capturat" - German:"Gefangen" - Dutch:"Gevangen" - Spanish:"Capturada" - Simplified_Chinese:"被占领" - Portuguese:"Capturado(a)" - Czech:"Zajat(a/o)" + "Occupied!":{ // Shown in the battle table when attacking a defeated city + Simplified_Chinese:"可以占领!" } "Attack":{ @@ -1443,15 +1438,22 @@ Czech:"Bombardovat" } - "Captured!":{ + "Captured!":{// Shown in the battle table when attacking a civilian unit Italian:"Cattura!" - Simplified_Chinese:"可被俘虏!" - Czech:"Zajat(a/o)" + Russian:"Захвачен!" + French:"Capturé!" + Romanian:"Capturat!" + German:"Gefangen!" + Dutch:"Gevangen!" + Spanish:"Capturada!" + Simplified_Chinese:"可以俘虏!" + Portuguese:"Capturado(a)!" + Czech:"Zajat(a/o)!" } "defence vs ranged":{ Italian:"difesa contro unità da tiro" - Simplified_Chinese:"对方攻击类型为远程" + Simplified_Chinese:"对远程攻击防御" Czech:"obrana v boji na dálku" } @@ -1468,6 +1470,25 @@ Czech:"[percentage] k obraně jednotky" } + "Attacker Bonus":{ + Simplified_Chinese:"主动发起攻击" +} + + "Landing":{ + Simplified_Chinese:"登陆作战" +} + + "Flanking":{ + Simplified_Chinese:"侧翼夹击" +} + + "vs [unitType]":{ + Simplified_Chinese:"对战[unitType]" +} + + "Terrain":{ + Simplified_Chinese:"地形修正" +} ///////// Unit uniques @@ -2230,7 +2251,8 @@ "Tutorials": { Italian:"Tutorial" - "Czech": "Návody" + Czech:"Návody" + Simplified_Chinese:"教程" } "Cost":{ @@ -2428,26 +2450,31 @@ "Clear current map":{ Italian:"Ripulisci mappa" Czech:"Vyčistit mapu" + Simplified_Chinese:"清除当前地图" } "Save map":{ Italian:"Salva mappa" Czech:"Uložit mapu" + Simplified_Chinese:"保存地图" } "Load map":{ Italian:"Carica mappa" Czech:"Načíst mapu" + Simplified_Chinese:"读取地图" } "Download map":{ Italian:"Scarica mappa" Czech:"Stáhnout mapu" + Simplified_Chinese:"下载地图" } "Exit map editor":{ Italian:"Esci dall'editor" Czech:"Ukončit editování mapy" + Simplified_Chinese:"退出地图编辑器" } "[nation] starting location":{ diff --git a/android/assets/jsons/Translations/Units,Promotions.json b/android/assets/jsons/Translations/Units,Promotions.json index 9f3bafd425..7b2ef1feef 100644 --- a/android/assets/jsons/Translations/Units,Promotions.json +++ b/android/assets/jsons/Translations/Units,Promotions.json @@ -1787,7 +1787,7 @@ German:"+25% Verteidigung gegen alle Fernangriffe" French:"+25% défence contre les attaques à distance" Russian:"+25% защиты от дальних атак" - Simplified_Chinese:"对战远程单位时+25%防御力" + Simplified_Chinese:"遭受远程攻击时+25%防御力" Czech:"+25% obrany proti útokům na dálku" } diff --git a/android/assets/jsons/Tutorials/Tutorials_Simplified_Chinese.json b/android/assets/jsons/Tutorials/Tutorials_Simplified_Chinese.json index 41406b5a3b..7ef7bbf9db 100644 --- a/android/assets/jsons/Tutorials/Tutorials_Simplified_Chinese.json +++ b/android/assets/jsons/Tutorials/Tutorials_Simplified_Chinese.json @@ -321,7 +321,7 @@ "NO!看起来游戏好像出现了灾难性的Bug!", "这绝对不应该发生!", "请将游戏存档信息发送给我,方法如下:", - "依次点击“菜单->储存游戏->复制当前游戏数据到剪贴板”,将剪贴板的内容通过email发送给我。", + "依次点击“菜单->保存游戏->复制当前游戏数据到剪贴板”,将剪贴板的内容通过email发送给我。", "我的email地址:yairm210@hotmail.com。我会尽快处理!" ] ] diff --git a/core/src/com/unciv/logic/battle/Battle.kt b/core/src/com/unciv/logic/battle/Battle.kt index 2fe5ce1fb8..769663d74b 100644 --- a/core/src/com/unciv/logic/battle/Battle.kt +++ b/core/src/com/unciv/logic/battle/Battle.kt @@ -101,12 +101,19 @@ class Battle(val gameInfo:GameInfo) { if (attacker.getCivInfo() != defender.getCivInfo()) { // If what happened was that a civilian unit was captures, that's dealt with in the CaptureCilvilianUnit function val whatHappenedString = if (attacker !is CityCombatant && attacker.isDefeated()) " was destroyed while attacking" - else " has " + (if (defender.isDefeated()) "destroyed" else "attacked") + else " has " + ( + if (defender.isDefeated()) + if (defender.getUnitType() == UnitType.City && attacker.isMelee()) + "captured" + else "destroyed" + else "attacked") val attackerString = if (attacker.getUnitType() == UnitType.City) "Enemy city [" + attacker.getName() + "]" else "An enemy [" + attacker.getName() + "]" val defenderString = - if (defender.getUnitType() == UnitType.City) " [" + defender.getName() + "]" + if (defender.getUnitType() == UnitType.City) + if (defender.isDefeated() && attacker.isRanged()) " the defence of [" + defender.getName() + "]" + else " [" + defender.getName() + "]" else " our [" + defender.getName() + "]" val notificationString = attackerString + whatHappenedString + defenderString defender.getCivInfo().addNotification(notificationString, attackedTile.position, Color.RED) diff --git a/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt b/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt index 3da46c3601..d4d1bc98fd 100644 --- a/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt +++ b/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt @@ -22,6 +22,7 @@ class BattleTable(val worldScreen: WorldScreen): Table() { private val battle = Battle(worldScreen.viewingCiv.gameInfo) init{ + isVisible = false skin = CameraStageBaseScreen.skin background = ImageGetter.getBackground(ImageGetter.getBlue()) pad(5f) @@ -29,11 +30,13 @@ class BattleTable(val worldScreen: WorldScreen): Table() { } fun hide(){ + isVisible = false clear() pack() } fun update() { + isVisible = true val unitTable = worldScreen.bottomUnitTable val attacker : ICombatant? if (unitTable.selectedUnit != null @@ -91,10 +94,20 @@ class BattleTable(val worldScreen: WorldScreen): Table() { add("{Strength}: ".tr()+attacker.getAttackingStrength()) add("{Strength}: ".tr()+defender.getDefendingStrength()).row() - val attackerModifiers = BattleDamage().getAttackModifiers(attacker,defender) .map { it.key.tr()+": "+(if(it.value>0)"+" else "")+(it.value*100).toInt()+"%" } - val defenderModifiers = if (defender is MapUnitCombatant) - BattleDamage().getDefenceModifiers(attacker, defender).map { it.key.tr()+": "+(if(it.value>0)"+" else "")+(it.value*100).toInt()+"%" } - else listOf() + val attackerModifiers = + BattleDamage().getAttackModifiers(attacker,defender).map { + val description = if(it.key.startsWith("vs ")) ("vs ["+it.key.replace("vs ","")+"]").tr() else it.key.tr() + val percentage = (if(it.value>0)"+" else "")+(it.value*100).toInt()+"%" + "$description: $percentage" + } + val defenderModifiers = + if (defender is MapUnitCombatant) + BattleDamage().getDefenceModifiers(attacker, defender).map { + val description = if(it.key.startsWith("vs ")) ("vs ["+it.key.replace("vs ","")+"]").tr() else it.key.tr() + val percentage = (if(it.value>0)"+" else "")+(it.value*100).toInt()+"%" + "$description: $percentage" + } + else listOf() for(i in 0..max(attackerModifiers.size,defenderModifiers.size)){ if (attackerModifiers.size > i) add(attackerModifiers[i]).actor.setFontSize(14) else add() @@ -128,7 +141,7 @@ class BattleTable(val worldScreen: WorldScreen): Table() { if(attacker.isMelee() && (defender.getUnitType().isCivilian() || defender.getUnitType()==UnitType.City && defender.isDefeated())) { add("") - add("{Captured!}".tr()) + add(if(defender.getUnitType().isCivilian()) "Captured!".tr() else "Occupied!".tr() ) }