diff --git a/project.godot b/project.godot index cf8af86..171ddb1 100644 --- a/project.godot +++ b/project.godot @@ -82,6 +82,10 @@ cheat_zombie_spawn={ ] } +[internationalization] + +locale/translations=PackedStringArray("res://translations/plants.en.translation", "res://translations/plants.ru.translation") + [layer_names] 2d_physics/layer_1="Reserved" diff --git a/resources/plants/Aloe.tres b/resources/plants/Aloe.tres index ae8d7ba..9e2b333 100644 --- a/resources/plants/Aloe.tres +++ b/resources/plants/Aloe.tres @@ -18,16 +18,12 @@ metadata/_custom_type_script = "uid://3m7xks3xq3hl" [resource] script = ExtResource("1_vw2kg") -Layer = 1 -display_name = "Aloe" -display_description = "[p]Aloe heals injured plants.[/p] -[p]Health points: [color=DARK_RED]3 bites[/color][/p] -[p]Reload time: [color=DARK_RED]15 seconds[/color].[/p] -[p]Ability recharge time: [color=DARK_RED]20 seconds[/color].[/p] -[p]Heals plant when it has [color=DARK_RED]third[/color] of its health.[/p]" +name_key = "aloe" +description_key = "aloe_desc" Cost = 75.0 Scene = ExtResource("2_6a4ia") ReloadTime = 15.0 ReloadProgress = 0.0 Preview = ExtResource("1_t4137") customFrame = SubResource("Resource_5me4i") +Layer = 1 diff --git a/resources/plants/Garlic.tres b/resources/plants/Garlic.tres index a2f044e..07baa57 100644 --- a/resources/plants/Garlic.tres +++ b/resources/plants/Garlic.tres @@ -6,11 +6,9 @@ [resource] script = ExtResource("1_e15gf") -display_name = "Garlic" -display_description = "[p]Redirects zombies that bite it.[/p] -[p]Health points: [color=DARK_RED]20 bites[/color][/p] -[p]Reload time: [color=DARK_RED]15 seconds[/color].[/p]" -Cost = 50 +name_key = "garlic" +description_key = "garlic_desc" +Cost = 50.0 Scene = ExtResource("2_81n0p") ReloadTime = 7.5 ReloadProgress = 0.67 diff --git a/resources/plants/Peashooter.tres b/resources/plants/Peashooter.tres index 39b3286..1344b1f 100644 --- a/resources/plants/Peashooter.tres +++ b/resources/plants/Peashooter.tres @@ -6,13 +6,9 @@ [resource] script = ExtResource("1_amvh8") -display_name = "Peashooter" -display_description = "[p]Simply shoots peas at zombies on the lane[/p] -[p]Health points: [color=DARK_RED]3 bites[/color].[/p] -[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] -[p]Pea damage: [color=DARK_RED]1 pea[/color].[/p] -[p]Firerate: [color=DARK_RED]1.5 seconds[/color].[/p]" -Cost = 75 +name_key = "peashooter" +description_key = "peashooter_desc" +Cost = 75.0 Scene = ExtResource("1_rqf2x") ReloadTime = 5.0 ReloadProgress = 0.0 diff --git a/resources/plants/PotatoMine.tres b/resources/plants/PotatoMine.tres index f7c7cc8..776ad20 100644 --- a/resources/plants/PotatoMine.tres +++ b/resources/plants/PotatoMine.tres @@ -6,13 +6,9 @@ [resource] script = ExtResource("1_33j6b") -display_name = "Potato mine" -display_description = "[p]Explodes when stepped on. Needs some time to prime.[/p] -[p]Health points: [color=DARK_RED]2 bites[/color].[/p] -[p]Reload time: [color=DARK_RED]25 seconds[/color].[/p] -[p]Explosion damage: [color=DARK_RED]600 peas[/color].[/p] -[p]Prime time: [color=DARK_RED]15 seconds[/color].[/p]" -Cost = 25 +name_key = "potatomine" +description_key = "potatomine_desc" +Cost = 25.0 Scene = ExtResource("2_ig2ti") ReloadTime = 25.0 ReloadProgress = 0.9 diff --git a/resources/plants/Snowpea.tres b/resources/plants/Snowpea.tres index 77ed9be..93d6bde 100644 --- a/resources/plants/Snowpea.tres +++ b/resources/plants/Snowpea.tres @@ -6,14 +6,9 @@ [resource] script = ExtResource("1_0cpi0") -display_name = "Snowpea" -display_description = "[p]Shoots slowing peas at zombies.[/p] -[p]Health points: [color=DARK_RED]3 bites[/color].[/p] -[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] -[p]Pea damage: [color=DARK_RED]1 pea[/color].[/p] -[p]Firerate: [color=DARK_RED]1.5 seconds[/color].[/p] -[p]Slow percentage: [color=STEEL_BLUE]25%[/color].[/p]" -Cost = 175 +name_key = "snowpea" +description_key = "snowpea_desc" +Cost = 175.0 Scene = ExtResource("2_k47h0") ReloadTime = 5.0 ReloadProgress = 0.0 diff --git a/resources/plants/Spikeweed.tres b/resources/plants/Spikeweed.tres index b82b9a7..cfd319b 100644 --- a/resources/plants/Spikeweed.tres +++ b/resources/plants/Spikeweed.tres @@ -6,12 +6,9 @@ [resource] script = ExtResource("1_0bymo") -display_name = "Spikeweed" -display_description = "[p]Attacks zombies that step on it.[/p] -[p]Health points: [color=DARK_RED]3 bites[/color].[/p] -[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] -[p]Damage per second: [color=DARK_RED]0.9 peas[/color].[/p]" -Cost = 100 +name_key = "spikeweed" +description_key = "spikeweed_desc" +Cost = 100.0 Scene = ExtResource("2_iv8de") ReloadTime = 5.0 ReloadProgress = 0.0 diff --git a/resources/plants/Sunflower.tres b/resources/plants/Sunflower.tres index 8fa5401..7347bf8 100644 --- a/resources/plants/Sunflower.tres +++ b/resources/plants/Sunflower.tres @@ -6,13 +6,9 @@ [resource] script = ExtResource("3_vt4jc") -display_name = "Sunflower" -display_description = "[p]Produces sun over time.[/p] -[p]Health points: [color=DARK_RED]3 bites[/color][/p] -[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] -[p]Initial sun production time: [color=DARK_RED]12 seconds[/color].[/p] -[p]Sun production time: [color=DARK_RED]24 seconds[/color](After first sun produced).[/p]" -Cost = 50 +name_key = "sunflower" +description_key = "sunflower_desc" +Cost = 50.0 Scene = ExtResource("2_gcyr5") ReloadTime = 5.0 ReloadProgress = 1.0 diff --git a/resources/plants/Threepeater.tres b/resources/plants/Threepeater.tres index 42cb5f4..4a62eef 100644 --- a/resources/plants/Threepeater.tres +++ b/resources/plants/Threepeater.tres @@ -6,13 +6,9 @@ [resource] script = ExtResource("3_3lugi") -display_name = "Threepeater" -display_description = "[p]Shoots peas at zombies in three lanes.[/p] -[p]Health points: [color=DARK_RED]3 bites[/color].[/p] -[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] -[p]Pea damage: [color=DARK_RED]1 pea[/color] ([color=DARK_RED]3 pea[/color] when in close quarters).[/p] -[p]Firerate: [color=DARK_RED]1.6 seconds[/color].[/p]" -Cost = 300 +name_key = "threepeater" +description_key = "threepeater_desc" +Cost = 275.0 Scene = ExtResource("2_uqpu0") ReloadTime = 5.0 ReloadProgress = 0.0 diff --git a/resources/plants/Wallnut.tres b/resources/plants/Wallnut.tres index f17f614..63b6271 100644 --- a/resources/plants/Wallnut.tres +++ b/resources/plants/Wallnut.tres @@ -6,11 +6,9 @@ [resource] script = ExtResource("1_27l0t") -display_name = "Wallnut" -display_description = "[p]Absorbs zombie damage. Does nothing special[/p] -[p]Health points: [color=DARK_RED]60 bites[/color][/p] -[p]Reload time: [color=DARK_RED]20 seconds[/color].[/p]" -Cost = 50 +name_key = "wallnut" +description_key = "wallnut_desc" +Cost = 50.0 Scene = ExtResource("2_rkn3h") ReloadTime = 20.0 ReloadProgress = 0.0 diff --git a/resources/zombies/basic.tres b/resources/zombies/basic.tres index 9b4796e..6868200 100644 --- a/resources/zombies/basic.tres +++ b/resources/zombies/basic.tres @@ -10,7 +10,7 @@ display_name = "Basic zombie" display_description = "The most basic zombie that zomboss has. Health points: [color=darkred]7 peas[/color]. Walk speed: [color=darkred]0.2 tiles/second[/color]. -Attack speed: [color=darkred]1 Gz[/color]. +Attack speed: [color=darkred]1 Hz[/color]. Attack damage: [color=darkred]1 bite[/color]. " diff --git a/resources/zombies/buckethead.tres b/resources/zombies/buckethead.tres index 3f58abb..52bd77c 100644 --- a/resources/zombies/buckethead.tres +++ b/resources/zombies/buckethead.tres @@ -11,7 +11,7 @@ display_description = "Wears metal to protect his remaining brains. Equivalent o Health points: [color=darkred]7 peas[/color]. Armour points: [color=darkred]39 peas[/color]. Walk speed: [color=darkred]0.2 tiles/second[/color]. -Attack speed: [color=darkred]1 Gz[/color]. +Attack speed: [color=darkred]1 Hz[/color]. Attack damage: [color=darkred]1 bite[/color]." Cost = 5.0 Scene = ExtResource("1_lhcag") diff --git a/resources/zombies/conehead.tres b/resources/zombies/conehead.tres index 43fb0d6..9a20089 100644 --- a/resources/zombies/conehead.tres +++ b/resources/zombies/conehead.tres @@ -11,7 +11,7 @@ display_description = "Armoured vesion of basic zombie. Equivalent of ~3 zombies Health points: [color=darkred]7 peas[/color]. Armour points: [color=darkred]13 peas[/color]. Walk speed: [color=darkred]0.2 tiles/second[/color]. -Attack speed: [color=darkred]1 Gz[/color]. +Attack speed: [color=darkred]1 Hz[/color]. Attack damage: [color=darkred]1 bite[/color]." Cost = 2.0 Scene = ExtResource("1_llf5l") diff --git a/resources/zombies/hobo.tres b/resources/zombies/hobo.tres index b8d6365..847296d 100644 --- a/resources/zombies/hobo.tres +++ b/resources/zombies/hobo.tres @@ -6,13 +6,13 @@ [resource] script = ExtResource("1_u5qpq") -display_name = "Garbage can zombie" +display_name = "Trash can zombie" display_description = "Some time in the past he met a great conqueror. Hates to live without his can. Equivalent of ~8 zombies. Health points: [color=darkred]13 peas[/color]. Armour points: [color=darkred]39 peas[/color]. Walk speed: [color=darkred]0.2 tiles/second[/color]. Run speed: [color=darkred]0.6 tiles/second[/color]. -Attack speed: [color=darkred]1 Gz[/color]. +Attack speed: [color=darkred]1 Hz[/color]. Attack damage: [color=darkred]1 bite[/color]." Cost = 7.0 Scene = ExtResource("1_4myt6") diff --git a/scripts/components/gui/choose_your_seeds/Previewport.cs b/scripts/components/gui/choose_your_seeds/Previewport.cs index 45c899b..bb90799 100644 --- a/scripts/components/gui/choose_your_seeds/Previewport.cs +++ b/scripts/components/gui/choose_your_seeds/Previewport.cs @@ -41,8 +41,8 @@ public partial class Previewport : SubViewport else GetNode("FrameField").Texture = start_Field; current_display = resource.Scene.Instantiate(); - title.Text = resource.display_name; - description.Text = resource.display_description; + title.Text = Tr(resource.name_key); + description.Text = Tr(resource.description_key); AddChild(current_display); if (current_display is IEntity entity) entity.DisableBrain(); diff --git a/scripts/resources/DisplayResource.cs b/scripts/resources/DisplayResource.cs index a499473..fb98245 100644 --- a/scripts/resources/DisplayResource.cs +++ b/scripts/resources/DisplayResource.cs @@ -2,8 +2,8 @@ using Godot; public partial class DisplayResource : Resource { - [Export] public string display_name; - [Export(PropertyHint.MultilineText)] public string display_description; + [Export] public string name_key; + [Export] public string description_key; [Export] public float Cost; [Export] diff --git a/translations/plants.csv b/translations/plants.csv new file mode 100644 index 0000000..f322a3b --- /dev/null +++ b/translations/plants.csv @@ -0,0 +1,83 @@ +keys,en,ru +aloe,Aloe,Алоэ +aloe_desc,"[p]Aloe heals injured plants.[/p] +[p]Health points: [color=DARK_RED]3 bites[/color][/p] +[p]Reload time: [color=DARK_RED]15 seconds[/color].[/p] +[p]Ability recharge time: [color=DARK_RED]20 seconds[/color].[/p] +[p]Heals plant when it has [color=DARK_RED]third[/color] of its health.[/p]","Алоэ лечит израненные растения. +Очки здоровья: [color=dark_red]3 укуса[/color]. +Время перезарядки: [color=dark_red]15 секунд[/color]. +Время перезарядки способности: [color=dark_red]20 секунд[/color]. +Лечит растения [color=DARK_RED]с третью[/color] здоровья." +garlic,Garlic,Чеснок +garlic_desc,"[p]Redirects zombies that bite it.[/p] +[p]Health points: [color=DARK_RED]20 bites[/color][/p] +[p]Reload time: [color=DARK_RED]15 seconds[/color].[/p]","Перенаправляет зомби, которые его кусают. +Очки здоровья: [color=DARK_RED]20 укусов[/color] +Время перезарядки: [color=DARK_RED]15 секунд[/color]." +peashooter,Peashooter,Горохострел +peashooter_desc,"[p]Simply shoots peas at zombies on the lane[/p] +[p]Health points: [color=DARK_RED]3 bites[/color].[/p] +[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] +[p]Pea damage: [color=DARK_RED]1 pea[/color].[/p] +[p]Firerate: [color=DARK_RED]1.5 seconds[/color].[/p]","Просто стреляет в зомби на линии. +Очки здоровья: [color=DARK_RED]3 укуса[/color]. +Время перезарядки: [color=DARK_RED]5 секунд[/color]. +Урон от гороха: [color=DARK_RED]1 горошина[/color]. +Задержка стрельбы: [color=DARK_RED]1.5 секунды[/color]." +potatomine,Potato mine,Картофельная мина +potatomine_desc,"[p]Explodes when stepped on. Needs some time to prime.[/p] +[p]Health points: [color=DARK_RED]2 bites[/color].[/p] +[p]Reload time: [color=DARK_RED]25 seconds[/color].[/p] +[p]Explosion damage: [color=DARK_RED]600 peas[/color].[/p] +[p]Prime time: [color=DARK_RED]15 seconds[/color].[/p]","Взрывается когда на неё наступают. Требует некоторое время для роста. +Очки здоровья: [color=DARK_RED]2 Укуса[/color]. +Время перезарядки: [color=DARK_RED]25 seconds[/color]. +Урон от взрыва: [color=DARK_RED]600 горошин[/color]. +Время роста: [color=DARK_RED]15 seconds[/color]." +snowpea,Snowpea,Снежный горох +snowpea_desc,"[p]Shoots slowing peas at zombies.[/p] +[p]Health points: [color=DARK_RED]3 bites[/color].[/p] +[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] +[p]Pea damage: [color=DARK_RED]1 pea[/color].[/p] +[p]Firerate: [color=DARK_RED]1.5 seconds[/color].[/p] +[p]Slow percentage: [color=STEEL_BLUE]25%[/color].[/p]","Стреляет замедляющими горошинами в зомби. +Очки здоровья: [color=DARK_RED]3 укуса[/color]. +Время перезарядки: [color=DARK_RED]5 секунд[/color]. +Урон от гороха: [color=DARK_RED]1 горошина[/color]. +Задержка стрельбы: [color=DARK_RED]1.5 секунды[/color]. +Процент замедления: [color=STEEL_BLUE]25%[/color]." +spikeweed,Spikeweed,Колючка +spikeweed_desc,"[p]Attacks zombies that step on it.[/p] +[p]Health points: [color=DARK_RED]3 bites[/color].[/p] +[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] +[p]Damage per second: [color=DARK_RED]0.9 peas[/color].[/p]","Атакует наступающих на неё зомби. +Очки здоровья: [color=DARK_RED]3 укуса[/color]. +Время перезарядки: [color=DARK_RED]5 секунд[/color]. +Урон в секунду: [color=DARK_RED]0.9 горошин[/color]." +sunflower,Sunflower,Подсолнух +sunflower_desc,"[p]Produces sun over time.[/p] +[p]Health points: [color=DARK_RED]3 bites[/color][/p] +[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] +[p]Initial sun production time: [color=DARK_RED]12 seconds[/color].[/p] +[p]Sun production time: [color=DARK_RED]24 seconds[/color](After first sun produced).[/p]","Производит солнце время от времени. +Очки здоровья: [color=DARK_RED]3 укуса[/color] +Время перезарядки: [color=DARK_RED]5 секунд[/color]. +Изначальная задержка выработки солнца: [color=DARK_RED]12 секунд[/color]. +Задержка выработки солнца: [color=DARK_RED]24 секунды[/color](После первого солнца)." +threepeater,Threepeater,Тристрел +threepeater_desc,"[p]Shoots peas at zombies in three lanes.[/p] +[p]Health points: [color=DARK_RED]3 bites[/color].[/p] +[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] +[p]Pea damage: [color=DARK_RED]1 pea[/color] ([color=DARK_RED]3 pea[/color] when in close quarters).[/p] +[p]Firerate: [color=DARK_RED]1.6 seconds[/color].[/p]","Стреляет в зомби по трём линиям. +Очки здоровья: [color=DARK_RED]3 укуса[/color]. +Время перезарядки: [color=DARK_RED]5 секунд[/color]. +Урон от гороха: [color=DARK_RED]1 горошина[/color] ([color=DARK_RED]3 горошины[/color] вблизи). +Задержка стрельбы: [color=DARK_RED]1.6 секунд[/color]." +wallnut,Wallnut,Стенорех +wallnut_desc,"[p]Absorbs zombie damage. Does nothing special[/p] +[p]Health points: [color=DARK_RED]60 bites[/color][/p] +[p]Reload time: [color=DARK_RED]20 seconds[/color].[/p]","Принимает на себя урон от зомби. Ничего интересного. +Очки здоровья: [color=DARK_RED]60 укусов[/color] +Время перезарядки: [color=DARK_RED]20 секунд[/color]." diff --git a/translations/plants.csv.import b/translations/plants.csv.import new file mode 100644 index 0000000..3a2532f --- /dev/null +++ b/translations/plants.csv.import @@ -0,0 +1,17 @@ +[remap] + +importer="csv_translation" +type="Translation" +uid="uid://dw0l3ejdd3xym" + +[deps] + +files=["res://translations/plants.en.translation", "res://translations/plants.ru.translation"] + +source_file="res://translations/plants.csv" +dest_files=["res://translations/plants.en.translation", "res://translations/plants.ru.translation"] + +[params] + +compress=true +delimiter=0 diff --git a/translations/plants.en.translation b/translations/plants.en.translation new file mode 100644 index 0000000..b6310f1 Binary files /dev/null and b/translations/plants.en.translation differ diff --git a/translations/plants.ru.translation b/translations/plants.ru.translation new file mode 100644 index 0000000..5662236 Binary files /dev/null and b/translations/plants.ru.translation differ