Organized json files, split translation file into several smaller files for organizational purposes

This commit is contained in:
Yair Morgenstern
2019-05-07 21:59:34 +03:00
parent 65ed67af61
commit 9ab02c8d22
21 changed files with 9838 additions and 9877 deletions

View File

@ -23,7 +23,7 @@ object GameBasics {
val Nations = LinkedHashMap<String, Nation>()
val PolicyBranches = LinkedHashMap<String, PolicyBranch>()
val Difficulties = LinkedHashMap<String, Difficulty>()
val Translations = Translations(Gdx.files.internal("jsons/Translations.json").readString())
val Translations = Translations()
fun <T> getFromJson(tClass: Class<T>, name: String): T {
val jsonText = Gdx.files.internal("jsons/$name.json").readString()
@ -72,6 +72,9 @@ object GameBasics {
}
branch.policies.last().name = branch.name + " Complete"
}
for(file in Gdx.files.internal("jsons/Translations").list())
Translations.add(file.readString())
}
}

View File

@ -4,9 +4,9 @@ import com.badlogic.gdx.utils.JsonReader
import com.unciv.UnCivGame
import java.util.*
class Translations() : HashMap<String, HashMap<String, String>>(){
class Translations : HashMap<String, HashMap<String, String>>(){
constructor(json:String):this(){
fun add(json:String){
val jsonValue = JsonReader().parse(json)!!
var currentEntry = jsonValue.child

View File

@ -40,8 +40,8 @@ class CivilopediaScreen : CameraStageBaseScreen() {
val categoryToInfos = LinkedHashMap<String, Collection<ICivilopedia>>()
val language = UnCivGame.Current.settings.language.replace(" ","_")
val basicHelpFileName = if(Gdx.files.internal("jsons/BasicHelp_$language.json").exists())"BasicHelp_$language"
else "BasicHelp"
val basicHelpFileName = if(Gdx.files.internal("jsons/BasicHelp/BasicHelp_$language.json").exists())"BasicHelp/BasicHelp_$language"
else "BasicHelp/BasicHelp"
categoryToInfos["Basics"] = GameBasics.getFromJson(kotlin.Array<BasicHelp>::class.java, basicHelpFileName).toList()
categoryToInfos["Buildings"] = GameBasics.Buildings.values

View File

@ -33,12 +33,12 @@ class Tutorials{
}
fun getTutorialsOfLanguage(language: String): HashMap<String, ArrayList<String>> {
if(!Gdx.files.internal("jsons/Tutorials_$language.json").exists()) return hashMapOf()
if(!Gdx.files.internal("jsons/Tutorials/Tutorials_$language.json").exists()) return hashMapOf()
// ...Yes. Disgusting. I wish I didn't have to do this.
val x = LinkedHashMap<String, Array<Array<String>>>()
val tutorials: LinkedHashMap<String, Array<Array<String>>> =
GameBasics.getFromJson(x.javaClass, "Tutorials_$language")
GameBasics.getFromJson(x.javaClass, "Tutorials/Tutorials_$language")
val tutorialMap = HashMap<String, ArrayList<String>>()
for (tut in tutorials){
val list = ArrayList<String>()