Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@ericdsw
Last active August 25, 2021 03:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ericdsw/d9bae55d4f0682e08a5aa44cfc656db9 to your computer and use it in GitHub Desktop.
Save ericdsw/d9bae55d4f0682e08a5aa44cfc656db9 to your computer and use it in GitHub Desktop.
Localization Example
{
"surprised": [
"no",
"way",
]
}
{
"surprised": [
"no",
"puede",
"ser"
]
}
{
"message_1": [
"The first part of the conversation",
"The second part of the conversation",
"The third part of the conversation
]
}
class_name LManager
extends Node
signal language_changed(new_language)
const BASE_DIALOGUE_PATH := "res://resources/dialogues/"
var language := "en"
func get_dialogue_json(dialogue_name: String) -> String:
var _localized_dialogue := BASE_DIALOGUE_PATH + language + "/" + dialogue_name
var _file := File.new()
if _file.file_exists(_localized_dialogue):
return _localized_dialogue
return BASE_DIALOGUE_PATH + dialogue_name
func update_language(new_language: String) -> void:
language = new_language
TranslationServer.set_locale(language)
emit_signal("language_changed", language)
class_name LManager
extends Node
var language := "en"
func update_language(new_language: String) -> void:
language = new_language
TranslationServer.set_locale(language)
class_name LManager
extends Node
signal language_changed(new_language)
var language := "en"
func update_language(new_language: String) -> void:
language = new_language
TranslationServer.set_locale(language)
emit_signal("language_changed", language)
extends Control
func _on_SpanishButton_pressed() -> void:
LocalizationManager.update_language("es")
func _on_EnglishButton_pressed() -> void:
LocalizationManager.update_language("en")
extends Control
onready var label_two := get_node("LabelTwo") as Label
func _ready() -> void:
label_two.text = tr("UI_STRING_TWO")
func _on_SpanishButton_pressed() -> void:
LocalizationManager.update_language("es")
func _on_EnglishButton_pressed() -> void:
LocalizationManager.update_language("en")
extends Control
onready var label_two := get_node("LabelTwo") as Label
func _ready() -> void:
LocalizationManager.connect("language_changed", self, "_on_language_changed")
label_two.text = tr("UI_STRING_TWO")
func _on_SpanishButton_pressed() -> void:
LocalizationManager.update_language("es")
func _on_EnglishButton_pressed() -> void:
LocalizationManager.update_language("en")
func _on_language_changed(new_language: String) -> void:
label_two.text = tr("UI_STRING_TWO")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment