Added a few translation helpers

This commit is contained in:
2025-05-25 14:25:07 -05:00
parent 6a39e1f2df
commit 48f3e57a44
9 changed files with 35 additions and 16 deletions

View File

@@ -1,6 +1,6 @@
class_name Quest extends Node
@export var title:String = ""
@export_multiline var title:String = ""
@export var questKey:QuestSystem.QuestKey = QuestSystem.QuestKey.TEST_QUEST
var questStarted:bool = false
@@ -28,4 +28,8 @@ func isStarted() -> bool:
return questStarted
func objectiveUpdated(objective:QuestObjective) -> void:
QUEST.questUpdated.emit(self)
QUEST.questUpdated.emit(self)
func getLocaleData() -> Dictionary[String, String]:
var dict: Dictionary[String, String] = {}
return dict

View File

@@ -4,7 +4,8 @@ enum Type {
Item,
}
@export var title:String = ""
@export_multiline var title:String = ""
@export_multiline var description:String = ""
@export var objectiveType:Type = Type.Item
@export var itemType:Item.Type = Item.Type.POTION
@@ -38,3 +39,9 @@ func _onPlayerInventoryUpdated() -> void:
func isCompleted() -> bool:
return completed
func getLocaleData() -> Dictionary[String, String]:
var dict:Dictionary[String, String] = {}
dict.item = ITEM.getItemName(itemType, quantity)
dict.quantity = LOCALE.formatInteger(quantity)
return dict

View File

@@ -104,3 +104,6 @@ func setLocale(language:Language, region:Region) -> void:
TranslationServer.set_locale(l)
localeChanged.emit(l)
print("Locale set to: " + l)
func formatInteger(integer:int) -> String:
return TextServerManager.get_primary_interface().format_number(str(integer))

View File

@@ -61,8 +61,11 @@ func setQuestObjective(objective = null):
var quest = QUEST.quests[currentQuestKey];
var questObjective = quest.objectives[objective]
questObjectiveList.select(objective)
questObjectiveInfo.text = questObjective.title + "\n"
# Setup Description
var data = quest.getLocaleData()
data.merge(questObjective.getLocaleData())
questObjectiveInfo.text = tr(questObjective.description).format(data)
func open(questKey = null) -> void:
@@ -77,19 +80,13 @@ func close() -> void:
func isOpen() -> bool:
return self.visible
# Private methods
func _updateQuestList():
questList.clear()
questList.deselect_all()
for questKey in QUEST.quests:
var q = QUEST.quests[questKey]
var n = q.title;
if q.isCompleted():
n += " (Complete)"
elif q.isStarted():
n += " (Started)"
questList.add_item(n)
questList.add_item(q.title)
# Event handlers