feat: added localization for templates by language

This commit is contained in:
2026-06-21 21:11:56 +03:00
parent 24927ba7ef
commit 9d9b90deb1
4 changed files with 38 additions and 9 deletions
@@ -4,17 +4,29 @@ import kotlinx.serialization.Serializable
import org.json.JSONArray
import org.json.JSONObject
private fun jsonObjectToMap(obj: JSONObject): LinkedHashMap<String, String> {
val map = LinkedHashMap<String, String>()
val keys = obj.keys()
while (keys.hasNext()) {
val key = keys.next()
map[key] = obj.getString(key)
}
return map
}
@Serializable
class Field(
val id: String,
val name: String,
val names: LinkedHashMap<String, String>,
val default: String? = null,
val maybeEmpty: Boolean = false
)
@Serializable
class Template(
val name: String,
val names: LinkedHashMap<String, String>,
val fields: List<Field>,
val template: String
) {
@@ -30,14 +42,14 @@ class Template(
fields.add(Field(
id = fieldObj.getString("id"),
name = fieldObj.getString("name"),
names = jsonObjectToMap(fieldObj.getJSONObject("names")),
default = fieldObj.optString("default"),
maybeEmpty = fieldObj.optBoolean("maybeEmpty")
))
}
return Template(
name = obj.getString("name"),
names = jsonObjectToMap(obj.getJSONObject("names")),
fields = fields,
template = obj.getString("template")
)
@@ -58,14 +70,14 @@ class Template(
fields.add(Field(
id = fieldObj.getString("id"),
name = fieldObj.getString("name"),
names = jsonObjectToMap(fieldObj.getJSONObject("names")),
default = fieldObj.optString("default"),
maybeEmpty = fieldObj.optBoolean("maybeEmpty")
))
}
templates.add(Template(
name = obj.getString("name"),
names = jsonObjectToMap(obj.getJSONObject("names")),
fields = fields,
template = obj.getString("template")
))