finished the mechanism for setting the language

This commit is contained in:
Luca Canali 2021-09-08 17:00:51 +02:00
parent 705cc849c2
commit 50ee071f0e
214 changed files with 94 additions and 10 deletions

View file

@ -40,7 +40,7 @@ func draw_card(card):
new_card.id = card["id"]
new_card.command = card["command"]
new_card.description = card["description"][helpers.lang]
new_card.description = card["description"][game.lang]
new_card.energy = 0 #card.energy
new_card.position = Vector2(rect_size.x, rect_size.y*2)
add_child(new_card)

View file

@ -13,7 +13,7 @@ func load(path):
var level_names = []
var dir = Directory.new()
dir.open("res://levels/" + helpers.lang + "/%s" % slug)
dir.open("res://levels/" + game.lang + "/%s" % slug)
dir.list_dir_begin()
while true:
@ -28,7 +28,7 @@ func load(path):
var final_level_sequence = []
var level_sequence = Array(helpers.read_file("res://levels/" + helpers.lang + "/%s/sequence" % slug, "").split("\n"))
var level_sequence = Array(helpers.read_file("res://levels/" + game.lang + "/%s/sequence" % slug, "").split("\n"))
for level in level_sequence:
if level == "":
@ -42,7 +42,7 @@ func load(path):
for l in final_level_sequence:
var level = Level.new()
level.load("res://levels/" + helpers.lang + "/%s/%s" % [slug, l])
level.load("res://levels/" + game.lang + "/%s/%s" % [slug, l])
levels.push_back(level)
func _to_string():

View file

@ -1,5 +1,7 @@
extends Node
var lang = OS.get_locale() # Variable for game localization
var tmp_prefix = OS.get_user_data_dir() + "/tmp/"
var global_shell
var fake_editor
@ -18,6 +20,7 @@ var state = {}
var mutex
func _ready():
print(lang)
mutex = Mutex.new()
load_state()

View file

@ -1,7 +1,5 @@
extends Node
var lang = "it" # Variable for localization
var debug_file_io = false
# Crash the game and display the error message.

View file

@ -9,7 +9,7 @@ func reload():
chapters = []
var dir = Directory.new()
dir.open("res://levels/" + helpers.lang) # TODO: Add language directory to get a correct language
dir.open("res://levels/" + game.lang)
dir.list_dir_begin()
var chapter_names = []
@ -26,7 +26,7 @@ func reload():
var final_chapter_sequence = []
var chapter_sequence = Array(helpers.read_file("res://levels/" + helpers.lang + "/sequence", "").split("\n"))
var chapter_sequence = Array(helpers.read_file("res://levels/" + game.lang + "/sequence", "").split("\n"))
for chapter in chapter_sequence:
if chapter == "":
@ -40,5 +40,5 @@ func reload():
for c in final_chapter_sequence:
var chapter = Chapter.new()
chapter.load("res://levels/" + helpers.lang + "/%s" % c)
chapter.load("res://levels/" + game.lang + "/%s" % c)
chapters.push_back(chapter)

View file

@ -1,9 +1,13 @@
extends Control
onready var popup = $VBoxContainer/Language
func _ready():
if !OS.has_feature("standalone") and !game.skipped_title:
game.skipped_title = true
get_tree().change_scene("res://scenes/level_select.tscn")
make_popup_item()
func quit():
get_tree().quit()
@ -20,3 +24,38 @@ func sandbox():
game.current_chapter = levels.chapters.size() - 1
game.current_level = levels.chapters[game.current_chapter].levels.size() -1
get_tree().change_scene("res://scenes/main.tscn")
func uncheck_all_item():
# Set all item unchecked
var num = popup.get_popup().get_item_count()
for n in num:
popup.get_popup().set_item_checked(n, false)
pass
func make_popup_item():
popup.get_popup().add_radio_check_item("en_EN", 0)
popup.get_popup().add_radio_check_item(tr("it_IT"), 1)
uncheck_all_item()
if game.lang == "en_EN":
popup.get_popup().set_item_checked(0, true)
elif game.lang == "it_IT":
popup.get_popup().set_item_checked(1, true)
popup.get_popup().connect("id_pressed", self, "_on_item_pressed")
func _on_item_pressed(id):
uncheck_all_item()
popup.get_popup().set_item_checked(id, true)
game.lang = popup.get_popup().get_item_text(id)
TranslationServer.set_locale(game.lang)
# DELETE ME
print(popup.get_popup().get_item_text(id))
print(game.lang)

View file

@ -66,6 +66,13 @@ margin_right = 351.0
margin_bottom = 127.0
text = "QUIT"
[node name="Language" type="MenuButton" parent="VBoxContainer"]
margin_top = 132.0
margin_right = 351.0
margin_bottom = 171.0
text = "LANGUAGE"
flat = false
[node name="Sprite" type="Sprite" parent="."]
[node name="oh-my-git" type="Sprite" parent="Sprite"]