mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-27 22:06:05 -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",
|
@ -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