From 0d4ee7fa5cb27bb07273bd0b50a35144e2341205 Mon Sep 17 00:00:00 2001 From: wewewer123 <74647510+wewewer123@users.noreply.github.com> Date: Fri, 31 Mar 2023 00:39:11 +0200 Subject: [PATCH] feat: Add SGA translation and fix touch tracking bug (#25) --- loc/mc.ftl | 349 +++++++++++++++++++++++++++++++++++++++++++ src/meta/language.rs | 11 +- src/meta/touch.rs | 2 +- 3 files changed, 359 insertions(+), 3 deletions(-) create mode 100644 loc/mc.ftl diff --git a/loc/mc.ftl b/loc/mc.ftl new file mode 100644 index 0000000..51dc6b5 --- /dev/null +++ b/loc/mc.ftl @@ -0,0 +1,349 @@ +### ==== Language settings ==== + +# Used in the settings menu to show the name of the language. +language-name = Standard Galactic Alphabet + +# Shown when this language has been selected automatically. +language-auto-name = ᔑ⚍ℸ𝙹ᒲᔑℸ╎á“ĩ ({ language-name }) + +# The name of the language setting. +language-opt-title = ꖎᔑãƒĒâŠŖ⚍ᔑâŠŖᒷ + +# The language setting description. +language-opt-desc = ℸ⍑ᒷ ꖎᔑãƒĒâŠŖ⚍ᔑâŠŖᒷ ℸ𝙹 ⚍ᓭᒷ ⎓𝙹∷ á“ĩꖎᒷ𝙹. ᔑ⚍ℸ𝙹ᒲᔑℸ╎á“ĩ ᒲ𝙹↸ᒷ ∴╎ꖎꖎ ⚍ᓭᒷ ||𝙹⚍∷ ᓭ||ᓭℸᒷᒲ ᓭᒷℸℸ╎ãƒĒâŠŖᓭ. ᔑ↸↸ ||𝙹⚍∷ 𝙹∴ãƒĒ ꖎᔑãƒĒâŠŖ⚍ᔑâŠŖᒷ 𝙹ãƒĒ ↸╎ᓭá“ĩ𝙹∷↸! + +### ==== Splash screen ==== + +# First line at the bottom of the screen. +splash-legal = á“ĩ𝙹!ÂĄ||∷╎âŠŖ⍑ℸ 2020-2023 { $copyright_names }. ꖎ╎á“ĩᒷãƒĒá“ĩᒷ↸ ⚍ãƒĒ↸ᒷ∷ ℸ⍑ᒷ ᒲ╎ℸ ꖎ╎á“ĩᒷãƒĒᓭᒷ. + +# Second line. +splash-fun = ᒲᔑ↸ᒷ ∴╎ℸ⍑ ꖎ𝙹⍊ᒷ ╎ãƒĒ ℸ⍑ᒷ ⚍ãƒĒ╎ℸᒷ↸ ꖌ╎ãƒĒâŠŖ↸𝙹ᒲ. ℸ⍑╎ᓭ ᔑ!¡∷╎ꖎ 1ᓭℸ ᒲᒷᓭᓭ ʖ|| ∴ᒷ∴ᒷ∴ᒷ∷1, ⍑ᔑ⍊ᒷ ⎓⚍ãƒĒ! + +### ==== Updates ==== + +# PLEASE NOTE: The update menu is currently made from a game menu, and the game fonts do not +# support non-ASCII characters. Please write with ASCII only here. If you can't do that, leave it +# in English for now. I plan to add Unicode support here in the future. + +# Displayed at the top of the update screen. +update-prompt-title = Update Available + +# Message shown on the update screen. { $new_version } will be replaced with the update's version number. +update-prompt-message = CLEO version { $new_version } is available. Do you want to go to GitHub to download it? + +# todo: Add "Yes" and "No" for update menu to localisation files. +# The yes/no options are part of the game, so they're not directly in CLEO's control (yet). + +## Release channel settings + +update-release-channel-opt-title = ∷ᒷꖎᒷᔑᓭᒷ á“ĩ⍑ᔑãƒĒãƒĒᒷꖎ +update-release-channel-opt-desc = ∴⍑╎á“ĩ⍑ á“ĩꖎᒷ𝙹 ⚍!¡↸ᔑℸᒷᓭ ||𝙹⚍ âŠŖᒷℸ ãƒĒ𝙹ℸ╎⎓╎á“ĩᔑℸ╎𝙹ãƒĒᓭ ⎓𝙹∷. ᔑꖎ!¡⍑ᔑ âŠŖ╎⍊ᒷᓭ ãƒĒᒷ∴ᒷ∷ ⎓ᒷᔑℸ⚍∷ᒷᓭ ᓭ𝙹𝙹ãƒĒᒷ∷ ʖ⚍ℸ ᒲ╎âŠŖ⍑ℸ ⍑ᔑ⍊ᒷ ᒲ𝙹∷ᒷ ʖ⚍âŠŖᓭ. ↸╎ᓭᔑʖꖎ╎ãƒĒâŠŖ ⚍!¡↸ᔑℸᒷᓭ ╎ᓭ ãƒĒ𝙹ℸ ∷ᒷá“ĩ𝙹ᒲᒲᒷãƒĒ↸ᒷ↸. + +update-release-channel-opt-disabled = ↸╎ᓭᔑʖꖎᒷ↸ +update-release-channel-opt-stable = ᓭℸᔑʖꖎᒷ +update-release-channel-opt-alpha = ᔑꖎ!¡⍑ᔑ + +### ==== Menu ==== + +# Title for the button at the bottom of the screen that closes the CLEO menu. +menu-close = á“ĩꖎ𝙹ᓭᒷ + +# Title for the options tab. +menu-options-tab-title = 𝙹!¡ℸ╎𝙹ãƒĒᓭ + +## Menu gesture settings + +menu-gesture-opt-title = ᒲᒷãƒĒ⚍ âŠŖᒷᓭℸ⚍∷ᒷ +menu-gesture-opt-desc = ℸ⍑ᒷ ℸ𝙹⚍á“ĩ⍑ ᔑá“ĩℸ╎𝙹ãƒĒ ∷ᒷᑑ⚍╎∷ᒷ↸ ℸ𝙹 ᓭ⍑𝙹∴ ℸ⍑ᒷ á“ĩꖎᒷ𝙹 ᒲᒷãƒĒ⚍. + +# A single motion where one finger moves quickly down the screen. +menu-gesture-opt-one-finger-swipe = 𝙹ãƒĒᒷ-⎓╎ãƒĒâŠŖᒷ∷ ᓭ∴╎!¡ᒷ ↸𝙹∴ãƒĒ + +# A single swipe (as above) but with two fingers at the same time instead of just one. +menu-gesture-opt-two-finger-swipe = ℸ∴𝙹-⎓╎ãƒĒâŠŖᒷ∷ ᓭ∴╎!¡ᒷ ↸𝙹∴ãƒĒ + +# A short tap on the screen with two fingers at once. +menu-gesture-opt-two-finger-tap = ℸ∴𝙹-⎓╎ãƒĒâŠŖᒷ∷ ℸᔑ!ÂĄ + +# A short tap on the screen with three fingers at once. +menu-gesture-opt-three-finger-tap = ℸ⍑∷ᒷᒷ-⎓╎ãƒĒâŠŖᒷ∷ ℸᔑ!ÂĄ + +### ==== Script menu ==== + +## Script warning overview + +# Shown at the top of the script menus when at least one error has been found in any script. This +# is not shown at all if there are zero scripts with errors in them. +menu-script-warning-overview = + { $num_scripts_with_errors -> + [one] ⎓𝙹⚍ãƒĒ↸ !¡∷𝙹ʖꖎᒷᒲᓭ ╎ãƒĒ 𝙹ãƒĒᒷ ᓭá“ĩ∷╎!¡ℸ. ℸ⍑╎ᓭ ᓭá“ĩ∷╎!¡ℸ ╎ᓭ ⍑╎âŠŖ⍑ꖎ╎âŠŖ⍑ℸᒷ↸ ╎ãƒĒ 𝙹∷ᔑãƒĒâŠŖᒷ. + *[other] ⎓𝙹⚍ãƒĒ↸ !¡∷𝙹ʖꖎᒷᒲᓭ ╎ãƒĒ { $num_scripts_with_errors } ᓭá“ĩ∷╎!¡ℸᓭ. ℸ⍑ᒷᓭᒷ ᓭá“ĩ∷╎!¡ℸᓭ ᔑ∷ᒷ ⍑╎âŠŖ⍑ꖎ╎âŠŖ⍑ℸᒷ↸ ╎ãƒĒ 𝙹∷ᔑãƒĒâŠŖᒷ. + } + +# The second line of the warning. +menu-script-see-below = ᓭᒷᒷ ʖᒷꖎ𝙹∴ ⎓𝙹∷ ⎓⚍∷ℸ⍑ᒷ∷ ↸ᒷℸᔑ╎ꖎᓭ. + +menu-script-csa-tab-title = á“ĩᓭᔑ +menu-script-csi-tab-title = á“ĩᓭ╎ + +## Specific script warnings + +# The script does things that CLEO doesn't support yet. +script-unimplemented-in-cleo = ⚍ᓭᒷᓭ ⎓ᒷᔑℸ⚍∷ᒷᓭ á“ĩ⚍∷∷ᒷãƒĒℸꖎ|| ⚍ãƒĒᓭ⚍!ÂĄ!¡𝙹∷ℸᒷ↸ ʖ|| á“ĩꖎᒷ𝙹 ╎𝙹ᓭ. + +# The script does things that are not possible on iOS (for system reasons). +script-impossible-on-ios = ⚍ᓭᒷᓭ ᓭ𝙹ᒲᒷ á“ĩ𝙹↸ᒷ ℸ⍑ᔑℸ ∴𝙹ãƒĒ'ℸ ∴𝙹∷ꖌ 𝙹ãƒĒ ╎𝙹ᓭ. + +# The script is identical to another script. { $original_script } will be replaced with the name of +# the script that this one is a duplicate of. +script-duplicate = ↸⚍!¡ꖎ╎á“ĩᔑℸᒷ 𝙹⎓ { $original_script }. + +# There was an error when checking the script code for problems. +script-check-failed = ⚍ãƒĒᔑʖꖎᒷ ℸ𝙹 ᓭá“ĩᔑãƒĒ ᓭá“ĩ∷╎!¡ℸ. !¡ꖎᒷᔑᓭᒷ ∷ᒷ!¡𝙹∷ℸ ℸ⍑╎ᓭ ᔑᓭ ᔑ ʖ⚍âŠŖ 𝙹ãƒĒ âŠŖ╎ℸ⍑⚍ʖ 𝙹∷ ↸╎ᓭá“ĩ𝙹∷↸. + +# No problems were found when scanning the script. This is a safe script! +script-no-problems = ãƒĒ𝙹 !¡∷𝙹ʖꖎᒷᒲᓭ ↸ᒷℸᒷá“ĩℸᒷ↸. + +# Formats for script names in the menu. +script-csa-row-title = { $script_name } +script-csi-row-title = { $script_name } + +## Script status messages + +# The script is running normally. +script-running = ∷⚍ãƒĒãƒĒ╎ãƒĒâŠŖ + +# The script is not running. +script-not-running = ãƒĒ𝙹ℸ ∷⚍ãƒĒãƒĒ╎ãƒĒâŠŖ + +# The script has been forced to run by the user, even though there are problems with it. This only +# applies to CSA scripts. +script-csa-forced-running = ⎓𝙹∷á“ĩᒷ↸ + +## Script settings + +script-mode-opt-title = ᓭá“ĩ∷╎!¡ℸ !¡∷𝙹á“ĩᒷᓭᓭ╎ãƒĒâŠŖ ᒲ𝙹↸ᒷ +script-mode-opt-desc = á“ĩ⍑ᔑãƒĒâŠŖᒷᓭ ⍑𝙹∴ á“ĩꖎᒷ𝙹 !¡∷𝙹á“ĩᒷᓭᓭᒷᓭ ᓭá“ĩ∷╎!¡ℸ á“ĩ𝙹↸ᒷ. ℸ∷|| á“ĩ⍑ᔑãƒĒâŠŖ╎ãƒĒâŠŖ ℸ⍑╎ᓭ ╎⎓ ||𝙹⚍'∷ᒷ ᒷĖ‡/!¡ᒷ∷╎ᒷãƒĒá“ĩ╎ãƒĒâŠŖ ╎ᓭᓭ⚍ᒷᓭ ∴╎ℸ⍑ ᓭá“ĩ∷╎!¡ℸᓭ. + +# In "don't break" mode, CLEO won't try to reduce script lag. This might be more stable sometimes. +script-mode-opt-dont-break = ᓭꖎ𝙹∴ + +# In "break" mode, CLEO will try to reduce script lag caused by long loops in script code. +script-mode-opt-break = ⎓ᔑᓭℸ + +### ==== FPS ==== + +## FPS lock option + +fps-lock-opt-title = ⎓!¡ᓭ ꖎ╎ᒲ╎ℸ +fps-lock-opt-desc = ℸ⍑ᒷ ᒲᔑĖ‡/╎ᒲ⚍ᒲ ⎓∷ᔑᒲᒷ∷ᔑℸᒷ ℸ⍑ᒷ âŠŖᔑᒲᒷ ∴╎ꖎꖎ ∷⚍ãƒĒ ᔑℸ. 30 ⎓!¡ᓭ ꖎ𝙹𝙹ꖌᓭ ∴𝙹∷ᓭᒷ ʖ⚍ℸ ᓭᔑ⍊ᒷᓭ ʖᔑℸℸᒷ∷||. + +fps-lock-opt-30 = 30 ⎓!¡ᓭ +fps-lock-opt-60 = 60 ⎓!¡ᓭ + +## FPS counter option + +fps-counter-opt-title = ⎓!¡ᓭ á“ĩ𝙹⚍ãƒĒℸᒷ∷ +fps-counter-opt-desc = ᒷãƒĒᔑʖꖎᒷᓭ 𝙹∷ ↸╎ᓭᔑʖꖎᒷᓭ ℸ⍑ᒷ 𝙹ãƒĒ-ᓭá“ĩ∷ᒷᒷãƒĒ ⎓!¡ᓭ á“ĩ𝙹⚍ãƒĒℸᒷ∷. + +fps-counter-opt-hidden = ↸╎ᓭᔑʖꖎᒷ↸ +fps-counter-opt-enabled = ᒷãƒĒᔑʖꖎᒷ↸ + +### ==== Cheat system ==== + +## Menu + +cheat-tab-title = á“ĩ⍑ᒷᔑℸᓭ + +# Two lines of text shown at the top of the cheats menu. +cheat-menu-warning = ⚍ᓭ╎ãƒĒâŠŖ á“ĩ⍑ᒷᔑℸᓭ á“ĩᔑãƒĒ ꖎᒷᔑ↸ ℸ𝙹 á“ĩ∷ᔑᓭ⍑ᒷᓭ ᔑãƒĒ↸ !¡𝙹ᓭᓭ╎ʖꖎ|| ᔑ ꖎ𝙹ᓭᓭ 𝙹⎓ âŠŖᔑᒲᒷ !¡∷𝙹âŠŖ∷ᒷᓭᓭ. + ╎⎓ ||𝙹⚍ ↸𝙹ãƒĒ'ℸ ∴ᔑãƒĒℸ ℸ𝙹 ∷╎ᓭꖌ ʖ∷ᒷᔑꖌ╎ãƒĒâŠŖ ||𝙹⚍∷ ᓭᔑ⍊ᒷ, ʖᔑá“ĩꖌ ⚍!ÂĄ ||𝙹⚍∷ !¡∷𝙹âŠŖ∷ᒷᓭᓭ ℸ𝙹 ᔑ ↸╎⎓⎓ᒷ∷ᒷãƒĒℸ ᓭꖎ𝙹ℸ ⎓╎∷ᓭℸ. + +## Status messages for cheats + +cheat-on = 𝙹ãƒĒ +cheat-off = 𝙹⎓⎓ + +# Cheat will be turned on when the menu is closed. +cheat-queued-on = ᑑ⚍ᒷ⚍ᒷ↸ 𝙹ãƒĒ + +# Cheat will be turned off when the menu is closed. +cheat-queued-off = ᑑ⚍ᒷ⚍ᒷ↸ 𝙹⎓⎓ + +# Formats for cheat codes in the menu. +cheat-code-row-title = { $cheat_code } +cheat-no-code-title = ??? + +## Cheat saving option + +cheat-transience-opt-title = á“ĩ⍑ᒷᔑℸ ᓭᔑ⍊╎ãƒĒâŠŖ ᒲ𝙹↸ᒷ +cheat-transience-opt-desc = á“ĩ𝙹ãƒĒℸ∷𝙹ꖎᓭ ⍑𝙹∴ á“ĩ⍑ᒷᔑℸᓭ ᔑ∷ᒷ ᒲᔑãƒĒᔑâŠŖᒷ↸ ∴⍑ᒷãƒĒ ∷ᒷꖎ𝙹ᔑ↸╎ãƒĒâŠŖ/∷ᒷᓭℸᔑ∷ℸ╎ãƒĒâŠŖ ℸ⍑ᒷ âŠŖᔑᒲᒷ. + +cheat-transience-opt-transient = ∷ᒷᓭᒷℸ ᔑꖎꖎ +cheat-transience-opt-persistent = ᓭᔑ⍊ᒷ ᓭℸᔑℸᒷᓭ + +### ==== Cheat descriptions ==== + +## Weapon sets +cheat-thugs-armoury = ∴ᒷᔑ!¡𝙹ãƒĒ ᓭᒷℸ 1 +cheat-professionals-kit = ∴ᒷᔑ!¡𝙹ãƒĒ ᓭᒷℸ 2 +cheat-nutters-toys = ∴ᒷᔑ!¡𝙹ãƒĒ ᓭᒷℸ 3 +cheat-weapons-4 = âŠŖ╎⍊ᒷ ↸╎ꖎ↸𝙹, ᒲ╎ãƒĒ╎âŠŖ⚍ãƒĒ ᔑãƒĒ↸ ℸ⍑ᒷ∷ᒲᔑꖎ/ãƒĒ╎âŠŖ⍑ℸ-⍊╎ᓭ╎𝙹ãƒĒ âŠŖ𝙹âŠŖâŠŖꖎᒷᓭ + +## Debug cheats +cheat-debug-mappings = ↸ᒷʖ⚍âŠŖ (ᓭ⍑𝙹∴ ᒲᔑ!ÂĄ!¡╎ãƒĒâŠŖᓭ) +cheat-debug-tap-to-target = ↸ᒷʖ⚍âŠŖ (ᓭ⍑𝙹∴ ℸᔑ!ÂĄ ℸ𝙹 ℸᔑ∷âŠŖᒷℸ) +cheat-debug-targeting = ↸ᒷʖ⚍âŠŖ (ᓭ⍑𝙹∴ ℸᔑ∷âŠŖᒷℸ╎ãƒĒâŠŖ) + +## Properly cheating +cheat-i-need-some-help = âŠŖ╎⍊ᒷ ⍑ᒷᔑꖎℸ⍑, ᔑ∷ᒲ𝙹⚍∷ ᔑãƒĒ↸ $250,000 +cheat-skip-mission = ᓭꖌ╎!ÂĄ ℸ𝙹 á“ĩ𝙹ᒲ!¡ꖎᒷℸ╎𝙹ãƒĒ 𝙹ãƒĒ ᓭ𝙹ᒲᒷ ᒲ╎ᓭᓭ╎𝙹ãƒĒᓭ + +## Superpowers +cheat-full-invincibility = ⎓⚍ꖎꖎ ╎ãƒĒ⍊╎ãƒĒá“ĩ╎ʖ╎ꖎ╎ℸ|| +cheat-sting-like-a-bee = ᓭ⚍!¡ᒷ∷ !¡⚍ãƒĒá“ĩ⍑ᒷᓭ +cheat-i-am-never-hungry = !¡ꖎᔑ||ᒷ∷ ãƒĒᒷ⍊ᒷ∷ âŠŖᒷℸᓭ ⍑⚍ãƒĒâŠŖ∡|| +cheat-kangaroo = 10Ė‡/ ⋮⚍ᒲ!ÂĄ ⍑ᒷ╎âŠŖ⍑ℸ +cheat-noone-can-hurt-me = ╎ãƒĒ⎓╎ãƒĒ╎ℸᒷ ⍑ᒷᔑꖎℸ⍑ +cheat-man-from-atlantis = ╎ãƒĒ⎓╎ãƒĒ╎ℸᒷ ꖎ⚍ãƒĒâŠŖ á“ĩᔑ!¡ᔑá“ĩ╎ℸ|| + +## Social player attributes +cheat-worship-me = ᒲᔑĖ‡/╎ᒲ⚍ᒲ ∷ᒷᓭ!¡ᒷá“ĩℸ +cheat-hello-ladies = ᒲᔑĖ‡/╎ᒲ⚍ᒲ ᓭᒷĖ‡/ ᔑ!ÂĄ!¡ᒷᔑꖎ + +## Physical player attributes +cheat-who-ate-all-the-pies = ᒲᔑĖ‡/╎ᒲ⚍ᒲ ⎓ᔑℸ +cheat-buff-me-up = ᒲᔑĖ‡/╎ᒲ⚍ᒲ ᒲ⚍ᓭá“ĩꖎᒷ +cheat-max-gambling = ᒲᔑĖ‡/╎ᒲ⚍ᒲ âŠŖᔑᒲʖꖎ╎ãƒĒâŠŖ ᓭꖌ╎ꖎꖎ +cheat-lean-and-mean = ᒲ╎ãƒĒ╎ᒲ⚍ᒲ ⎓ᔑℸ ᔑãƒĒ↸ ᒲ⚍ᓭá“ĩꖎᒷ +cheat-i-can-go-all-night = ᒲᔑĖ‡/╎ᒲ⚍ᒲ ᓭℸᔑᒲ╎ãƒĒᔑ + +## Player skills +cheat-professional-killer = ⍑╎ℸᒲᔑãƒĒ ꖎᒷ⍊ᒷꖎ ⎓𝙹∷ ᔑꖎꖎ ∴ᒷᔑ!¡𝙹ãƒĒᓭ +cheat-natural-talent = ᒲᔑĖ‡/╎ᒲ⚍ᒲ ⍊ᒷ⍑╎á“ĩꖎᒷ ᓭꖌ╎ꖎꖎᓭ + +## Wanted level +cheat-turn-up-the-heat = ╎ãƒĒá“ĩ∷ᒷᔑᓭᒷ ∴ᔑãƒĒℸᒷ↸ ꖎᒷ⍊ᒷꖎ ʖ|| ℸ∴𝙹 ᓭℸᔑ∷ᓭ +cheat-turn-down-the-heat = ╎ãƒĒá“ĩ∷ᒷᔑᓭᒷ ∴ᔑãƒĒℸᒷ↸ ꖎᒷ⍊ᒷꖎ ʖ|| ℸ∴𝙹 ᓭℸᔑ∷ᓭ +cheat-i-do-as-i-please = ꖎ𝙹á“ĩꖌ ∴ᔑãƒĒℸᒷ↸ ꖎᒷ⍊ᒷꖎ ℸ𝙹 á“ĩ⚍∷∷ᒷãƒĒℸ ⍊ᔑꖎ⚍ᒷ +cheat-bring-it-on = ᓭ╎Ė‡/-ᓭℸᔑ∷ ∴ᔑãƒĒℸᒷ↸ ꖎᒷ⍊ᒷꖎ + +## Weather +cheat-pleasantly-warm = ᓭ⚍ãƒĒãƒĒ|| ∴ᒷᔑℸ⍑ᒷ∷ +cheat-too-damn-hot = ⍊ᒷ∷|| ᓭ⚍ãƒĒãƒĒ|| ∴ᒷᔑℸ⍑ᒷ∷ +cheat-dull-dull-day = 𝙹⍊ᒷ∷á“ĩᔑᓭℸ ∴ᒷᔑℸ⍑ᒷ∷ +cheat-stay-in-and-watch-tv = ∷ᔑ╎ãƒĒ|| ∴ᒷᔑℸ⍑ᒷ∷ +cheat-cant-see-where-im-going = ⎓𝙹âŠŖâŠŖ|| ∴ᒷᔑℸ⍑ᒷ∷ +cheat-scottish-summer = ᓭℸ𝙹∷ᒲ|| ∴ᒷᔑℸ⍑ᒷ∷ +cheat-sand-in-my-ears = ᓭᔑãƒĒ↸ᓭℸ𝙹∷ᒲ + +## Time +cheat-clock-forward = ᔑ↸⍊ᔑãƒĒá“ĩᒷ á“ĩꖎ𝙹á“ĩꖌ ʖ|| 4 ⍑𝙹⚍∷ᓭ +cheat-time-just-flies-by = ⎓ᔑᓭℸᒷ∷ ℸ╎ᒲᒷ +cheat-speed-it-up = ⎓ᔑᓭℸᒷ∷ âŠŖᔑᒲᒷ!¡ꖎᔑ|| +cheat-slow-it-down = ᓭꖎ𝙹∴ᒷ∷ âŠŖᔑᒲᒷ!¡ꖎᔑ|| +cheat-night-prowler = ᔑꖎ∴ᔑ||ᓭ ᒲ╎↸ãƒĒ╎âŠŖ⍑ℸ +cheat-dont-bring-on-the-night = ᔑꖎ∴ᔑ||ᓭ 9 !ÂĄ.ᒲ. + +## Spawning wearables +cheat-lets-go-base-jumping = ᓭ!¡ᔑ∴ãƒĒ !¡ᔑ∷ᔑá“ĩ⍑⚍ℸᒷ +cheat-rocketman = ᓭ!¡ᔑ∴ãƒĒ ⋮ᒷℸ!¡ᔑá“ĩꖌ + +## Spawning vehicles + +# The vehicle names (in capitals) should not be changed, as they are part of the game. The +# descriptions (in brackets) do need to be translated. +cheat-time-to-kick-ass = ᓭ!¡ᔑ∴ãƒĒ ∷⍑╎ãƒĒ𝙹 (army tank) +cheat-old-speed-demon = ᓭ!¡ᔑ∴ãƒĒ ʖꖎ𝙹𝙹↸∷╎ãƒĒâŠŖ ʖᔑãƒĒâŠŖᒷ∷ (demolition derby car) +cheat-tinted-rancher = ᓭ!¡ᔑ∴ãƒĒ ∷ᔑãƒĒá“ĩ⍑ᒷ∷ ∴╎ℸ⍑ ℸ╎ãƒĒℸᒷ↸ ∴╎ãƒĒ↸𝙹∴ᓭ (two-door SUV) +cheat-not-for-public-roads = ᓭ!¡ᔑ∴ãƒĒ ⍑𝙹ℸ∷╎ãƒĒâŠŖ ∷ᔑá“ĩᒷ∷ ᔑ (racing car) +cheat-just-try-and-stop-me = ᓭ!¡ᔑ∴ãƒĒ ⍑𝙹ℸ∷╎ãƒĒâŠŖ ∷ᔑá“ĩᒷ∷ ʖ (racing car) +cheat-wheres-the-funeral = ᓭ!¡ᔑ∴ãƒĒ ∷𝙹ᒲᒷ∷𝙹 (hearse) +cheat-celebrity-status = ᓭ!¡ᔑ∴ãƒĒ ᓭℸ∷ᒷℸá“ĩ⍑ Limousine (limousine) +cheat-true-grime = ᓭ!¡ᔑ∴ãƒĒ ℸ∷ᔑᓭ⍑ᒲᔑᓭℸᒷ∷ (garbage truck/bin lorry) +cheat-18-holes = ᓭ!¡ᔑ∴ãƒĒ ℸ∷ᔑᓭ⍑ᒲᔑᓭℸᒷ∷ (golf cart) +cheat-jump-jet = ᓭ!¡ᔑ∴ãƒĒ ⍑||↸∷ᔑ (VTOL attack jet) +cheat-i-want-to-hover = ᓭ!¡ᔑ∴ãƒĒ ⍊𝙹∷ℸᒷĖ‡/ (hovercraft) +cheat-oh-dude = ᓭ!¡ᔑ∴ãƒĒ ⍑⚍ãƒĒℸᒷ∷ (military attack helicopter) +cheat-four-wheel-fun = ᓭ!¡ᔑ∴ãƒĒ ᑑ⚍ᔑ↸ (quadbike/ATV/four-wheeler) +cheat-hit-the-road-jack = ᓭ!¡ᔑ∴ãƒĒ ℸᔑãƒĒꖌᒷ∷ ᔑãƒĒ↸ ℸ∷ᔑ╎ꖎᒷ∷ (tanker truck) +cheat-its-all-bull = ᓭ!¡ᔑ∴ãƒĒ ↸𝙹⨅ᒷ∷ (bulldozer) +cheat-flying-to-stunt = ᓭ!¡ᔑ∴ãƒĒ ᓭℸ⚍ãƒĒℸ !¡ꖎᔑãƒĒᒷ (stunt plane) +cheat-monster-mash = ᓭ!¡ᔑ∴ãƒĒ ᒲ𝙹ãƒĒᓭℸᒷ∷ ℸ∷⚍á“ĩꖌ (monster truck) + +## Gang recruitment +cheat-wanna-be-in-my-gang = ∷ᒷá“ĩ∷⚍╎ℸ ᔑãƒĒ||𝙹ãƒĒᒷ ╎ãƒĒℸ𝙹 ||𝙹⚍∷ âŠŖᔑãƒĒâŠŖ ᔑãƒĒ↸ âŠŖ╎⍊ᒷ ℸ⍑ᒷᒲ ᔑ !¡╎ᓭℸ𝙹ꖎ ʖ|| ᔑ╎ᒲ╎ãƒĒâŠŖ ᔑ !¡╎ᓭℸ𝙹ꖎ ᔑℸ ℸ⍑ᒷᒲ +cheat-noone-can-stop-us = ∷ᒷá“ĩ∷⚍╎ℸ ᔑãƒĒ||𝙹ãƒĒᒷ ╎ãƒĒℸ𝙹 ||𝙹⚍∷ âŠŖᔑãƒĒâŠŖ ᔑãƒĒ↸ âŠŖ╎⍊ᒷ ℸ⍑ᒷᒲ ᔑãƒĒ ᔑꖌ-47 ʖ|| ᔑ╎ᒲ╎ãƒĒâŠŖ ᔑãƒĒ ᔑꖌ-47 ᔑℸ ℸ⍑ᒷᒲ +cheat-rocket-mayhem = ∷ᒷá“ĩ∷⚍╎ℸ ᔑãƒĒ||𝙹ãƒĒᒷ ╎ãƒĒℸ𝙹 ||𝙹⚍∷ âŠŖᔑãƒĒâŠŖ ᔑãƒĒ↸ âŠŖ╎⍊ᒷ ℸ⍑ᒷᒲ ᔑãƒĒ ∡!ÂĄâŠŖ ʖ|| ᔑ╎ᒲ╎ãƒĒâŠŖ ᔑãƒĒ ∡!ÂĄâŠŖ ᔑℸ ℸ⍑ᒷᒲ + +## Traffic +cheat-all-drivers-are-criminals = ᔑꖎꖎ ãƒĒ!ÂĄá“ĩ ↸∷╎⍊ᒷ∷ᓭ ↸∷╎⍊ᒷ ᔑâŠŖâŠŖ∷ᒷᓭᓭ╎⍊ᒷꖎ|| ᔑãƒĒ↸ ⍑ᔑ⍊ᒷ ᔑ ∴ᔑãƒĒℸᒷ↸ ꖎᒷ⍊ᒷꖎ +cheat-pink-is-the-new-cool = !¡╎ãƒĒꖌ ℸ∷ᔑ⎓⎓╎á“ĩ +cheat-so-long-as-its-black = ʖꖎᔑá“ĩꖌ ℸ∷ᔑ⎓⎓╎á“ĩ +cheat-everyone-is-poor = ∷⚍∷ᔑꖎ ℸ∷ᔑ⎓⎓╎á“ĩ +cheat-everyone-is-rich = ᓭ!¡𝙹∷ℸᓭ á“ĩᔑ∷ ℸ∷ᔑ⎓⎓╎á“ĩ + +## Pedestrians +cheat-rough-neighbourhood = âŠŖ╎⍊ᒷ !¡ꖎᔑ||ᒷ∷ âŠŖ𝙹ꖎ⎓ á“ĩꖎ⚍ʖ ᔑãƒĒ↸ ᒲᔑꖌᒷ !¡ᒷ↸ᒷᓭℸ∷╎ᔑãƒĒᓭ ∷╎𝙹ℸ +cheat-stop-picking-on-me = !¡ᒷ↸ᒷᓭℸ∷╎ᔑãƒĒᓭ ᔑℸℸᔑá“ĩꖌ ℸ⍑ᒷ !¡ꖎᔑ||ᒷ∷ +cheat-surrounded-by-nutters = âŠŖ╎⍊ᒷ !¡ᒷ↸ᒷᓭℸ∷╎ᔑãƒĒᓭ ∴ᒷᔑ!¡𝙹ãƒĒᓭ +cheat-blue-suede-shoes = ᔑꖎꖎ !¡ᒷ↸ᒷᓭℸ∷╎ᔑãƒĒᓭ ᔑ∷ᒷ ᒷꖎ⍊╎ᓭ !¡∷ᒷᓭꖎᒷ|| +cheat-attack-of-the-village-people = !¡ᒷ↸ᒷᓭℸ∷╎ᔑãƒĒᓭ ᔑℸℸᔑá“ĩꖌ ℸ⍑ᒷ !¡ꖎᔑ||ᒷ∷ ∴╎ℸ⍑ âŠŖ⚍ãƒĒᓭ ᔑãƒĒ↸ ∷𝙹á“ĩꖌᒷℸᓭ +cheat-only-homies-allowed = âŠŖᔑãƒĒâŠŖ ᒲᒷᒲʖᒷ∷ᓭ ᒷ⍊ᒷ∷||∴⍑ᒷ∷ᒷ +cheat-better-stay-indoors = âŠŖᔑãƒĒâŠŖᓭ á“ĩ𝙹ãƒĒℸ∷𝙹ꖎ ℸ⍑ᒷ ᓭℸ∷ᒷᒷℸᓭ +cheat-state-of-emergency = !¡ᒷ↸ᒷᓭℸ∷╎ᔑãƒĒᓭ ∷╎𝙹ℸ +cheat-ghost-town = Reduced ꖎ╎⍊ᒷ ℸ∷ᔑ⎓⎓╎á“ĩ ᔑãƒĒ↸ ãƒĒ𝙹 !¡ᒷ↸ᒷᓭℸ∷╎ᔑãƒĒᓭ + +## Themes +cheat-ninja-town = ℸ∷╎ᔑ↸ ℸ⍑ᒷᒲᒷ +cheat-love-conquers-all = !¡╎ᒲ!ÂĄ ℸ⍑ᒷᒲᒷ +cheat-lifes-a-beach = ʖᒷᔑá“ĩ⍑ !¡ᔑ∷ℸ|| ℸ⍑ᒷᒲᒷ +cheat-hicksville = ∷⚍∷ᔑꖎ ℸ⍑ᒷᒲᒷ +cheat-crazy-town = á“ĩᔑ∷ãƒĒ╎⍊ᔑꖎ ℸ⍑ᒷᒲᒷ + +## General vehicle cheats +cheat-all-cars-go-boom = ᒷĖ‡/!¡ꖎ𝙹↸ᒷ ᔑꖎꖎ ⍊ᒷ⍑╎á“ĩꖎᒷᓭ +cheat-wheels-only-please = ╎ãƒĒ⍊╎ᓭ╎ʖꖎᒷ ⍊ᒷ⍑╎á“ĩꖎᒷᓭ +cheat-sideways-wheels = á“ĩᔑ∷ᓭ ⍑ᔑ⍊ᒷ ᓭ╎↸ᒷ∴ᔑ||ᓭ ∴⍑ᒷᒷꖎᓭ +cheat-speed-freak = ᔑꖎꖎ á“ĩᔑ∷ᓭ ⍑ᔑ⍊ᒷ ãƒĒ╎ℸ∷𝙹 +cheat-cool-taxis = ℸᔑĖ‡/╎ᓭ ⍑ᔑ⍊ᒷ ⍑||↸∷ᔑ⚍ꖎ╎á“ĩᓭ ᔑãƒĒ↸ ãƒĒ╎ℸ∷𝙹 + +## Vehicle cheats for the player +cheat-chitty-chitty-bang-bang = ⎓ꖎ||╎ãƒĒâŠŖ á“ĩᔑ∷ᓭ +cheat-cj-phone-home = ⍊ᒷ∷|| ⍑╎âŠŖ⍑ ʖ⚍ãƒĒãƒĒ|| ⍑𝙹!¡ᓭ +cheat-touch-my-car-you-die = ↸ᒷᓭℸ∷𝙹|| 𝙹ℸ⍑ᒷ∷ ⍊ᒷ⍑╎á“ĩꖎᒷᓭ 𝙹ãƒĒ á“ĩ𝙹ꖎꖎ╎ᓭ╎𝙹ãƒĒ +cheat-bubble-cars = á“ĩᔑ∷ᓭ ⎓ꖎ𝙹ᔑℸ ᔑ∴ᔑ|| ∴⍑ᒷãƒĒ ⍑╎ℸ +cheat-stick-like-glue = ╎ᒲ!¡∷𝙹⍊ᒷ↸ ᓭ⚍ᓭ!¡ᒷãƒĒᓭ╎𝙹ãƒĒ ᔑãƒĒ↸ ⍑ᔑãƒĒ↸ꖎ╎ãƒĒâŠŖ +cheat-dont-try-and-stop-me = ℸ∷ᔑ⎓⎓╎á“ĩ ꖎ╎âŠŖ⍑ℸᓭ ᔑ∷ᒷ ᔑꖎ∴ᔑ||ᓭ âŠŖ∷ᒷᒷãƒĒ +cheat-flying-fish = ⎓ꖎ||╎ãƒĒâŠŖ ʖ𝙹ᔑℸᓭ + +## Weapon usage +cheat-full-clip = ᒷ⍊ᒷ∷||𝙹ãƒĒᒷ ⍑ᔑᓭ ⚍ãƒĒꖎ╎ᒲ╎ℸᒷ↸ ᔑᒲᒲ⚍ãƒĒ╎ℸ╎𝙹ãƒĒ +cheat-i-wanna-driveby = ⎓⚍ꖎꖎ ∴ᒷᔑ!¡𝙹ãƒĒ á“ĩ𝙹ãƒĒℸ∷𝙹ꖎ ╎ãƒĒ ⍊ᒷ⍑╎á“ĩꖎᒷᓭ + +## Player effects +cheat-goodbye-cruel-world = ᓭ⚍╎á“ĩ╎↸ᒷ +cheat-take-a-chill-pill = ᔑ↸∷ᒷãƒĒᔑꖎ╎ãƒĒᒷ ᒷ⎓⎓ᒷá“ĩℸᓭ +cheat-prostitutes-pay = !¡∷𝙹ᓭℸ╎ℸ⚍ℸᒷᓭ !¡ᔑ|| ||𝙹⚍ + +## Miscellaneous +cheat-xbox-helper = ᔑ↸⋮⚍ᓭℸ ᓭℸᔑℸᓭ ℸ𝙹 ʖᒷ á“ĩꖎ𝙹ᓭᒷ ℸ𝙹 âŠŖᒷℸℸ╎ãƒĒâŠŖ Ė‡/ʖ𝙹Ė‡/ ᔑá“ĩ⍑╎ᒷ⍊ᒷᒲᒷãƒĒℸᓭ + +## Pointless cheats + +# Tells the user that a cheat will ALWAYS crash their game. +cheat-crash-warning = á“ĩ∷ᔑᓭ⍑ᒷᓭ! + +cheat-slot-melee = { cheat-crash-warning } ᒲᒷꖎᒷᒷ ᓭꖎ𝙹ℸ +cheat-slot-handgun = { cheat-crash-warning } ⍑ᔑãƒĒ↸âŠŖ⚍ãƒĒ ᓭꖎ𝙹ℸ +cheat-slot-smg = { cheat-crash-warning } ᓭᒲâŠŖ ᓭꖎ𝙹ℸ +cheat-slot-shotgun = { cheat-crash-warning } ᓭ⍑𝙹ℸâŠŖ⚍ãƒĒ ᓭꖎ𝙹ℸ +cheat-slot-assault-rifle = { cheat-crash-warning } ᔑᓭᓭᔑ⚍ꖎℸ ∷╎⎓ꖎᒷ ᓭꖎ𝙹ℸ +cheat-slot-long-rifle = { cheat-crash-warning } ꖎ𝙹ãƒĒâŠŖ ∷╎⎓ꖎᒷ ᓭꖎ𝙹ℸ +cheat-slot-thrown = { cheat-crash-warning } ℸ⍑∷𝙹∴ãƒĒ ∴ᒷᔑ!¡𝙹ãƒĒ ᓭꖎ𝙹ℸ +cheat-slot-heavy = { cheat-crash-warning } ⍑ᒷᔑ⍊|| ᔑ∷ℸ╎ꖎꖎᒷ∷|| ᓭꖎ𝙹ℸ +cheat-slot-equipment = { cheat-crash-warning } ᒷᑑ⚍╎!¡ᒲᒷãƒĒℸ ᓭꖎ𝙹ℸ +cheat-slot-other = { cheat-crash-warning } 𝙹ℸ⍑ᒷ∷ ᓭꖎ𝙹ℸ + +cheat-predator = ↸𝙹ᒷᓭ ãƒĒ𝙹ℸ⍑╎ãƒĒâŠŖ diff --git a/src/meta/language.rs b/src/meta/language.rs index ea249f3..5d4445a 100644 --- a/src/meta/language.rs +++ b/src/meta/language.rs @@ -195,6 +195,7 @@ pub enum Language { Thai, Turkish, Vietnamese, + Minecraft, } impl Language { @@ -213,6 +214,7 @@ impl Language { "th" => Language::Thai, "tr" => Language::Turkish, "vi" => Language::Vietnamese, + "mc" => Language::Minecraft, _ => return None, }) } @@ -231,6 +233,7 @@ impl Language { Language::Thai => "th", Language::Turkish => "tr", Language::Vietnamese => "vi", + Language::Minecraft => "mc", } .parse() .unwrap() @@ -250,6 +253,7 @@ impl Language { Language::Thai => include_str!("../../loc/th.ftl"), Language::Turkish => include_str!("../../loc/tr.ftl"), Language::Vietnamese => include_str!("../../loc/vi.ftl"), + Language::Minecraft => include_str!("../../loc/mc.ftl"), } } @@ -291,7 +295,7 @@ impl Language { // Chalet Comprime has support for rich Latin alphabets, so English, Spanish and Dutch // are fine. Our Turkish translation uses only ASCII, so it's fine too. - Language::Dutch | Language::English | Language::Spanish | Language::Turkish => { + Language::Dutch | Language::English | Language::Spanish | Language::Turkish | Language::Minecraft => { FontSet { title_font: Font::Pricedown, title_size: STD_TITLE, @@ -461,7 +465,10 @@ impl Language { Language::Czech => Some(Language::Slovak), // 5 million - Language::Slovak => None, + Language::Slovak => Some(Language::Minecraft), + + // 0 + Language::Minecraft => None, } } } diff --git a/src/meta/touch.rs b/src/meta/touch.rs index 7bb7e08..a44403f 100644 --- a/src/meta/touch.rs +++ b/src/meta/touch.rs @@ -255,7 +255,7 @@ impl TouchInterface { // Only map if the tracked touch was last updated before the new event. Otherwise, // we could end up applying two events from the same frame to a single tracked // touch. - (tracked.last_changed() < event_info.timestamp).then_some((index, { + (tracked.last_changed() <= event_info.timestamp).then_some((index, { // Don't bother square rooting the distance here, because the comparison result // is the same whether or not we square root, and sqrt is slow. (event_info.position - tracked.current_position()).length_squared()