mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-27 13:55:54 -04:00
Civilopedia now displays Basic Help per-language
Fixed problems with Italian translation files Fixed a couple of errors moving to the next turn with the current construction method
This commit is contained in:
parent
849b150440
commit
47dbd69c96
@ -1,7 +1,7 @@
|
||||
[
|
||||
{
|
||||
name:"Città",
|
||||
description: "Le città sono le basi di un impero. Ogni città possiede un certo numero di abitanti e caselle, e può sfruttare una casella ad ogni abitante.\nLa casella centrale di una città è sempre sfruttata e non richiede abitanti.\È possibile fondare nuove città con i Coloni.\nOgni città nel tuo impero rimuove 3 punti Felicità dall'impero, e ogni abitante un punto felicità, quindi pianifica con cautela!"
|
||||
description: "Le città sono le basi di un impero. Ogni città possiede un certo numero di abitanti e caselle, e può sfruttare una casella ad ogni abitante.\nLa casella centrale di una città è sempre sfruttata e non richiede abitanti.\nÈ possibile fondare nuove città con i Coloni.\nOgni città nel tuo impero rimuove 3 punti Felicità dall'impero, e ogni abitante un punto felicità, quindi pianifica con cautela!"
|
||||
},
|
||||
{
|
||||
name:"Caselle",
|
||||
@ -22,11 +22,11 @@
|
||||
{
|
||||
name:"Produzione",
|
||||
description: "Un altra risorsa base, la Produzione si usa per costruire strutture e reclutare unità nella città.\r\nOgni abitante a riposo (cioè che non sta sfruttando una casella) produce un punto Popolazione."
|
||||
},
|
||||
},
|
||||
{
|
||||
name:"Scienza",
|
||||
description: "Un'altra risorsa base. Rappresenta l'avanzamento scientifico del tuo impero.\nOgni tecnologia richiede una certa quantità di Scienza, che incrementa col numero di tecnologie scoperte.\nOgni abitante produce 1 punto Scienza."
|
||||
},
|
||||
},
|
||||
{
|
||||
name:"Gold",
|
||||
description: "Un'altra risorsa base. Rappresenta la ricchezza dell'imperp.\nLa maggior parte degli edifici hanno costi di mantenimento, che richiedono oro per turno.\nAd ogni turno in cui ti trovi in deficit di Oro, perdi punti Scienza uguali al tuo debito, il che può arrestare del tutto le tue ricerche!\nLe città connesse alla capitale tramite le strade generano oro dalle rotte commerciali, quindi ti conviene collegare grandi città alla capitale!"
|
@ -6258,7 +6258,7 @@
|
||||
|
||||
// Social policies
|
||||
"Requires":{
|
||||
Italian:"Politiche sociali"//is some kind of mistake, seems to translate "social policies"
|
||||
Italian:"Richiede"
|
||||
Russian:"Требует"
|
||||
French:"Requiert"
|
||||
Romanian:"necesită"
|
||||
@ -6267,6 +6267,7 @@
|
||||
Portuguese:"Requer"
|
||||
German:"Benötigt"
|
||||
}
|
||||
|
||||
"Adopt policy":{
|
||||
Italian:"Adotta politica"
|
||||
Russian:"Принять общественный институт"
|
||||
@ -7457,6 +7458,13 @@
|
||||
}
|
||||
|
||||
// Unit Promotions
|
||||
"Pick promotion":{
|
||||
|
||||
}
|
||||
|
||||
" OR ":{ // as in "Requires Accuracy I OR Barrage I
|
||||
}
|
||||
|
||||
"Accuracy I":{
|
||||
Italian:"Precisione I"
|
||||
}
|
||||
|
@ -221,7 +221,7 @@
|
||||
"Hai ottenuto la tua prima risorsa strategica!",
|
||||
"Le risorse strategiche ti permettono di addestrare unità e costruire edifici",
|
||||
" che richiedono tali risorse specifiche (ad esempio, lo Spadaccino richiede Ferro)."
|
||||
"Ogni unità "consuma" una copia di quella risorsa, ma se quell'unità muore recuperi quella "copia" della risorsa, ",
|
||||
"Ogni unità 'consuma' una copia di quella risorsa, ma se quell'unità muore recuperi quella 'copia' della risorsa, ",
|
||||
" e puoi quindi costruire una nuova unità con quella risorsa ora non utilizzata.",
|
||||
"La barra superiore tiene conto di quante risorse strategiche non usate possiedi."
|
||||
]
|
@ -122,8 +122,11 @@ class CityConstructions {
|
||||
|
||||
fun constructIfEnough(){
|
||||
val construction = getConstruction(currentConstruction)
|
||||
if(construction is SpecialConstruction) return
|
||||
|
||||
val productionCost = construction.getProductionCost(cityInfo.civInfo.policies.adoptedPolicies)
|
||||
if (inProgressConstructions[currentConstruction]!! >= productionCost) {
|
||||
if (inProgressConstructions.containsKey(currentConstruction)
|
||||
&& inProgressConstructions[currentConstruction]!! >= productionCost) {
|
||||
constructionComplete(construction)
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,6 @@ object GameBasics {
|
||||
val TileResources = LinkedHashMap<String, TileResource>()
|
||||
val TileImprovements = LinkedHashMap<String, TileImprovement>()
|
||||
val Technologies = LinkedHashMap<String, Technology>()
|
||||
val Helps = LinkedHashMap<String, BasicHelp>()
|
||||
val Units = LinkedHashMap<String, BaseUnit>()
|
||||
val UnitPromotions = LinkedHashMap<String, Promotion>()
|
||||
val Nations = LinkedHashMap<String, Nation>()
|
||||
@ -31,7 +30,7 @@ object GameBasics {
|
||||
return Json().apply { ignoreUnknownFields=true }.fromJson(tClass, jsonText)
|
||||
}
|
||||
|
||||
private fun <T : INamed> createHashmap(items: Array<T>): LinkedHashMap<String, T> {
|
||||
fun <T : INamed> createHashmap(items: Array<T>): LinkedHashMap<String, T> {
|
||||
val hashMap = LinkedHashMap<String, T>()
|
||||
for (item in items)
|
||||
hashMap[item.name] = item
|
||||
@ -43,7 +42,6 @@ object GameBasics {
|
||||
Terrains += createHashmap(getFromJson(Array<Terrain>::class.java, "Terrains"))
|
||||
TileResources += createHashmap(getFromJson(Array<TileResource>::class.java, "TileResources"))
|
||||
TileImprovements += createHashmap(getFromJson(Array<TileImprovement>::class.java, "TileImprovements"))
|
||||
Helps += createHashmap(getFromJson(Array<BasicHelp>::class.java, "BasicHelp"))
|
||||
Units += createHashmap(getFromJson(Array<BaseUnit>::class.java, "Units"))
|
||||
UnitPromotions += createHashmap(getFromJson(Array<Promotion>::class.java, "UnitPromotions"))
|
||||
PolicyBranches += createHashmap(getFromJson(Array<PolicyBranch>::class.java, "Policies"))
|
||||
|
@ -1,10 +1,12 @@
|
||||
package com.unciv.ui
|
||||
|
||||
import com.badlogic.gdx.Gdx
|
||||
import com.badlogic.gdx.graphics.Color
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.*
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.List
|
||||
import com.badlogic.gdx.utils.Array
|
||||
import com.unciv.UnCivGame
|
||||
import com.unciv.models.gamebasics.BasicHelp
|
||||
import com.unciv.models.gamebasics.GameBasics
|
||||
import com.unciv.models.gamebasics.ICivilopedia
|
||||
import com.unciv.ui.utils.CameraStageBaseScreen
|
||||
@ -36,7 +38,11 @@ class CivilopediaScreen : CameraStageBaseScreen() {
|
||||
|
||||
val map = LinkedHashMap<String, Collection<ICivilopedia>>()
|
||||
|
||||
map["Basics"] = GameBasics.Helps.values
|
||||
val language = UnCivGame.Current.settings.language
|
||||
val basicHelpFileName = if(Gdx.files.internal("jsons/BasicHelp_$language.json").exists())"BasicHelp_$language"
|
||||
else "BasicHelp"
|
||||
|
||||
map["Basics"] = GameBasics.getFromJson(kotlin.Array<BasicHelp>::class.java, basicHelpFileName).toList()
|
||||
map["Buildings"] = GameBasics.Buildings.values
|
||||
map["Resources"] = GameBasics.TileResources.values
|
||||
map["Terrains"] = GameBasics.Terrains.values
|
||||
|
@ -87,7 +87,7 @@ class PolicyPickerScreen(internal val civInfo: CivilizationInfo) : PickerScreen(
|
||||
if(policy.requires!!.isNotEmpty())
|
||||
policyText += "{Requires} ".tr() + policy.requires!!.joinToString { it.tr() }
|
||||
else
|
||||
policyText += "{Unlocked at} ".tr()+(policy.getBranch().era.toString()+" era").tr()
|
||||
policyText += ("{Unlocked at} {"+policy.getBranch().era.toString()+" era}").tr()
|
||||
}
|
||||
descriptionLabel.setText(policyText)
|
||||
}
|
||||
|
@ -6,6 +6,8 @@ import com.badlogic.gdx.scenes.scene2d.ui.VerticalGroup
|
||||
import com.unciv.UnCivGame
|
||||
import com.unciv.logic.map.MapUnit
|
||||
import com.unciv.models.gamebasics.GameBasics
|
||||
import com.unciv.models.gamebasics.Translations
|
||||
import com.unciv.models.gamebasics.tr
|
||||
import com.unciv.models.gamebasics.unit.Promotion
|
||||
import com.unciv.ui.utils.*
|
||||
|
||||
@ -16,7 +18,7 @@ class PromotionPickerScreen(mapUnit: MapUnit) : PickerScreen() {
|
||||
init {
|
||||
onBackButtonClicked { UnCivGame.Current.setWorldScreen(); dispose() }
|
||||
setDefaultCloseAction()
|
||||
rightSideButton.setText("Pick promotion")
|
||||
rightSideButton.setText("Pick promotion".tr())
|
||||
rightSideButton.onClick("promote") {
|
||||
mapUnit.promotions.addPromotion(selectedPromotion!!.name)
|
||||
if(mapUnit.promotions.canBePromoted()) game.screen = PromotionPickerScreen(mapUnit)
|
||||
@ -42,13 +44,16 @@ class PromotionPickerScreen(mapUnit: MapUnit) : PickerScreen() {
|
||||
|
||||
promotionButton.onClick {
|
||||
selectedPromotion = promotion
|
||||
rightSideButton.setText(promotion.name)
|
||||
rightSideButton.setText(promotion.name.tr())
|
||||
if(isPromotionAvailable && !unitHasPromotion) rightSideButton.enable()
|
||||
else rightSideButton.disable()
|
||||
var descriptionText = promotion.effect
|
||||
if(promotion.prerequisites.isNotEmpty()) descriptionText +="\nRequires: "+
|
||||
|
||||
// we translate it before it goes in to get uniques like "vs units in rough terrain" and after to get "vs city
|
||||
var descriptionText = Translations.translateBonusOrPenalty(promotion.effect.tr())
|
||||
|
||||
if(promotion.prerequisites.isNotEmpty()) descriptionText +="\n{Requires}: ".tr()+
|
||||
promotion.prerequisites.filter { promotionsForUnitType.any { promotion -> promotion.name==it } }
|
||||
.joinToString(" OR ")
|
||||
.joinToString(" OR ".tr())
|
||||
descriptionLabel.setText(descriptionText)
|
||||
}
|
||||
availablePromotionsGroup.addActor(promotionButton)
|
||||
|
Loading…
x
Reference in New Issue
Block a user