From 5ea5e5547ce810df6a4979071b64bc0b2d2ac942 Mon Sep 17 00:00:00 2001 From: cblech Date: Mon, 28 Oct 2024 12:27:17 +0100 Subject: [PATCH] Added basic dialogic translation --- .gitignore | 3 +- dialog/defaulty_the_default_character.dch | 2 +- dialog/test_time_line.dtl | 5 +-- .../dialogic_character_translations.csv | 3 ++ ...dialogic_character_translations.csv.import | 17 +++++++++ .../dialogic_test_time_line_translation.csv | 4 +++ ...ogic_test_time_line_translation.csv.import | 17 +++++++++ project.godot | 35 +++++++++++++++++++ scripts/player.gd | 18 +++++++--- 9 files changed, 95 insertions(+), 9 deletions(-) create mode 100644 dialog/translations/dialogic_character_translations.csv create mode 100644 dialog/translations/dialogic_character_translations.csv.import create mode 100644 dialog/translations/dialogic_test_time_line_translation.csv create mode 100644 dialog/translations/dialogic_test_time_line_translation.csv.import diff --git a/.gitignore b/.gitignore index e514666..ad1ae33 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ /android/ # temporary files -**/*.tmp \ No newline at end of file +**/*.tmp +**/*.translation \ No newline at end of file diff --git a/dialog/defaulty_the_default_character.dch b/dialog/defaulty_the_default_character.dch index 48a2e4f..2470527 100644 --- a/dialog/defaulty_the_default_character.dch +++ b/dialog/defaulty_the_default_character.dch @@ -1,7 +1,7 @@ { "@path": "res://addons/dialogic/Resources/character.gd", "@subpath": NodePath(""), -"_translation_id": "", +"_translation_id": "13", "color": Color(1, 1, 1, 1), "custom_info": { "sound_mood_default": "", diff --git a/dialog/test_time_line.dtl b/dialog/test_time_line.dtl index 1596ad3..093806c 100644 --- a/dialog/test_time_line.dtl +++ b/dialog/test_time_line.dtl @@ -1,2 +1,3 @@ -defaulty_the_default_character: Hello World! -defaulty_the_default_character: This is very cool text in english! +defaulty_the_default_character: Hello World! #id:11 +defaulty_the_default_character: This is very cool text in english! #id:12 +This is a text, with a 'comma' and "quotation marks" in it. #id:14 diff --git a/dialog/translations/dialogic_character_translations.csv b/dialog/translations/dialogic_character_translations.csv new file mode 100644 index 0000000..955e6a8 --- /dev/null +++ b/dialog/translations/dialogic_character_translations.csv @@ -0,0 +1,3 @@ +keys,en,de +Character/13/name,Defaulty the Default Character,Standardy der Standard Charakter +Character/13/nicknames,Defaulty,Standardy diff --git a/dialog/translations/dialogic_character_translations.csv.import b/dialog/translations/dialogic_character_translations.csv.import new file mode 100644 index 0000000..6bda928 --- /dev/null +++ b/dialog/translations/dialogic_character_translations.csv.import @@ -0,0 +1,17 @@ +[remap] + +importer="csv_translation" +type="Translation" +uid="uid://nkej333mfgig" + +[deps] + +files=["res://dialog/translations/dialogic_character_translations.en.translation", "res://dialog/translations/dialogic_character_translations.de.translation"] + +source_file="res://dialog/translations/dialogic_character_translations.csv" +dest_files=["res://dialog/translations/dialogic_character_translations.en.translation", "res://dialog/translations/dialogic_character_translations.de.translation"] + +[params] + +compress=true +delimiter=0 diff --git a/dialog/translations/dialogic_test_time_line_translation.csv b/dialog/translations/dialogic_test_time_line_translation.csv new file mode 100644 index 0000000..659b91d --- /dev/null +++ b/dialog/translations/dialogic_test_time_line_translation.csv @@ -0,0 +1,4 @@ +keys,en,de +Text/11/text,Hello World!,Hallo Welt! +Text/12/text,This is very cool text in english!,Das ist ein sehr cooler Text auf Deutsch! +Text/14/text,"This is a text, with a 'comma' and ""quotation marks"" in it.","Das ist ein Text, mit einem 'Komma' und ""Anführungszeichen"" darin." diff --git a/dialog/translations/dialogic_test_time_line_translation.csv.import b/dialog/translations/dialogic_test_time_line_translation.csv.import new file mode 100644 index 0000000..4601b2d --- /dev/null +++ b/dialog/translations/dialogic_test_time_line_translation.csv.import @@ -0,0 +1,17 @@ +[remap] + +importer="csv_translation" +type="Translation" +uid="uid://tgegip71ksso" + +[deps] + +files=["res://dialog/translations/dialogic_test_time_line_translation.en.translation", "res://dialog/translations/dialogic_test_time_line_translation.de.translation"] + +source_file="res://dialog/translations/dialogic_test_time_line_translation.csv" +dest_files=["res://dialog/translations/dialogic_test_time_line_translation.en.translation", "res://dialog/translations/dialogic_test_time_line_translation.de.translation"] + +[params] + +compress=true +delimiter=0 diff --git a/project.godot b/project.godot index 4b9e36e..b7ea71f 100644 --- a/project.godot +++ b/project.godot @@ -31,6 +31,37 @@ variables={} glossary/default_case_sensitive=true layout/style_list=[] layout/default_style="Default" +extensions_folder="res://addons/dialogic_additions" +text/letter_speed=0.01 +text/initial_text_reveal_skippable=true +text/text_reveal_skip_delay=0.1 +text/advance_delay=0.1 +text/autoadvance_per_character_delay=0.1 +text/autoadvance_ignored_characters_enabled=true +audio/max_channels=4.0 +animations/join_default_length=0.5 +animations/join_default_wait=true +animations/leave_default_length=0.5 +animations/leave_default_wait=true +animations/cross_fade_default_length=0.5 +choices/autofocus_first=true +choices/delay=0.2 +choices/reveal_delay=0 +choices/reveal_by_input=false +save/autosave_delay=60.0 +save/encryption_on_exports_only=true +translation/enabled=true +translation/original_locale="en" +translation/file_mode=1 +translation/translation_folder="res://dialog/translations" +translation/save_mode=0 +translation/add_separator=false +translation/intern/save_mode=0 +translation/intern/file_mode=1 +translation/intern/translation_folder="res://dialog/translations" +translation/id_counter=20 +translation/locales=["de", "en"] +text/autopauses={} [display] @@ -71,3 +102,7 @@ dialogic_default_action={ , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null) ] } + +[internationalization] + +locale/translations=PackedStringArray("res://dialog/translations/dialogic_character_translations.en.translation", "res://dialog/translations/dialogic_test_time_line_translation.de.translation", "res://dialog/translations/dialogic_test_time_line_translation.en.translation", "res://dialog/translations/dialogic_character_translations.de.translation") diff --git a/scripts/player.gd b/scripts/player.gd index 385056e..85d601a 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -9,14 +9,22 @@ func _ready() -> void: # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: - if(Input.is_action_pressed("move_right")): + if Input.is_action_pressed("move_right"): position.x += speed * delta - if(Input.is_action_pressed("move_left")): + if Input.is_action_pressed("move_left"): position.x -= speed * delta - if(Input.is_action_pressed("move_up")): + if Input.is_action_pressed("move_up"): position.y -= speed * delta - if(Input.is_action_pressed("move_down")): + if Input.is_action_pressed("move_down"): position.y += speed * delta - if(Input.is_action_just_pressed("ui_up")): + + + + if Input.is_action_just_pressed("ui_up"): Dialogic.start("test_time_line") + if Input.is_action_just_pressed("ui_down"): + if TranslationServer.get_locale() == "en": + TranslationServer.set_locale("de") + else: + TranslationServer.set_locale("en") pass