Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions game/addons/openvic/TranslatorPlugin.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
@tool
extends EditorTranslationParserPlugin

const AppSetting := preload("res://addons/kenyoni/app_settings/app_settings.gd")

func _customize_strings(strings: Array[PackedStringArray]) -> Array[PackedStringArray]:
strings.append_array(generate_localization(GameSettings))
strings.append_array(generate_localization(ModSettings))
strings.append_array(generate_localization(Vic2Settings))

var keychain_path: String = ControlsGlobal.get_script().resource_path
for action_id: StringName in ControlsGlobal.actions:
strings.append([ControlsGlobal.actions[action_id].display_name, "", "", "", keychain_path])

for group_name: StringName in ControlsGlobal.groups:
strings.append([group_name, "", "", "", keychain_path])

return strings

func generate_localization(app_setting: AppSetting) -> Array[PackedStringArray]:
var resource_path: String = app_setting.get_script().resource_path

var result: Array[PackedStringArray] = []
for key: String in app_setting.get_sub_sections():
result.append([key.capitalize(), "", "", "", resource_path])

var groups_handled: Array[GameSettings.RevertGroup] = []

for setting: AppSetting.Setting in app_setting.get_section(""):
if setting.has_meta(&"display_name"):
result.append([setting.get_meta(&"display_name"), "", "", "", resource_path])
else:
var key := setting.key()
result.append([key.get_slice("/", key.get_slice_count("/") - 1).capitalize(), "", "", "", resource_path])

if setting.has_meta(&"description"):
result.append([setting.get_meta(&"description"), "", "", "", resource_path])

if setting.has_meta(&"display_template"):
result.append([setting.get_meta(&"display_template"), "", "", "", resource_path])
else:
var display_values: PackedStringArray = setting.get_meta(&"display_values", PackedStringArray())
for value: String in display_values:
if value.is_empty(): continue
result.append([value, "", "", "", resource_path])

if setting.has_meta(&"revert_group"):
var revert_group: GameSettings.RevertGroup = setting.get_meta(&"revert_group")
if not groups_handled.has(revert_group):
groups_handled.append(revert_group)
result.append([revert_group.title, "", "", "", resource_path])
result.append([revert_group.text, "", "", "", resource_path])

return result
1 change: 1 addition & 0 deletions game/addons/openvic/TranslatorPlugin.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://d0rgx3infg54m
12 changes: 12 additions & 0 deletions game/addons/openvic/openvic.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
@tool
extends EditorPlugin

const TranslatorPlugin := preload("uid://d0rgx3infg54m")

var _translation_plugin := TranslatorPlugin.new()

func _enable_plugin() -> void:
add_translation_parser_plugin(_translation_plugin)

func _disable_plugin() -> void:
remove_translation_parser_plugin(_translation_plugin)
1 change: 1 addition & 0 deletions game/addons/openvic/openvic.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://bitrr5fd75qlp
7 changes: 7 additions & 0 deletions game/addons/openvic/plugin.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[plugin]

name="OpenVic Plugin"
description=""
author="OpenVic Contributors"
version=""
script="openvic.gd"
Loading
Loading