aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/menu/about.gd141
-rw-r--r--client/menu/about.tscn84
-rw-r--r--client/menu/credits.gd74
-rw-r--r--client/menu/main.gd4
-rw-r--r--client/menu/main.tscn6
-rw-r--r--locale/ar.ini2
-rw-r--r--locale/de.ini2
-rw-r--r--locale/el.ini2
-rw-r--r--locale/en.ini32
-rw-r--r--locale/es.ini2
-rw-r--r--locale/eu.ini2
-rw-r--r--locale/fr.ini2
-rw-r--r--locale/he.ini2
-rw-r--r--locale/it.ini2
-rw-r--r--locale/ja.ini2
-rw-r--r--locale/nl.ini2
-rw-r--r--locale/pl.ini2
-rw-r--r--locale/ru.ini2
-rw-r--r--locale/tr.ini2
-rw-r--r--locale/zh_Hans.ini2
-rw-r--r--locale/zh_Hant.ini2
-rw-r--r--pixel-client/src/menu/main.rs2
22 files changed, 265 insertions, 108 deletions
diff --git a/client/menu/about.gd b/client/menu/about.gd
new file mode 100644
index 00000000..70d4bb73
--- /dev/null
+++ b/client/menu/about.gd
@@ -0,0 +1,141 @@
+# Hurry Curry! - a game about cooking
+# Copyright 2025 nokoe
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, version 3 of the License only.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+#
+
+extends Menu
+
+var authors := ["metamuffin", "nokoe", "tpart"]
+var contributors := ["sofviic", "BigBrotherNii", "Miner34"]
+const cc_by_4 := "CC-BY 4.0"
+const cc_by_3 := "CC-BY 3.0"
+const cc0 := "CC0"
+
+const AGPL_NOTICE := """This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as
+published by the Free Software Foundation, either version 3 of the
+License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see <https://www.gnu.org/licenses/>."""
+
+const SOURCE_CODE := "https://codeberg.org/hurrycurry/hurrycurry"
+
+func _ready() -> void:
+ $side/margin/options/first/source.tooltip_text = SOURCE_CODE
+
+var credits := [
+ [tr("c.credits.models"), [
+ ["kenney.nl", "Various Models", cc0],
+ ["Kay Lousberg", "Kitchen tiles", cc0],
+ ["Poly by Google", "Strawberry", cc_by_3],
+ ["Poly by Google", "Fish", cc_by_3]
+ ]],
+ [tr("c.credits.sounds"), [
+ ["Dryoma", "Footstep sounds", cc_by_4],
+ ["Koops", "Page_Turn_24.wav", cc_by_4],
+ ["InspectorJ", "Pencil, Writing, Close, A.wav", cc_by_4],
+ ["Dillon Becker", "Super Dialogue Audio Pack", cc_by_4],
+ ["Ellr", "Universal UI/Menu Soundpack", cc_by_4],
+ ["toyoto", "Woosh Fleuret Escrime B.wav", cc_by_4],
+ ["deleted_user_877451", "Game_over.wav", cc_by_3],
+ ["Quaternius", "Someting, dont remember...", cc0],
+ ["Dillon Becker", "Super Dialogue Audio Pack V1", cc_by_4]
+ ]],
+ [tr("c.credits.translations"), {
+ tr("c.settings.ui.language.zh_Hans"): ["Outbreak2096"],
+ tr("c.settings.ui.language.zh_Hant"): ["hugoalh"],
+ tr("c.settings.ui.language.nl"): ["Vistaus"],
+ tr("c.settings.ui.language.it"): ["Miner34", "solemden"],
+ tr("c.settings.ui.language.eu"): ["josuigoa"],
+ tr("c.settings.ui.language.fr"): ["fnetX", "lejun"],
+ tr("c.settings.ui.language.pl"): ["tranzystorekk"],
+ tr("c.settings.ui.language.he"): ["RustyStriker"],
+ tr("c.settings.ui.language.el"): ["n0toose"],
+ tr("c.settings.ui.language.ja"): ["BigBrotherNii"],
+ tr("c.settings.ui.language.ar"): ["sofviic"],
+ tr("c.settings.ui.language.tr"): ["furkanunsalan", "tekrei"],
+ tr("c.settings.ui.language.ru"): ["0ko"],
+ }]
+]
+
+func _menu_cover(state):
+ $side.visible = not state
+
+func credits_text() -> String:
+ var text = "[center]"
+
+ text += "\n\n\n[b]%s[/b]\n\n%s\n\n[b]%s[/b]\n\n%s\n\n[b]%s[/b]\n\n\n" % [
+ tr("c.credits.title"),
+ tr("c.credits.developed_by"),
+ "\n".join(authors),
+ tr("c.credits.contributors"),
+ ", ".join(contributors),
+ ]
+
+ for section in credits:
+ text += "[b]%s[/b]\n\n" % section[0]
+ if typeof(section[1]) == TYPE_DICTIONARY:
+ text += "[table=2]"
+ for key in section[1]:
+ text += "[cell][right]%s[/right][/cell]" % key
+ text += "[cell][left]%s[/left][/cell]" % ", ".join(section[1][key])
+ text += "[/table]"
+ else:
+ text += "[table=3]"
+ for entry in section[1]:
+ text += "[cell][right]%s[/right][/cell]" % entry[0]
+ text += "[cell][left]%s[/left][/cell]" % entry[1]
+ text += "[cell][left]%s[/left][/cell]" % entry[2]
+ text += "[/table]"
+ text += "\n\n\n"
+
+ text += "\n[b]%s[/b]\n\n\n[/center]" % tr("c.credits.thanks")
+ return text
+
+func legal_text() -> String:
+ var all: Array[String] = []
+ authors.shuffle()
+ contributors.shuffle()
+ all.append_array(authors)
+ all.append_array(contributors)
+ var translators: Array[String] = []
+ for c in credits[2][1].values():
+ translators.append_array(c)
+ translators.shuffle()
+ all.append_array(translators)
+ var text := "Hurry Curry! - a game about cooking\n"
+ text += "[code]Copyright 2024, 2025 %s\n\n" % ", ".join(all)
+ text += "%s[/code]\n\n" % AGPL_NOTICE
+ text += tr("c.legal.using_godot")
+ text += "\n\n[code]%s[/code]" % Engine.get_license_text()
+ return text
+
+func _on_credits_pressed() -> void:
+ submenu("res://menu/credits.tscn", credits_text())
+
+func _on_legal_pressed() -> void:
+ submenu("res://menu/credits.tscn", legal_text())
+
+func _on_back_pressed() -> void:
+ exit()
+
+
+func _on_source_pressed() -> void:
+ OS.shell_open(SOURCE_CODE)
diff --git a/client/menu/about.tscn b/client/menu/about.tscn
new file mode 100644
index 00000000..e02b22da
--- /dev/null
+++ b/client/menu/about.tscn
@@ -0,0 +1,84 @@
+[gd_scene load_steps=6 format=3 uid="uid://bpaenm8c6nmo8"]
+
+[ext_resource type="Script" path="res://menu/about.gd" id="1_0acu0"]
+[ext_resource type="Material" uid="uid://2j8a0c0a2ta5" path="res://menu/theme/materials/blur_material.tres" id="1_ai5pk"]
+[ext_resource type="StyleBox" uid="uid://bw4jamyna1top" path="res://menu/theme/style/panel_style_sidebar.tres" id="2_pya1x"]
+[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/fonts/font-sansita-swashed.woff2" id="4_kx3j7"]
+
+[sub_resource type="FontVariation" id="FontVariation_o2r3e"]
+base_font = ExtResource("4_kx3j7")
+variation_embolden = 0.5
+
+[node name="AboutMenu" type="Control"]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_0acu0")
+
+[node name="side" type="PanelContainer" parent="."]
+material = ExtResource("1_ai5pk")
+layout_mode = 1
+anchors_preset = 9
+anchor_bottom = 1.0
+offset_right = 294.0
+grow_vertical = 2
+theme_override_styles/panel = ExtResource("2_pya1x")
+
+[node name="margin" type="MarginContainer" parent="side"]
+layout_mode = 2
+theme_override_constants/margin_left = 20
+theme_override_constants/margin_top = 20
+theme_override_constants/margin_right = 20
+theme_override_constants/margin_bottom = 20
+
+[node name="options" type="VBoxContainer" parent="side/margin"]
+layout_mode = 2
+
+[node name="title" type="Label" parent="side/margin/options"]
+auto_translate_mode = 2
+layout_mode = 2
+theme_override_colors/font_outline_color = Color(0.566408, 0.208917, 0.266045, 1)
+theme_override_constants/outline_size = 10
+theme_override_fonts/font = SubResource("FontVariation_o2r3e")
+theme_override_font_sizes/font_size = 48
+text = "Hurry Curry!"
+
+[node name="spacer" type="Control" parent="side/margin/options"]
+custom_minimum_size = Vector2(0, 10)
+layout_mode = 2
+
+[node name="first" type="VBoxContainer" parent="side/margin/options"]
+layout_mode = 2
+
+[node name="credits" type="Button" parent="side/margin/options/first"]
+layout_mode = 2
+text = "c.menu.about.credits"
+alignment = 0
+
+[node name="legal" type="Button" parent="side/margin/options/first"]
+layout_mode = 2
+text = "c.menu.about.legal"
+alignment = 0
+
+[node name="source" type="Button" parent="side/margin/options/first"]
+layout_mode = 2
+text = "c.menu.about.source"
+alignment = 0
+
+[node name="first2" type="VBoxContainer" parent="side/margin/options"]
+layout_mode = 2
+size_flags_vertical = 3
+alignment = 2
+
+[node name="back" type="Button" parent="side/margin/options/first2"]
+layout_mode = 2
+text = "c.menu.back"
+alignment = 0
+
+[connection signal="pressed" from="side/margin/options/first/credits" to="." method="_on_credits_pressed"]
+[connection signal="pressed" from="side/margin/options/first/legal" to="." method="_on_legal_pressed"]
+[connection signal="pressed" from="side/margin/options/first/source" to="." method="_on_source_pressed"]
+[connection signal="pressed" from="side/margin/options/first2/back" to="." method="_on_back_pressed"]
diff --git a/client/menu/credits.gd b/client/menu/credits.gd
index 2d5d01b8..d935f874 100644
--- a/client/menu/credits.gd
+++ b/client/menu/credits.gd
@@ -17,83 +17,11 @@
#
extends Menu
-var authors := ["metamuffin", "nokoe", "tpart"]
-var contributors := ["sofviic", "BigBrotherNii", "Miner34"]
-const cc_by_4 := "CC-BY 4.0"
-const cc_by_3 := "CC-BY 3.0"
-const cc0 := "CC0"
-var credits := [
- [tr("c.credits.models"), [
- ["kenney.nl", "Various Models", cc0],
- ["Kay Lousberg", "Kitchen tiles", cc0],
- ["Poly by Google", "Strawberry", cc_by_3],
- ["Poly by Google", "Fish", cc_by_3]
- ]],
- [tr("c.credits.sounds"), [
- ["Dryoma", "Footstep sounds", cc_by_4],
- ["Koops", "Page_Turn_24.wav", cc_by_4],
- ["InspectorJ", "Pencil, Writing, Close, A.wav", cc_by_4],
- ["Dillon Becker", "Super Dialogue Audio Pack", cc_by_4],
- ["Ellr", "Universal UI/Menu Soundpack", cc_by_4],
- ["toyoto", "Woosh Fleuret Escrime B.wav", cc_by_4],
- ["deleted_user_877451", "Game_over.wav", cc_by_3],
- ["Quaternius", "Someting, dont remember...", cc0],
- ["Dillon Becker", "Super Dialogue Audio Pack V1", cc_by_4]
- ]],
- [tr("c.credits.translations"), {
- tr("c.settings.ui.language.zh_Hans"): ["Outbreak2096"],
- tr("c.settings.ui.language.zh_Hant"): ["hugoalh"],
- tr("c.settings.ui.language.nl"): ["Vistaus"],
- tr("c.settings.ui.language.it"): ["Miner34", "solemden"],
- tr("c.settings.ui.language.eu"): ["josuigoa"],
- tr("c.settings.ui.language.fr"): ["fnetX", "lejun"],
- tr("c.settings.ui.language.pl"): ["tranzystorekk"],
- tr("c.settings.ui.language.he"): ["RustyStriker"],
- tr("c.settings.ui.language.el"): ["n0toose"],
- tr("c.settings.ui.language.ja"): ["BigBrotherNii"],
- tr("c.settings.ui.language.ar"): ["sofviic"],
- tr("c.settings.ui.language.tr"): ["furkanunsalan", "tekrei"],
- tr("c.settings.ui.language.ru"): ["0ko"],
- }]
-]
-
@onready var label = $OuterMargin/Panel/InnerMargin/Vert/ScrollContainer/CreditsText
func _ready():
super()
- authors.shuffle()
- contributors.shuffle()
-
- var text = "[center]"
-
- text += "\n\n\n[b]%s[/b]\n\n%s\n\n[b]%s[/b]\n\n%s\n\n[b]%s[/b]\n\n\n" % [
- tr("c.credits.title"),
- tr("c.credits.developed_by"),
- "\n".join(authors),
- tr("c.credits.contributors"),
- ", ".join(contributors),
- ]
-
- for section in credits:
- text += "[b]%s[/b]\n\n" % section[0]
- if typeof(section[1]) == TYPE_DICTIONARY:
- text += "[table=2]"
- for key in section[1]:
- text += "[cell][right]%s[/right][/cell]" % key
- text += "[cell][left]%s[/left][/cell]" % ", ".join(section[1][key])
- text += "[/table]"
- else:
- text += "[table=3]"
- for entry in section[1]:
- text += "[cell][right]%s[/right][/cell]" % entry[0]
- text += "[cell][left]%s[/left][/cell]" % entry[1]
- text += "[cell][left]%s[/left][/cell]" % entry[2]
- text += "[/table]"
- text += "\n\n\n"
-
- text += "\n[b]%s[/b]\n\n\n[/center]" % tr("c.credits.thanks")
-
- label.text = text
+ label.text = data
func _on_back_pressed():
exit()
diff --git a/client/menu/main.gd b/client/menu/main.gd
index 5aa3fbaa..6ae6df45 100644
--- a/client/menu/main.gd
+++ b/client/menu/main.gd
@@ -32,8 +32,8 @@ func _menu_cover(state):
func _on_quit_pressed():
quit()
-func _on_credits_pressed():
- submenu("res://menu/credits.tscn")
+func _on_about_pressed():
+ submenu("res://menu/about.tscn")
func _on_change_character_pressed():
replace_menu("res://menu/character.tscn")
diff --git a/client/menu/main.tscn b/client/menu/main.tscn
index 7ec73085..685ad902 100644
--- a/client/menu/main.tscn
+++ b/client/menu/main.tscn
@@ -75,9 +75,9 @@ layout_mode = 2
text = "c.menu.settings"
alignment = 0
-[node name="credits" type="Button" parent="side/margin/options/first"]
+[node name="about" type="Button" parent="side/margin/options/first"]
layout_mode = 2
-text = "c.menu.credits"
+text = "c.menu.about"
alignment = 0
[node name="quit" type="Button" parent="side/margin/options/first"]
@@ -88,5 +88,5 @@ alignment = 0
[connection signal="pressed" from="side/margin/options/first/play" to="." method="_on_play_pressed"]
[connection signal="pressed" from="side/margin/options/first/change_character" to="." method="_on_change_character_pressed"]
[connection signal="pressed" from="side/margin/options/first/settings" to="." method="_on_settings_pressed"]
-[connection signal="pressed" from="side/margin/options/first/credits" to="." method="_on_credits_pressed"]
+[connection signal="pressed" from="side/margin/options/first/about" to="." method="_on_about_pressed"]
[connection signal="pressed" from="side/margin/options/first/quit" to="." method="_on_quit_pressed"]
diff --git a/locale/ar.ini b/locale/ar.ini
index 9ef04779..5cf4db2b 100644
--- a/locale/ar.ini
+++ b/locale/ar.ini
@@ -32,7 +32,7 @@ c.map.difficulty=الصعوبة
c.map.players_recommended=ينصح بـ {0} لاعبين
c.menu.accept=حسنا
c.menu.back=رجوع
-c.menu.credits=الشارة
+c.menu.about.credits=الشارة
c.menu.ingame.cancel=إلغاء اللعبة
c.menu.ingame.join=انضم إلى اللعبة
c.menu.ingame.join2=انضم إلى اللعبة
diff --git a/locale/de.ini b/locale/de.ini
index b9b8f28c..abecbf4c 100644
--- a/locale/de.ini
+++ b/locale/de.ini
@@ -39,7 +39,7 @@ c.map.difficulty=Schwierigkeitsstufe
c.map.players_recommended={0} Spieler empfohlen
c.menu.accept=Akzeptieren
c.menu.back=Zurück
-c.menu.credits=Mitwirkende
+c.menu.about.credits=Mitwirkende
c.menu.deny = Ablehnen
c.menu.ingame.cancel=Spiel abbrechen
c.menu.ingame.join=Spiel betreten
diff --git a/locale/el.ini b/locale/el.ini
index a75f2cee..6ffa4b4f 100644
--- a/locale/el.ini
+++ b/locale/el.ini
@@ -9,7 +9,7 @@ c.hint.boost = Πάτα {0} για boost
c.hint.framerate_low = Φαίνεται πως ο ρυθμός καρέ είναι χαμηλός. Μπορείς να χαμηλώσεις τα γραφικά στις ρυθμίσεις.
c.error.version_mismatch = Η έκδοση του παιχνιδιού στην συσκευή σας δεν ταιριάζει με του διακομιστή. Διακομιστής: {0}.{1}, Συσκευή: {2}.{3}.%nΈχετε ενημερώσει πρόσφατα το παιχνίδι;
c.error.websocket.unavailable = μη διαθέσιμο
-c.menu.credits = Συντελεστές
+c.menu.about.credits = Συντελεστές
c.menu.play.server_starting = Το server βρίσκεται σε εκκίνηση...
c.menu.play.server_stop = Παύση server
c.menu.play.server_testing = Server (δοκιμής)
diff --git a/locale/en.ini b/locale/en.ini
index 1bc4dfad..7b201183 100644
--- a/locale/en.ini
+++ b/locale/en.ini
@@ -1,7 +1,8 @@
[hurrycurry]
c.chat.write_message=Write message
-c.credits.developed_by=developed by
c.credits.contributors=with contributions from
+c.credits.developed_by=developed by
+c.legal.using_godot=This game uses Godot Engine, available under the following license:
c.credits.models=Models
c.credits.sounds=Sounds
c.credits.thanks=Thank You For Playing
@@ -33,9 +34,12 @@ c.map.difficulty.3=Unplayable
c.map.difficulty.4=Very hard
c.map.difficulty=Difficulty
c.map.players_recommended={0} players recommended
+c.menu.about.credits=Credits
+c.menu.about.legal=Legal
+c.menu.about.source=Source Code
+c.menu.about=About
c.menu.accept=Accept
c.menu.back=Back
-c.menu.credits=Credits
c.menu.deny=Deny
c.menu.ingame.cancel=Abort current game
c.menu.ingame.join=Join game
@@ -52,6 +56,13 @@ c.menu.lobby.start=Start game
c.menu.my_chef=My Chef
c.menu.play.allow_query_registry=To show a public server list a registry service is contacted regularly. The registry service is {0}.
c.menu.play.connect=Connect
+c.menu.play.editor_failed=Editor (failed)
+c.menu.play.editor_start=Start map editor
+c.menu.play.editor_starting=Editor is starting…
+c.menu.play.editor_stop=Stop map editor
+c.menu.play.editor_testing=Map Editor (testing)
+c.menu.play.editor_unavailable=Map Editor (unavailable)
+c.menu.play.editor=Map Editor
c.menu.play.fetching_list=Fetching server list…
c.menu.play.list_item={0} ({1} players)
c.menu.play.no_servers=No servers available.
@@ -64,19 +75,12 @@ c.menu.play.server_starting=Server is starting…
c.menu.play.server_stop=Stop server
c.menu.play.server_testing=Server (testing)
c.menu.play.server_unavailable=Server (unavailable)
-c.menu.play.editor_failed=Editor (failed)
-c.menu.play.editor_start=Start map editor
-c.menu.play.editor_starting=Editor is starting…
-c.menu.play.editor_stop=Stop map editor
-c.menu.play.editor_testing=Map Editor (testing)
-c.menu.play.editor_unavailable=Map Editor (unavailable)
-c.menu.play.editor=Map Editor
c.menu.play=Play
c.menu.quit=Quit
-c.menu.scoreboard=Scoreboard
c.menu.scoreboard.button=Show scoreboard
c.menu.scoreboard.entry={0}. {1} points by {2}
c.menu.scoreboard.no_finish=Nobody finished {0} yet.
+c.menu.scoreboard=Scoreboard
c.menu.settings=Settings
c.score.acceptable=Acceptable service
c.score.completed=Completed
@@ -136,9 +140,9 @@ c.settings.input.boost=Boost movement
c.settings.input.chat=Toggle chat
c.settings.input.forwards=Move Forwards
c.settings.input.fullscreen=Toggle fullscreen
-c.settings.input.interact=Interact
c.settings.input.interact_left=Interact (Left hand)
c.settings.input.interact_right=Interact (Right hand)
+c.settings.input.interact=Interact
c.settings.input.join_spectate=Join/Spectate
c.settings.input.joypad_axis=Joypad axis {0}
c.settings.input.joypad={0} (Joypad)
@@ -211,7 +215,6 @@ c.setup.uniform=3. [b]Working Uniform.[/b] You must always have one of the follo
c.setup.user_signature.desc=Signature of the Employee:%n%n%n
c.setup.user_signature=Click to sign
s.bot.dishwasher=Dish washer
-s.bot.frank=Frank Miller
s.bot.frank.line.0=You’re FIRED!
s.bot.frank.line.1=Work faster, {0}!
s.bot.frank.line.2=Quick! There is no time for chit-chat!
@@ -220,6 +223,7 @@ s.bot.frank.line.4=Don’t let the customers starve!
s.bot.frank.line.5=You are wasting me money, {0}!
s.bot.frank.line.6=I’m not paying you to stand around!
s.bot.frank.line.7=Get back to work, {0}!
+s.bot.frank=Frank Miller
s.bot.simple=Simple chef
s.bot.waiter=Waiter
s.campaign.condition.stars=Reach at least {0} stars in {1}
@@ -233,19 +237,19 @@ s.error.interacting_too_far=interacting too far from player
s.error.item_not_found=The item "{0}" does not exist.
s.error.map_load=Map failed to load: {0}
s.error.must_be_alone=You must be alone in this server to reload
+s.error.no_hand=Hand does not exist.
s.error.no_info=No information available.
s.error.no_player=Player does not exist.
s.error.no_tile=Tile does not exist.
-s.error.no_hand=Hand does not exist.
s.error.not_editor_session=Not within an editing session.
s.error.packet_not_supported=Packet not supported in this session.
s.error.packet_sender_invalid=Packet sent to a player that is not owned by this connection.
s.error.quoting_invalid=Command quoting invalid
s.error.self_interact=Interacting with yourself. This is impossible.
+s.error.too_many_players=Too many players joined
s.error.tutorial_already_running=Tutorial already running
s.error.tutorial_no_running=No tutorial running
s.error.username_length_limit=Username length limit of {0} characters or {1} bytes exceeded.
-s.error.too_many_players=Too many players joined
s.replay.cannot_join=Replays cannot be joined.
s.state.abort_no_players=Game was aborted due to a lack of players.
s.state.game_aborted=Game was aborted by {0}.
diff --git a/locale/es.ini b/locale/es.ini
index 35dfb26c..715db4aa 100644
--- a/locale/es.ini
+++ b/locale/es.ini
@@ -39,7 +39,7 @@ c.map.difficulty=Dificultad
c.map.players_recommended={0} jugadores recomendados
c.menu.accept=Aceptar
c.menu.back=Atrás
-c.menu.credits=Créditos
+c.menu.about.credits=Créditos
c.menu.deny = Denegar
c.menu.ingame.cancel=Cancelar partida
c.menu.ingame.join=Unirse a la partida
diff --git a/locale/eu.ini b/locale/eu.ini
index 50901d9d..8aa46ce9 100644
--- a/locale/eu.ini
+++ b/locale/eu.ini
@@ -38,7 +38,7 @@ c.map.difficulty=Zailtasuna
c.map.players_recommended={0} jokalarik gomendatua
c.menu.accept=Onartu
c.menu.back=Atzera
-c.menu.credits=Kredituak
+c.menu.about.credits=Kredituak
c.menu.ingame.cancel=Ezeztatu jokoa
c.menu.ingame.join=Batu jokora
c.menu.ingame.join2=Batu Jokora
diff --git a/locale/fr.ini b/locale/fr.ini
index 8248737c..6c518a23 100644
--- a/locale/fr.ini
+++ b/locale/fr.ini
@@ -39,7 +39,7 @@ c.map.difficulty=Difficulté
c.map.players_recommended={0} joueurs recommandés
c.menu.accept=Accepter
c.menu.back=Retour
-c.menu.credits=Crédits
+c.menu.about.credits=Crédits
c.menu.ingame.cancel=Annuler la partie
c.menu.ingame.join=Rejoindre une partie
c.menu.ingame.join2=Rejoindre la partie
diff --git a/locale/he.ini b/locale/he.ini
index 0eb2f198..7aa4ea5c 100644
--- a/locale/he.ini
+++ b/locale/he.ini
@@ -29,7 +29,7 @@ c.map.difficulty=רמת קושי
c.map.players_recommended=מספר שחקנים מומלץ: {0}
c.menu.accept=אשר
c.menu.back=אחורה
-c.menu.credits=קרדיטים
+c.menu.about.credits=קרדיטים
c.menu.ingame.cancel=ביטול משחק
c.menu.ingame.join=הצטרפות למשחק
c.menu.ingame.join2=הצטרף למשחק
diff --git a/locale/it.ini b/locale/it.ini
index fbf7b43f..736dc646 100644
--- a/locale/it.ini
+++ b/locale/it.ini
@@ -124,7 +124,7 @@ c.hint.join_while_running = Premi {0} e clicca "Entra" per unirti alla partita m
c.map.difficulty.2 = Media
c.hint.zoom_camera = Usa {0} per ingrandire/rimpicciolire
c.error.cannot_cancel_no_game = Impossibile annullare la partita poiché nessuna partita è in corso.
-c.menu.credits = Riconoscimenti
+c.menu.about.credits = Riconoscimenti
c.menu.ingame.join = Entra nella partita
c.menu.ingame.leave = Esci dalla partita
c.menu.ingame.quit = Chiudi la partita
diff --git a/locale/ja.ini b/locale/ja.ini
index fa89e88d..d9c77c21 100644
--- a/locale/ja.ini
+++ b/locale/ja.ini
@@ -29,7 +29,7 @@ c.map.difficulty=困難
c.map.players_recommended={0} プレイヤーを推奨
c.menu.accept=アクセプト
c.menu.back=戻る
-c.menu.credits=クレディツ
+c.menu.about.credits=クレディツ
c.menu.ingame.cancel=ゲームをキャンセル
c.menu.ingame.join=ゲームに参加します
c.menu.ingame.join2=ゲームに参加します
diff --git a/locale/nl.ini b/locale/nl.ini
index 9a616cf4..d599ca37 100644
--- a/locale/nl.ini
+++ b/locale/nl.ini
@@ -35,7 +35,7 @@ c.map.difficulty.4 = Zeer ervaren
c.map.players_recommended = Aanbevolen: {0} spelers
c.menu.accept = Accepteren
c.menu.back = Terug
-c.menu.credits = Met dank aan
+c.menu.about.credits = Met dank aan
c.menu.deny = Weigeren
c.menu.ingame.cancel = Beëindigen
c.menu.ingame.join = Deelnemen
diff --git a/locale/pl.ini b/locale/pl.ini
index 3a16402f..eecf57e2 100644
--- a/locale/pl.ini
+++ b/locale/pl.ini
@@ -32,7 +32,7 @@ c.map.difficulty=Poziom trudności
c.map.players_recommended=sugerowana liczba graczy {0}
c.menu.accept=Zatwierdź
c.menu.back=Powrót
-c.menu.credits=Twórcy
+c.menu.about.credits=Twórcy
c.menu.ingame.cancel=Porzuć grę
c.menu.ingame.join=Dołącz do gry
c.menu.ingame.join2=Dołącz do gry
diff --git a/locale/ru.ini b/locale/ru.ini
index 56d93824..c2c55561 100644
--- a/locale/ru.ini
+++ b/locale/ru.ini
@@ -6,7 +6,7 @@ c.error.websocket = Веб-сокет был закрыт с кодом {0}. П
c.hint.framerate_low = Игра, кажется, тормозит. Попробуйте снизить настройки графики в меню настроек, чтобы улучшить производительность.
c.menu.accept = Принять
c.menu.back = Назад
-c.menu.credits = Благодарности
+c.menu.about.credits = Благодарности
c.menu.deny = Отклонить
c.menu.ingame.join = Присоединиться
c.menu.ingame.leave = Покинуть игру
diff --git a/locale/tr.ini b/locale/tr.ini
index b9e663c4..ecd9a82f 100644
--- a/locale/tr.ini
+++ b/locale/tr.ini
@@ -31,7 +31,7 @@ c.menu.ingame.main_menu = Ana menü
c.map.difficulty = Zorluk
c.map.players_recommended = {0} oyuncu önerildi
c.menu.back = Geri
-c.menu.credits = Teşekkürler
+c.menu.about.credits = Teşekkürler
c.menu.ingame.quit = Oyundan çık
c.menu.my_chef = Benim Şefim
c.menu.ingame.reconnect = Yeniden Bağlan
diff --git a/locale/zh_Hans.ini b/locale/zh_Hans.ini
index a243c7b1..af9e148d 100644
--- a/locale/zh_Hans.ini
+++ b/locale/zh_Hans.ini
@@ -40,7 +40,7 @@ c.map.difficulty=难度
c.map.players_recommended={0} 名玩家推荐
c.menu.accept=接受
c.menu.back=返回
-c.menu.credits=致谢
+c.menu.about.credits=致谢
c.menu.deny = 拒绝
c.menu.ingame.cancel=取消游戏
c.menu.ingame.join=加入游戏
diff --git a/locale/zh_Hant.ini b/locale/zh_Hant.ini
index 02702120..54f7ca89 100644
--- a/locale/zh_Hant.ini
+++ b/locale/zh_Hant.ini
@@ -39,7 +39,7 @@ c.map.difficulty=難度
c.map.players_recommended=建議 {0} 名玩家
c.menu.accept=接受
c.menu.back=返回
-c.menu.credits=鳴謝
+c.menu.about.credits=鳴謝
c.menu.deny = 拒絕
c.menu.ingame.cancel=取消遊戲
c.menu.ingame.join=加入遊戲
diff --git a/pixel-client/src/menu/main.rs b/pixel-client/src/menu/main.rs
index 1f5f299e..38dcaaea 100644
--- a/pixel-client/src/menu/main.rs
+++ b/pixel-client/src/menu/main.rs
@@ -97,7 +97,7 @@ impl MainMenu {
if ui.button(80., tr("c.menu.settings")) {
self.settings = Some(SettingsMenu::default())
}
- if ui.button(80., tr("c.menu.credits")) {
+ if ui.button(80., tr("c.menu.about.credits")) {
self.credits = Some(CreditsMenu::default())
}
if ui.button(80., tr("c.menu.quit")) {