Tuesday 7 December 2021

Replace Multi-Launguage String(IOS)

 import org.json.JSONArray

import java.io.*


fun main() {

var match = 0
var not = 0

val englishLangData = readJson1()
val otherLangData = readJson3()
val list = englishLangData.split(";")
// Main Local.strings
for (item in list) {
try {
val key1 = item.trim().split("=")[1].replace("\"", "").toString().trim()
val value1 = item.trim().split("=")[1].replace("\"", "").toString().trim()

// CODE- language to be replaced
val jsonArr = JSONArray(otherLangData)
for (item2 in jsonArr) {
val s = item2.toString()
val j1 = JSONArray(s)
val s1 = j1[0].toString().trim()
val s2 = j1[1].toString().trim()
if (s1.equals(value1, true)) {

val s = "\""+key1+"\" = \""+s2+"\";"
val s2 = "\n" + s
val fileWriter = FileWriter("C:\\Projects\\Project\\Localizable.strings", true)
fileWriter.write(s2)
fileWriter.close()
match = match + 1
break
}
}
} catch (exc: Exception) {
}
}


println("matched size : " + match)
println("not matched size : " + not)

}


fun readJson1(): String {

val writer: Writer = StringWriter()
val buffer = CharArray(1024)

try {
val file1 = File("C:\\Projects\\Project\\EicherLiveStaticStrings_Malyalam.xlsx")
val file = File("C:\\Projects\\Project\\Localizable_main_formatted.strings")
val reader: Reader = BufferedReader(FileReader(file))
var n1: Int = 0
while (reader.read(buffer).also({ n1 = it }) != -1) {
writer.write(buffer, 0, n1)
}
} finally {
// fil.close()
}

val jsonString: String = writer.toString()
return jsonString
}


fun readJson3(): String {

val writer: Writer = StringWriter()
val buffer = CharArray(1024)

try {
val file = File("C:\\Projects\\Project\\formatted_malayalam_arr_json.json")
val reader: Reader = BufferedReader(FileReader(file))
var n1: Int = 0
while (reader.read(buffer).also({ n1 = it }) != -1) {
writer.write(buffer, 0, n1)
}
} finally {
// fil.close()
}

val jsonString: String = writer.toString()
return jsonString
}