From 64d2d0882037e682c921ced29de4717b65274921 Mon Sep 17 00:00:00 2001 From: MattMayuga Date: Sat, 27 Nov 2021 04:28:08 +0800 Subject: [PATCH] Update English translation (#487) * Update readme.md * Update lang_en.lua * Update app_console.lua * Update error.lua * Add warnings and extended time to 10s for resetall When you use the resetall command, you will now get a message that there is no way to recover the saved data when it is deleted. --- parts/language/lang_en.lua | 58 ++++++++++++++-------------- parts/scenes/app_console.lua | 75 +++++++++++++++++++++--------------- parts/scenes/error.lua | 2 +- readme.md | 4 +- 4 files changed, 76 insertions(+), 63 deletions(-) diff --git a/parts/language/lang_en.lua b/parts/language/lang_en.lua index f8758e7c..8e971b78 100644 --- a/parts/language/lang_en.lua +++ b/parts/language/lang_en.lua @@ -8,17 +8,17 @@ return{ loadModeIcon="Loading mode icons", loadMode="Loading modes", loadOther="Loading other assets", - finish="Press any key to start!", + finish="Press any button to start!", }, sureQuit="Press again to quit", sureReset="Press again to reset", newDay="A new day, a new beginning!", playedLong="You have been playing for a long time. Time to a break!", - playedTooMuch="You have been playing for far too long! Techmino is fun, but remember to have some rests!", - settingWarn="Modifing uncommon setting, be careful!", + playedTooMuch="You have been playing for far too long! Techmino is fun, but remember to take some rests!", + settingWarn="Careful - you're about to change some uncommon settings!", atkModeName={"Random","Badges","K.O.s","Attackers"}, - royale_remain="$1 Players Remains", + royale_remain="$1 Players Left", powerUp={[0]="+000%","+025%","+050%","+075%","+100%"}, cmb={nil,"1 Combo","2 Combo","3 Combo","4 Combo","5 Combo","6 Combo","7 Combo","8 Combo","9 Combo","10 Combo!","11 Combo!","12 Combo!","13 Combo!","14 Combo!!","15 Combo!!","16 Combo!!","17 Combo!!!","18 Combo!!!","19 Combo!!!","MEGACMB"}, spin="-spin", @@ -29,7 +29,7 @@ return{ replaying="[Replay]", tasUsing="[TAS]", - stage="Stage $1 completed", + stage="Stage $1 cleared!", great="Great!", awesome="Awesome!", almost="Almost There!", @@ -46,11 +46,11 @@ return{ combo="Combo",maxcmb="Max Combo", pc="Perfect Clear",ko="KOs", - win="Win", + win="Win!", lose="Lose", finish="Finished", - gamewin="You Win", + gamewin="You Won", gameover="Game Over", pause="Pause", @@ -60,12 +60,12 @@ return{ page="Page:", - cc_fixed="CC is incompatible with fixed sequences", - cc_swap="CC is incompatible with swap holdmode", - ai_prebag="AI is incompatible with custom sequences which have non-tetromino", - ai_mission="AI is incompatible with custom missions", + cc_fixed="CC is incompatible with fixed sequences.", + cc_swap="CC is incompatible when the hold mode is set to Swap.", + ai_prebag="AI is incompatible with custom sequences that contain non-tetrominoes.", + ai_mission="AI is incompatible with custom missions.", switchSpawnSFX="Please turn on the block spawn SFX!", - needRestart="Restart to apply all changes", + needRestart="Restart to apply all changes.", loadError_errorMode="'$1' loading failed: no load mode '$2'", loadError_read="'$1' loading failed: read failed", @@ -114,8 +114,8 @@ return{ wrongEmail="Invalid email address", noPassword="Please enter your password", diffPassword="Passwords don't match", - registerRequestSent="Sign-up request sent", - registerSuccessed="Sign-up succeeded", + registerRequestSent="A sign up request has been sent.", + registerSuccessed="Sign up successful!", loginSuccessed="You are now logged in!", accessSuccessed="Access granted", @@ -287,7 +287,7 @@ return{ }, net_newRoom={ title="Room Config", - roomName="Room name(default to \"[username]'s room\")", + roomName="Room name (Default: \"[username]'s room\")", password="Password", description="Room Description", @@ -313,8 +313,8 @@ return{ ospin="O-spin", fineKill="100% Finesse", - b2bKill="No B2B break", - lockout="Fail when lock out", + b2bKill="No B2B Breaks", + lockout="Fail on Lock Out", easyFresh="Normal Lock Reset", deepDrop="Deep Drop", bone="Bone Blocks", @@ -347,8 +347,8 @@ return{ menuPos="Menu Button Pos.", sysCursor="Use System Cursor", autoPause="Pause When Unfocused", - autoSave="Auto Save New Records", - autoLogin="Auto Login on Start", + autoSave="Auto-save New Records", + autoLogin="Auto-login on Start", simpMode="Simplistic Mode", }, setting_video={ @@ -528,8 +528,8 @@ return{ heightLimit="Height Limit", ospin="O-Spin", fineKill="100% Finesse", - b2bKill="No B2B break", - lockout="Fail when lock out", + b2bKill="No B2B Breaks", + lockout="Fail on Lock Out", easyFresh="Normal Lock Reset", deepDrop="Deep Drop", bone="Bone Blocks", @@ -708,11 +708,11 @@ return{ ['techmino99_e']= {"Tech 99", "EASY", "99-player battle.\nThe last one standing wins"}, ['techmino99_h']= {"Tech 99", "HARD", "99-player battle.\nThe last one standing wins"}, ['techmino99_u']= {"Tech 99", "ULTIMATE", "99-player battle.\nThe last one standing wins"}, - ['round_e']= {"Turn-Based", "EASY", "Take turns to play with the AI!"}, - ['round_n']= {"Turn-Based", "NORMAL", "Take turns to play with the AI!"}, - ['round_h']= {"Turn-Based", "HARD", "Take turns to play with the AI!"}, - ['round_l']= {"Turn-Based", "LUNATIC", "Take turns to play with the AI!"}, - ['round_u']= {"Turn-Based", "ULTIMATE", "Take turns to play with the AI!"}, + ['round_e']= {"Turn-Based", "EASY", "Take turns to play against the AI!"}, + ['round_n']= {"Turn-Based", "NORMAL", "Take turns to play against the AI!"}, + ['round_h']= {"Turn-Based", "HARD", "Take turns to play against the AI!"}, + ['round_l']= {"Turn-Based", "LUNATIC", "Take turns to play against the AI!"}, + ['round_u']= {"Turn-Based", "ULTIMATE", "Take turns to play against the AI!"}, ['master_n']= {"Master", "NORMAL", "For 20G beginners"}, ['master_h']= {"Master", "HARD", "For 20G pros"}, ['master_m']= {"Master", "M21", "For 20G Masters"}, @@ -840,7 +840,6 @@ return{ "Lua No.1", "Mix clear coming soon!", "Most of the button icons are realized by using self-drawn glyphs in the Unicode Private Use Area.", - "Music of this game is made using Beepbox.", "Music too distracting? You can turn it off.", "No easter eggs in this menu if you have the simplistic style turned on!", "O-Spin Triple!", @@ -856,10 +855,11 @@ return{ "Soon you'll be able to play against friends and foes all over the world.", "Split clear coming soon!", "sudo rm -rf /*", - "Techmino = Technique + Tetromino", + "Techmino is a combination of Technique and Tetromino.", "Techmino has a Nspire-CX edition!", "Techmino is so fun!", "TetroDictionary is now available in English.", + "The music tracks in this game are made using Beepbox.", "The names that appeared in the background of the Staff page is a list of our sponsors.", "The stacker future is yours in Techmino!", "There are several hidden modes in the game that cannot be entered using the map.", @@ -880,7 +880,7 @@ return{ "You can navigate the menu with a keyboard, but only in this screen.", "You can open the save directory from the Stats page.", "You can perform a spin with 28 of the 29 minoes in this game; the exception being O1.", - "You can set the spawning orientation for each tetromino.", + "You can set the spawning orientation for each piece.", "ZS JL T O I", {C.C,"Also try 15puzzle!"}, {C.C,"Also try Ballance!"}, diff --git a/parts/scenes/app_console.lua b/parts/scenes/app_console.lua index 3cf2a901..c6f963d1 100644 --- a/parts/scenes/app_console.lua +++ b/parts/scenes/app_console.lua @@ -9,7 +9,7 @@ local outputBox=WIDGET.newTextBox{name='output',x=40,y=30,w=1200,h=610,font=25,f local function log(str)outputBox:push(str)end log{C.lP,"Techmino Console"} log{C.lC,"©2021 26F Studio some rights reserved"} -log{C.dR,"DO NOT RUN ANY CODE YOU DON'T UNDERSTAND"} +log{C.dR,"WARNING: DO NOT RUN ANY CODES THAT YOU DON'T KNOW HOW TO USE."} local history,hisPtr={"?"} local sudomode=false @@ -232,7 +232,7 @@ local commands={}do --Check arguments arg=STRING.split(arg," ") if #arg>2 then - log{C.lY,"Warning: file name with space is not allowed"} + log{C.lY,"Warning: file names must have no spaces"} return elseif #arg<2 then log{C.A,"Usage: ren [oldfilename] [newfilename]"} @@ -464,9 +464,9 @@ local commands={}do code=function() BGM.stop() end, - description="Stop the BGM", + description="Stop BGM", details={ - "Stop the BGM.", + "Stop the currently playing BGM.", "", "Usage: stopbgm" }, @@ -534,7 +534,7 @@ local commands={}do { code="15p", scene='app_15p', - description="15 Puzzle, a.k.a. sliding puzzle" + description="15 Puzzle (sliding puzzle)" }, { code="grid", @@ -549,7 +549,7 @@ local commands={}do { code="atoz", scene='app_AtoZ', - description="A to Z, a.k.a. typing" + description="A to Z (typing)" }, { code="uttt", @@ -559,7 +559,7 @@ local commands={}do { code="cube", scene='app_cubefield', - description="Cubefield, original by Max Abernethy" + description="Cubefield, original game by Max Abernethy" }, { code="2048", @@ -579,7 +579,7 @@ local commands={}do { code="dtw", scene='app_dtw', - description="Don't Touch White, a.k.a. Piano Tiles" + description="Don't Touch White (Piano Tiles)" }, { code="can", @@ -655,7 +655,12 @@ local commands={}do commands.resetall={ code=function(arg) if arg=="sure"then - log"Really?" + log"Please remember that resetting everything will delete all saved data. Delete the saved data anyway?" + log"Type: resetall yes" + if arg=="yes"then + log"FINAL WARNING!" + log"Once the data has been deleted, there is no way to recover it." + log"Is it really OK to delete all saved data?" log"Type: resetall really" elseif arg=="really"then WIDGET.unFocus(true)inputBox.hide=true @@ -667,36 +672,44 @@ local commands={}do TASK.new(function() WIDGET.active.bye.hide=true for _=1,30 do coroutine.yield()end - log{C.R,"Bye in 5..."}SFX.play('ready')SFX.play('clear_2')for _=1,60 do coroutine.yield()end - log{C.R,"Bye in 4..."}SFX.play('ready')SFX.play('clear_2')for _=1,60 do coroutine.yield()end - log{C.R,"Bye in 3..."}SFX.play('ready')SFX.play('clear_2')for _=1,60 do coroutine.yield()end - log{C.R,"Bye in 2..."}SFX.play('ready')SFX.play('clear_3')for _=1,60 do coroutine.yield()end - log{C.R,"Bye in 1..."}SFX.play('ready')SFX.play('clear_3')for _=1,60 do coroutine.yield()end - log{C.R,"Bye in 0..."}SFX.play('start')SFX.play('clear_4')for _=1,60 do coroutine.yield()end + log{C.R,"Deleting all data in 10..."}SFX.play('ready')SFX.play('clear_1')for _=1,60 do coroutine.yield()end + log{C.R,"Deleting all data in 9..."}SFX.play('ready')SFX.play('clear_1')for _=1,60 do coroutine.yield()end + log{C.R,"Deleting all data in 8..."}SFX.play('ready')SFX.play('clear_1')for _=1,60 do coroutine.yield()end + log{C.R,"Deleting all data in 7..."}SFX.play('ready')SFX.play('clear_1')for _=1,60 do coroutine.yield()end + log{C.R,"Deleting all data in 6..."}SFX.play('ready')SFX.play('clear_1')for _=1,60 do coroutine.yield()end + log{C.R,"Deleting all data in 5..."}SFX.play('ready')SFX.play('clear_2')for _=1,60 do coroutine.yield()end + log{C.R,"Deleting all data in 4..."}SFX.play('ready')SFX.play('clear_2')for _=1,60 do coroutine.yield()end + log{C.R,"Deleting all data in 3..."}SFX.play('ready')SFX.play('clear_2')for _=1,60 do coroutine.yield()end + log{C.R,"Deleting all data in 2..."}SFX.play('ready')SFX.play('clear_3')for _=1,60 do coroutine.yield()end + log{C.R,"Deleting all data in 1..."}SFX.play('ready')SFX.play('clear_3')for _=1,60 do coroutine.yield()end + log{C.R,"Deleting all data in 0..."}SFX.play('start')SFX.play('clear_4')for _=1,60 do coroutine.yield()end outputBox.hide=true for _=1,26 do coroutine.yield()end FILE.clear_s('')love.event.quit() end) end} - button:setObject("Techmino is fun. Bye.") + button:setObject("The saved data was erased!") ins(WIDGET.active,button) else - log"Are you sure to reset all?" + log"Are you sure you want to reset everything?" + log"This will delete EVERYTHING in your saved game data, including but not limited to:" + log"All your replays, saved scores, settings, etc." + log"This cannot be undone." log"Type: resetall sure" end end, - description="Reset all things.", + description="Reset everything and delete all saved data.", } commands.sudo={ code=function(code) if sudomode then - log{C.Y,"You are already in the sudo mode, use # to run any lua code"} + log{C.Y,"You are already in sudo mode. Use # to run any lua code"} log{C.Y,"已经进入最高权限模式了, 请使用 # 执行任意lua代码"} elseif code=="7126"then sudomode=true - log{C.Y,"* SUDO MODE ON, DO NOT RUN ANY CODE YOU DON'T UNDERSTAND *"} + log{C.Y,"* SUDO MODE ON - DO NOT RUN ANY CODES IF YOU DO NOT KNOW WHAT THEY DO *"} log{C.Y,"* 最高权限模式开启, 请不要执行任何自己不懂确切含义的代码 *"} else - log{C.Y,"Password not correct"} + log{C.Y,"Password incorrect"} end end, }commands.su="sudo" @@ -708,7 +721,7 @@ local commands={}do if SETTING[key]~=nil then SETTING[key]=nil saveSettings() - log{C.Y,("Succesfully erased key '%s'"):format(key)} + log{C.Y,("Successfully erased key '%s'"):format(key)} else log{C.R,"No key called "..key} end @@ -719,8 +732,8 @@ local commands={}do description="Erase a setting value", details={ "Erase a setting value", - "Useful if you have your setting corrupted", - "YOU MUST RESTART THE GAME AFTER USING THIS", + "Useful if any of your settings are corrupted.", + "You must restart the game after this is entered.", "", "Usage: rmconf [key]", }, @@ -761,7 +774,7 @@ local commands={}do log{C.lC,"\85\78\76\79\67\75\65\76\76"} SFX.play('clear_2') else - log"Are you sure to unlock all modes?" + log"Are you sure you want to unlock all game modes?" log"Type: unlockall sure" end end, @@ -784,7 +797,7 @@ local commands={}do end, description="Load a game mode", details={ - "Load a game mode, including those that are not on the map.", + "Load a game mode. This includes those that are not on the map.", "", "Usage: play [mode_name]", }, @@ -796,15 +809,15 @@ local commands={}do saveSettings() log("Allow TAS: "..bool) if bool then - log("Hot keys: f1=play/pause f2=slowdown f3=speedup/nextframe") + log("Hot keys: f1=play/pause f2=slow down f3=speed up/next frame") end else log{C.A,"Usage: tas "} end end, - description="Allow you to use TAS tool", + description="Enable TAS tool", details={ - "Allow you to use TAS tool, a TAS button will show up at the pause menu", + "Once the TAS tool is enabled, a TAS button will show up at the pause menu.", "", "Usage: tas ", }, @@ -860,7 +873,7 @@ local commands={}do WS.send('manage','{"action":0,"data":'..JSON.encode{message=str}..'}') log{C.Y,"Request sent"} else - log{C.R,"format error"} + log{C.R,"Format error"} end end function commands.m_shutdown(sec) @@ -869,7 +882,7 @@ local commands={}do WS.send('manage','{"action":9,"data":'..JSON.encode{countdown=tonumber(sec)}..'}') log{C.Y,"Request sent"} else - log{C.R,"format error"} + log{C.R,"Format error"} end end function commands.m_connInfo()WS.send('manage','{"action":10}')end diff --git a/parts/scenes/error.lua b/parts/scenes/error.lua index 789bb764..9fedbb29 100644 --- a/parts/scenes/error.lua +++ b/parts/scenes/error.lua @@ -10,7 +10,7 @@ local scene={} function scene.sceneInit() BGcolor=rnd()>.026 and{.3,.5,.9}or{.62,.3,.926} stateInfo=SYSTEM.."-"..VERSION.string.." scene:"..Z.errData[#Z.errData].scene - errorText=LOADED and text.errorMsg or"An error has occurred during loading.\nError info has been created, and you can send it to the author." + errorText=LOADED and text.errorMsg or"An error has occurred while the game was loading.\nAn error log has been created so you can send it to the author." errorShot,errorInfo=Z.errData[#Z.errData].shot,Z.errData[#Z.errData].mes NET.wsclose_app() NET.wsclose_user() diff --git a/readme.md b/readme.md index 03b48f9f..831771eb 100644 --- a/readme.md +++ b/readme.md @@ -8,8 +8,8 @@ 集合各种现代方块规则,更多玩法,全新体验。 -Collections of modern block game rules, combined with some new things. +A collection of various modern block game rules, more ways to play, and some new things added for a new experience. [官网(建设中) Official website (WIP)](http://home.techmino.org) -[维基(建设中) Github wiki](https://github.com/26F-Studio/Techmino/wiki) \ No newline at end of file +[维基(建设中) Github wiki](https://github.com/26F-Studio/Techmino/wiki)