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
This commit is contained in:
lishaoxia1985 2019-10-29 12:20:27 +08:00 committed by Yair Morgenstern
parent d3ccdc55d5
commit 8af6a5ffa6
7 changed files with 82 additions and 31 deletions

View File

@ -670,7 +670,7 @@
German:"Gespeichert um" German:"Gespeichert um"
Dutch:"Opgeslagen in" Dutch:"Opgeslagen in"
Spanish:"Guardado en" Spanish:"Guardado en"
Simplified_Chinese:"时间" Simplified_Chinese:"存时间"
Portuguese:"Salvo em" Portuguese:"Salvo em"
Korean:"저장 시간" Korean:"저장 시간"
Czech:"Uloženo jako" Czech:"Uloženo jako"
@ -680,7 +680,7 @@
"Load map":{ "Load map":{
Italian:"Carica mappa" Italian:"Carica mappa"
Simplified_Chinese:"载入地图" Simplified_Chinese:"读取地图"
Russian:"Загрузить карту" Russian:"Загрузить карту"
Korean:"지도 불러오기" Korean:"지도 불러오기"
Czech:"Načíst mapu" Czech:"Načíst mapu"
@ -695,7 +695,7 @@
} }
"Upload map":{ "Upload map":{
Simplified_Chinese:"上传" Simplified_Chinese:"上传地图"
Italian:"Carica" Italian:"Carica"
Russian:"Отправить" Russian:"Отправить"
Korean:"업로드" Korean:"업로드"

View File

@ -297,6 +297,10 @@
Czech:"Nepřátelská jednotka [unit] zničila naši jednotku [ourUnit]" 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]":{ "Enemy city [cityName] has destroyed our [ourUnit]":{
Italian:"La città nemica di [cityName] ha distrutto [ourUnit]" Italian:"La città nemica di [cityName] ha distrutto [ourUnit]"
French:"La cité ennemie [cityName] a détruit notre [ourUnit]" French:"La cité ennemie [cityName] a détruit notre [ourUnit]"
@ -419,7 +423,7 @@
German:"Die Zivilisation [civName] wurde besiegt!" German:"Die Zivilisation [civName] wurde besiegt!"
Dutch:"De [civName] beschaving is vernietigt!" //civname has to be an adjective Dutch:"De [civName] beschaving is vernietigt!" //civname has to be an adjective
Spanish:"¡La civilización de [civName] ha sido destruida!" Spanish:"¡La civilización de [civName] ha sido destruida!"
Simplified_Chinese:"文明--[civName]已经灭亡!" Simplified_Chinese:"[civName]文明已经灭亡!"
Portuguese:"A civilização de [civName] foi destruida!" Portuguese:"A civilização de [civName] foi destruida!"
Japanese:"[civName]の文明は破壊されました!", Japanese:"[civName]の文明は破壊されました!",
Czech:"Civilizace [civName] byla zničena!" Czech:"Civilizace [civName] byla zničena!"
@ -429,7 +433,7 @@
Italian:"La Città-Stato di [name] è stata distrutta!" Italian:"La Città-Stato di [name] è stata distrutta!"
French:"La Cité état [name] a été détruite" French:"La Cité état [name] a été détruite"
Russian:"Город-государство [name] был уничтожен!" Russian:"Город-государство [name] был уничтожен!"
Simplified_Chinese:"城邦--[name]已经灭亡!", Simplified_Chinese:"[name]城邦已经灭亡!",
Czech:"Městský stát [name] byl zničen!" Czech:"Městský stát [name] byl zničen!"
} }

View File

@ -620,6 +620,10 @@
Czech:"ZLATÝ VĚK" 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 // 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 "[year] BC":{ // Before Christus
Italian:"[year] a.C." Italian:"[year] a.C."
@ -670,7 +674,7 @@
German:"Spiel speichern" German:"Spiel speichern"
Dutch:"Spel opslaan" Dutch:"Spel opslaan"
Spanish:"Salvar partida" Spanish:"Salvar partida"
Simplified_Chinese:"存游戏" Simplified_Chinese:"存游戏"
Portuguese:"Salvar jogo" Portuguese:"Salvar jogo"
Japanese:"ゲームを保存する" Japanese:"ゲームを保存する"
Czech:"Uložit hru" Czech:"Uložit hru"
@ -1411,17 +1415,8 @@
Czech:"Zdraví města" Czech:"Zdraví města"
} }
"Captured":{ // Shown in the battle table when attacking a civilian unit or a defeated city "Occupied!":{ // Shown in the battle table when attacking a defeated city
Italian:"Cattura" Simplified_Chinese:"可以占领!"
Russian:"Захвачен"
French:"Capturé"
Romanian:"Capturat"
German:"Gefangen"
Dutch:"Gevangen"
Spanish:"Capturada"
Simplified_Chinese:"被占领"
Portuguese:"Capturado(a)"
Czech:"Zajat(a/o)"
} }
"Attack":{ "Attack":{
@ -1443,15 +1438,22 @@
Czech:"Bombardovat" Czech:"Bombardovat"
} }
"Captured!":{ "Captured!":{// Shown in the battle table when attacking a civilian unit
Italian:"Cattura!" Italian:"Cattura!"
Simplified_Chinese:"可被俘虏!" Russian:"Захвачен!"
Czech:"Zajat(a/o)" French:"Capturé!"
Romanian:"Capturat!"
German:"Gefangen!"
Dutch:"Gevangen!"
Spanish:"Capturada!"
Simplified_Chinese:"可以俘虏!"
Portuguese:"Capturado(a)!"
Czech:"Zajat(a/o)!"
} }
"defence vs ranged":{ "defence vs ranged":{
Italian:"difesa contro unità da tiro" Italian:"difesa contro unità da tiro"
Simplified_Chinese:"对方攻击类型为远程" Simplified_Chinese:"对远程攻击防御"
Czech:"obrana v boji na dálku" Czech:"obrana v boji na dálku"
} }
@ -1468,6 +1470,25 @@
Czech:"[percentage] k obraně jednotky" 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 ///////// Unit uniques
@ -2230,7 +2251,8 @@
"Tutorials": { "Tutorials": {
Italian:"Tutorial" Italian:"Tutorial"
"Czech": "Návody" Czech:"Návody"
Simplified_Chinese:"教程"
} }
"Cost":{ "Cost":{
@ -2428,26 +2450,31 @@
"Clear current map":{ "Clear current map":{
Italian:"Ripulisci mappa" Italian:"Ripulisci mappa"
Czech:"Vyčistit mapu" Czech:"Vyčistit mapu"
Simplified_Chinese:"清除当前地图"
} }
"Save map":{ "Save map":{
Italian:"Salva mappa" Italian:"Salva mappa"
Czech:"Uložit mapu" Czech:"Uložit mapu"
Simplified_Chinese:"保存地图"
} }
"Load map":{ "Load map":{
Italian:"Carica mappa" Italian:"Carica mappa"
Czech:"Načíst mapu" Czech:"Načíst mapu"
Simplified_Chinese:"读取地图"
} }
"Download map":{ "Download map":{
Italian:"Scarica mappa" Italian:"Scarica mappa"
Czech:"Stáhnout mapu" Czech:"Stáhnout mapu"
Simplified_Chinese:"下载地图"
} }
"Exit map editor":{ "Exit map editor":{
Italian:"Esci dall'editor" Italian:"Esci dall'editor"
Czech:"Ukončit editování mapy" Czech:"Ukončit editování mapy"
Simplified_Chinese:"退出地图编辑器"
} }
"[nation] starting location":{ "[nation] starting location":{

View File

@ -1787,7 +1787,7 @@
German:"+25% Verteidigung gegen alle Fernangriffe" German:"+25% Verteidigung gegen alle Fernangriffe"
French:"+25% défence contre les attaques à distance" French:"+25% défence contre les attaques à distance"
Russian:"+25% защиты от дальних атак" Russian:"+25% защиты от дальних атак"
Simplified_Chinese:"对战远程单位时+25%防御力" Simplified_Chinese:"遭受远程攻击时+25%防御力"
Czech:"+25% obrany proti útokům na dálku" Czech:"+25% obrany proti útokům na dálku"
} }

View File

@ -321,7 +321,7 @@
"NO!看起来游戏好像出现了灾难性的Bug!", "NO!看起来游戏好像出现了灾难性的Bug!",
"这绝对不应该发生!", "这绝对不应该发生!",
"请将游戏存档信息发送给我,方法如下:", "请将游戏存档信息发送给我,方法如下:",
"依次点击“菜单->存游戏->复制当前游戏数据到剪贴板”将剪贴板的内容通过email发送给我。", "依次点击“菜单->存游戏->复制当前游戏数据到剪贴板”将剪贴板的内容通过email发送给我。",
"我的email地址yairm210@hotmail.com。我会尽快处理!" "我的email地址yairm210@hotmail.com。我会尽快处理!"
] ]
] ]

View File

@ -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 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 = val whatHappenedString =
if (attacker !is CityCombatant && attacker.isDefeated()) " was destroyed while attacking" 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 = val attackerString =
if (attacker.getUnitType() == UnitType.City) "Enemy city [" + attacker.getName() + "]" if (attacker.getUnitType() == UnitType.City) "Enemy city [" + attacker.getName() + "]"
else "An enemy [" + attacker.getName() + "]" else "An enemy [" + attacker.getName() + "]"
val defenderString = 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() + "]" else " our [" + defender.getName() + "]"
val notificationString = attackerString + whatHappenedString + defenderString val notificationString = attackerString + whatHappenedString + defenderString
defender.getCivInfo().addNotification(notificationString, attackedTile.position, Color.RED) defender.getCivInfo().addNotification(notificationString, attackedTile.position, Color.RED)

View File

@ -22,6 +22,7 @@ class BattleTable(val worldScreen: WorldScreen): Table() {
private val battle = Battle(worldScreen.viewingCiv.gameInfo) private val battle = Battle(worldScreen.viewingCiv.gameInfo)
init{ init{
isVisible = false
skin = CameraStageBaseScreen.skin skin = CameraStageBaseScreen.skin
background = ImageGetter.getBackground(ImageGetter.getBlue()) background = ImageGetter.getBackground(ImageGetter.getBlue())
pad(5f) pad(5f)
@ -29,11 +30,13 @@ class BattleTable(val worldScreen: WorldScreen): Table() {
} }
fun hide(){ fun hide(){
isVisible = false
clear() clear()
pack() pack()
} }
fun update() { fun update() {
isVisible = true
val unitTable = worldScreen.bottomUnitTable val unitTable = worldScreen.bottomUnitTable
val attacker : ICombatant? val attacker : ICombatant?
if (unitTable.selectedUnit != null if (unitTable.selectedUnit != null
@ -91,9 +94,19 @@ class BattleTable(val worldScreen: WorldScreen): Table() {
add("{Strength}: ".tr()+attacker.getAttackingStrength()) add("{Strength}: ".tr()+attacker.getAttackingStrength())
add("{Strength}: ".tr()+defender.getDefendingStrength()).row() 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 attackerModifiers =
val defenderModifiers = if (defender is MapUnitCombatant) BattleDamage().getAttackModifiers(attacker,defender).map {
BattleDamage().getDefenceModifiers(attacker, defender).map { it.key.tr()+": "+(if(it.value>0)"+" else "")+(it.value*100).toInt()+"%" } 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() else listOf()
for(i in 0..max(attackerModifiers.size,defenderModifiers.size)){ for(i in 0..max(attackerModifiers.size,defenderModifiers.size)){
@ -128,7 +141,7 @@ class BattleTable(val worldScreen: WorldScreen): Table() {
if(attacker.isMelee() && (defender.getUnitType().isCivilian() if(attacker.isMelee() && (defender.getUnitType().isCivilian()
|| defender.getUnitType()==UnitType.City && defender.isDefeated())) { || defender.getUnitType()==UnitType.City && defender.isDefeated())) {
add("") add("")
add("{Captured!}".tr()) add(if(defender.getUnitType().isCivilian()) "Captured!".tr() else "Occupied!".tr() )
} }