local C=COLOR
return {
    loadText={
        loadSFX="Loading sound effects",
        loadSample="Loading instrument samples",
        loadVoice="Loading voice packs",
        loadFont="Loading fonts",
        loadModeIcon="Loading mode icons",
        loadMode="Loading modes",
        loadOther="Loading other assets",
        finish="Press any key to start!",
    },
    sureQuit="Press again to quit",
    sureReset="Press again to reset",
    sureDelete="Press again to delete",
    newDay="A new day, a new beginning!",
    playedLong="You have been playing for a long time. Time to take a break!",
    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!",
    settingWarn2="This setting takes effect after restart",

    atkModeName={"Random","Badges","K.O.s","Attackers"},
    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 ",
    spinNC="-spin",
    clear={"Single","Double","Triple","Techrash","Pentacrash","Hexacrash","Heptacrash","Octacrash","Nonacrash","Decacrash","Undecacrash","Dodecacrash","Tridecacrash","Tetradecacrash","Pentadecacrash","Hexadecacrash","Heptadecacrash","Octadecacrash","Nonadecacrash","Ultracrash","Impossicrash"},
    cleared="$1 lines",
    mini="Mini",b2b="B2B ",b3b="B2B2B ",
    PC="Perfect Clear",HPC="Half PC",
    replaying="[Replay]",
    tasUsing="[TAS]",

    stage="Stage $1 cleared!",
    great="Great!",
    awesome="Awesome!",
    almost="Almost There!",
    continue="Keep Going!",
    maxspeed="MAX SPEED!",
    speedup="Speed Up!",
    missionFailed="Wrong Clear",
    infHeightOn="Infinite Height ON",
    infHeightOff="Infinite Height OFF",
    infHeightHint="Toggle with Function 1 key",
    highestGrade="(highest: $1)",

    speedLV="Speed Level",
    piece="Pieces",line="Lines",atk="Attack",eff="Efficiency",
    rpm="RPM",tsd="TSD",
    grade="Grade",techrash="Techrashes",
    wave="Wave",nextWave="Next",
    combo="Combo",maxcmb="Max Combo",
    pc="Perfect Clears",ko="KOs",

    win="Win!",
    lose="Lose",
    torikan="Halted",
    finish="Finished",
    gamewin="You Won",
    gameover="Game Over",

    pause="Pause",
    pauseCount="Pauses",
    finesse_ap="All Perfect",
    finesse_fc="Full Combo",

    page="Page ",

    ai_puzzle="AI is incompatible with the Puzzle gamemode.",
    ai_mission="AI is incompatible with custom missions.",
    ai_badPiece="AI is incompatible with custom sequences that contain non-tetrominoes.",
    cc_fixed="CC is incompatible with fixed sequences.",
    cc_swap="CC is incompatible when the hold mode is set to Swap.",
    cc_solid="CC is incompatible with filled lines in the field.",
    cc_field_too_high="CC is incompatible with fields higher than 40.",
    cc_eventset_incompatible="CC is incompatible with the ruleset '$1'.",
    switchSpawnSFX="Please turn on the piece spawn SFX!",
    needRestart="Restart to apply all changes.",

    loadError_errorMode="Failed to load '$1': no load mode called '$2'",
    loadError_read="Failed to load '$1': failed to read the file",
    loadError_noFile="Failed to load '$1': no such file",
    loadError_other="Failed to load '$1': $2",
    loadError_unknown="Failed to load '$1': unknown error",

    saveError_duplicate="Failed to save '$1': duplicated filename",
    saveError_encode="Failed to save '$1': encoding error",
    saveError_other="Failed to save '$1': $2",
    saveError_unknown="Failed to save '$1': unknown error",

    copyDone="Copied!",
    saveDone="Data saved",
    exportSuccess="Successfully exported to clipboard",
    importSuccess="Successfully imported from clipboard",
    dataCorrupted="Data corrupted",
    pasteWrongPlace="Did you paste in the wrong place?",
    noFile="File missing",
    invalidSequence="Invalid sequence mode",
    tooHighField="Field data exceeds 126 lines - higher lines discarded",

    nowPlaying="Now playing:",

    VKTchW="Touch weight",
    VKOrgW="Origin weight",
    VKCurW="Current position wt.",

    noScore="No scores",
    modeLocked="Locked",
    unlockHint="Reach rank B or higher in the previous modes to unlock",
    highScore="High Scores",
    newRecord="New Record!",

    replayBroken="Cannot load replay",

    dictNote="==Copied from TetroDictionary==",



    -- Server's warn/error messages
    Techrater={
        internalError="Internal error",
        databaseError="Database error",
        invalidFormat="Invalid format",
        invalidArguments="Invalid arguments",
        tooFrequent="Too frequent",
        notAvailable="Not available",
        noPermission="No permission",
        roomNotFound="Room not found",

        -- Controllers
        WebSocket={
            invalidConnection="Invalid connection",
            invalidAction="Invalid action",
            playerNotFound="Player not found",
            connectionFailed="Connection failed",
        },
        -- Filters
        CheckPermission={
            playerNotFound="Player not found",
        },
        -- Plugins
        ConnectionManager={
            playerInvalid="Player invalid",
            playerNotFound="Player not found",
            connectionReplaced="Connection replaced",
        },
        NoticeManager={
            noticeNotFound="Notice not found",
        },
        PlayerManager={
            invalidCode="Invalid code",
            invalidEmail="Invalid email",
            playerNotFound="Player not found",
            invalidEmailPass="Invalid email or password",
            emailExists="Email exists",
            emailSendError="Failed to send email",
        },
        -- Strategies
        PlayerRole={
            invalidRole="Invalid role",
            invalidTarget="Invalid target",
        },
        PlayerType={
            invalidType="Invalid type",
            roomFull="Room full",
        },
        RoomJoin={
            wrongPassword="Wrong password",
        },
    },

    tooFrequent="Requests are too frequent",
    roomPasswordChanged="Room password changed",
    oldVersion="Version $1 is now available!",
    versionNotMatch="Versions do not match!",
    notFinished="Coming soon!",

    noUsername="Please enter your username",
    wrongEmail="Invalid email address",
    wrongCode="Invalid verification code",
    noPassword="Please enter your password",
    diffPassword="Passwords don't match",
    checkEmail="A sign-up request has been sent. Please check your inbox.",

    wsFailed="WebSocket connection failed: $1",
    wsClose="WebSocket closed: $1",
    netTimeout="Connection timed out",
    serverDown="Oops! Server is down",
    requestFailed="Request failed",

    onlinePlayerCount="Online: $1",
    createRoomSuccessed="Room created",
    playerKicked="$1 removed $2 from the room",
    becomeHost="$1 became the host",
    started="Playing",
    joinRoom="$1 has entered the room.",
    leaveRoom="$1 has left the room.",
    roomRemoved="The room was removed",
    ready="Ready",
    spectating="Spectating",



    keySettingInstruction="Press the key on your keyboard to bind\nescape: cancel\nbackspace: delete",
    customBGhelp="Drag and drop the image file here to use it as the background.",
    customBGloadFailed="Unsupported image format for custom background",

    errorMsg="Techmino ran into a problem and needs to restart.\nYou can send the error log to the developers.",
    tryAnotherBuild="UTF-8 decoding error. If you are using Microsoft Windows, please try to download the build with the different architecture. If you are using the x86 version of Techmino, try downloading the x64 version and vice versa.",

    modInstruction="Choose your modifiers here!\nMods allow you to change the rules in various ways, but they can also crash the game. Feel free to play the game your way!\nNote that scores are not saved when using mods. You can also toggle mods using your keyboard keys (hold Shift to reverse).",
    modInfo={
        next="NEXT\nOverrides the number of Next pieces displayed.",
        hold="HOLD\nOverrides the number of Hold pieces displayed.",
        hideNext="Hidden NEXT\nHides the specified number of pieces in the Next queue.",
        infHold="InfiniHold\nAllows you to hold pieces infinitely.",
        hideBlock="Hide Active Piece\nMakes the active piece invisible.",
        hideGhost="No Ghost\nMakes the ghost piece invisible.",
        hidden="Hide Locked Pieces\nHides locked pieces after a certain amount of time.",
        hideBoard="Hide Board\nPartially or completely hides the board.",
        flipBoard="Flip Board\nFlips or rotates the board.",
        dropDelay="Gravity\nOverrides the falling speed (in frames per block).",
        lockDelay="Lock Delay\nOverrides the lock delay (in frames).",
        waitDelay="Spawn Delay\nOverrides the spawn delay (in frames).",
        fallDelay="Line Clear Delay\nOverrides the line clear delay (in frames).",
        life="Lives\nChanges the initial number of extra lives.",
        forceB2B="B2B Only\nEnds the game when the B2B gauge drops below the starting line.",
        forceFinesse="Finesse Only\nEnds the game after a finesse error.",
        tele="Teleport\nForces 0 DAS and 0 ARR.",
        noRotation="No Rotation\nDisables piece rotation.",
        noMove="No Movement\nDisables sideways movement.",
        customSeq="Randomizer\nOverrides the piece sequence randomizer.",
        pushSpeed="Garbage Speed\nOverride the rising speed of the garbage lines (in blocks per frame).",
        boneBlock="Bone Block\nPlay with bone blocks ([ ]).",
    },
    pauseStat={
        "Time:",
        "Key/Rot./Hold:",
        "Pieces:",
        "Lines/Dig:",
        "Attack/DigAtk:",
        "Rise (Receive-Offset):",
        "Clears:",
        "Spins:",
        "B2B/B3B/PC/HPC:",
        "Finesse:",
    },
    radar={"DEF","OFF","ATK","SEND","SPD","DIG"},
    radarData={"D'PM","ADPM","APM","SPM","L'PM","DPM"},
    stat={
        "Times Launched:",
        "Play Count:",
        "Play Time:",
        "Key/Rot./Hold:",
        "Pieces/Lines/Atk.:",
        "Receive/Offset/Rise:",
        "Dig/Dig Atk.:",
        "Eff./Dig Eff.:",
        "B2B/B3B:",
        "PC/HPC:",
        "Fns. Errs/Rate:",
    },
    aboutTexts={
        "This is just an *ordinary* block stacker. Really, that's it.",
        "Inspired by C2/IO/JS/WWC/KOS etc.",
        "",
        "Powered by LÖVE",
        "Any suggestions or bug reports are appreciated!",
        "Be sure to download or update the game only from the official sources,",
        "as we cannot verify the safety of the program obtained elsewhere.",
        "Techmino only asks for permission to vibrate and to connect to the Internet.",
        "",
        "The author shall not be held responsible for any damage caused by the users' modifications to the game..",
        FNNS and "/" or "While the game is free, donations are appreciated.",
        FNNS and "/" or "Check Zictionary for more information.",
    },
    staff={
        "ORIGINALLY BY MrZ",
        "E-mail: 1046101471@qq.com",
        "",
        "Programmed, Developed, And Designed By",
        "MrZ",
        "",
        "Music Made Using",
        "Beepbox",
        "FL Studio",
        "FL Mobile",
        "Logic Pro X",
        "",
        "[POWERED BY LÖVE]",
        "",
        "Programming",
        "MrZ",
        "ParticleG",
        "Gompyn",
        "Trebor",
        "(scdhh)",
        "(FinnTenzor)",
        "(NOT_A_ROBOT)",
        "(user670)",
        "",
        "GitHub CI, Packaging & Backend",
        "ParticleG",
        "Trebor",
        "LawrenceLiu",
        "Gompyn",
        "flaribbit",
        "scdhh",
        "",
        "Visual Designs, UI & UX",
        "MrZ",
        "Gnyar",
        "C₂₉H₂₅N₃O₅",
        "ScF",
        "(旋律星萤)",
        "(T0722)",
        "",
        "Illustrations",
        "Miya",
        "Mono",
        "Xiaoya",
        "葉枭",
        "",
        "Musical Designs",
        "MrZ",
        "柒栎流星",
        "ERM",
        "Trebor",
        "C₂₉H₂₅N₃O₅",
        "(T0722)",
        "(Aether)",
        "(Hailey)",
        "",
        "Sound Effects & Voice Packs",
        "Miya",
        "Xiaoya",
        "Mono",
        "Flore",
        "MrZ",
        "Trebor",
        "",
        "Translations & Localizations",
        "User670",
        "MattMayuga",
        "Mizu",
        "Mr.Faq",
        "ScF",
        "C₂₉H₂₅N₃O₅",
        "NOT_A_ROBOT",
        "XMiao",
        "sakurw, Airun, 幽灵3383",
        "Shard Nguyễn, Squishy, TVN community",
        "",
        "Performances",
        "Electric283",
        "Hebomai",
        "",
        "Special Thanks to",
        "Flyz",
        "Big_True",
        "NOT_A_ROBOT",
        "思竣",
        "yuhao7370",
        "Farter",
        "Teatube",
        "蕴空之灵",
        "T9972",
        "No-Usernam8",
        "andrew4043",
        "smdbs-smdbs",
        "paoho",
        "Allustrate",
        "Haoran SUN",
        "Tianling Lyu",
        "huaji2369",
        "Lexitik",
        "Tourahi Anime",
        "PopUpWaffles",
        "[All other test staff]",
        "…And You!",
    },
    used=[[
    Tools used:
        BeepBox
        GoldWave
        GFIE
        FL Mobile
    Libs used:
        Cold_Clear [MinusKelvin]
        json.lua [rxi]
        profile.lua [itraykov]
        sha2 [Egor Skriptunoff]
    ]],
    support="Support the author",
    dict={
        sizeChanged="Changed font size: $1",
        sizeReset="Font size has been reset!",
        helpText=
[[
INSTRUCTIONS FOR NAVIGATION IN TETRODICTIONARY

A. Mouse/Touchscreen
        - Press/touch a term in the list on the left to select the entry

        - Press/touch [$14] to copy the contents of the current entry
        - Press/touch [$15] to open the link of the current entry (if available)

B. Keyboard
    Press…
        - [F1] to display Help
        - [$1] or [$2] to scroll through the text
        - [$3] to open the previous entry and [$4] to open the next entry, speed up with [Ctrl]

        - [–] to decrease the font size, [+] to increase the font size
        - [0] to restore the default font size

        - [Ctrl + C] to copy text
        - [$16] (Context Menu key/Application key) to open the link of the current entry (if available)

C. Gamepad
        - Press $10 to display Help
        - Press $5 or $6 to scroll through the text
        - Press $7 to open the previous entry and $8 to open the next entry. Speed up with $11
        - Hold $11 and press $6 to decrease the font size or $5 to increase
]]
        -- 1-4: Up, Down, Left, Right
        -- 5-8: Up, Down, Left, Right but D-Pad
        -- 9-12: X, Y, A, B
        -- 13-16: Help, Copy, Open, MENU
    },
    WidgetText={
        main={
            offline="Single Player",
            qplay="Last Played: ",
            online="Multiplayer",
            custom="Custom Game",
            setting="Settings",
            stat="Statistics",
            dict="Zictionary",
            replays="Replays",
        },
        main_simple={
            sprint="Sprint",
            marathon="Marathon",
        },
        mode={
            mod="Mods (F1)",
            start="Start",
        },
        mod={
            title="Mods",
            reset="Reset (tab)",
            unranked="Unranked",
        },
        pause={
            setting="Settings (S)",
            replay="Replay (P)",
            save="Save (O)",
            resume="Resume (esc)",
            restart="Retry (R)",
            quit="Quit (Q)",
            tas="TAS (T)",
        },
        net_menu={
            galaxim="Galaxim",
            rooms="Rooms",
            resetPW="Reset password",
            logout="Log out",
        },
        net_galaxim={
            match="Enter Sim.",
        },
        net_rooms={
            password="Password",
            refreshing="Refreshing rooms",
            noRoom="No rooms available",
            refresh="Refresh",
            new="New Room",
            join="Join",
        },
        net_newRoom={
            title="Room Config",
            roomName="Room name (Default: \"[username]'s room\")",
            password="Password",
            description="Room Description",

            life="Lives",
            pushSpeed="Push Speed",
            garbageSpeed="Garbage Line Speed",
            visible="Visibility",
            freshLimit="Lock Reset Limit",

            sequence="Sequence",
            fieldH="Field Height",
            bufferLimit="Buffer Limit",
            heightLimit="Height Limit",

            drop="Drop Delay",
            lock="Lock Delay",
            wait="Entry Delay",
            fall="Line Delay",
            hang="Death Delay",
            hurry="ARE Interruption",

            capacity="Capacity",
            create="Create",

            ospin="TRS O-spin",
            fineKill="100% Finesse",
            b2bKill="No B2B Breaks",
            lockout="Fail on Lock Out",
            easyFresh="Reset Lock Delay on move",
            deepDrop="Deep Drop",
            bone="Bone Blocks",

            eventSet="Ruleset",

            holdMode="Hold Mode",
            nextCount="Next",
            holdCount="Hold",
            infHold="Infinite Hold",
            phyHold="In-place Hold",
        },
        net_game={
            ready="Ready",
            spectate="Spectate",
            cancel="Cancel ready",
        },
        setting_game={
            title="Game Settings",
            graphic="←Video",
            sound="Audio→",
            style="Style",

            ctrl="Control Settings",
            key="Key Mappings",
            touch="Touch Settings",
            showVK="Show Virtual Keys",
            reTime="Start Delay",
            RS="Rotation System",
            menuPos="Menu Button Pos.",
            sysCursor="Use System Cursor",
            autoPause="Pause When Unfocused",
            autoSave="Auto-save New Records",
            simpMode="Simplistic Mode",
        },
        setting_video={
            title="Video Settings",
            sound="←Audio",
            game="Game→",

            block="Draw Active Piece",
            smooth="Smooth Falling",
            upEdge="3D Blocks",
            bagLine="Bag Separators",

            ghostType="Ghost Type",
            ghost="Ghosts",
            center="Rotation Centers",
            grid="Grid",
            lineNum="Line Numbers",

            lockFX="Lock FX",
            dropFX="Drop FX",
            moveFX="Move FX",
            clearFX="Clear FX",
            splashFX="Splash FX",
            shakeFX="Field Sway",
            atkFX="Atk FX",

            frame="Render Frame Rate (%)",

            text="Line Clear Pop-Ups",
            score="Score Pop-Ups",
            bufferWarn="Buffer Alerts",
            showSpike="Spike Counter",
            nextPos="Spawn Preview",
            highCam="Screen Scrolling",
            warn="Danger Alerts",

            clickFX="Click FX",
            power="Battery Info",
            clean="Quick Draw",
            fullscreen="Fullscreen",
            portrait="Portrait",
            msaa="MSAA level",

            bg_on="Normal BG",
            bg_off="No BG",
            bg_custom="Custom BG",
            bg_custom_base64="Paste image as BG\n(PNG/JPG in Base64)",
            defaultBG="Default BG",
            resetDbg="Reset to default",
            lockBG="Lock BG",
            noTheme="Disable theme",

            blockSatur="Block Saturation",
            fieldSatur="Field Saturation",
        },
        setting_sound={
            title="Audio Settings",

            game="←Game",
            graphic="Video→",

            mainVol="Main Volume",
            bgm="BGM",
            sfx="SFX",
            stereo="Stereo",
            spawn="Spawn SFX",
            warn="Warning SFX",
            vib="Vibrations",
            voc="Voices",

            autoMute="Mute When Unfocused",
            fine="Finesse Error SFX",
            sfxPack="SFX Pack",
            vocPack="Voice Pack",
            apply="Apply",
        },
        setting_control={
            title="Control Settings",
            preview="Preview",

            das="DAS",arr="ARR",
            dascut="DAS Cut",
            irscut="IRS Cut",
            dropcut="Auto-lock Cut",
            sddas="Soft Drop DAS",sdarr="Soft Drop ARR",
            ihs="Initial Hold",
            irs="Initial Rotation",
            ims="Initial Movement",
            reset="Reset",
        },
        setting_key={
            a1="Move Left",
            a2="Move Right",
            a3="Rotate Right",
            a4="Rotate Left",
            a5="Rotate 180°",
            a6="Hard Drop",
            a7="Soft Drop",
            a8="Hold",
            a9="Function 1",
            a10="Function 2",
            a11="Instant Left",
            a12="Instant Right",
            a13="Sonic Drop",
            a14="Down 1",
            a15="Down 4",
            a16="Down 10",
            a17="Left Drop",
            a18="Right Drop",
            a19="Left Zangi",
            a20="Right Zangi",
            restart="Retry",
        },
        setting_skin={
            skinSet="Block Skin",
            title="Style Settings",
            skinR="Reset Colors",
            faceR="Reset Dir.",
        },
        setting_touch={
            default="Default",
            snap="Snap to Grid",
            size="Size",
            shape="Shape",
        },
        setting_touchSwitch={
            b1= "Move Left:",    b2="Move Right:",  b3="Rotate Right:",  b4="Rotate Left:",
            b5= "Rotate 180°:",  b6="Hard Drop:",   b7="Soft Drop:",     b8="Hold:",
            b9= "Function 1:",   b10="Function 2:", b11="Instant Left:", b12="Instant Right:",
            b13="Sonic Drop:",   b14="Down 1:",     b15="Down 4:",       b16="Down 10:",
            b17="Left Drop:",    b18="Right Drop:", b19="Left Zangi:",   b20="Right Zangi:",

            norm="Normal",
            pro="Advanced",
            icon="Icon",
            sfx="SFX",
            vib="VIB",
            alpha="Alpha",

            track="Auto Track",
            dodge="Auto Dodge",
        },
        customGame={
            title="Custom Game",
            defSeq="Default Seq.",
            noMsn="No Missions",

            drop="Drop Delay",
            lock="Lock Delay",
            wait="Entry Delay (ARE)",
            fall="Line Delay",
            hang="Death Delay",
            hurry="ARE Interruption",

            bg="Background",
            bgm="Music",

            copy="Copy Field+Seq+Mssn",
            paste="Paste Field+Seq+Mssn",
            play_clear="Start-Clear",
            play_puzzle="Start-Puzzle",

            reset="Reset (del)",
            advance="More (A)",
            mod="Mods (F1)",
            field="Edit Field (F)",
            sequence="Edit Sequences (S)",
            mission="Edit Missions (M)",

            eventSet="Ruleset",

            holdMode="Hold Mode",
            nextCount="Next",
            holdCount="Hold",
            infHold="Infinite Hold",
            phyHold="In-place Hold",

            fieldH="Field Height",
            visible="Visibility",
            freshLimit="Lock Reset Limit",
            opponent="Opponent",
            life="Lives",
            pushSpeed="G. Push Speed",
            garbageSpeed="Garbage Speed",

            bufferLimit="G. Buffer Limit",
            heightLimit="Height Limit",
            ospin="TRS O-Spin",
            fineKill="No Finesse Errors",
            b2bKill="No B2B Breaks",
            lockout="Fail on Lock Out",
            easyFresh="Normal Lock Reset",
            deepDrop="Deep Drop",
            bone="Bone Blocks",
        },
        custom_field={
            title="Custom Game",
            subTitle="Field",

            any="Erase",
            smart="Smart",

            push="Add Line (K)",
            del="Del Line (L)",

            demo="Don't Show \"×\"",

            newPg="New Page (N)",
            delPg="Del Page (M)",
            prevPg="Prev Page",
            nextPg="Next Page",
        },
        custom_sequence={
            title="Custom Game",
            subTitle="Sequence",
            sequence="Sequence",
        },
        custom_mission={
            title="Custom Game",
            subTitle="Mission",

            _1="1",_2="2",_3="3",_4="4",
            any1="any1",any2="any2",any3="any3",any4="any4",
            PC="PC",
            Z1="Z1",S1="S1",J1="J1",L1="L1",T1="T1",O1="O1",I1="I1",
            Z2="Z2",S2="S2",J2="J2",L2="L2",T2="T2",O2="O2",I2="I2",
            Z3="Z3",S3="S3",J3="J3",L3="L3",T3="T3",O3="O3",I3="I3",
            O4="O4",I4="I4",
            mission="Force Mission",
        },
        about={
            staff="Staff",
            his="History",
            legals="Legals",
        },
        dict={
            title="TetroDictionary",
        },
        stat={
            path="Open Data Folder",
            save="Data Management",
        },
        music={
            title="Music Room",
            arrow="→",
            now="Now Playing:",

            bgm="BGM",
            sound="SFXs",
        },
        launchpad={
            title="SFX Room",
            bgm="BGM",
            sfx="SFX",
            voc="VOC",
            music="BGMs",
            label="label",
        },
        login={
            title="Sign In",
            ticket="Auth Ticket",
            authorize="Go Authorizing",
            paste="Paste Ticket",
            submit="Submit",
        },
        reset_password={
            title="Reset Password",
            send="Send code",
            code="Verification Code",
            password="Password",
            password2="Re-enter Password",
            setPW="Set Password",
        },
        account={
            title="Account",
        },
        app_15p={
            color="Color",
            invis="Invis",
            slide="Slide",
            pathVis="Show Path",
            revKB="Reverse",
        },
        app_schulteG={
            rank="Size",
            invis="Invis",
            disappear="Hide",
            tapFX="Tap FX",
        },
        app_AtoZ={
            level="Level",
            keyboard="Keyboard",
        },
        app_2048={
            invis="Invis",
            tapControl="Tap controls",

            skip="Skip Round",
        },
        app_ten={
            next="Next",
            invis="Invis",
            fast="Fast",
        },
        app_dtw={
            color="Color",
            mode="Mode",
            bgm="BGM",
            arcade="Arcade",
        },
        app_link={
            invis="Invis",
        },
        savedata={
            export="Export to clipboard",
            import="Import from clipboard",
            unlock="Progress",
            data="Stats",
            setting="Settings",
            vk="Virtual Key Layout",

            couldSave="Cloud Save (CAUTION: TESTING)",
            notLogin="[Login to access cloud save]",
            upload="Upload to Cloud",
            download="Download from Cloud",
        },
    },
    modes={
        ['sprint_10l']=          {"Sprint",            "10L",            "Clear 10 lines!"},
        ['sprint_20l']=          {"Sprint",            "20L",            "Clear 20 lines!"},
        ['sprint_40l']=          {"Sprint",            "40L",            "Clear 40 lines!"},
        ['sprint_100l']=         {"Sprint",            "100L",           "Clear 100 lines!"},
        ['sprint_400l']=         {"Sprint",            "400L",           "Clear 400 lines!"},
        ['sprint_1000l']=        {"Sprint",            "1000L",          "Clear 1,000 lines!"},
        ['sprintPenta']=         {"Sprint",            "PENTOMINO",      "40L with the 18 pentominoes"},
        ['sprintMPH']=           {"Sprint",            "MPH",            "Memoryless\nPreviewless\nHoldless"},
        ['sprint123']=           {"Sprint",            "M123",           "40L with only monominoes, dominoes, and triminoes"},
        ['construct_sg']=        {"Construct",         "SECRET GRADE",   "Build a zigzag pattern by following the guide!"},
        ['construct_checker']=   {"Construct",         "CHECKERBOARD",   "Build a checkerboard pattern!"},
        ['construct_invsg']=     {"Construct",         "INV. SG",        "Build an inverted zigzag pattern!"},
        ['dig_10l']=             {"Dig",               "10L",            "Dig 10 garbage lines as fast as you can!"},
        ['dig_40l']=             {"Dig",               "40L",            "Dig 40 garbage lines as fast as you can!"},
        ['dig_100l']=            {"Dig",               "100L",           "Dig 100 garbage lines as fast as you can!"},
        ['dig_400l']=            {"Dig",               "400L",           "Dig 400 garbage lines as fast as you can!"},
        ['dig_eff_10l']=         {"Dig",               "EFFICIENCY 10L", "Dig 10 garbage lines with the least pieces!"},
        ['dig_eff_40l']=         {"Dig",               "EFFICIENCY 40L", "Dig 40 garbage lines with the least pieces!"},
        ['dig_eff_100l']=        {"Dig",               "EFFICIENCY 100L","Dig 100 garbage lines with the least pieces!"},
        ['dig_eff_400l']=        {"Dig",               "EFFICIENCY 400L","Dig 400 garbage lines with the least pieces!"},
        ['dig_quad_10l']=        {"Dig",               "TECHRASH 10L",   "Dig 10 garbage lines while only clearing Techrashes!"},
        ['drought_n']=           {"Drought",           "100L",           "100L but without I pieces"},
        ['drought_l']=           {"Drought+",          "100L",           "WTF"},
        ['marathon_n']=          {"Marathon",          "NORMAL",         "200-line marathon with increasing speed"},
        ['marathon_h']=          {"Marathon",          "HARD",           "200-line high-speed marathon"},
        ['solo_e']=              {"Battle",            "EASY",           "Defeat the AI as fast as you can!"},
        ['solo_n']=              {"Battle",            "NORMAL",         "Defeat the AI as fast as you can!"},
        ['solo_h']=              {"Battle",            "HARD",           "Defeat the AI as fast as you can!"},
        ['solo_l']=              {"Battle",            "LUNATIC",        "Defeat the AI!"},
        ['solo_u']=              {"Battle",            "ULTIMATE",       "Defeat the AI!"},
        ['techmino49_e']=        {"Techmino 49",       "EASY",           "49-player battle.\nThe last one standing wins"},
        ['techmino49_h']=        {"Techmino 49",       "HARD",           "49-player battle.\nThe last one standing wins"},
        ['techmino49_u']=        {"Techmino 49",       "ULTIMATE",       "49-player battle.\nThe last one standing wins"},
        ['techmino99_e']=        {"Techmino 99",       "EASY",           "99-player battle.\nThe last one standing wins"},
        ['techmino99_h']=        {"Techmino 99",       "HARD",           "99-player battle.\nThe last one standing wins"},
        ['techmino99_u']=        {"Techmino 99",       "ULTIMATE",       "99-player battle.\nThe last one standing wins"},
        ['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!"},
        ['big_n']=               {"Big",               "NORMAL",         "Play in a 5×10 field!"},
        ['big_h']=               {"Big",               "HARD",           "Play in a 5×10 field!"},
        ['master_n']=            {"Master",            "NORMAL",         "For 20G beginners"},
        ['master_h']=            {"Master",            "HARD",           "For 20G pros"},
        ['master_m']=            {"Master",            "M21",            "For 20G Masters"},
        ['master_final']=        {"Master",            "FINAL",          "20G and beyond"},
        ['master_ph']=           {"Master",            "PHANTASM",       "???"},
        ['master_g']=            {"Master",            "GRADED",         "Get the highest grade you can!"},
        ['master_ex']=           {"GrandMaster",       "EXTRA",          "An eternity shorter than an instant"},
        ['master_instinct']=     {"Master",            "INSTINCT",       "What if the active piece becomes invisible?"},
        ['strategy_e_plus']=     {"Strategy",          "EASY+",          "Holdless strategy!"},
        ['strategy_h']=          {"Strategy",          "HARD",           "Fast 20G decision"},
        ['strategy_u']=          {"Strategy",          "ULTIMATE",       "Fast 20G decision"},
        ['blind_e']=             {"Invisible",         "SLOW",           "For beginners"},
        ['blind_n']=             {"Invisible",         "FAST",           "For intermediates"},
        ['blind_h']=             {"Invisible",         "INSTANT",        "For the experienced"},
        ['blind_l']=             {"Invisible",         "NO GHOST",       "For professionals"},
        ['blind_u']=             {"Invisible",         "NO FIELD",       "Are you ready?"},
        ['blind_wtf']=           {"Invisible",         "VOID",           "You're not ready."},
        ['classic_e']=           {"Classic",           "EASY",           "A low-speed recreation of a game from the 80s"},
        ['classic_h']=           {"Classic",           "HARD",           "A medium-speed recreation of a game from the 80s"},
        ['classic_l']=           {"Classic",           "LUNATIC",        "A high-speed recreation of a game from the 80s"},
        ['classic_u']=           {"Classic",           "ULTIMATE",       "An extreme-speed recreation of a game from the 80s"},
        ['survivor_e']=          {"Survival",          "EASY",           "How long can you survive?"},
        ['survivor_n']=          {"Survival",          "NORMAL",         "How long can you survive?"},
        ['survivor_h']=          {"Survival",          "HARD",           "How long can you survive?"},
        ['survivor_l']=          {"Survival",          "LUNATIC",        "How long can you survive?"},
        ['survivor_u']=          {"Survival",          "ULTIMATE",       "How long can you survive?"},
        ['attacker_h']=          {"Attacker",          "HARD",           "Practice your attacking skills!"},
        ['attacker_u']=          {"Attacker",          "ULTIMATE",       "Practice your attacking skills!"},
        ['defender_n']=          {"Defender",          "NORMAL",         "Practice your defending skills!"},
        ['defender_l']=          {"Defender",          "LUNATIC",        "Practice your defending skills!"},
        ['dig_h']=               {"Driller",           "HARD",           "Digging practice!"},
        ['dig_u']=               {"Driller",           "ULTIMATE",       "Digging practice!"},
        ['c4wtrain_n']=          {"C4W Training",      "NORMAL",         "Clear 100 lines!"},
        ['c4wtrain_l']=          {"C4W Training",      "LUNATIC",        "Perform as many combos as you can within 100 lines!"},
        ['pctrain_n']=           {"PC Training",       "NORMAL",         "Practice filling 3×4 boxes, PCO shapes and 4×4 boxes!"},
        ['pctrain_l']=           {"PC Training",       "LUNATIC",        "Practice filling 5×4 and 6×4 boxes!"},
        ['pc_n']=                {"PC Challenge",      "NORMAL",         "Get as many PCs as you can within 100 lines!"},
        ['pc_h']=                {"PC Challenge",      "HARD",           "Get as many PCs as you can within 100 lines!"},
        ['pc_l']=                {"PC Challenge",      "LUNATIC",        "Get as many PCs as you can within 100 lines!"},
        ['pc_inf']=              {"PC Challenge",      "INFINITE",       "Get as many PCs in a row as you can!"},
        ['tech_n']=              {"Tech",              "NORMAL",         "Send 100 lines as fast as you can while keeping the Back-to-Back chain!"},
        ['tech_n_plus']=         {"Tech",              "NORMAL+",        "Send 100 lines as fast as you can using only spins and PCs!"},
        ['tech_h']=              {"Tech",              "HARD",           "Send 100 lines as fast as you can while keeping the Back-to-Back chain!"},
        ['tech_h_plus']=         {"Tech",              "HARD+",          "Send 100 lines as fast as you can using only spins and PCs!"},
        ['tech_l']=              {"Tech",              "LUNATIC",        "Send 100 lines as fast as you can while keeping the Back-to-Back chain!"},
        ['tech_l_plus']=         {"Tech",              "LUNATIC+",       "Send 100 lines as fast as you can using only spins and PCs!"},
        ['tech_finesse']=        {"Tech Finesse",      "",               "Send 100 lines as fast as you can while keeping perfect finesse!"},
        ['tech_finesse_f']=      {"Tech Finesse",      "PLUS",           "Send 100 lines as fast as you can while keeping perfect finesse and not performing normal clears!"},
        ['tsd_e']=               {"TSD Challenge",     "EASY",           "Get as many T-Spin Doubles in a row as you can!"},
        ['tsd_h']=               {"TSD Challenge",     "HARD",           "Get as many T-Spin Doubles in a row as you can!"},
        ['tsd_u']=               {"TSD Challenge",     "ULTIMATE",       "Get as many T-Spin Doubles in a row as you can!"},
        ['backfire_n']=          {"Backfire",          "NORMAL",         "Send 100 lines as fast as you can while attacking yourself!"},
        ['backfire_h']=          {"Backfire",          "HARD",           "Send 100 lines as fast as you can while attacking yourself!"},
        ['backfire_l']=          {"Backfire",          "LUNATIC",        "Send 100 lines as fast as you can while attacking yourself!"},
        ['backfire_u']=          {"Backfire",          "ULTIMATE",       "Send 100 lines as fast as you can while attacking yourself!"},
        ['sprintAtk']=           {"Sprint",            "100 ATTACK",     "Send 100 lines as fast as you can!"},
        ['sprintEff']=           {"Efficiency",        "40L",            "Send more attack in 40 lines!"},
        ['zen']=                 {'Zen',               "200L",           "A 200-line score attack with no time limit"},
        ['ultra']=               {'Ultra',             "EXTRA",          "A 2-minute score attack"},
        ['infinite']=            {"Infinite",          "",               "Just a sandbox"},
        ['infinite_dig']=        {"Dig",               "INFINITE",       "Dig-diggin'-dug"},
        ['marathon_inf']=        {"Marathon",          "INFINITE",       "Infinite marathon."},
        ['spinren']=             {"Spin Combo",        "EFFICIENCY",     "Spike in a blink"},

        ['custom_clear']=        {"Custom",            "NORMAL"},
        ['custom_puzzle']=       {"Custom",            "PUZZLE"},
    },
    getTip={refuseCopy=true,
        ":pog:",
        "\"Techmino.app\" cannot be opened because the developer cannot be verified.",
        "\"Techmino.app\" will damage your computer. You should move it to the Trash.",
        "\"TechminOS\"",
        "(RUR′U′)R′FR2U′R′U′(RUR′F′)",
        "\\jezevec/\\jezevec/\\jezevec/",
        "\\osk/\\osk/\\osk/",
        "↑↑↓↓←→←→BA",
        "$include<studio.h>",
        "0 next 0 hold.",
        "1 next 0 hold",
        "1 next 1 hold!",
        "1 next 6 hold!",
        "20G is actually a brand new game rule!",
        "40-line Sprint WR: 13.430s by WestL",
        "40-line Sprint 1kf WR: 13.298s by fortissim2",
        "6 next 1 hold!",
        "6 next 6 hold?!",
        "A choke a day keeps record away",
        "ALL SPIN!",
        "Am G F G",
        "B2B2B???",
        "B2B2B2B does not exist.",
        "Back-to-Back Techrash, 10 Combo, PC!",
        "Be sure to give it your best shot again today!",
        "Bridge clear coming soon!",
        "Can you master this modern yet familiar stacker?",
        "Certainly within this heart lies my M@STERPIECE.",
        "Changelogs in English can be found on Discord.",
        "Color clear coming soon!",
        "Decreasing DAS and ARR makes your game faster, but harder to control.",
        "Did I just see a Back-to-Back-to-Back?",
        "Does B2B2B2B exist?",
        "Don't let a small glitch ruin your entire day!",
        "Don't look directly at the bugs!",
        "Enjoy the Techmino rotation system!",
        "Excellent, but let's go better next time…",
        "Find out what's in the settings!",
        "Found a bug? Open an issue on our GitHub page!",
        "Free-to-play block stacking game with a Battle Royale mode!",
        "git commit",
        "git push -f",
        "Got a suggestion? Post it on our Discord server!",
        "Have you noticed what a \"rotation\" does do to a piece?",
        "Headphones recommended for a better experience.",
        "Hello world!",
        "I3 and L3 are the only two possible triminoes.",
        " if a==true",
        "Increase your frame rate for a better experience.",
        "Initial [insert action] system can save you.",
        "Is B2B2B2B possible?",
        "It is loading! Not just a cutscene!",
        "It's possible to finish 40L without left/right buttons.",
        "It's possible to finish 40L without rotation buttons.",
        "Join our Discord server!",
        "l-=-1",
        "Let the bass kick!",
        "Low frame rates degrade your gaming experience.",
        "Lua No.1",
        "Mix clear coming soon!",
        "Most of the button icons are realized by using custom glyphs in the Unicode Private Use Area of the game font.",
        "Most of the music tracks in this game are created using the Beepbox.",
        "Music too distracting? You can turn it off in Settings.",
        "No easter eggs in this menu if you have the simplistic style turned on!",
        "O-Spin Triple!",
        "OHHHHHHHHHHHHHH",
        "Play with one hand!",
        "Playing well takes time!",
        "Powered by LÖVE",
        "Powered by Un..LÖVE",
        "pps-0.01",
        "Server goes down randomly",
        "Some of the requirements for grade X are intentionally set to be difficult for even the best players.",
        "You'll soon be able to play against friends and foes around the world.",
        "Split clear coming soon!",
        "sudo rm -rf /*",
        "Techmino is a portmanteau of \"technique\" and \"tetromino\".",
        "Techmino is so fun!",
        "Techmino on Nspire-CX: yes it exists, no it's not the same game.",
        "TetroDictionary is now available in English.",
        "The names that appear in the background of the Staff page are a list of our sponsors.",
        "The soundtracks of this game are now available for free on Soundcloud!",
        "The stacker future is yours in Techmino!",
        "The game has several hidden modes that are not accessible from the map.",
        "There are 18 different pentominoes.",
        "There are 7 different tetrominoes.",
        "Try online multiplayer! Expect things to break though.",
        "Try using multiple Hold Queues!",
        "Try using two rotation buttons. Using all three is better.",
        "Warning: Programmer Art",
        "What about 20 PCs?",
        "What about 23 PCs in 100 lines?",
        "What about 26 TSDs?",
        "What is this cheap UI & music smh",
        " while (false)",
        "You are a Grand Master!",
        "You are welcome to help us create BGMs and SFXs!",
        "You can connect a keyboard to your phone or tablet to play Techmino (does not work on iOS though).",
        "You can customize the key mappings in settings!",
        "You can open the save directory from the Stats page.",
        "You can perform a spin with all of the minoes in this game.",
        "You can set the spawn orientation for each piece.",
        "ZS JL T O I",
        {C.C,"Also try 15puzzle!"},
        {C.C,"Also try Ballance!"},
        {C.C,"Also try Minecraft!"},
        {C.C,"Also try Minesweeper!"},
        {C.C,"Also try Orzmic!"},
        {C.C,"Also try osu!"},
        {C.C,"Also try Phigros!"},
        {C.C,"Also try Puyo Puyo!"},
        {C.C,"Also try Rubik's cube!"},
        {C.C,"Also try Terraria!"},
        {C.C,"Also try Touhou Project!"},
        {C.C,"Also try VVVVVV!"},
        {C.C,"Also try World of goo!"},
        {C.C,"Also try Zuma!"},
        {C.H,"REGRET!!"},
        {C.lP,"Secret number: 626"},
        {C.lR,"Z ",C.lG,"S ",C.lS,"J ",C.lO,"L ",C.lP,"T ",C.lY,"O ",C.lC,"I"},
        {C.lY,"COOL!!"},
        {C.N,"Lua",C.Z," No.1"},
        {C.P,"T-spin!"},
        {C.R,"\"DMCA abusing\""},
        {C.R,"\"Intellectual property law\""},
        {C.R,"DD",C.Z," Cannon=",C.P,"TS",C.R,"D",C.Z,"+",C.P,"TS",C.R,"D",C.Z," Cannon"},
        {C.R,"DT",C.Z," Cannon=",C.P,"TS",C.R,"D",C.Z,"+",C.P,"TS",C.R,"T",C.Z," Cannon"},
        {C.R,"LrL ",C.G,"RlR ",C.B,"llR ",C.O,"rrL ",C.P,"RRR ",C.P,"LLL ",C.C,"FFF ",C.Y,"RfR ",C.Y,"RRf ",C.Y,"rFF"},
        {C.Y,"O-Spin Triple!"},
        {C.Z,"What? ",C.lC,"Xspin?"},
    },
    pumpkin="I'm a pumpkin",
}
