From b6c2f5cea9d016a4a374dd61323462fb389a20e4 Mon Sep 17 00:00:00 2001 From: oldcrate Date: Sun, 1 Nov 2026 20:55:10 +0100 Subject: [PATCH 1/2] feat: add internationalization (i18n) --- localization/en_US.po | 957 +++++++++++++++++++ localization/template.pot | 957 +++++++++++++++++++ prefabs/hit_popup.tscn | 1 + prefabs/map_button_square.tscn | 2 + prefabs/map_button_wide.tscn | 4 +- prefabs/map_info_container.tscn | 97 +- prefabs/notification.tscn | 2 + prefabs/option_popup.tscn | 2 + prefabs/score_panel.tscn | 8 +- project.godot | 4 + scenes/game.tscn | 99 +- scenes/loading.tscn | 2 + scenes/main.tscn | 40 +- scenes/main_menu.tscn | 76 +- scenes/results.tscn | 21 + scripts/Constants.cs | 9 + scripts/SettingsManager.cs | 24 +- scripts/SoundManager.cs | 3 +- scripts/database/settings/ISettingsItem.cs | 4 + scripts/database/settings/SettingsItem.cs | 3 + scripts/database/settings/SettingsProfile.cs | 32 +- scripts/map/MapManager.cs | 3 +- scripts/map/MapParser.cs | 23 +- scripts/map/Replay.cs | 1 + scripts/scenes/Loading.cs | 11 +- scripts/scenes/Results.cs | 3 +- scripts/skinning/SkinManager.cs | 3 +- scripts/ui/LinkPopupButton.cs | 14 +- scripts/ui/OptionPopup.cs | 12 +- scripts/ui/SettingsMenu.cs | 24 +- scripts/ui/ToastNotification.cs | 9 +- scripts/ui/menu/QuitButton.cs | 7 +- scripts/ui/menu/SoundSpaceButton.cs | 9 +- scripts/ui/menu/play/MapButtonWide.cs | 15 +- scripts/ui/menu/play/MapInfoContainer.cs | 49 +- scripts/ui/menu/play/ScorePanel.cs | 1 + scripts/util/I18n.cs | 34 + scripts/util/I18n.cs.uid | 1 + scripts/util/Networking.cs | 2 +- scripts/util/String.cs | 36 +- 40 files changed, 2449 insertions(+), 155 deletions(-) create mode 100644 localization/en_US.po create mode 100644 localization/template.pot create mode 100644 scripts/util/I18n.cs create mode 100644 scripts/util/I18n.cs.uid diff --git a/localization/en_US.po b/localization/en_US.po new file mode 100644 index 00000000..02898c42 --- /dev/null +++ b/localization/en_US.po @@ -0,0 +1,957 @@ +# Translation notes: +# {n} are placeholders. What they contain will be written in a comment next to the translation key. +# To add literal curly braces to a translation that has placeholders use double curly braces. +# +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Rhythia-v0.2.0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "(AD) Approach distance of hit objects, adjusts how far away hit objects spawn (bigger # = further)" +msgstr "(AD) Approach distance of hit objects, adjusts how far away hit objects spawn (bigger # = further)" + +msgid "(AR) Approach rate of hit objects, adjusts how fast hit objects come to the playfield (bigger # = faster)" +msgstr "(AR) Approach rate of hit objects, adjusts how fast hit objects come to the playfield (bigger # = faster)" + +msgid "(Not implemented) Adjusts the HUD parallax" +msgstr "(Not implemented) Adjusts the HUD parallax" + +msgid "2x (rough)" +msgstr "2x (rough)" + +msgid "4x (smooth)" +msgstr "4x (smooth)" + +msgid "8x (smoothest)" +msgstr "8x (smoothest)" + +msgid "Absolute Input" +msgstr "Absolute Input" + +msgid "Absolute Sensitivity" +msgstr "Absolute Sensitivity" + +msgid "Add Video" +msgstr "Add Video" + +msgid "Adjusted to 1000 DPI" +msgstr "Adjusted to 1000 DPI" + +msgid "Adjusts absolute area scale" +msgstr "Adjusts absolute area scale" + +msgid "Adjusts audio offset in milliseconds" +msgstr "Adjusts audio offset in milliseconds" + +msgid "Adjusts cursor sensitivity" +msgstr "Adjusts cursor sensitivity" + +msgid "Adjusts how smooth, or harsh, the HP Bar eases in while it updates" +msgstr "Adjusts how smooth, or harsh, the HP Bar eases in while it updates" + +msgid "Adjusts maximum frames per second, we recommend this being 2x your refresh rate" +msgstr "Adjusts maximum frames per second, we recommend this being 2x your refresh rate" + +msgid "Adjusts the camera parallax" +msgstr "Adjusts the camera parallax" + +msgid "Adjusts the cursor opacity" +msgstr "Adjusts the cursor opacity" + +msgid "Adjusts the cursor scale, does not change hitboxes" +msgstr "Adjusts the cursor scale, does not change hitboxes" + +msgid "Adjusts the detail for the trail, a high value may impact performance" +msgstr "Adjusts the detail for the trail, a high value may impact performance" + +msgid "Adjusts the field of view" +msgstr "Adjusts the field of view" + +msgid "Adjusts the note opacity curve, a higher value will make any sort of transparency appear more quickly" +msgstr "Adjusts the note opacity curve, a higher value will make any sort of transparency appear more quickly" + +msgid "Adjusts trail visibility time" +msgstr "Adjusts trail visibility time" + +msgid "Alphabetical" +msgstr "Alphabetical" + +msgid "Alt. Combo Counter" +msgstr "Alt. Combo Counter" + +msgid "Always Play Hit Sound" +msgstr "Always Play Hit Sound" + +msgid "Anti Aliasing" +msgstr "Anti Aliasing" + +msgid "Approach Distance" +msgstr "Approach Distance" + +msgid "Approach Rate" +msgstr "Approach Rate" + +msgid "Are you sure?" +msgstr "Are you sure?" + +msgid "Ascending" +msgstr "Ascending" + +msgid "Attempts" +msgstr "Attempts" + +msgid "Audio control for hit sound" +msgstr "Audio control for hit sound" + +msgid "Audio control for menu music" +msgstr "Audio control for menu music" + +msgid "Audio control for miss sound" +msgstr "Audio control for miss sound" + +msgid "Audio control for other sound effects" +msgstr "Audio control for other sound effects" + +msgid "Audio control for the music" +msgstr "Audio control for the music" + +msgid "Author" +msgstr "Author" + +msgid "Auto Restart On Death" +msgstr "Auto Restart On Death" + +msgid "Automatically import settings from nightly" +msgstr "Automatically import settings from nightly" + +msgid "Automatically plays the jukebox on start" +msgstr "Automatically plays the jukebox on start" + +msgid "Autoplay Jukebox" +msgstr "Autoplay Jukebox" + +#. {0} = author link +msgid "Available on {0}" +msgstr "Available on {0}" + +msgid "Average Accuracy" +msgstr "Average Accuracy" + +msgid "Back" +msgstr "Back" + +msgid "Button" +msgstr "Button" + +msgid "CATEGORY" +msgstr "CATEGORY" + +msgid "CONTRIBUTORS" +msgstr "CONTRIBUTORS" + +msgid "CTRL + O" +msgstr "CTRL + O" + +msgid "Camera Mode" +msgstr "Camera Mode" + +msgid "Camera Parallax" +msgstr "Camera Parallax" + +msgid "CameraMode" +msgstr "CameraMode" + +msgid "Cancel" +msgstr "Cancel" + +msgid "Change the game's language" +msgstr "Change the game's language" + +msgid "Changes how the window is displayed, Borderless may fix some issues with drawing tablets" +msgstr "Changes how the window is displayed, Borderless may fix some issues with drawing tablets" + +msgid "Changes the color of the space (only when space hit effects is off)" +msgstr "Changes the color of the space (only when space hit effects is off)" + +msgid "Choose file" +msgstr "Choose file" + +msgid "Choose the path to the User Folder" +msgstr "Choose the path to the User Folder" + +msgid "Colors" +msgstr "Colors" + +msgid "Copy" +msgstr "Copy" + +#. {0} = name of the skin +msgid "Could not find skin {0}" +msgstr "Could not find skin {0}" + +msgid "Could not set port, defaulting to {0}" +msgstr "Could not set port, defaulting to {0}" + +msgid "Create Profile" +msgstr "Create Profile" + +#. {0} = profile name +msgid "Created profile '{0}'" +msgstr "Created profile '{0}'" + +msgid "Cursor Drift" +msgstr "Cursor Drift" + +msgid "Cursor Opacity" +msgstr "Cursor Opacity" + +msgid "Cursor Rotation" +msgstr "Cursor Rotation" + +msgid "Cursor Scale" +msgstr "Cursor Scale" + +msgid "Cursor Trail" +msgstr "Cursor Trail" + +msgid "Cursor Trail Detail" +msgstr "Cursor Trail Detail" + +msgid "Cursor Trail Time" +msgstr "Cursor Trail Time" + +msgid "Custom Space Color" +msgstr "Custom Space Color" + +msgid "DISQUALIFIED" +msgstr "DISQUALIFIED" + +msgid "Degrees to rotate the cursor by every second" +msgstr "Degrees to rotate the cursor by every second" + +msgid "Delete" +msgstr "Delete" + +#. {0} = map pretty title +msgid "Deleted {0}!" +msgstr "Deleted {0}!" + +msgid "Difficulty" +msgstr "Difficulty" + +msgid "Display FPS" +msgstr "Display FPS" + +msgid "Done!" +msgstr "Done!" + +msgid "Done! Opening export..." +msgstr "Done! Opening export..." + +#. {0} = download progress in percentage +msgid "Downloading {0} %" +msgstr "Downloading {0} %" + +msgid "EXPAND" +msgstr "EXPAND" + +msgid "EXTRAS" +msgstr "EXTRAS" + +msgid "Enable Hit Sound" +msgstr "Enable Hit Sound" + +msgid "Enable Menu Music" +msgstr "Enable Menu Music" + +msgid "Enable Miss Sound" +msgstr "Enable Miss Sound" + +msgid "Enables a dark radial fade to help with visibility (impacts performance significantly)" +msgstr "Enables a dark radial fade to help with visibility (impacts performance significantly)" + +msgid "Enables grid guides" +msgstr "Enables grid guides" + +msgid "Enables hit sound playback" +msgstr "Enables hit sound playback" + +msgid "Enables menu music playback when the menu is quiet" +msgstr "Enables menu music playback when the menu is quiet" + +msgid "Enables miss sound playback" +msgstr "Enables miss sound playback" + +#. {0} = export file path +msgid "Exporting to {0}" +msgstr "Exporting to {0}" + +msgid "Exports map into a .phxm file to share easily" +msgstr "Exports map into a .phxm file to share easily" + +msgid "Extras" +msgstr "Extras" + +msgid "FAILED" +msgstr "FAILED" + +msgid "FPS" +msgstr "FPS" + +msgid "Fade In" +msgstr "Fade In" + +msgid "Fade Out" +msgstr "Fade Out" + +msgid "Favorite" +msgstr "Favorite" + +msgid "Favourite Map" +msgstr "Favourite Map" + +msgid "Field of View" +msgstr "Field of View" + +#. {0} = number of maps +msgid "Finished importing {0} map" +msgid_plural "Finished importing {0} maps" +msgstr[0] "Finished importing {0} map" +msgstr[1] "Finished importing {0} maps" + +msgid "Full Combos" +msgstr "Full Combos" + +msgid "GIVE UP" +msgstr "GIVE UP" + +msgid "Game Playtime" +msgstr "Game Playtime" + +msgid "Game Space" +msgstr "Game Space" + +msgid "Games Opened" +msgstr "Games Opened" + +msgid "Grid Guides" +msgstr "Grid Guides" + +msgid "HP Bar Easing Value" +msgstr "HP Bar Easing Value" + +msgid "HUD Parallax" +msgstr "HUD Parallax" + +#. Hex as in hexadecimal +msgid "Hex" +msgstr "Hex" + +msgid "Hide Notifications" +msgstr "Hide Notifications" + +msgid "Hides health bar, song duration, and song name" +msgstr "Hides health bar, song duration, and song name" + +msgid "Hides notifications, important ones will still display" +msgstr "Hides notifications, important ones will still display" + +msgid "Hides the regular left and right panels, and instead displays a simple miss counter on the right" +msgstr "Hides the regular left and right panels, and instead displays a simple miss counter on the right" + +msgid "Highest Combo" +msgstr "Highest Combo" + +msgid "Highest Score" +msgstr "Highest Score" + +msgid "Hit Score Popups" +msgstr "Hit Score Popups" + +msgid "Hit Sound Volume" +msgstr "Hit Sound Volume" + +msgid "Hold R to Quit" +msgstr "Hold R to Quit" + +msgid "Home" +msgstr "Home" + +msgid "Import" +msgstr "Import" + +msgid "Import Nightly Colorsets" +msgstr "Import Nightly Colorsets" + +msgid "Import Nightly Meshes" +msgstr "Import Nightly Meshes" + +msgid "Import Nightly Settings" +msgstr "Import Nightly Settings" + +msgid "Import manually from a nightly settings file" +msgstr "Import manually from a nightly settings file" + +#. {0} = imported count (colorsets) +msgid "Imported {0} colorsets from nightly" +msgstr "Imported {0} colorsets from nightly" + +#. {0} = imported count (meshes) +msgid "Imported {0} meshes from nightly" +msgstr "Imported {0} meshes from nightly" + +#. {0} = number of maps +msgid "Importing {0} map" +msgid_plural "Importing {0} maps" +msgstr[0] "Importing {0} map" +msgstr[1] "Importing {0} maps" + +msgid "Imports colorsets from the nightly folder" +msgstr "Imports colorsets from the nightly folder" + +msgid "Imports meshes from the nightly folder" +msgstr "Imports meshes from the nightly folder" + +msgid "Imports settings from the nightly client" +msgstr "Imports settings from the nightly client" + +msgid "Information goes here" +msgstr "Information goes here" + +#. {0} = maps synced +#. {1} = total maps that have to be synced +msgid "Initializing maps ({0}/{1})" +msgstr "Initializing maps ({0}/{1})" + +msgid "Inspired by " +msgstr "Inspired by " + +msgid "Installing" +msgstr "Installing" + +msgid "Invalid User Path. Setting has not been changed." +msgstr "Invalid User Path. Setting has not been changed." + +msgid "Invalid map path" +msgstr "Invalid map path" + +msgid "Language" +msgstr "Language" + +#. {0} = name of the loaded profile +msgid "Loaded profile [{0}]" +msgstr "Loaded profile [{0}]" + +#. {0} = skin name +msgid "Loaded skin [{0}]" +msgstr "Loaded skin [{0}]" + +msgid "Local Offset" +msgstr "Local Offset" + +msgid "Local Offset: {0}ms" +msgstr "Local Offset: {0}ms" + +msgid "Lock" +msgstr "Lock" + +msgid "Lock FPS" +msgstr "Lock FPS" + +msgid "Locks maximum frames per second" +msgstr "Locks maximum frames per second" + +msgid "Map file corrupted aaaaa" +msgstr "Map file corrupted aaaaa" + +msgid "Mappers" +msgstr "Mappers" + +msgid "Master Volume" +msgstr "Master Volume" + +msgid "Master volume control for all audio" +msgstr "Master volume control for all audio" + +msgid "Menu Music Volume" +msgstr "Menu Music Volume" + +msgid "Menu Space" +msgstr "Menu Space" + +msgid "Miss Popups" +msgstr "Miss Popups" + +msgid "Miss Sound Volume" +msgstr "Miss Sound Volume" + +msgid "Modifiers" +msgstr "Modifiers" + +msgid "Moves the Combo Counter to the HUD" +msgstr "Moves the Combo Counter to the HUD" + +msgid "Music Volume" +msgstr "Music Volume" + +msgid "NOTE: Pausing disqualifies your pass" +msgstr "NOTE: Pausing disqualifies your pass" + +msgid "Nightly settings not found, choose the settings file manually." +msgstr "Nightly settings not found, choose the settings file manually." + +msgid "No Previous User Folder Found" +msgstr "No Previous User Folder Found" + +msgid "Note Mesh" +msgstr "Note Mesh" + +msgid "Note Opacity" +msgstr "Note Opacity" + +msgid "Note Opacity Exponent" +msgstr "Note Opacity Exponent" + +msgid "Note Size" +msgstr "Note Size" + +msgid "Notes Hit" +msgstr "Notes Hit" + +msgid "Notes Missed" +msgstr "Notes Missed" + +msgid "Off (roughest)" +msgstr "Off (roughest)" + +msgid "Ok" +msgstr "Ok" + +msgid "On death, automatically restart the run instead of going to the results screen" +msgstr "On death, automatically restart the run instead of going to the results screen" + +msgid "Open" +msgstr "Open" + +msgid "Open File(s)" +msgstr "Open File(s)" + +msgid "Open Link" +msgstr "Open Link" + +msgid "Open Previous User Folder" +msgstr "Open Previous User Folder" + +msgid "Open a Directory" +msgstr "Open a Directory" + +msgid "Open a File" +msgstr "Open a File" + +msgid "Open the path to the previously used User Folder" +msgstr "Open the path to the previously used User Folder" + +msgid "Open the skin folder" +msgstr "Open the skin folder" + +msgid "Other" +msgstr "Other" + +msgid "Overrides the skin's background space for gameplay" +msgstr "Overrides the skin's background space for gameplay" + +msgid "Overrides the skin's background space for the menu" +msgstr "Overrides the skin's background space for the menu" + +msgid "Overrides the skin's colorset" +msgstr "Overrides the skin's colorset" + +msgid "Overrides the skin's note mesh" +msgstr "Overrides the skin's note mesh" + +msgid "PAUSED" +msgstr "PAUSED" + +msgid "PLAY" +msgstr "PLAY" + +#. {0} = translation for "Settings" +#. {1} = translation for "Other" +#. {2} = translation for "Open Previous User Folder" +msgid "PS: you can find the old folder in {0} > {1} > {2}" +msgstr "PS: you can find the old folder in {0} > {1} > {2}" + +msgid "Passes" +msgstr "Passes" + +msgid "Path To User Folder" +msgstr "Path To User Folder" + +msgid "Pick Color" +msgstr "Pick Color" + +msgid "Play" +msgstr "Play" + +msgid "Play (Space)" +msgstr "Play (Space)" + +msgid "Playtesting Menu" +msgstr "Playtesting Menu" + +msgid "Popup Header" +msgstr "Popup Header" + +msgid "Press F2 to hide replay UI, F3 to hide orthogonal camera, F to toggle note fade out, P to toggle note pushback" +msgstr "Press F2 to hide replay UI, F3 to hide orthogonal camera, F to toggle note fade out, P to toggle note pushback" + +msgid "Press Space to complete" +msgstr "Press Space to complete" + +msgid "Press Space to skip" +msgstr "Press Space to skip" + +msgid "Preview" +msgstr "Preview" + +msgid "Pushback" +msgstr "Pushback" + +msgid "QUIT" +msgstr "QUIT" + +msgid "Quit" +msgstr "Quit" + +msgid "RELEASE NOTES" +msgstr "RELEASE NOTES" + +msgid "RESTART" +msgstr "RESTART" + +msgid "RESULTS" +msgstr "RESULTS" + +msgid "RESUME" +msgstr "RESUME" + +msgid "RHM file corrupted" +msgstr "RHM file corrupted" + +msgid "Rage Quits" +msgstr "Rage Quits" + +msgid "Random" +msgstr "Random" + +msgid "Record Replays" +msgstr "Record Replays" + +msgid "Refresh Preview" +msgstr "Refresh Preview" + +msgid "Replay file corrupted" +msgstr "Replay file corrupted" + +msgid "Replay map not found" +msgstr "Replay map not found" + +msgid "Reset" +msgstr "Reset" + +msgid "Reset to Defaults" +msgstr "Reset to Defaults" + +msgid "Resets all settings to default values" +msgstr "Resets all settings to default values" + +msgid "Restart" +msgstr "Restart" + +msgid "Restart And Copy" +msgstr "Restart And Copy" + +msgid "Restart required." +msgstr "Restart required." + +msgid "Rhythia" +msgstr "Rhythia" + +msgid "SETTINGS" +msgstr "SETTINGS" + +msgid "SFX Volume" +msgstr "SFX Volume" + +msgid "SKIN PREVIEW" +msgstr "SKIN PREVIEW" + +msgid "SSMapV1 file corrupted" +msgstr "SSMapV1 file corrupted" + +msgid "SSPM file corrupted" +msgstr "SSPM file corrupted" + +msgid "SSPMV1 file corrupted" +msgstr "SSPMV1 file corrupted" + +msgid "SSPMV2 file corrupted" +msgstr "SSPMV2 file corrupted" + +msgid "START" +msgstr "START" + +msgid "STATISTICS" +msgstr "STATISTICS" + +msgid "Search" +msgstr "Search" + +msgid "Seek forward to skip" +msgstr "Seek forward to skip" + +msgid "Selected skin for the game" +msgstr "Selected skin for the game" + +msgid "Sensitivity" +msgstr "Sensitivity" + +msgid "Set User Folder Path" +msgstr "Set User Folder Path" + +msgid "Set the path where Rhythia stores it's files" +msgstr "Set the path where Rhythia stores it's files" + +msgid "Sets the maximum opacity for the notes" +msgstr "Sets the maximum opacity for the notes" + +msgid "Sets the size of the notes, does not change hitboxes" +msgstr "Sets the size of the notes, does not change hitboxes" + +msgid "Setting" +msgstr "Setting" + +msgid "Settings" +msgstr "Settings" + +msgid "Settings file corrupted" +msgstr "Settings file corrupted" + +msgid "Settings reset to default successfully!" +msgstr "Settings reset to default successfully!" + +msgid "Simple HUD" +msgstr "Simple HUD" + +msgid "Skin" +msgstr "Skin" + +msgid "Skin Folder" +msgstr "Skin Folder" + +msgid "Smoothes edges, at the cost of performance" +msgstr "Smoothes edges, at the cost of performance" + +msgid "Space Color" +msgstr "Space Color" + +msgid "Space Effects" +msgstr "Space Effects" + +msgid "Space Hit Effects" +msgstr "Space Hit Effects" + +msgid "Speed" +msgstr "Speed" + +msgid "Spin" +msgstr "Spin" + +msgid "Start From" +msgstr "Start From" + +msgid "Starting from when hit objects spawn in, the distance required to travel before becoming fully opaque" +msgstr "Starting from when hit objects spawn in, the distance required to travel before becoming fully opaque" + +msgid "Super Simple HUD" +msgstr "Super Simple HUD" + +msgid "Takes \"Start From\" and \"Speed\" from external editors like the SSQE when using the \"Playtest\" button" +msgstr "Takes \"Start From\" and \"Speed\" from external editors like the SSQE when using the \"Playtest\" button" + +msgid "The nightly colorsets folder doesn't exist" +msgstr "The nightly colorsets folder doesn't exist" + +msgid "The nightly meshes folder doesn't exist" +msgstr "The nightly meshes folder doesn't exist" + +msgid "The transparency of hit objects when going past the playfield" +msgstr "The transparency of hit objects when going past the playfield" + +#. {0} = link +msgid "This will open the following link:{0}" +msgstr "This will open the following link:{0}" + +msgid "This will overwrite the contents of the new folder and double the game in size unless you remove the old files." +msgstr "This will overwrite the contents of the new folder and double the game in size unless you remove the old files." + +msgid "Time spent strictly being in a map" +msgstr "Time spent strictly being in a map" + +msgid "Toggle Skin Preview" +msgstr "Toggle Skin Preview" + +msgid "Toggles V-Sync when in menus" +msgstr "Toggles V-Sync when in menus" + +msgid "Toggles a popup on a hit" +msgstr "Toggles a popup on a hit" + +msgid "Toggles a popup on a miss" +msgstr "Toggles a popup on a miss" + +msgid "Toggles a trail for your cursor" +msgstr "Toggles a trail for your cursor" + +msgid "Toggles absolute inputs" +msgstr "Toggles absolute inputs" + +msgid "Toggles cursor drift" +msgstr "Toggles cursor drift" + +msgid "Toggles hit sound to always play" +msgstr "Toggles hit sound to always play" + +msgid "Toggles non-hit effects for the game space" +msgstr "Toggles non-hit effects for the game space" + +msgid "Toggles note hit effects for the game space" +msgstr "Toggles note hit effects for the game space" + +msgid "Toggles recording for replays" +msgstr "Toggles recording for replays" + +msgid "Toggles the framerate counter in the corner" +msgstr "Toggles the framerate counter in the corner" + +msgid "Toggles the use of a custom space color" +msgstr "Toggles the use of a custom space color" + +msgid "Toggles whether hit objects are visible past the playfield or not" +msgstr "Toggles whether hit objects are visible past the playfield or not" + +msgid "Total Distance" +msgstr "Total Distance" + +msgid "Total Playtime" +msgstr "Total Playtime" + +msgid "Total Score" +msgstr "Total Score" + +msgid "Unsupported file format" +msgstr "Unsupported file format" + +msgid "Update Found" +msgstr "Update Found" + +msgid "Use Cursor in Menus" +msgstr "Use Cursor in Menus" + +msgid "Use Editor Playtest Settings" +msgstr "Use Editor Playtest Settings" + +msgid "User Folder" +msgstr "User Folder" + +msgid "Uses the skin's cursor instead of the native cursor" +msgstr "Uses the skin's cursor instead of the native cursor" + +msgid "V-Sync in Menus" +msgstr "V-Sync in Menus" + +msgid "VIEW" +msgstr "VIEW" + +msgid "Visibility Assist" +msgstr "Visibility Assist" + +msgid "WARNING: THIS RESETS YOUR CURRENT PROFILE" +msgstr "WARNING: THIS RESETS YOUR CURRENT PROFILE" + +msgid "Watch Replay" +msgstr "Watch Replay" + +msgid "Window Mode" +msgstr "Window Mode" + +msgid "Would you like to download the new version?" +msgstr "Would you like to download the new version?" + +msgid "Would you like to restart the game?" +msgstr "Would you like to restart the game?" + +msgid "You have no previous user folder. Either you didn't change your User Folder (and that's fine) or the record of it got deleted." +msgstr "You have no previous user folder. Either you didn't change your User Folder (and that's fine) or the record of it got deleted." + +#. {0} = mapper +msgid "by {0}" +msgstr "by {0}" + +msgid "default" +msgstr "default" + +msgid "input" +msgstr "input" + +msgid "of which you are right now..." +msgstr "of which you are right now..." + +msgid "profile name" +msgstr "profile name" + +msgid "skin" +msgstr "skin" + +#. {0} = number of days +msgid "{0} day ago" +msgid_plural "{0} days ago" +msgstr[0] "{0} day ago" +msgstr[1] "{0} days ago" + +#. {0} = number of hours +msgid "{0} hour ago" +msgid_plural "{0} hours ago" +msgstr[0] "{0} hour ago" +msgstr[1] "{0} hours ago" + +#. {0} = imported PHXM folder +msgid "{0} is not the proper format!" +msgstr "{0} is not the proper format!" + +#. {0} = number of minutes +msgid "{0} minute ago" +msgid_plural "{0} minutes ago" +msgstr[0] "{0} minute ago" +msgstr[1] "{0} minutes ago" + +#. {0} = number of notes +msgid "{0} notes" +msgstr "{0} notes" + +#. {0} = number of seconds +msgid "{0} second ago" +msgid_plural "{0} seconds ago" +msgstr[0] "{0} second ago" +msgstr[1] "{0} seconds ago" + +#. {0} = time +#. {1} = difficulty +#. {2} = mappers +msgid "{0} — {1} by {2}" +msgstr "{0} — {1} by {2}" diff --git a/localization/template.pot b/localization/template.pot new file mode 100644 index 00000000..4f048618 --- /dev/null +++ b/localization/template.pot @@ -0,0 +1,957 @@ +# Translation notes: +# {n} are placeholders. What they contain will be written in a comment next to the translation key. +# To add literal curly braces to a translation that has placeholders use double curly braces. +# +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Rhythia-v0.2.0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "(AD) Approach distance of hit objects, adjusts how far away hit objects spawn (bigger # = further)" +msgstr "" + +msgid "(AR) Approach rate of hit objects, adjusts how fast hit objects come to the playfield (bigger # = faster)" +msgstr "" + +msgid "(Not implemented) Adjusts the HUD parallax" +msgstr "" + +msgid "2x (rough)" +msgstr "" + +msgid "4x (smooth)" +msgstr "" + +msgid "8x (smoothest)" +msgstr "" + +msgid "Absolute Input" +msgstr "" + +msgid "Absolute Sensitivity" +msgstr "" + +msgid "Add Video" +msgstr "" + +msgid "Adjusted to 1000 DPI" +msgstr "" + +msgid "Adjusts absolute area scale" +msgstr "" + +msgid "Adjusts audio offset in milliseconds" +msgstr "" + +msgid "Adjusts cursor sensitivity" +msgstr "" + +msgid "Adjusts how smooth, or harsh, the HP Bar eases in while it updates" +msgstr "" + +msgid "Adjusts maximum frames per second, we recommend this being 2x your refresh rate" +msgstr "" + +msgid "Adjusts the camera parallax" +msgstr "" + +msgid "Adjusts the cursor opacity" +msgstr "" + +msgid "Adjusts the cursor scale, does not change hitboxes" +msgstr "" + +msgid "Adjusts the detail for the trail, a high value may impact performance" +msgstr "" + +msgid "Adjusts the field of view" +msgstr "" + +msgid "Adjusts the note opacity curve, a higher value will make any sort of transparency appear more quickly" +msgstr "" + +msgid "Adjusts trail visibility time" +msgstr "" + +msgid "Alphabetical" +msgstr "" + +msgid "Alt. Combo Counter" +msgstr "" + +msgid "Always Play Hit Sound" +msgstr "" + +msgid "Anti Aliasing" +msgstr "" + +msgid "Approach Distance" +msgstr "" + +msgid "Approach Rate" +msgstr "" + +msgid "Are you sure?" +msgstr "" + +msgid "Ascending" +msgstr "" + +msgid "Attempts" +msgstr "" + +msgid "Audio control for hit sound" +msgstr "" + +msgid "Audio control for menu music" +msgstr "" + +msgid "Audio control for miss sound" +msgstr "" + +msgid "Audio control for other sound effects" +msgstr "" + +msgid "Audio control for the music" +msgstr "" + +msgid "Author" +msgstr "" + +msgid "Auto Restart On Death" +msgstr "" + +msgid "Automatically import settings from nightly" +msgstr "" + +msgid "Automatically plays the jukebox on start" +msgstr "" + +msgid "Autoplay Jukebox" +msgstr "" + +#. {0} = author link +msgid "Available on {0}" +msgstr "" + +msgid "Average Accuracy" +msgstr "" + +msgid "Back" +msgstr "" + +msgid "Button" +msgstr "" + +msgid "CATEGORY" +msgstr "" + +msgid "CONTRIBUTORS" +msgstr "" + +msgid "CTRL + O" +msgstr "" + +msgid "Camera Mode" +msgstr "" + +msgid "Camera Parallax" +msgstr "" + +msgid "CameraMode" +msgstr "" + +msgid "Cancel" +msgstr "" + +msgid "Change the game's language" +msgstr "" + +msgid "Changes how the window is displayed, Borderless may fix some issues with drawing tablets" +msgstr "" + +msgid "Changes the color of the space (only when space hit effects is off)" +msgstr "" + +msgid "Choose file" +msgstr "" + +msgid "Choose the path to the User Folder" +msgstr "" + +msgid "Colors" +msgstr "" + +msgid "Copy" +msgstr "" + +#. {0} = name of the skin +msgid "Could not find skin {0}" +msgstr "" + +msgid "Could not set port, defaulting to {0}" +msgstr "" + +msgid "Create Profile" +msgstr "" + +#. {0} = profile name +msgid "Created profile '{0}'" +msgstr "" + +msgid "Cursor Drift" +msgstr "" + +msgid "Cursor Opacity" +msgstr "" + +msgid "Cursor Rotation" +msgstr "" + +msgid "Cursor Scale" +msgstr "" + +msgid "Cursor Trail" +msgstr "" + +msgid "Cursor Trail Detail" +msgstr "" + +msgid "Cursor Trail Time" +msgstr "" + +msgid "Custom Space Color" +msgstr "" + +msgid "DISQUALIFIED" +msgstr "" + +msgid "Degrees to rotate the cursor by every second" +msgstr "" + +msgid "Delete" +msgstr "" + +#. {0} = map pretty title +msgid "Deleted {0}!" +msgstr "" + +msgid "Difficulty" +msgstr "" + +msgid "Display FPS" +msgstr "" + +msgid "Done!" +msgstr "" + +msgid "Done! Opening export..." +msgstr "" + +#. {0} = download progress in percentage +msgid "Downloading {0} %" +msgstr "" + +msgid "EXPAND" +msgstr "" + +msgid "EXTRAS" +msgstr "" + +msgid "Enable Hit Sound" +msgstr "" + +msgid "Enable Menu Music" +msgstr "" + +msgid "Enable Miss Sound" +msgstr "" + +msgid "Enables a dark radial fade to help with visibility (impacts performance significantly)" +msgstr "" + +msgid "Enables grid guides" +msgstr "" + +msgid "Enables hit sound playback" +msgstr "" + +msgid "Enables menu music playback when the menu is quiet" +msgstr "" + +msgid "Enables miss sound playback" +msgstr "" + +#. {0} = export file path +msgid "Exporting to {0}" +msgstr "" + +msgid "Exports map into a .phxm file to share easily" +msgstr "" + +msgid "Extras" +msgstr "" + +msgid "FAILED" +msgstr "" + +msgid "FPS" +msgstr "" + +msgid "Fade In" +msgstr "" + +msgid "Fade Out" +msgstr "" + +msgid "Favorite" +msgstr "" + +msgid "Favourite Map" +msgstr "" + +msgid "Field of View" +msgstr "" + +#. {0} = number of maps +msgid "Finished importing {0} map" +msgid_plural "Finished importing {0} maps" +msgstr[0] "" +msgstr[1] "" + +msgid "Full Combos" +msgstr "" + +msgid "GIVE UP" +msgstr "" + +msgid "Game Playtime" +msgstr "" + +msgid "Game Space" +msgstr "" + +msgid "Games Opened" +msgstr "" + +msgid "Grid Guides" +msgstr "" + +msgid "HP Bar Easing Value" +msgstr "" + +msgid "HUD Parallax" +msgstr "" + +#. Hex as in hexadecimal +msgid "Hex" +msgstr "" + +msgid "Hide Notifications" +msgstr "" + +msgid "Hides health bar, song duration, and song name" +msgstr "" + +msgid "Hides notifications, important ones will still display" +msgstr "" + +msgid "Hides the regular left and right panels, and instead displays a simple miss counter on the right" +msgstr "" + +msgid "Highest Combo" +msgstr "" + +msgid "Highest Score" +msgstr "" + +msgid "Hit Score Popups" +msgstr "" + +msgid "Hit Sound Volume" +msgstr "" + +msgid "Hold R to Quit" +msgstr "" + +msgid "Home" +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import Nightly Colorsets" +msgstr "" + +msgid "Import Nightly Meshes" +msgstr "" + +msgid "Import Nightly Settings" +msgstr "" + +msgid "Import manually from a nightly settings file" +msgstr "" + +#. {0} = imported count (colorsets) +msgid "Imported {0} colorsets from nightly" +msgstr "" + +#. {0} = imported count (meshes) +msgid "Imported {0} meshes from nightly" +msgstr "" + +#. {0} = number of maps +msgid "Importing {0} map" +msgid_plural "Importing {0} maps" +msgstr[0] "" +msgstr[1] "" + +msgid "Imports colorsets from the nightly folder" +msgstr "" + +msgid "Imports meshes from the nightly folder" +msgstr "" + +msgid "Imports settings from the nightly client" +msgstr "" + +msgid "Information goes here" +msgstr "" + +#. {0} = maps synced +#. {1} = total maps that have to be synced +msgid "Initializing maps ({0}/{1})" +msgstr "" + +msgid "Inspired by " +msgstr "" + +msgid "Installing" +msgstr "" + +msgid "Invalid User Path. Setting has not been changed." +msgstr "" + +msgid "Invalid map path" +msgstr "" + +msgid "Language" +msgstr "" + +#. {0} = name of the loaded profile +msgid "Loaded profile [{0}]" +msgstr "" + +#. {0} = skin name +msgid "Loaded skin [{0}]" +msgstr "" + +msgid "Local Offset" +msgstr "" + +msgid "Local Offset: {0}ms" +msgstr "" + +msgid "Lock" +msgstr "" + +msgid "Lock FPS" +msgstr "" + +msgid "Locks maximum frames per second" +msgstr "" + +msgid "Map file corrupted aaaaa" +msgstr "" + +msgid "Mappers" +msgstr "" + +msgid "Master Volume" +msgstr "" + +msgid "Master volume control for all audio" +msgstr "" + +msgid "Menu Music Volume" +msgstr "" + +msgid "Menu Space" +msgstr "" + +msgid "Miss Popups" +msgstr "" + +msgid "Miss Sound Volume" +msgstr "" + +msgid "Modifiers" +msgstr "" + +msgid "Moves the Combo Counter to the HUD" +msgstr "" + +msgid "Music Volume" +msgstr "" + +msgid "NOTE: Pausing disqualifies your pass" +msgstr "" + +msgid "Nightly settings not found, choose the settings file manually." +msgstr "" + +msgid "No Previous User Folder Found" +msgstr "" + +msgid "Note Mesh" +msgstr "" + +msgid "Note Opacity" +msgstr "" + +msgid "Note Opacity Exponent" +msgstr "" + +msgid "Note Size" +msgstr "" + +msgid "Notes Hit" +msgstr "" + +msgid "Notes Missed" +msgstr "" + +msgid "Off (roughest)" +msgstr "" + +msgid "Ok" +msgstr "" + +msgid "On death, automatically restart the run instead of going to the results screen" +msgstr "" + +msgid "Open" +msgstr "" + +msgid "Open File(s)" +msgstr "" + +msgid "Open Link" +msgstr "" + +msgid "Open Previous User Folder" +msgstr "" + +msgid "Open a Directory" +msgstr "" + +msgid "Open a File" +msgstr "" + +msgid "Open the path to the previously used User Folder" +msgstr "" + +msgid "Open the skin folder" +msgstr "" + +msgid "Other" +msgstr "" + +msgid "Overrides the skin's background space for gameplay" +msgstr "" + +msgid "Overrides the skin's background space for the menu" +msgstr "" + +msgid "Overrides the skin's colorset" +msgstr "" + +msgid "Overrides the skin's note mesh" +msgstr "" + +msgid "PAUSED" +msgstr "" + +msgid "PLAY" +msgstr "" + +#. {0} = translation for "Settings" +#. {1} = translation for "Other" +#. {2} = translation for "Open Previous User Folder" +msgid "PS: you can find the old folder in {0} > {1} > {2}" +msgstr "" + +msgid "Passes" +msgstr "" + +msgid "Path To User Folder" +msgstr "" + +msgid "Pick Color" +msgstr "" + +msgid "Play" +msgstr "" + +msgid "Play (Space)" +msgstr "" + +msgid "Playtesting Menu" +msgstr "" + +msgid "Popup Header" +msgstr "" + +msgid "Press F2 to hide replay UI, F3 to hide orthogonal camera, F to toggle note fade out, P to toggle note pushback" +msgstr "" + +msgid "Press Space to complete" +msgstr "" + +msgid "Press Space to skip" +msgstr "" + +msgid "Preview" +msgstr "" + +msgid "Pushback" +msgstr "" + +msgid "QUIT" +msgstr "" + +msgid "Quit" +msgstr "" + +msgid "RELEASE NOTES" +msgstr "" + +msgid "RESTART" +msgstr "" + +msgid "RESULTS" +msgstr "" + +msgid "RESUME" +msgstr "" + +msgid "RHM file corrupted" +msgstr "" + +msgid "Rage Quits" +msgstr "" + +msgid "Random" +msgstr "" + +msgid "Record Replays" +msgstr "" + +msgid "Refresh Preview" +msgstr "" + +msgid "Replay file corrupted" +msgstr "" + +msgid "Replay map not found" +msgstr "" + +msgid "Reset" +msgstr "" + +msgid "Reset to Defaults" +msgstr "" + +msgid "Resets all settings to default values" +msgstr "" + +msgid "Restart" +msgstr "" + +msgid "Restart And Copy" +msgstr "" + +msgid "Restart required." +msgstr "" + +msgid "Rhythia" +msgstr "" + +msgid "SETTINGS" +msgstr "" + +msgid "SFX Volume" +msgstr "" + +msgid "SKIN PREVIEW" +msgstr "" + +msgid "SSMapV1 file corrupted" +msgstr "" + +msgid "SSPM file corrupted" +msgstr "" + +msgid "SSPMV1 file corrupted" +msgstr "" + +msgid "SSPMV2 file corrupted" +msgstr "" + +msgid "START" +msgstr "" + +msgid "STATISTICS" +msgstr "" + +msgid "Search" +msgstr "" + +msgid "Seek forward to skip" +msgstr "" + +msgid "Selected skin for the game" +msgstr "" + +msgid "Sensitivity" +msgstr "" + +msgid "Set User Folder Path" +msgstr "" + +msgid "Set the path where Rhythia stores it's files" +msgstr "" + +msgid "Sets the maximum opacity for the notes" +msgstr "" + +msgid "Sets the size of the notes, does not change hitboxes" +msgstr "" + +msgid "Setting" +msgstr "" + +msgid "Settings" +msgstr "" + +msgid "Settings file corrupted" +msgstr "" + +msgid "Settings reset to default successfully!" +msgstr "" + +msgid "Simple HUD" +msgstr "" + +msgid "Skin" +msgstr "" + +msgid "Skin Folder" +msgstr "" + +msgid "Smoothes edges, at the cost of performance" +msgstr "" + +msgid "Space Color" +msgstr "" + +msgid "Space Effects" +msgstr "" + +msgid "Space Hit Effects" +msgstr "" + +msgid "Speed" +msgstr "" + +msgid "Spin" +msgstr "" + +msgid "Start From" +msgstr "" + +msgid "Starting from when hit objects spawn in, the distance required to travel before becoming fully opaque" +msgstr "" + +msgid "Super Simple HUD" +msgstr "" + +msgid "Takes \"Start From\" and \"Speed\" from external editors like the SSQE when using the \"Playtest\" button" +msgstr "" + +msgid "The nightly colorsets folder doesn't exist" +msgstr "" + +msgid "The nightly meshes folder doesn't exist" +msgstr "" + +msgid "The transparency of hit objects when going past the playfield" +msgstr "" + +#. {0} = link +msgid "This will open the following link:{0}" +msgstr "" + +msgid "This will overwrite the contents of the new folder and double the game in size unless you remove the old files." +msgstr "" + +msgid "Time spent strictly being in a map" +msgstr "" + +msgid "Toggle Skin Preview" +msgstr "" + +msgid "Toggles V-Sync when in menus" +msgstr "" + +msgid "Toggles a popup on a hit" +msgstr "" + +msgid "Toggles a popup on a miss" +msgstr "" + +msgid "Toggles a trail for your cursor" +msgstr "" + +msgid "Toggles absolute inputs" +msgstr "" + +msgid "Toggles cursor drift" +msgstr "" + +msgid "Toggles hit sound to always play" +msgstr "" + +msgid "Toggles non-hit effects for the game space" +msgstr "" + +msgid "Toggles note hit effects for the game space" +msgstr "" + +msgid "Toggles recording for replays" +msgstr "" + +msgid "Toggles the framerate counter in the corner" +msgstr "" + +msgid "Toggles the use of a custom space color" +msgstr "" + +msgid "Toggles whether hit objects are visible past the playfield or not" +msgstr "" + +msgid "Total Distance" +msgstr "" + +msgid "Total Playtime" +msgstr "" + +msgid "Total Score" +msgstr "" + +msgid "Unsupported file format" +msgstr "" + +msgid "Update Found" +msgstr "" + +msgid "Use Cursor in Menus" +msgstr "" + +msgid "Use Editor Playtest Settings" +msgstr "" + +msgid "User Folder" +msgstr "" + +msgid "Uses the skin's cursor instead of the native cursor" +msgstr "" + +msgid "V-Sync in Menus" +msgstr "" + +msgid "VIEW" +msgstr "" + +msgid "Visibility Assist" +msgstr "" + +msgid "WARNING: THIS RESETS YOUR CURRENT PROFILE" +msgstr "" + +msgid "Watch Replay" +msgstr "" + +msgid "Window Mode" +msgstr "" + +msgid "Would you like to download the new version?" +msgstr "" + +msgid "Would you like to restart the game?" +msgstr "" + +msgid "You have no previous user folder. Either you didn't change your User Folder (and that's fine) or the record of it got deleted." +msgstr "" + +#. {0} = mapper +msgid "by {0}" +msgstr "" + +msgid "default" +msgstr "" + +msgid "input" +msgstr "" + +msgid "of which you are right now..." +msgstr "" + +msgid "profile name" +msgstr "" + +msgid "skin" +msgstr "" + +#. {0} = number of days +msgid "{0} day ago" +msgid_plural "{0} days ago" +msgstr[0] "" +msgstr[1] "" + +#. {0} = number of hours +msgid "{0} hour ago" +msgid_plural "{0} hours ago" +msgstr[0] "" +msgstr[1] "" + +#. {0} = imported PHXM folder +msgid "{0} is not the proper format!" +msgstr "" + +#. {0} = number of minutes +msgid "{0} minute ago" +msgid_plural "{0} minutes ago" +msgstr[0] "" +msgstr[1] "" + +#. {0} = number of notes +msgid "{0} notes" +msgstr "" + +#. {0} = number of seconds +msgid "{0} second ago" +msgid_plural "{0} seconds ago" +msgstr[0] "" +msgstr[1] "" + +#. {0} = time +#. {1} = difficulty +#. {2} = mappers +msgid "{0} — {1} by {2}" +msgstr "" diff --git a/prefabs/hit_popup.tscn b/prefabs/hit_popup.tscn index 505d985e..2f8fe86d 100644 --- a/prefabs/hit_popup.tscn +++ b/prefabs/hit_popup.tscn @@ -3,6 +3,7 @@ [ext_resource type="FontFile" uid="uid://dvb6fvy008bhv" path="res://fonts/Roboto/Roboto-Medium.ttf" id="1_65qcu"] [node name="HitPopup" type="Label3D" unique_id=943142641] +auto_translate_mode = 2 modulate = Color(1, 1, 1, 0.47058824) outline_modulate = Color(0, 0, 0, 0) text = "100" diff --git a/prefabs/map_button_square.tscn b/prefabs/map_button_square.tscn index 9146a83f..d424e100 100644 --- a/prefabs/map_button_square.tscn +++ b/prefabs/map_button_square.tscn @@ -53,6 +53,7 @@ shadow_size = 4 shadow_color = Color(0, 0, 0, 0.5882353) [node name="MapButtonSquare" type="Control" unique_id=417107232] +auto_translate_mode = 2 custom_minimum_size = Vector2(140, 140) layout_mode = 3 anchors_preset = 0 @@ -60,6 +61,7 @@ grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 4 size_flags_vertical = 4 +tooltip_auto_translate_mode = 2 mouse_filter = 1 script = ExtResource("1_ywqiq") diff --git a/prefabs/map_button_wide.tscn b/prefabs/map_button_wide.tscn index f5a57e60..bd30bd63 100644 --- a/prefabs/map_button_wide.tscn +++ b/prefabs/map_button_wide.tscn @@ -48,9 +48,10 @@ shadow_color = Color(0, 0, 0, 1) shader = ExtResource("6_frxlp") [node name="MapButtonWide" type="Control" unique_id=807495564] +auto_translate_mode = 2 self_modulate = Color(0, 0, 0, 0.8784314) -clip_contents = true custom_minimum_size = Vector2(0, 90) +clip_contents = true layout_mode = 3 anchors_preset = 10 anchor_right = 1.0 @@ -58,6 +59,7 @@ grow_horizontal = 0 grow_vertical = 2 size_flags_horizontal = 3 size_flags_vertical = 4 +tooltip_auto_translate_mode = 2 mouse_filter = 1 script = ExtResource("1_4823j") diff --git a/prefabs/map_info_container.tscn b/prefabs/map_info_container.tscn index 82cb61d5..3d0e363f 100644 --- a/prefabs/map_info_container.tscn +++ b/prefabs/map_info_container.tscn @@ -170,7 +170,7 @@ outline_color = Color(0, 0, 0, 1) shadow_size = 4 shadow_color = Color(0, 0, 0, 1) -[node name="MapInfoContainer" type="Panel" unique_id=150923669 node_paths=PackedStringArray("info", "dim", "coverBackground", "cover", "mainLabel", "extraLabel", "artistLink", "exportButton", "favoriteButton", "videoButton", "videoDialog", "copyButton", "copyDialog", "deleteButton", "actions", "preview", "speedHolder", "speedPresets", "playHolder", "startButton", "leaderboard", "lbScrollContainer", "lbContainer", "lbExpand", "lbHide")] +[node name="MapInfoContainer" type="Panel" unique_id=150923669 node_paths=PackedStringArray("info", "dim", "coverBackground", "cover", "infoSubholder", "mainLabelParent", "extraLabelParent", "artistLink", "exportButton", "favoriteButton", "videoButton", "videoDialog", "copyButton", "copyDialog", "deleteButton", "actions", "preview", "speedHolder", "speedPresets", "playHolder", "startButton", "leaderboard", "lbScrollContainer", "lbContainer", "lbExpand", "lbHide")] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -184,8 +184,9 @@ info = NodePath("Info") dim = NodePath("Dim") coverBackground = NodePath("Info/Control/Background") cover = NodePath("Info/Control/Background/Cover") -mainLabel = NodePath("Info/Control/infoControl/infoSubholder/Main") -extraLabel = NodePath("Info/Control/infoControl/infoSubholder/Extra") +infoSubholder = NodePath("Info/Control/infoControl/infoSubholder") +mainLabelParent = NodePath("Info/Control/infoControl/infoSubholder/Main") +extraLabelParent = NodePath("Info/Control/infoControl/infoSubholder/Extra") artistLink = NodePath("Info/Control/Background/ArtistLink") exportButton = NodePath("Info/Control/infoControl/infoSubholder/Buttons/Export") favoriteButton = NodePath("Info/Control/infoControl/infoSubholder/Buttons/Favorite") @@ -207,12 +208,14 @@ lbExpand = NodePath("Leaderboard/Expand") lbHide = NodePath("LeaderboardHide") [node name="Info" type="Panel" parent="." unique_id=1638277412] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 anchor_bottom = 0.4 offset_bottom = -8.0 grow_horizontal = 2 +tooltip_auto_translate_mode = 2 mouse_filter = 2 theme_override_styles/panel = SubResource("StyleBoxEmpty_50xtp") @@ -276,6 +279,7 @@ grow_vertical = 2 expand_mode = 1 [node name="ArtistLink" type="Button" parent="Info/Control/Background" unique_id=752801089] +auto_translate_mode = 1 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 @@ -285,6 +289,7 @@ anchor_bottom = 1.0 offset_bottom = -8.0 grow_horizontal = 2 grow_vertical = 0 +tooltip_auto_translate_mode = 1 mouse_default_cursor_shape = 2 theme_override_colors/font_outline_color = Color(0, 0, 0, 0.78431374) theme_override_constants/outline_size = 6 @@ -336,49 +341,72 @@ grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 3 -[node name="Extra" type="RichTextLabel" parent="Info/Control/infoControl/infoSubholder" unique_id=469525934] +[node name="Extra" type="VBoxContainer" parent="Info/Control/infoControl/infoSubholder" unique_id=1425627493] layout_mode = 1 anchors_preset = -1 -anchor_left = 0.019000001 +anchor_left = 0.02 anchor_top = 0.572 anchor_right = 1.0 anchor_bottom = 1.0 -offset_left = -0.08819294 -offset_top = -0.51600647 +offset_top = -1.0 offset_right = -8.0 -offset_bottom = -60.0 -grow_horizontal = 2 -grow_vertical = 2 +offset_bottom = -58.0 +grow_horizontal = 0 +grow_vertical = 0 theme = ExtResource("4_4d08m") -theme_override_font_sizes/normal_font_size = 18 -bbcode_enabled = true -text = "[color=ffffff88]{0} -{1} notes" -fit_content = true -autowrap_mode = 2 +theme_override_constants/separation = 0 +alignment = 2 + +[node name="Ln1" type="Label" parent="Info/Control/infoControl/infoSubholder/Extra" unique_id=879761925] +layout_mode = 2 +theme_override_colors/font_color = Color(1, 1, 1, 0.53333336) +theme_override_font_sizes/font_size = 18 +text = "{0}" +horizontal_alignment = 2 + +[node name="Ln2" type="Label" parent="Info/Control/infoControl/infoSubholder/Extra" unique_id=1432938699] +layout_mode = 2 +theme_override_colors/font_color = Color(1, 1, 1, 0.53333336) +theme_override_font_sizes/font_size = 18 +text = "{0} notes" horizontal_alignment = 2 -vertical_alignment = 2 -[node name="Main" type="RichTextLabel" parent="Info/Control/infoControl/infoSubholder" unique_id=394044659] +[node name="Main" type="VBoxContainer" parent="Info/Control/infoControl/infoSubholder" unique_id=1380004783] layout_mode = 1 anchors_preset = -1 -anchor_left = 0.015000001 +anchor_left = 0.016 anchor_right = 0.984 anchor_bottom = 0.57600003 -offset_left = 0.21499968 offset_top = 6.0 -offset_right = -0.09597778 -offset_bottom = -0.12800598 -mouse_filter = 1 theme = ExtResource("4_4d08m") -theme_override_constants/paragraph_separation = 4 -bbcode_enabled = true -text = "[outline_size=2][font_size=24]{0} -[color={1}]{2} [font_size=16][color=909096] -by {3} -[font_size=12][color=ffffff44]{4}" +theme_override_constants/separation = 4 + +[node name="Ln1" type="Label" parent="Info/Control/infoControl/infoSubholder/Main" unique_id=297171576] +layout_mode = 2 +theme_override_constants/outline_size = 2 +theme_override_font_sizes/font_size = 24 +text = "{0}" + +[node name="Ln2" type="Label" parent="Info/Control/infoControl/infoSubholder/Main" unique_id=1670190709] +layout_mode = 2 +theme_override_constants/outline_size = 2 +theme_override_font_sizes/font_size = 24 +text = "{0}" + +[node name="Ln3" type="Label" parent="Info/Control/infoControl/infoSubholder/Main" unique_id=1624627554] +layout_mode = 2 +theme_override_colors/font_color = Color(0.5647059, 0.5647059, 0.5882353, 1) +theme_override_font_sizes/font_size = 16 +text = "by {0}" + +[node name="Ln4" type="Label" parent="Info/Control/infoControl/infoSubholder/Main" unique_id=508160796] +layout_mode = 2 +theme_override_colors/font_color = Color(1, 1, 1, 0.26666668) +theme_override_font_sizes/font_size = 12 +text = "{0}" [node name="Buttons" type="HBoxContainer" parent="Info/Control/infoControl/infoSubholder" unique_id=1191092010] +auto_translate_mode = 1 custom_minimum_size = Vector2(0, 40) layout_mode = 1 anchors_preset = -1 @@ -392,6 +420,7 @@ offset_right = -0.1539917 offset_bottom = 0.115997314 grow_horizontal = 0 grow_vertical = 0 +tooltip_auto_translate_mode = 1 alignment = 2 [node name="Export" type="Button" parent="Info/Control/infoControl/infoSubholder/Buttons" unique_id=2033571562] @@ -467,6 +496,7 @@ icon = ExtResource("8_ssthb") icon_alignment = 1 [node name="Actions" type="Panel" parent="." unique_id=1101045169] +auto_translate_mode = 1 clip_contents = true layout_mode = 1 anchors_preset = -1 @@ -476,6 +506,7 @@ anchor_bottom = 1.0 offset_bottom = -108.0 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 1 mouse_filter = 2 theme_override_styles/panel = SubResource("StyleBoxEmpty_50xtp") @@ -626,6 +657,7 @@ horizontal_alignment = 1 vertical_alignment = 1 [node name="ScrollContainer" type="ScrollContainer" parent="Actions/ScrollContainer/Holder/Modifiers" unique_id=1889477090] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 @@ -633,6 +665,7 @@ anchor_bottom = 1.0 offset_top = 32.0 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 2 [node name="HBoxContainer" type="HBoxContainer" parent="Actions/ScrollContainer/Holder/Modifiers/ScrollContainer" unique_id=550682937] layout_mode = 2 @@ -742,6 +775,7 @@ icon = ExtResource("14_hri10") Speed = 120.0 [node name="LineEdit" type="LineEdit" parent="Actions/ScrollContainer/Holder/Speed" unique_id=1046150966] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 1.0 @@ -751,6 +785,7 @@ anchor_bottom = 1.0 offset_left = -84.0 grow_horizontal = 0 grow_vertical = 2 +tooltip_auto_translate_mode = 2 theme = ExtResource("4_4d08m") text = "100" placeholder_text = "100" @@ -810,6 +845,7 @@ horizontal_alignment = 1 vertical_alignment = 1 [node name="LineEdit" type="LineEdit" parent="Actions/ScrollContainer/Holder/Play" unique_id=1722033663] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 1.0 @@ -819,6 +855,7 @@ anchor_bottom = 1.0 offset_left = -84.0 grow_horizontal = 0 grow_vertical = 2 +tooltip_auto_translate_mode = 2 theme = ExtResource("4_4d08m") text = "0:00" placeholder_text = "0:00" @@ -1026,12 +1063,14 @@ mouse_filter = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_4d08m") [node name="Label" type="Label" parent="Leaderboard/Expand/Hover" unique_id=1076286016] +auto_translate_mode = 1 layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 1 theme = ExtResource("4_4d08m") text = "EXPAND" label_settings = SubResource("LabelSettings_w0o2h") diff --git a/prefabs/notification.tscn b/prefabs/notification.tscn index 217e10de..628b19e5 100644 --- a/prefabs/notification.tscn +++ b/prefabs/notification.tscn @@ -16,6 +16,7 @@ font = ExtResource("2_bcotu") font_size = 14 [node name="NotificationTemplate" type="PanelContainer" unique_id=1672628379] +auto_translate_mode = 2 visible = false z_index = 10 custom_minimum_size = Vector2(270, 25) @@ -28,6 +29,7 @@ offset_right = 275.0 offset_bottom = 25.0 grow_horizontal = 0 grow_vertical = 0 +tooltip_auto_translate_mode = 2 theme = ExtResource("1_3cmdo") theme_override_styles/panel = SubResource("StyleBoxFlat_chelt") diff --git a/prefabs/option_popup.tscn b/prefabs/option_popup.tscn index 97901423..1ce8b116 100644 --- a/prefabs/option_popup.tscn +++ b/prefabs/option_popup.tscn @@ -28,6 +28,7 @@ expand_margin_bottom = 8.0 font_size = 20 [node name="OptionPopup" type="Control" unique_id=1842619288 node_paths=PackedStringArray("headerLabel", "infoLabel", "buttonContainer", "buttonTemplate")] +auto_translate_mode = 1 layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -36,6 +37,7 @@ grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +tooltip_auto_translate_mode = 1 script = ExtResource("1_p8v60") headerLabel = NodePath("Holder/VBoxContainer/Header") infoLabel = NodePath("Holder/VBoxContainer/Info") diff --git a/prefabs/score_panel.tscn b/prefabs/score_panel.tscn index 44a6109d..24e70ede 100644 --- a/prefabs/score_panel.tscn +++ b/prefabs/score_panel.tscn @@ -52,11 +52,13 @@ shadow_size = 4 shadow_color = Color(0, 0, 0, 1) [node name="ScorePanel" type="Panel" unique_id=1580355860] -clip_contents = true +auto_translate_mode = 2 custom_minimum_size = Vector2(0, 100) +clip_contents = true anchors_preset = 10 anchor_right = 1.0 size_flags_horizontal = 3 +tooltip_auto_translate_mode = 2 mouse_filter = 1 theme_override_styles/panel = SubResource("StyleBoxEmpty_bfkib") script = ExtResource("1_rwxrw") @@ -131,12 +133,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Speed" type="Label" parent="." unique_id=1309255119] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_top = 0.4 anchor_bottom = 0.4 offset_left = 16.0 offset_top = 4.0 +tooltip_auto_translate_mode = 2 text = "1.00x" label_settings = SubResource("LabelSettings_x7ms3") vertical_alignment = 1 @@ -191,12 +195,14 @@ mouse_filter = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_svuah") [node name="Label" type="Label" parent="Button/Hover" unique_id=2061490773] +auto_translate_mode = 1 layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 1 theme = ExtResource("5_ngxw4") text = "VIEW" label_settings = SubResource("LabelSettings_vglct") diff --git a/project.godot b/project.godot index f6eaa4ca..bf34b470 100644 --- a/project.godot +++ b/project.godot @@ -78,6 +78,10 @@ pointing/android/enable_long_press_as_right_click=true [internationalization] rendering/root_node_layout_direction=1 +locale/translations=PackedStringArray("res://localization/en_US.po", "res://localization/it_IT.po") +locale/translations_pot_files=PackedStringArray("res://scenes/main_menu.tscn", "res://scenes/results.tscn", "res://scenes/main.tscn", "res://scenes/loading.tscn", "res://scenes/game.tscn", "res://prefabs/speed_preset_button.tscn", "res://prefabs/score_panel.tscn", "res://prefabs/option_popup.tscn", "res://prefabs/notification.tscn", "res://prefabs/map_info_container.tscn") +locale/test="it_IT" +locale/fallback="en_US" [physics] diff --git a/scenes/game.tscn b/scenes/game.tscn index 97ec2a45..7fe8e909 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -33,7 +33,6 @@ [ext_resource type="Script" uid="uid://bjc8qp66nisos" path="res://scripts/game/ui/Title.cs" id="22_02fa5"] [ext_resource type="Texture2D" uid="uid://lfj8i1bi6kfs" path="res://textures/ui/pause.png" id="23_7silw"] [ext_resource type="FontFile" uid="uid://dotb3skhwouha" path="res://fonts/Roboto/Roboto-Bold.ttf" id="23_wf21h"] -[ext_resource type="FontFile" uid="uid://rs2mb33nd3b1" path="res://fonts/Roboto/Roboto-Italic.ttf" id="24_j6p10"] [ext_resource type="Script" uid="uid://dhrqgv44b65ls" path="res://scripts/game/ui/Skip.cs" id="25_nepv3"] [ext_resource type="Script" uid="uid://ddtnij8m4eipl" path="res://scripts/game/ui/Grid.cs" id="27_js0lu"] [ext_resource type="Script" uid="uid://b7jvxorkr4xfi" path="res://scripts/game/ui/Speed.cs" id="28_gxtfn"] @@ -266,10 +265,6 @@ Button/styles/hover = SubResource("StyleBoxFlat_6kbgk") Button/styles/normal = SubResource("StyleBoxEmpty_jlnvv") Button/styles/pressed = SubResource("StyleBoxFlat_y08lf") -[sub_resource type="LabelSettings" id="LabelSettings_tjduq"] -font = ExtResource("24_j6p10") -font_size = 18 - [node name="SceneGame" type="Node" unique_id=909809067 node_paths=PackedStringArray("Runner", "Menu", "PlaytestOverlay", "ReplayManager", "PlayerInputController", "CursorManager")] script = ExtResource("1_m4url") Runner = NodePath("Runner") @@ -404,6 +399,7 @@ grow_vertical = 2 texture = ExtResource("11_sdncv") [node name="MultiplierProgress" type="Panel" parent="Runner/HUD/PanelLeft/PanelLeftViewport" unique_id=1067613329] +auto_translate_mode = 2 clip_children = 2 material = SubResource("ShaderMaterial_x2xye") anchors_preset = -1 @@ -415,9 +411,11 @@ offset_left = -128.0 offset_top = -166.25 offset_right = 128.0 offset_bottom = 89.75128 +tooltip_auto_translate_mode = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_56f8v") [node name="Score" type="Label" parent="Runner/HUD/PanelLeft/PanelLeftViewport" unique_id=1330190508] +auto_translate_mode = 2 anchors_preset = -1 anchor_left = 0.5 anchor_top = 0.35 @@ -429,12 +427,14 @@ offset_right = 15.0 offset_bottom = 34.500122 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 2 theme = ExtResource("4_rvp5o") text = "0" label_settings = SubResource("LabelSettings_usmyc") horizontal_alignment = 1 [node name="Multiplier" type="Label" parent="Runner/HUD/PanelLeft/PanelLeftViewport" unique_id=1660490363] +auto_translate_mode = 2 anchors_preset = -1 anchor_left = 0.5 anchor_top = 0.65 @@ -446,12 +446,14 @@ offset_right = 28.5 offset_bottom = -2.2499695 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 2 theme = ExtResource("4_rvp5o") text = "1x" label_settings = SubResource("LabelSettings_pr1ej") horizontal_alignment = 1 [node name="ComboCount" type="Label" parent="Runner/HUD/PanelLeft/PanelLeftViewport" unique_id=531787894] +auto_translate_mode = 2 anchors_preset = -1 anchor_left = 0.5 anchor_top = 0.86 @@ -463,6 +465,7 @@ offset_right = 90.0 offset_bottom = 34.5 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 2 text = "0" label_settings = SubResource("LabelSettings_pause_counter_title") horizontal_alignment = 1 @@ -490,6 +493,7 @@ grow_vertical = 2 texture = ExtResource("12_whe6p") [node name="Accuracy" type="Label" parent="Runner/HUD/PanelRight/PanelRightViewport" unique_id=1669266042] +auto_translate_mode = 2 anchors_preset = -1 anchor_left = 0.5 anchor_top = 0.35 @@ -497,12 +501,14 @@ anchor_right = 0.5 anchor_bottom = 0.35 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 2 theme = ExtResource("4_rvp5o") text = "100.00%" label_settings = SubResource("LabelSettings_usmyc") horizontal_alignment = 1 [node name="Hits" type="Label" parent="Runner/HUD/PanelRight/PanelRightViewport" unique_id=2096630009] +auto_translate_mode = 2 modulate = Color(1, 1, 1, 0.627451) anchors_preset = -1 anchor_left = 0.5 @@ -514,12 +520,14 @@ offset_bottom = -4.0 grow_horizontal = 0 grow_vertical = 2 size_flags_horizontal = 4 +tooltip_auto_translate_mode = 2 theme = ExtResource("4_rvp5o") text = "0" label_settings = SubResource("LabelSettings_5bid2") horizontal_alignment = 2 [node name="Misses" type="Label" parent="Runner/HUD/PanelRight/PanelRightViewport" unique_id=1379241442] +auto_translate_mode = 2 modulate = Color(1, 1, 1, 0.627451) anchors_preset = -1 anchor_left = 0.5 @@ -530,11 +538,13 @@ offset_left = 25.0 offset_bottom = -4.0 grow_vertical = 2 size_flags_horizontal = 4 +tooltip_auto_translate_mode = 2 theme = ExtResource("4_rvp5o") text = "0" label_settings = SubResource("LabelSettings_v63ri") [node name="SimpleMisses" type="Label" parent="Runner/HUD/PanelRight/PanelRightViewport" unique_id=1871751782] +auto_translate_mode = 2 visible = false anchors_preset = 8 anchor_left = 0.5 @@ -544,11 +554,13 @@ anchor_bottom = 0.5 grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 4 +tooltip_auto_translate_mode = 2 theme = ExtResource("4_rvp5o") text = "0" label_settings = SubResource("LabelSettings_g4ffu") [node name="Sum" type="Label" parent="Runner/HUD/PanelRight/PanelRightViewport" unique_id=150248329] +auto_translate_mode = 2 anchors_preset = -1 anchor_left = 0.5 anchor_top = 0.7 @@ -557,6 +569,7 @@ anchor_bottom = 0.7 grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 4 +tooltip_auto_translate_mode = 2 theme = ExtResource("4_rvp5o") text = "0" label_settings = SubResource("LabelSettings_s1j5a") @@ -641,6 +654,7 @@ stretch_mode = 1 script = ExtResource("21_twgab") [node name="Label" type="Label3D" parent="Runner/HUD/Progress" unique_id=496335082] +auto_translate_mode = 2 transform = Transform3D(3.5, 0, 0, 0, 3.38074, -0.905867, 0, 0.905867, 3.38074, 0, 7, -10) pixel_size = 0.0025 modulate = Color(1, 1, 1, 0.74509805) @@ -653,6 +667,7 @@ font_size = 64 script = ExtResource("22_02fa5") [node name="Label" type="Label3D" parent="Runner/HUD/Title" unique_id=841289409] +auto_translate_mode = 2 transform = Transform3D(2, 0, 0, 0, 1.93185, -0.517638, 0, 0.517638, 1.93185, 0, 8.25, -10) outline_modulate = Color(0, 0, 0, 0) text = "N/A - N/A" @@ -665,6 +680,7 @@ width = 2500.0 script = ExtResource("20_suyxu") [node name="Label" type="Label3D" parent="Runner/HUD/Combo" unique_id=1330017059] +auto_translate_mode = 2 transform = Transform3D(7, 0, 0, 0, 6.89365, -1.21554, 0, 1.21554, 6.89365, 0, 3.5, -10) pixel_size = 0.0025 modulate = Color(1, 1, 1, 0) @@ -679,6 +695,7 @@ transform = Transform3D(7, 0, 0, 0, 6.76148, 1.81173, 0, -1.81173, 6.76148, 0, - script = ExtResource("28_gxtfn") [node name="Label" type="Label3D" parent="Runner/HUD/Speed" unique_id=1294863906] +auto_translate_mode = 2 transform = Transform3D(0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0) pixel_size = 0.0025 modulate = Color(1, 1, 1, 0.39215687) @@ -690,6 +707,7 @@ font = ExtResource("21_05nbr") script = ExtResource("25_nepv3") [node name="Label" type="Label3D" parent="Runner/HUD/Skip" unique_id=1231864437] +auto_translate_mode = 1 transform = Transform3D(7, 0, 0, 0, 6.76148, 1.81173, 0, -1.81173, 6.76148, 0, -5, -10) pixel_size = 0.0025 modulate = Color(1, 1, 1, 0) @@ -759,7 +777,9 @@ grow_vertical = 2 alignment = 1 [node name="Label" type="Label" parent="QuitOverlay/Holder" unique_id=1425722822] +auto_translate_mode = 1 layout_mode = 2 +tooltip_auto_translate_mode = 1 text = "Hold R to Quit" label_settings = SubResource("LabelSettings_r7xjp") horizontal_alignment = 1 @@ -855,14 +875,17 @@ size = 4.5 far = 139.0 [node name="Tip" type="Label" parent="ReplayViewer" unique_id=919285545] +auto_translate_mode = 1 layout_mode = 1 anchors_preset = -1 offset_right = 40.0 grow_vertical = 0 +tooltip_auto_translate_mode = 1 text = "Press F2 to hide replay UI, F3 to hide orthogonal camera, F to toggle note fade out, P to toggle note pushback" label_settings = SubResource("LabelSettings_a70tm") [node name="Time" type="Label" parent="ReplayViewer" unique_id=1277133470] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_bottom = 1.0 @@ -870,6 +893,7 @@ offset_left = 64.0 offset_top = 12.0 offset_right = 164.0 offset_bottom = -12.0 +tooltip_auto_translate_mode = 2 text = "0:00 / 0:00" horizontal_alignment = 1 vertical_alignment = 1 @@ -1012,6 +1036,7 @@ grow_horizontal = 2 color = Color(1, 1, 1, 0.078431375) [node name="Resume" type="Button" parent="Menu/Holder" unique_id=616429602] +auto_translate_mode = 1 layout_mode = 1 anchors_preset = -1 anchor_top = 0.23400001 @@ -1021,12 +1046,14 @@ offset_left = 1.0 offset_top = -0.040008545 offset_right = 1.0 offset_bottom = -0.040008545 +tooltip_auto_translate_mode = 1 mouse_default_cursor_shape = 2 theme = SubResource("Theme_e1j6l") theme_override_font_sizes/font_size = 28 text = "RESUME" [node name="Restart" type="Button" parent="Menu/Holder" unique_id=865082248] +auto_translate_mode = 1 layout_mode = 1 anchors_preset = -1 anchor_top = 0.384 @@ -1034,12 +1061,14 @@ anchor_right = 1.0 anchor_bottom = 0.53400004 offset_top = -0.040008545 offset_bottom = -0.040008545 +tooltip_auto_translate_mode = 1 mouse_default_cursor_shape = 2 theme = SubResource("Theme_e1j6l") theme_override_font_sizes/font_size = 28 text = "RESTART" [node name="Settings" type="Button" parent="Menu/Holder" unique_id=730914507] +auto_translate_mode = 1 layout_mode = 1 anchors_preset = -1 anchor_top = 0.53400004 @@ -1047,12 +1076,14 @@ anchor_right = 1.0 anchor_bottom = 0.684 offset_top = -0.040008545 offset_bottom = -0.040008545 +tooltip_auto_translate_mode = 1 mouse_default_cursor_shape = 2 theme = SubResource("Theme_e1j6l") theme_override_font_sizes/font_size = 28 text = "SETTINGS" [node name="Quit" type="Button" parent="Menu/Holder" unique_id=225658949] +auto_translate_mode = 1 layout_mode = 1 anchors_preset = -1 anchor_top = 0.684 @@ -1060,6 +1091,7 @@ anchor_right = 1.0 anchor_bottom = 0.83400005 offset_top = -0.040008545 offset_bottom = -0.040039063 +tooltip_auto_translate_mode = 1 mouse_default_cursor_shape = 2 theme = SubResource("Theme_e1j6l") theme_override_font_sizes/font_size = 28 @@ -1078,34 +1110,51 @@ offset_bottom = -0.120025635 grow_horizontal = 2 color = Color(1, 1, 1, 0.078431375) -[node name="Disclaimer" type="Label" parent="Menu/Holder" unique_id=1874627546] -visible = false +[node name="RichTextLabel" type="RichTextLabel" parent="Menu/Holder" unique_id=1028947402] +auto_translate_mode = 1 +clip_contents = false layout_mode = 1 anchors_preset = -1 anchor_top = 0.85 anchor_right = 1.0 anchor_bottom = 1.0 offset_bottom = -1.7999878 -text = "NOTE: Pausing disqualifies your pass -[font_size=12][color=ffffffa0] of which you are right now..." -label_settings = SubResource("LabelSettings_tjduq") +tooltip_auto_translate_mode = 1 +focus_mode = 0 +mouse_filter = 2 +bbcode_enabled = true +text = "NOTE: Pausing disqualifies your pass" +fit_content = true +autowrap_mode = 0 horizontal_alignment = 1 vertical_alignment = 1 -[node name="RichTextLabel" type="RichTextLabel" parent="Menu/Holder" unique_id=1028947402] -clip_contents = false +[node name="DisclaimerContainer" type="VBoxContainer" parent="Menu/Holder" unique_id=1900516890] +visible = false layout_mode = 1 anchors_preset = -1 anchor_top = 0.85 anchor_right = 1.0 anchor_bottom = 1.0 -offset_bottom = -1.7999878 -focus_mode = 0 -mouse_filter = 2 -bbcode_enabled = true +offset_right = 12.0 +offset_bottom = -2.0 +theme_override_constants/separation = 2 + +[node name="Pt1" type="Label" parent="Menu/Holder/DisclaimerContainer" unique_id=1906662673] +auto_translate_mode = 1 +layout_mode = 2 +tooltip_auto_translate_mode = 1 text = "NOTE: Pausing disqualifies your pass" -fit_content = true -autowrap_mode = 0 +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Pt2" type="Label" parent="Menu/Holder/DisclaimerContainer" unique_id=1102457781] +auto_translate_mode = 1 +layout_mode = 2 +tooltip_auto_translate_mode = 1 +theme_override_colors/font_color = Color(1, 1, 1, 0.627451) +theme_override_font_sizes/font_size = 12 +text = "of which you are right now..." horizontal_alignment = 1 vertical_alignment = 1 @@ -1161,12 +1210,16 @@ grow_vertical = 2 alignment = 1 [node name="TitleLabel" type="Label" parent="PlaytestOverlay/VB" unique_id=1440480954] +auto_translate_mode = 1 layout_mode = 2 +tooltip_auto_translate_mode = 1 text = "Playtesting Menu" horizontal_alignment = 1 [node name="SpinCheck" type="CheckButton" parent="PlaytestOverlay/VB" unique_id=1229643202] +auto_translate_mode = 1 layout_mode = 2 +tooltip_auto_translate_mode = 1 text = "Spin" [node name="StartFrom" type="HBoxContainer" parent="PlaytestOverlay/VB" unique_id=1642958239] @@ -1174,7 +1227,9 @@ layout_mode = 2 alignment = 1 [node name="Label" type="Label" parent="PlaytestOverlay/VB/StartFrom" unique_id=1012996186] +auto_translate_mode = 1 layout_mode = 2 +tooltip_auto_translate_mode = 1 text = "Start From" [node name="VSeparator" type="VSeparator" parent="PlaytestOverlay/VB/StartFrom" unique_id=747816767] @@ -1183,7 +1238,9 @@ layout_mode = 2 size_flags_horizontal = 3 [node name="LineEdit" type="LineEdit" parent="PlaytestOverlay/VB/StartFrom" unique_id=1472681876] +auto_translate_mode = 2 layout_mode = 2 +tooltip_auto_translate_mode = 2 text = "0:00" placeholder_text = "0:00" alignment = 1 @@ -1193,7 +1250,9 @@ layout_mode = 2 alignment = 1 [node name="Label" type="Label" parent="PlaytestOverlay/VB/Speed" unique_id=473992258] +auto_translate_mode = 1 layout_mode = 2 +tooltip_auto_translate_mode = 1 text = "Speed" [node name="VSeparator" type="VSeparator" parent="PlaytestOverlay/VB/Speed" unique_id=676367974] @@ -1202,11 +1261,15 @@ layout_mode = 2 size_flags_horizontal = 3 [node name="LineEdit" type="LineEdit" parent="PlaytestOverlay/VB/Speed" unique_id=1063011881] +auto_translate_mode = 2 layout_mode = 2 +tooltip_auto_translate_mode = 2 text = "1.0" placeholder_text = "1.0" alignment = 1 [node name="PlayButton" type="Button" parent="PlaytestOverlay/VB" unique_id=1844474893] +auto_translate_mode = 1 layout_mode = 2 +tooltip_auto_translate_mode = 1 text = "Play (Space)" diff --git a/scenes/loading.tscn b/scenes/loading.tscn index f6aa84a2..5e2b1e66 100644 --- a/scenes/loading.tscn +++ b/scenes/loading.tscn @@ -72,6 +72,7 @@ expand_mode = 1 stretch_mode = 5 [node name="ProgressLabel" type="Label" parent="." unique_id=1976898353] +auto_translate_mode = 2 anchors_preset = -1 anchor_left = 0.5 anchor_top = 0.9 @@ -80,6 +81,7 @@ anchor_bottom = 0.9 offset_bottom = -20.0 grow_horizontal = 2 grow_vertical = 0 +tooltip_auto_translate_mode = 2 text = "Initializing maps" label_settings = SubResource("LabelSettings_nxo4k") horizontal_alignment = 1 diff --git a/scenes/main.tscn b/scenes/main.tscn index aabb6a1c..10eb41c5 100644 --- a/scenes/main.tscn +++ b/scenes/main.tscn @@ -334,12 +334,14 @@ size = Vector2i(1280, 720) render_target_update_mode = 4 [node name="Settings" type="ColorRect" parent="." unique_id=1393582030 node_paths=PackedStringArray("ImportNightlyDialog", "UserFolderDialog")] +auto_translate_mode = 1 z_index = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 1 mouse_filter = 2 color = Color(0, 0, 0, 0.501961) script = ExtResource("2_o6xl0") @@ -347,6 +349,7 @@ ImportNightlyDialog = NodePath("ImportNightlyDialog") UserFolderDialog = NodePath("UserFolderDialog") [node name="Hide" type="Button" parent="Settings" unique_id=1153372742] +auto_translate_mode = 2 self_modulate = Color(1, 1, 1, 0) layout_mode = 1 anchors_preset = 15 @@ -354,6 +357,7 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 2 action_mode = 0 button_mask = 3 @@ -429,10 +433,12 @@ layout_mode = 2 theme_override_styles/panel = SubResource("StyleBoxEmpty_mgaml") [node name="Title" type="Label" parent="Settings/Holder/Categories/CategoryTemplate/Container/SettingTemplate" unique_id=1913312402] +auto_translate_mode = 1 layout_mode = 1 anchors_preset = -1 anchor_right = 0.3 anchor_bottom = 1.0 +tooltip_auto_translate_mode = 1 mouse_filter = 1 text = "Setting" label_settings = SubResource("LabelSettings_glkuk") @@ -441,11 +447,13 @@ clip_text = true text_overrun_behavior = 3 [node name="Slider" type="HSlider" parent="Settings/Holder/Categories/CategoryTemplate/Container/SettingTemplate" unique_id=163235443] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.3 anchor_right = 0.9 anchor_bottom = 1.0 +tooltip_auto_translate_mode = 2 focus_mode = 1 mouse_default_cursor_shape = 2 theme = ExtResource("3_tipki") @@ -454,6 +462,7 @@ allow_lesser = true scrollable = false [node name="SliderLineEdit" type="LineEdit" parent="Settings/Holder/Categories/CategoryTemplate/Container/SettingTemplate" unique_id=1564970786] +auto_translate_mode = 2 clip_contents = true layout_mode = 1 anchors_preset = -1 @@ -461,6 +470,7 @@ anchor_left = 0.9 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 8.0 +tooltip_auto_translate_mode = 2 theme_override_font_sizes/font_size = 16 placeholder_text = "0" max_length = 5 @@ -495,17 +505,24 @@ mouse_default_cursor_shape = 2 theme = ExtResource("3_tipki") flat = true -[node name="OptionButton" type="OptionButton" parent="Settings/Holder/Categories/CategoryTemplate/Container/SettingTemplate" unique_id=1019554744] -clip_contents = true +[node name="OptionButtonHBoxContainer" type="HBoxContainer" parent="Settings/Holder/Categories/CategoryTemplate/Container/SettingTemplate" unique_id=542593984] layout_mode = 1 anchors_preset = -1 anchor_left = 0.8 anchor_right = 1.0 -anchor_bottom = 1.0 offset_left = 8.0 offset_top = 4.0 +offset_right = -4.0 offset_bottom = -4.0 -grow_vertical = 2 +grow_horizontal = 0 +theme_override_constants/separation = 8 +alignment = 2 + +[node name="OptionButton" type="OptionButton" parent="Settings/Holder/Categories/CategoryTemplate/Container/SettingTemplate/OptionButtonHBoxContainer" unique_id=1019554744] +visible = false +clip_contents = true +layout_mode = 2 +size_flags_horizontal = 3 focus_mode = 0 mouse_default_cursor_shape = 2 theme = ExtResource("3_tipki") @@ -534,6 +551,7 @@ theme_override_colors/font_color = Color(1, 1, 1, 1) text = "Button" [node name="PickerHide" type="Button" parent="Settings/Holder/Categories/CategoryTemplate/Container/SettingTemplate" unique_id=787866892] +auto_translate_mode = 2 self_modulate = Color(1, 1, 1, 0) top_level = true layout_mode = 1 @@ -545,6 +563,7 @@ offset_right = 4.0 offset_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 2 action_mode = 0 button_mask = 3 @@ -625,6 +644,7 @@ theme = ExtResource("3_tipki") theme_override_styles/panel = SubResource("StyleBoxFlat_ya4ey") [node name="Title" type="Label" parent="Settings/Holder/Header" unique_id=640204085] +auto_translate_mode = 1 layout_mode = 1 anchors_preset = -1 anchor_right = 0.6 @@ -634,6 +654,7 @@ offset_top = 2.0 offset_right = -8.0 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 1 theme = ExtResource("3_tipki") text = "SETTINGS" label_settings = SubResource("LabelSettings_osuri") @@ -664,6 +685,7 @@ theme = ExtResource("3_tipki") text = "Toggle Skin Preview" [node name="Profiles" type="OptionButton" parent="Settings/Holder/Header" unique_id=716644348] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.75 @@ -672,6 +694,7 @@ anchor_bottom = 1.0 offset_top = 8.0 offset_right = -32.0 offset_bottom = -8.0 +tooltip_auto_translate_mode = 2 focus_mode = 0 mouse_default_cursor_shape = 2 theme = ExtResource("3_tipki") @@ -781,6 +804,7 @@ text = "SKIN PREVIEW" horizontal_alignment = 1 [node name="SkinPreview" type="SubViewportContainer" parent="Settings/SkinPreviewPanel" unique_id=2122293191] +auto_translate_mode = 2 z_index = 2 layout_mode = 1 anchors_preset = 15 @@ -788,6 +812,7 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 2 stretch = true [node name="SubViewport" type="SubViewport" parent="Settings/SkinPreviewPanel/SkinPreview" unique_id=732895320] @@ -1170,6 +1195,7 @@ mouse_filter = 2 theme_override_styles/panel = SubResource("StyleBoxEmpty_o6xl0") [node name="Label" type="Label" parent="Volume" unique_id=839034209] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 @@ -1177,6 +1203,7 @@ anchor_bottom = 2.0 offset_top = -14.0 grow_horizontal = 2 grow_vertical = 0 +tooltip_auto_translate_mode = 2 text = "100" label_settings = SubResource("LabelSettings_tipki") horizontal_alignment = 1 @@ -1220,8 +1247,10 @@ grow_horizontal = 2 grow_vertical = 0 mouse_filter = 2 theme_override_styles/panel = SubResource("StyleBoxEmpty_o6xl0") +metadata/_edit_use_anchors_ = true [node name="Label" type="Label" parent="Offset" unique_id=897770917] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_top = -10.667001 @@ -1231,6 +1260,7 @@ offset_top = 0.0020065308 offset_bottom = -0.0019989014 grow_horizontal = 2 grow_vertical = 0 +tooltip_auto_translate_mode = 2 text = "Current Offset is: idfkms" label_settings = SubResource("LabelSettings_tipki") horizontal_alignment = 1 @@ -1247,6 +1277,7 @@ expand_mode = 1 script = ExtResource("9_choun") [node name="FPSCounter" type="Label" parent="." unique_id=946490961] +auto_translate_mode = 2 top_level = true z_index = 2 z_as_relative = false @@ -1256,6 +1287,7 @@ anchor_bottom = 1.0 offset_left = 6.0 offset_bottom = -4.0 grow_vertical = 0 +tooltip_auto_translate_mode = 2 text = "0 FPS" script = ExtResource("10_choun") diff --git a/scenes/main_menu.tscn b/scenes/main_menu.tscn index c132aad3..31706416 100644 --- a/scenes/main_menu.tscn +++ b/scenes/main_menu.tscn @@ -389,11 +389,13 @@ mouse_filter = 2 color = Color(0.0235294, 0.0196078, 0.0352941, 1) [node name="Menus" type="Panel" parent="." unique_id=169021205] +auto_translate_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 1 mouse_filter = 2 theme_override_styles/panel = SubResource("StyleBoxEmpty_bl404") @@ -408,6 +410,7 @@ mouse_filter = 2 theme_override_styles/panel = SubResource("StyleBoxEmpty_tkeab") [node name="News" type="PanelContainer" parent="Menus/Home" unique_id=1879796237] +auto_translate_mode = 2 visible = false material = SubResource("ShaderMaterial_dr6yk") layout_mode = 1 @@ -422,6 +425,7 @@ offset_right = -64.0 offset_bottom = -80.0 grow_horizontal = 0 grow_vertical = 2 +tooltip_auto_translate_mode = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_mb34c") [node name="Background" type="Panel" parent="Menus/Home/News" unique_id=2058881163] @@ -723,6 +727,7 @@ texture = ExtResource("19_f5cck") expand_mode = 1 [node name="MapInfo" type="AspectRatioContainer" parent="Menus/Play" unique_id=140630444] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.05 @@ -733,6 +738,7 @@ offset_top = 128.0 offset_bottom = -80.0 grow_horizontal = 2 grow_vertical = 2 +tooltip_auto_translate_mode = 2 script = ExtResource("22_qw82i") [node name="Holder" type="Panel" parent="Menus/Play/MapInfo" unique_id=981210358] @@ -806,7 +812,7 @@ script = ExtResource("28_eku7s") oversampling_override = 1.0 title = "Open File(s)" initial_position = 2 -size = Vector2i(571, 211) +size = Vector2i(571, 214) theme = SubResource("Theme_nlclj") ok_button_text = "Open" file_mode = 1 @@ -947,8 +953,7 @@ theme = ExtResource("6_engjn") theme_override_colors/font_color = Color(1, 1, 1, 1) theme_override_constants/icon_max_width = 24 disabled = true -text = "Alphabetical -" +text = "Alphabetical" icon_alignment = 1 [node name="Difficulty" type="Button" parent="Menus/Play/SubTopBar/HBoxContainer/Sort/Panel/MarginContainer/VBoxContainer/SortTypeButtons" unique_id=2003836240] @@ -958,8 +963,7 @@ mouse_default_cursor_shape = 2 theme = ExtResource("6_engjn") theme_override_colors/font_color = Color(1, 1, 1, 1) theme_override_constants/icon_max_width = 24 -text = "Difficulty -" +text = "Difficulty" icon_alignment = 1 [node name="Mappers" type="Button" parent="Menus/Play/SubTopBar/HBoxContainer/Sort/Panel/MarginContainer/VBoxContainer/SortTypeButtons" unique_id=234550645] @@ -1127,7 +1131,8 @@ mouse_filter = 2 texture = ExtResource("18_eku7s") expand_mode = 3 -[node name="RichTextLabel" type="RichTextLabel" parent="Menus/Extras/SoundSpace" unique_id=661889390] +[node name="Text" type="HBoxContainer" parent="Menus/Extras/SoundSpace" unique_id=1011781730] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_top = 1.0 @@ -1136,11 +1141,24 @@ anchor_bottom = 1.0 offset_top = -24.0 grow_horizontal = 2 grow_vertical = 0 +tooltip_auto_translate_mode = 2 mouse_filter = 2 -theme_override_fonts/normal_font = ExtResource("19_c6nra") -bbcode_enabled = true -text = "[center][color=ffffff40]Inspired by Sound Space" -scroll_active = false +theme_override_constants/separation = 0 +alignment = 1 + +[node name="Pt1" type="Label" parent="Menus/Extras/SoundSpace/Text" unique_id=2021453661] +auto_translate_mode = 1 +self_modulate = Color(1, 1, 1, 0.2509804) +layout_mode = 2 +tooltip_auto_translate_mode = 1 +text = "Inspired by " + +[node name="Pt2" type="Label" parent="Menus/Extras/SoundSpace/Text" unique_id=1128826194] +auto_translate_mode = 2 +self_modulate = Color(1, 1, 1, 0.2509804) +layout_mode = 2 +tooltip_auto_translate_mode = 2 +text = "Sound Space" [node name="Button" type="Button" parent="Menus/Extras/SoundSpace" unique_id=446236980] layout_mode = 1 @@ -1226,12 +1244,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/GamePlaytime" unique_id=1510568932] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0h" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1255,12 +1275,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/TotalPlaytime" unique_id=551786069] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0h" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1284,12 +1306,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/GamesOpened" unique_id=1813247152] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1314,12 +1338,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/TotalDistance" unique_id=449823842] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0m" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1343,12 +1369,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/NotesHit" unique_id=1246957216] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1372,12 +1400,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/NotesMissed" unique_id=1919372733] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1401,12 +1431,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/HighestCombo" unique_id=391270461] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1430,12 +1462,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/Attempts" unique_id=741924685] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1459,12 +1493,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/Passes" unique_id=1333658792] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1488,12 +1524,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/FullCombos" unique_id=557559583] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1517,12 +1555,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/HighestScore" unique_id=1306019372] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1546,12 +1586,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/TotalScore" unique_id=15710385] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1575,12 +1617,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/AverageAccuracy" unique_id=899342869] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0%" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1604,12 +1648,14 @@ horizontal_alignment = 2 vertical_alignment = 1 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/RageQuits" unique_id=1687432714] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 +tooltip_auto_translate_mode = 2 text = "0" label_settings = SubResource("LabelSettings_5pcip") vertical_alignment = 1 @@ -1633,6 +1679,7 @@ label_settings = SubResource("LabelSettings_fsvfi") horizontal_alignment = 2 [node name="Value" type="Label" parent="Menus/Extras/Stats/ScrollContainer/VBoxContainer/FavouriteMap" unique_id=144949190] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.5 @@ -1640,6 +1687,7 @@ anchor_right = 1.0 anchor_bottom = 1.0 offset_left = 4.0 offset_top = 6.0 +tooltip_auto_translate_mode = 2 label_settings = SubResource("LabelSettings_5pcip") autowrap_mode = 3 @@ -1655,6 +1703,7 @@ mouse_filter = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_eku7s") [node name="Contributors" type="Panel" parent="Menus/Extras" unique_id=1419690382] +auto_translate_mode = 2 custom_minimum_size = Vector2(400, 400) layout_mode = 1 anchors_preset = -1 @@ -1666,6 +1715,7 @@ offset_top = 160.0 offset_right = 230.0 offset_bottom = -160.0 grow_vertical = 2 +tooltip_auto_translate_mode = 2 mouse_filter = 2 theme_override_styles/panel = SubResource("StyleBoxEmpty_qw82i") script = ExtResource("39_b4jiv") @@ -1680,11 +1730,13 @@ grow_vertical = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_jvjdd") [node name="Header" type="Label" parent="Menus/Extras/Contributors" unique_id=1984432132] +auto_translate_mode = 1 layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 offset_top = 8.0 grow_horizontal = 2 +tooltip_auto_translate_mode = 1 text = "CONTRIBUTORS" label_settings = SubResource("LabelSettings_5g0q6") horizontal_alignment = 1 @@ -1845,6 +1897,7 @@ expand_mode = 2 stretch_mode = 5 [node name="Version" type="RichTextLabel" parent="TopBar" unique_id=604655034] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_top = 0.5 @@ -1854,6 +1907,7 @@ offset_left = 64.0 offset_top = -16.0 offset_bottom = 16.0 grow_vertical = 2 +tooltip_auto_translate_mode = 2 theme_override_fonts/normal_font = ExtResource("19_c6nra") theme_override_font_sizes/normal_font_size = 18 bbcode_enabled = true @@ -2020,6 +2074,7 @@ BarMinSize = 1.0 Align = 1.0 [node name="Title" type="Label" parent="JukeboxPanel" unique_id=849405407] +auto_translate_mode = 2 self_modulate = Color(1, 1, 1, 0.74509805) layout_mode = 1 anchors_preset = -1 @@ -2031,6 +2086,7 @@ offset_left = 8.0 offset_right = -60.0 grow_horizontal = 0 grow_vertical = 2 +tooltip_auto_translate_mode = 2 theme = ExtResource("6_engjn") label_settings = SubResource("LabelSettings_wksxa") horizontal_alignment = 2 diff --git a/scenes/results.tscn b/scenes/results.tscn index 2d910e0f..4b4c919f 100644 --- a/scenes/results.tscn +++ b/scenes/results.tscn @@ -97,6 +97,7 @@ shader_parameter/brightness = 0.5 bg_color = Color(1, 1, 1, 1) [node name="SceneResults" type="Node" unique_id=11944572] +auto_translate_mode = 1 script = ExtResource("1_llpx6") [node name="Background" type="ColorRect" parent="." unique_id=1514676561] @@ -146,6 +147,7 @@ grow_vertical = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_1olmk") [node name="Title" type="Label" parent="Holder" unique_id=1173526425] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 @@ -153,12 +155,14 @@ offset_left = 32.0 offset_top = 96.0 offset_right = -32.0 offset_bottom = 160.0 +tooltip_auto_translate_mode = 2 text = "AAAAAAAAAAAAAAAAA" label_settings = SubResource("LabelSettings_13vky") vertical_alignment = 1 text_overrun_behavior = 3 [node name="Difficulty" type="Label" parent="Holder" unique_id=1795897830] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 @@ -166,12 +170,14 @@ offset_left = 32.0 offset_top = 168.0 offset_right = -7.0 offset_bottom = 210.0 +tooltip_auto_translate_mode = 2 text = "very hard" label_settings = SubResource("LabelSettings_wwu1g") vertical_alignment = 1 text_overrun_behavior = 3 [node name="Mappers" type="Label" parent="Holder" unique_id=76894303] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 @@ -179,12 +185,14 @@ offset_left = 32.0 offset_top = 212.0 offset_right = -7.0 offset_bottom = 240.0 +tooltip_auto_translate_mode = 2 text = "by abcdef, ghiklmnop, qrstvuwxyz" label_settings = SubResource("LabelSettings_sbrx2") vertical_alignment = 1 text_overrun_behavior = 3 [node name="Speed" type="Label" parent="Holder" unique_id=715001883] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_right = 0.2 @@ -192,6 +200,7 @@ offset_left = 32.0 offset_top = 248.0 offset_right = -32.0 offset_bottom = 296.0 +tooltip_auto_translate_mode = 2 text = "1.00x" label_settings = SubResource("LabelSettings_utq7d") vertical_alignment = 1 @@ -237,6 +246,7 @@ offset_right = -32.0 offset_bottom = 302.0 [node name="Accuracy" type="Label" parent="Holder" unique_id=678663131] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_right = 0.3 @@ -244,12 +254,14 @@ offset_left = 32.0 offset_top = 308.0 offset_right = 21.0 offset_bottom = 380.0 +tooltip_auto_translate_mode = 2 text = "100.00%" label_settings = SubResource("LabelSettings_e5ove") vertical_alignment = 1 text_overrun_behavior = 3 [node name="Hits" type="Label" parent="Holder" unique_id=984343345] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_left = 0.3 @@ -258,6 +270,7 @@ offset_left = 333.6 offset_top = 308.0 offset_right = -32.0 offset_bottom = 380.0 +tooltip_auto_translate_mode = 2 text = "9,999 / 9,999" label_settings = SubResource("LabelSettings_18ny7") horizontal_alignment = 2 @@ -265,6 +278,7 @@ vertical_alignment = 1 text_overrun_behavior = 3 [node name="Score" type="Label" parent="Holder" unique_id=1784139753] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_right = 0.3 @@ -272,12 +286,14 @@ offset_left = 32.0 offset_top = 388.0 offset_right = 21.0 offset_bottom = 436.0 +tooltip_auto_translate_mode = 2 text = "1,000,000" label_settings = SubResource("LabelSettings_7f2j3") vertical_alignment = 1 text_overrun_behavior = 3 [node name="Status" type="Label" parent="Holder" unique_id=1621789555] +auto_translate_mode = 1 layout_mode = 1 anchors_preset = -1 anchor_left = 0.3 @@ -286,6 +302,7 @@ offset_left = 333.6 offset_top = 388.0 offset_right = -32.0 offset_bottom = 436.0 +tooltip_auto_translate_mode = 1 text = "DISQUALIFIED" label_settings = SubResource("LabelSettings_yaaow") horizontal_alignment = 2 @@ -305,16 +322,19 @@ color = Color(1, 1, 1, 0) script = ExtResource("4_b55ol") [node name="OffsetTop" type="Label" parent="Holder/Graph" unique_id=465789986] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 offset_left = -32.0 grow_horizontal = 0 +tooltip_auto_translate_mode = 2 text = "0ms" label_settings = SubResource("LabelSettings_6anxq") horizontal_alignment = 2 vertical_alignment = 1 [node name="OffsetBottom" type="Label" parent="Holder/Graph" unique_id=2053550374] +auto_translate_mode = 2 layout_mode = 1 anchors_preset = -1 anchor_top = 1.0 @@ -322,6 +342,7 @@ anchor_bottom = 1.0 offset_left = -32.0 grow_horizontal = 0 grow_vertical = 0 +tooltip_auto_translate_mode = 2 text = "55ms" label_settings = SubResource("LabelSettings_6anxq") horizontal_alignment = 2 diff --git a/scripts/Constants.cs b/scripts/Constants.cs index 4c961086..862ef36e 100644 --- a/scripts/Constants.cs +++ b/scripts/Constants.cs @@ -1,3 +1,4 @@ +using System.Collections.Generic; using System.IO; using Godot; @@ -45,4 +46,12 @@ public partial class Constants : Node new(0x9d6effff), new(0x0094fcff), ]; + + public static readonly string[] SUPPORTED_LANGUAGES = ["en_US"]; // first is default + + public static readonly Dictionary ALIAS_TO_LANGCODE = new() + { + { "English (United States)", "en_US" }, + { "Italian (Italy)", "it_IT" }, + }; } diff --git a/scripts/SettingsManager.cs b/scripts/SettingsManager.cs index dc99e357..c8d9ffc2 100644 --- a/scripts/SettingsManager.cs +++ b/scripts/SettingsManager.cs @@ -6,6 +6,7 @@ using System.Text.RegularExpressions; using Godot; using Godot.Collections; +using util; [GlobalClass] public partial class SettingsManager : Node @@ -20,6 +21,12 @@ public partial class SettingsManager : Node public SettingsProfile Settings = new(); + public string LangCode + { + get => Constants.ALIAS_TO_LANGCODE.GetValueOrDefault(Settings.Language) ?? Constants.SUPPORTED_LANGUAGES[0]; + private set; + } + [Signal] public delegate void SavedEventHandler(); @@ -31,6 +38,7 @@ public override void _Ready() Instance = this; Menu = SceneManager.Instance.GetNode("Settings"); + I18n.SyncLocale(); } public static void Save(string profile = null) @@ -56,7 +64,7 @@ public static void Load(string profile = null) { SettingsProfileConverter.Deserialize($"{Constants.USER_FOLDER}/profiles/{profile}.json", Instance.Settings); - ToastNotification.Notify($"Loaded profile [{profile}]"); + ToastNotification.Notify(I18n.Tr("Loaded profile [{0}]", profile), autoTraslate: false); } catch (Exception exception) { @@ -67,7 +75,7 @@ public static void Load(string profile = null) if (!Directory.Exists($"{Constants.USER_FOLDER}/skins/{Instance.Settings.Skin.Value}")) { Instance.Settings.Skin.Value = new("default"); - ToastNotification.Notify($"Could not find skin {Instance.Settings.Skin.Value}", 1); + ToastNotification.Notify(I18n.Tr("Could not find skin {0}", Instance.Settings.Skin.Value), 1); } static void addUserContentToSettingsList(SettingsItem settingsItem, IEnumerable options) @@ -282,13 +290,13 @@ private static void restartGame() private static void showUserFolderConfirmationPopup(string destinationPath) { - var popup = new OptionPopup( - "Are you sure?", - "This will overwrite the contents of the new folder and double the game in size unless you remove the old files.\n\nPS: you can find the old folder in settings > other > open old user folder" - ); + string popupMessage = + $"{I18n.Tr("This will overwrite the contents of the new folder and double the game in size unless you remove the old files.")}\n\n{I18n.Tr("PS: you can find the old folder in {0} > {1} > {2}", I18n.Tr("Settings"), I18n.Tr("Other"), I18n.Tr("Open Previous User Folder"))}"; + + var popup = new OptionPopup(I18n.Tr("Are you sure?"), popupMessage, true); popup.AddOption( - "Restart And Copy", + I18n.Tr("Restart And Copy"), Callable.From(() => { FileOperations.CopyDir(Constants.USER_FOLDER, destinationPath, true); @@ -299,7 +307,7 @@ private static void showUserFolderConfirmationPopup(string destinationPath) restartGame(); }) ); - popup.AddOption("Cancel", Callable.From(popup.Hide)); + popup.AddOption(I18n.Tr("Cancel"), Callable.From(popup.Hide)); popup.Show(); } diff --git a/scripts/SoundManager.cs b/scripts/SoundManager.cs index 9476a370..38e9eb01 100644 --- a/scripts/SoundManager.cs +++ b/scripts/SoundManager.cs @@ -2,6 +2,7 @@ using System.Globalization; using System.Linq; using Godot; +using util; public partial class SoundManager : Node, ISkinnable { @@ -223,7 +224,7 @@ public override void _UnhandledInput(InputEvent @event) } Label label = SceneManager.OffsetPanel.GetNode