local langList={ { anykey="按任意键继续", newVersion="检测到更新!存档格式可能更新,设置已重置", marking="游戏作者:MrZ_26\n任何视频不得出现此水印", lang="中文", atkModeName={"随机","徽章","击杀","反击"}, royale_remain=function(n)return"剩余 "..n.." 名玩家"end, 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"}, block=nil,spin="-spin ", clear={"single","double","triple","Techrash","Techrach+"}, mini="Mini",b2b="B2B ",b3b="B2B2B ", PC="Perfect Clear",HPC="Half Clear", hold="暂存",next="下一个", stage=function(n)return"关卡 "..n end, great="Great!", awesome="Awesome.", continue="Continue.", maxspeed="最高速度", speedup="速度加快", win="胜利", finish="结束", lose="失败", pause="暂停", pauseCount="暂停统计", custom="自定义游戏", customOption={ drop="下落速度:", lock="锁定延迟:", wait="放块延迟:", fall="消行延迟:", next="序列数量:", hold="暂存:", sequence="序列:", visible="可见性:", target="目标行数:", freshLimit="锁延刷新次数:", opponent="对手速度等级:", bg="背景:", bgm="背景音乐:", }, customVal={ drop={"0G","1/180G","1/60G","1/40G","1/30G","1/25G","1/20G","1/18G","1/16G","1/14G","1/12G","1/10G","1/9G","1/8G","1/7G","1/6G","1/5G","1/4G","1/3G","1/2G","1G","2G","4G","8G","20G"}, lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"}, wait=nil, fall=nil, next=nil, hold={"开","关","无限"}, sequence={"bag7","his4","随机"}, visible={"可见","半隐","全隐","瞬隐"}, target={10,20,40,100,200,500,1000,"∞"}, freshLimit={0,8,15,"∞"}, opponent={"无电脑","9S Lv1","9S Lv2","9S Lv3","9S Lv4","9S Lv5","CC Lv1","CC Lv2","CC Lv3","CC Lv4","CC Lv5","CC Lv6"}, }, softdropdas="软降DAS:", softdroparr="软降ARR:", snapLevelName={"无吸附","10px吸附","20px吸附","40px吸附","60px吸附","80px吸附"}, setting_game="游戏设置", setting_video="画面设置", setting_sound="声音设置", setting_control="控制设置", setting_skin="外观设置", preview="预览", keyboard="键盘",joystick="手柄", ctrlSetHelp="方向键选择/翻页,回车修改,esc返回", musicRoom="音乐室", nowPlaying="正在播放:", page="页面:", settingSaved="设置已保存", settingSavingError="设置保存失败:", keyMapSaved="键位设置已保存", keyMapSavingError="键位保存失败:", VKSaved="虚拟按键设置已保存", VKSavingError="虚拟按键保存失败:", statSavingError="统计保存失败:", unlockSavingError="解锁保存失败:", recSavingError="纪录保存失败:", needRestart="重新开始以生效", copySuccess="已复制到剪切板", dataCorrupted="数据损坏", VKTchW="触摸点权重", VKOrgW="原始点权重", VKCurW="当前点权重", noScore="暂无成绩", highScore="最佳成绩", newRecord="打破纪录", errorMsg="Techmino遇到了问题,需要重新启动.\n我们已收集了一些错误信息,你可以向作者进行反馈.", acts={ "左移:","右移:", "顺时针旋转:","逆时针旋转:","180°旋转:", "硬降:","软降:", "暂存:","功能键:", "重新开始:", "左瞬移:","右瞬移:","软降到底:","软降一格:","软降四格:","软降十格:", "落在最左:","落在最右:","列在最左:","列在最右:", }, load={[0]="加载完成","加载语音ing","加载音乐ing","加载音效ing","加载图片ing","加载模式ing","加载乱七八糟的东西ing"}, pauseStat={ "时间:", "按键/旋转/暂存:", "落块:", "消行/挖掘:", "攻击/挖掘攻击:", "上涨/接收/抵消:", "消除:", "Spin:", "B2B/B3B/PC/HPC:", "Finesse:", }, radar={"DEF","OFF","ATK","SEND","SPD","DIG"}, radarData={ "D'PM", "OPM", "APM", "SPM", "L'PM", "DPM", }, stat={ spin="spin0~3", clear="clear1~4", "游戏运行次数:", "游戏局数:", "游戏时间:", "按键/旋转/暂存:", "方块/消行/攻击:", "接收/抵消/上涨:", "挖掘/挖掘攻击:", "效率/挖掘效率:", "多余操作/极简率:", "满贯/大满贯:", "全/半清:", }, help={ "既然你能玩到这个游戏,应该也不需要什么帮助吧?", "这只是一个普通的方块游戏,请勿称此游戏为某某某方块", "从TO/C2/KOS/TGM3/JS等方块获得过灵感", "", "使用LOVE2D引擎", "错误或者建议请附带截图发送到内测群或者作者邮箱~", "仅通过内测群822023725进行免费下载/更新", "其他渠道获得游戏皆有被修改/加广告/植入病毒的风险,程序只申请了震动&联网权限!", "若由于被修改的本游戏产生的各种损失作者不负责(我怎么负责啊跟我有啥关系)", "请从正规途径获得最新版,游戏现为免费,不过有打赏当然感谢啦~", }, staff={ "作者:MrZ 邮箱:1046101471@qq.com", "", "使用LOVE2D引擎", "", "程序:MrZ, FinnTenzor", "美术:MrZ, (Gnyar)", "音乐:MrZ, (T0722)", "音效:MrZ", "语音:Miya, MrZ", "", "特别感谢:", "Flyz, Farter, 蕴空之灵,", "Teatube, [所有内测人员]", }, used=[[ 使用工具: Beepbox GFIE Goldwave 使用库: Cold_Clear[MinusKelvin] simple-love-lights[dylhunn] ]], support="支持作者", group="官方QQ群(如果没有被暗改的话就是这个):822023725", WidgetText={ main={ play="开始", setting="设置", music="音乐室", stat="统计信息", help="帮助", qplay="快速开始", lang="言/A", quit="退出", }, mode={ draw="画图(Q)", custom="参数(E)", start="开始", back="返回", }, music={ bgm="BGM", up="↑", play="播放", down="↓", back="返回", }, custom={ up="↑", down="↓", left="←", right="→", set1="40行(1)", set2="1v1(2)", set3="无尽(3)", set4="隐形(4)", set5="极限(5)", back="返回", }, draw={ any="不定", space="×", clear="清除", demo="不显示×", copy="复制", paste="粘贴", back="返回", }, play={ pause="暂停", }, pause={ resume= "继续(esc)", restart="重新开始(R)", setting="设置(S)", quit= "退出(Q)", }, setting_game={ graphic="←画面设置", sound="声音设置→", ctrl="控制设置", reTime="开局等待时间", maxNext="最大预览数量", autoPause="自动暂停", layout="外观", key="键位设置", touch="触屏设置", quickR="快速重新开始", swap="组合键切换攻击模式", fine="极简操作提示音", back="返回", }, setting_video={ sound="←声音设置", game="游戏设置→", ghost="阴影", smooth="平滑下落", center="旋转中心", grid="网格", bagLine="包分界线", lockFX="锁定特效等级", dropFX="下落特效等级", clearFX="消除特效等级", shakeFX="晃动特效等级", atkFX="攻击特效等级", frame="绘制帧率", text="消行文本", warn="死亡预警", fullscreen="全屏", bg="背景", power="电量显示", back="返回", }, setting_sound={ game="←游戏设置", graphic="画面设置→", sfx="音效", bgm="音乐", vib="震动", voc="语音", stereo="立体声", back="返回", }, setting_control={ das="DAS",arr="ARR", sddas="软降DAS",sdarr="软降ARR", ihs="提前Hold", irs="提前旋转", ims="提前移动", reset="重置", back="返回", }, setting_key={ back="返回", }, setting_skin={ prev="←",next="→", prev1="↑",next1="↓",spin1="R", prev2="↑",next2="↓",spin2="R", prev3="↑",next3="↓",spin3="R", prev4="↑",next4="↓",spin4="R", prev5="↑",next5="↓",spin5="R", prev6="↑",next6="↓",spin6="R", prev7="↑",next7="↓",spin7="R", skinR="重置配色", faceR="重置方向", back="返回", }, setting_touch={ default="默认组合", snap=function()return text.snapLevelName[sceneTemp.snap]end, option="选项", back="返回", size="大小", }, setting_touchSwitch={ b1= "左移:", b2="右移:", b3="顺时针旋转:", b4="逆时针旋转:", b5= "180°旋转:",b6="硬降:", b7="软降:", b8="暂存:", b9= "功能键:", b10="重新开始:",b11="左瞬移:", b12="右瞬移:", b13="软降到底:",b14="软降一格:",b15="软降四格:", b16="软降十格:", b17="落在最左:",b18="落在最右:",b19="列在最左:", b20="列在最右:", norm="标准", pro="专业", hide="显示虚拟按键", track="按键自动跟踪", sfx="按键音效", vib="按键震动", icon="图标", tkset="跟踪设置", alpha="透明度", back="返回", }, setting_trackSetting={ VKDodge="自动避让", back="返回", }, setting_lang={ back="返回", },--langName added later help={ staff="制作人员", his="更新历史", qq="作者QQ", back="返回", }, staff={ back="返回", }, history={ prev="↑", next="↓", back="返回", }, stat={ path="打开存储目录", back="返回", }, }, modes={ {"竞速", "10L", "消除10行"}, {"竞速", "20L", "消除20行"}, {"竞速", "40L", "消除40行"}, {"竞速", "100L", "消除100行"}, {"竞速", "400L", "消除400行"}, {"竞速", "1000L", "消除1000行"}, {"干旱", "100L", "你I没了"}, {"干旱", "100L", "后 妈 发 牌"}, {"马拉松", "普通", "200行加速马拉松"}, {"马拉松", "困难", "200行高速马拉松"}, {"单挑", "简单", "打败AI"}, {"单挑", "普通", "打败AI"}, {"单挑", "困难", "打败AI"}, {"单挑", "疯狂", "打败AI"}, {"单挑", "极限", "打败AI"}, {"49人混战", "简单", "49人混战,活到最后"}, {"49人混战", "困难", "49人混战,活到最后"}, {"49人混战", "极限", "49人混战,活到最后"}, {"99人混战", "简单", "99人混战,活到最后"}, {"99人混战", "困难", "99人混战,活到最后"}, {"99人混战", "极限", "99人混战,活到最后"}, {"回合制", "简单", "下棋模式"}, {"回合制", "普通", "下棋模式"}, {"回合制", "困难", "下棋模式"}, {"回合制", "疯狂", "下棋模式"}, {"回合制", "极限", "下棋模式"}, {"大师", "疯狂", "20G:初心者适用"}, {"大师", "极限", "20G:上级者的挑战"}, {"大师", "终点", "究极20G:无法触及的终点"}, {"宗师", "GM", "成为方块大师"}, {"隐形", "半隐", "不强大脑"}, {"隐形", "全隐", "挺强大脑"}, {"隐形", "瞬隐", "很强大脑"}, {"隐形", "瞬隐+", "最强大脑"}, {"隐形", "", "你准备好了吗"}, {"高速经典", "CTWC", "高速经典"}, {"生存", "简单", "你能存活多久?"}, {"生存", "普通", "你能存活多久?"}, {"生存", "困难", "你能存活多久?"}, {"生存", "疯狂", "你能存活多久?"}, {"生存", "极限", "你能存活多久?"}, {"进攻", "困难", "进攻练习"}, {"进攻", "极限", "进攻练习"}, {"防守", "普通", "防守练习"}, {"防守", "疯狂", "防守练习"}, {"挖掘", "困难", "挖掘练习"}, {"挖掘", "极限", "挖掘练习"}, {"大爆炸", "简单", "All-spin 入门教程\n未制作完成,落块即通"}, {"C4W练习", "普通", "无 限 连 击"}, {"C4W练习", "疯狂", "无 限 连 击"}, {"全清训练", "普通", "简易PC题库,熟悉全清定式的组合"}, {"全清训练", "疯狂", "简易PC题库,熟悉全清定式的组合"}, {"全清挑战", "普通", "100行内刷PC"}, {"全清挑战", "困难", "100行内刷PC"}, {"全清挑战", "疯狂", "100行内刷PC"}, {"科研", "普通", "禁止断B2B"}, {"科研", "普通+", "仅允许spin与PC"}, {"科研", "困难", "禁止断B2B"}, {"科研", "困难+", "仅允许spin与PC"}, {"科研", "疯狂", "禁止断B2B"}, {"科研", "疯狂+", "仅允许spin与PC"}, {"科研", "极限", "强制最简操作"}, {"科研", "极限+", "禁止普通消除,强制最简操作"}, {"TSD挑战", "简单", "你能连续做几个TSD?"}, {"TSD挑战", "困难", "你能连续做几个TSD?"}, {"TSD挑战", "极限", "你能连续做几个TSD?"}, {"禅", "", "不限时200行"}, {"限时打分", "挑战", "在两分钟内尽可能拿到最多的分数"}, {"无尽", "", "沙盒"}, {"无尽:挖掘", "", "挖呀挖呀挖"}, {"自定义", "普通", "画点什么然后把它消除!"}, {"自定义", "拼图", "画点什么然后把它拼出来吧!"}, {"竞速", "五联块", "伤脑筋十八块"}, }, }, { anykey="按任意键继续", newVersion="检测到更新!存档格式可能更新,设置已重置", marking="游戏作者:MrZ_26\n任何视频不得出现此水印", lang="全中文", atkModeName={"随机","徽章","击杀","反击"}, royale_remain=function(n)return"剩余 "..n.." 名玩家"end, cmb={nil,"1连击","2连击","3连击","4连击","5连击","6连击","7连击","8连击","9连击","10连击!","11连击!","12连击!","13连击!","14连击!","15连击!","16连击!","17连击!","18连击!","19连击!","巨型连击"}, block=nil,spin="型回旋", clear={"单清","双清","三清","四清","五清"}, mini="迷你",b2b="满贯",b3b="大满贯", PC="场地全清",HPC="场地半清", hold="暂存",next="下一个", stage=function(n)return"关卡 "..n end, great="不错!", awesome="精彩。", continue="继续。", maxspeed="最高速度", speedup="速度加快", win="胜利", finish="结束", lose="失败", pause="暂停", pauseCount="暂停统计", custom="自定义游戏", customOption={ drop="下落速度:", lock="锁定延迟:", wait="放块延迟:", fall="消行延迟:", next="序列数量:", hold="暂存:", sequence="序列:", visible="可见性:", target="目标行数:", freshLimit="锁延刷新次数:", opponent="对手速度等级:", bg="背景:", bgm="背景音乐:", }, customVal={ drop={"0G","1/180G","1/60G","1/40G","1/30G","1/25G","1/20G","1/18G","1/16G","1/14G","1/12G","1/10G","1/9G","1/8G","1/7G","1/6G","1/5G","1/4G","1/3G","1/2G","1G","2G","4G","8G","20G"}, lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"}, wait=nil, fall=nil, next=nil, hold={"开","关","无限"}, sequence={"bag7","his4","随机"}, visible={"可见","半隐","全隐","瞬隐"}, target={10,20,40,100,200,500,1000,"∞"}, freshLimit={0,8,15,"∞"}, opponent={"无电脑","9S Lv1","9S Lv2","9S Lv3","9S Lv4","9S Lv5","CC Lv1","CC Lv2","CC Lv3","CC Lv4","CC Lv5","CC Lv6"}, }, snapLevelName={"无吸附","10像素吸附","20像素吸附","40像素吸附","60像素吸附","80像素吸附"}, setting_game="游戏设置", setting_video="画面设置", setting_sound="声音设置", setting_control="控制设置", setting_skin="外观设置", preview="预览", keyboard="键盘",joystick="手柄", ctrlSetHelp="方向键选择/翻页,回车修改,esc返回", musicRoom="音乐室", nowPlaying="正在播放:", page="页面:", settingSaved="设置已保存", settingSavingError="设置保存失败:", keyMapSaved="键位设置已保存", keyMapSavingError="键位保存失败:", VKSaved="虚拟按键设置已保存", VKSavingError="虚拟按键保存失败:", statSavingError="统计保存失败:", unlockSavingError="解锁保存失败:", recSavingError="纪录保存失败:", needRestart="重新开始以生效", copySuccess="已复制到剪切板", dataCorrupted="数据损坏", VKTchW="触摸点权重", VKOrgW="原始点权重", VKCurW="当前点权重", noScore="暂无成绩", highScore="最佳成绩", newRecord="打破纪录", errorMsg="Techmino遇到了问题,需要重新启动.\n我们已收集了一些错误信息,你可以向作者进行反馈.", acts={ "左移:","右移:", "顺时针旋转:","逆时针旋转:","180°旋转:", "硬降:","软降:", "暂存:","功能键:", "重新开始:", "左瞬移:","右瞬移:","软降到底:","软降一格:","软降四格:","软降十格:", "落在最左:","落在最右:","列在最左:","列在最右:", }, load={[0]="加载完成","正在加载语音","正在加载音乐","正在加载音效","正在加载图片","正在加载模式","正在加载乱七八糟的东西"}, pauseStat={ "时间:", "按键/旋转/暂存:", "落块:", "消行/挖掘:", "攻击/挖掘攻击:", "上涨/接收/抵消:", "消除:", "回旋:", "(大)满贯/全(半)清:", "非极简操作:", }, radar={"防","守","攻","送","速","挖"}, radarData={ "防/分", "挡/分", "攻/分", "送/分", "行/分", "挖/分", }, stat={ spin="回旋0~3", clear="消除1~4", "游戏运行次数:", "游戏局数:", "游戏时间:", "按键/旋转/暂存:", "方块/消行/攻击:", "接收/抵消/上涨:", "挖掘/挖掘攻击:", "效率/挖掘效率:", "多余操作/极简率:", "满贯/大满贯:", "全/半清:", }, help={ "既然你能玩到这个游戏,应该也不需要什么帮助吧?", "这只是一个普通的方块游戏,请勿称此游戏为某某某方块", "从TO/C2/KOS/TGM3/JS等方块获得过灵感", "", "错误或者建议请附带截图发送到内测群或者作者邮箱~", "仅通过内测群822023725进行免费下载/更新", "其他渠道获得游戏皆有被修改/加广告/植入病毒的风险,程序只申请了震动&联网权限!", "若由于被修改的本游戏产生的各种损失作者不负责(我怎么负责啊跟我有啥关系)", "请从正规途径获得最新版,游戏现为免费,不过有打赏当然感谢啦~", }, staff={ "作者:MrZ 邮箱:1046101471@qq.com", "", "使用LOVE2D引擎", "", "程序:MrZ, FinnTenzor", "美术:MrZ, (Gnyar)", "音乐:MrZ, (T0722)", "音效:MrZ", "语音:Miya, MrZ", "", "特别感谢:", "Flyz, Farter, 蕴空之灵,", "Teatube, [所有内测人员]", }, used=[[ 使用工具: Beepbox GFIE Goldwave 使用库: Cold_Clear[MinusKelvin] simple-love-lights[dylhunn] ]], support="支持作者", group="官方QQ群(如果没有被暗改的话就是这个):822023725", WidgetText={ main={ play="开始", setting="设置", music="音乐室", stat="统计信息", help="帮助", qplay="快速开始", lang="言/A", quit="退出", }, mode={ draw="画图(Q)", custom="参数(E)", start="开始", back="返回", }, music={ bgm="BGM", up="↑", play="播放", down="↓", back="返回", }, custom={ up="↑", down="↓", left="←", right="→", set1="40行(1)", set2="1v1(2)", set3="无尽(3)", set4="隐形(4)", set5="极限(5)", back="返回", }, draw={ any="不定", space="×", clear="清除", demo="不显示×", copy="复制", paste="粘贴", back="返回", }, play={ pause="暂停", }, pause={ resume= "继续(esc)", restart="重新开始(R)", setting="设置(S)", quit= "退出(Q)", }, setting_game={ graphic="←画面设置", sound="声音设置→", ctrl="控制设置", reTime="开局等待时间", maxNext="最大预览数量", autoPause="自动暂停", layout="外观", key="键位设置", touch="触屏设置", quickR="快速重新开始", swap="组合键切换攻击模式", fine="极简操作提示音", back="返回", }, setting_video={ sound="←声音设置", game="游戏设置→", ghost="阴影", smooth="平滑下落", center="旋转中心", grid="网格", bagLine="包分界线", lockFX="锁定特效等级", dropFX="下落特效等级", clearFX="消除特效等级", shakeFX="晃动特效等级", atkFX="攻击特效等级", frame="绘制帧率", text="消行文本", warn="死亡预警", fullscreen="全屏", bg="背景", power="电量显示", back="返回", }, setting_sound={ game="←游戏设置", graphic="画面设置→", sfx="音效", bgm="音乐", vib="震动", voc="语音", stereo="立体声", back="返回", }, setting_control={ das="首次移动延迟",arr="移动重复延迟", sddas="首次软降延迟",sdarr="软降重复延迟", ihs="提前暂存", irs="提前旋转", ims="提前移动", reset="重置", back="返回", }, setting_key={ back="返回", }, setting_skin={ prev="←",next="→", prev1="↑",next1="↓",spin1="转", prev2="↑",next2="↓",spin2="转", prev3="↑",next3="↓",spin3="转", prev4="↑",next4="↓",spin4="转", prev5="↑",next5="↓",spin5="转", prev6="↑",next6="↓",spin6="转", prev7="↑",next7="↓",spin7="转", skinR="重置配色", faceR="重置方向", back="返回", }, setting_touch={ default="默认组合", snap=function()return text.snapLevelName[sceneTemp.snap]end, option="选项", back="返回", size="大小", }, setting_touchSwitch={ b1= "左移:", b2="右移:", b3="顺时针旋转:", b4="逆时针旋转:", b5= "180°旋转:",b6="硬降:", b7="软降:", b8="暂存:", b9= "功能键:", b10="重新开始:",b11="左瞬移:", b12="右瞬移:", b13="软降到底:",b14="软降一格:",b15="软降四格:", b16="软降十格:", b17="落在最左:",b18="落在最右:",b19="列在最左:", b20="列在最右:", norm="标准", pro="专业", hide="显示虚拟按键", track="按键自动跟踪", sfx="按键音效", vib="按键震动", icon="图标", tkset="跟踪设置", alpha="透明度", back="返回", }, setting_trackSetting={ VKDodge="自动避让", back="返回", }, setting_lang={ back="返回", },--langName added later help={ staff="制作人员", his="更新历史", qq="作者QQ", back="返回", }, staff={ back="返回", }, history={ prev="↑", next="↓", back="返回", }, stat={ path="打开存储目录", back="返回", }, }, modes={ {"竞速", "10行", "消除10行"}, {"竞速", "20行", "消除20行"}, {"竞速", "40行", "消除40行"}, {"竞速", "100行", "消除100行"}, {"竞速", "400行", "消除400行"}, {"竞速", "1000行", "消除1000行"}, {"干旱", "100行", "你I没了"}, {"干旱", "100行", "后 妈 发 牌"}, {"马拉松", "普通", "200行加速马拉松"}, {"马拉松", "困难", "200行高速马拉松"}, {"单挑", "简单", "打败机器人"}, {"单挑", "普通", "打败机器人"}, {"单挑", "困难", "打败机器人"}, {"单挑", "疯狂", "打败机器人"}, {"单挑", "极限", "打败机器人"}, {"49人混战", "简单", "49人混战,活到最后"}, {"49人混战", "困难", "49人混战,活到最后"}, {"49人混战", "极限", "49人混战,活到最后"}, {"99人混战", "简单", "99人混战,活到最后"}, {"99人混战", "困难", "99人混战,活到最后"}, {"99人混战", "极限", "99人混战,活到最后"}, {"回合制", "简单", "下棋模式"}, {"回合制", "普通", "下棋模式"}, {"回合制", "困难", "下棋模式"}, {"回合制", "疯狂", "下棋模式"}, {"回合制", "极限", "下棋模式"}, {"大师", "疯狂", "20G:初心者适用"}, {"大师", "极限", "20G:上级者的挑战"}, {"大师", "终点", "究极20G:无法触及的终点"}, {"宗师", "GM", "成为方块大师"}, {"隐形", "半隐", "不强大脑"}, {"隐形", "全隐", "挺强大脑"}, {"隐形", "瞬隐", "很强大脑"}, {"隐形", "瞬隐+", "超强大脑"}, {"隐形", "", "你准备好了吗"}, {"高速经典", "CTWC", "高速经典"}, {"生存", "简单", "你能存活多久?"}, {"生存", "普通", "你能存活多久?"}, {"生存", "困难", "你能存活多久?"}, {"生存", "疯狂", "你能存活多久?"}, {"生存", "极限", "你能存活多久?"}, {"进攻", "困难", "进攻练习"}, {"进攻", "极限", "进攻练习"}, {"防守", "普通", "防守练习"}, {"防守", "疯狂", "防守练习"}, {"挖掘", "困难", "挖掘练习"}, {"挖掘", "极限", "挖掘练习"}, {"大爆炸", "简单", "All-spin 入门教程\n未制作完成,落块即通"}, {"中四宽练习", "普通", "无 限 连 击"}, {"中四宽练习", "疯狂", "无 限 连 击"}, {"全清训练", "普通", "简易全清题库,熟悉全清定式的组合"}, {"全清训练", "疯狂", "简易全清题库,熟悉全清定式的组合"}, {"全清挑战", "普通", "100行内刷全清"}, {"全清挑战", "困难", "100行内刷全清"}, {"全清挑战", "疯狂", "100行内刷全清"}, {"科研", "普通", "禁止断B2B"}, {"科研", "普通+", "仅允许回旋与全清"}, {"科研", "困难", "禁止断B2B"}, {"科研", "困难+", "仅允许回旋与全清"}, {"科研", "疯狂", "禁止断B2B"}, {"科研", "疯狂+", "仅允许spin与PC"}, {"科研", "极限", "强制最简操作"}, {"科研", "极限+", "禁止普通消除,强制最简操作"}, {"T2挑战", "简单", "你能连续做几个T旋双清?"}, {"T2挑战", "困难", "你能连续做几个T旋双清?"}, {"T2挑战", "极限", "你能连续做几个T旋双清?"}, {"禅", "", "不限时200行"}, {"限时打分", "挑战", "在两分钟内尽可能拿到最多的分数"}, {"无尽", "", "沙盒"}, {"无尽:挖掘", "", "挖呀挖呀挖"}, {"自定义", "普通", "画点什么然后把它消除!"}, {"自定义", "拼图", "画点什么然后把它拼出来吧!"}, {"竞速", "五联块", "伤脑筋十八块"}, }, }, { anykey="Press any button", newVersion="Updating detected! Save format may have been updated, settings reseted", marking="Author:MrZ_26\nIllegal recording if u see this", lang="English", atkModeName={"Random","Badges","K.O.s","Attackers"}, royale_remain=function(n)return n.." Players Remaining"end, 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"}, block=nil,spin="-spin ", clear={"single","double"," triple","Techrash","Techrash+"}, mini="Mini",b2b="B2B ",b3b="B2B2B ", PC="Perfect Clear",HPC="Clear", hold="Hold",next="Next", stage=function(n)return"Stage "..n end, great="Great!", awesome="Awesome!", continue="Keep going!", maxspeed="Max speed!", speedup="Speed up!", win="WIN", finish="Finish", lose="LOSE", pause="Pause", pauseCount="Pauses:", custom="Custom Game", customOption={ drop="Drop Speed:", lock="Lock Delay:", wait="Entry Delay:", fall="Line Delay:", next="Next Length:", hold="Hold:", sequence="Randomizer:", visible="Visibility:", target="Line Goal:", freshLimit="Lock Reset Limit:", opponent="Opponent Type:", bg="Background:", bgm="Music:", }, customVal={ drop={"0G","1/180G","1/60G","1/40G","1/30G","1/25G","1/20G","1/18G","1/16G","1/14G","1/12G","1/10G","1/9G","1/8G","1/7G","1/6G","1/5G","1/4G","1/3G","1/2G","1G","2G","4G","8G","20G"}, lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"Inf"}, wait=nil, fall=nil, next=nil, hold={"On","Off","Inf"}, sequence={"bag7","his4","random"}, visible={"normal","slow fade","fast fade","sudden fade"}, target={10,20,40,100,200,500,1000,"None"}, freshLimit={0,8,15,"Inf"}, opponent={"None","9S Lv1","9S Lv2","9S Lv3","9S Lv4","9S Lv5","CC Lv1","CC Lv2","CC Lv3","CC Lv4","CC Lv5","CC Lv6"}, }, snapLevelName={"Free pos","Snap-10","Snap-20","Snap-40","Snap-60","Snap-80"}, setting_game="Game settings", setting_video="Video settings", setting_sound="Sound settings", setting_control="Control Settings", setting_skin="Layout Settings", preview="Preview", keyboard="Keyboard",joystick="Controller", ctrlSetHelp="Arrowkey to select/change slot,Enter to change,Esc back", musicRoom="Music Room", nowPlaying="Now Playing:", page="Page:", settingSaved="Settings Saved", settingSavingError="Failed to save settings:", keyMapSaved="Key settings saved", keyMapSavingError="Failed to save key settings:", VKSaved="virtual keys saved", VKSavingError="Failed to save virtual key:", statSavingError="Failed to save stat:", unlockSavingError="Failed to save unlock:", recSavingError="Failed to save record:", needRestart="Effective after restart", copySuccess="Copied successfully", dataCorrupted="Data corrupted", VKTchW="Touch Weight", VKOrgW="Origion Weight", VKCurW="Cur. Pos. Weight", noScore="No Scores Yet", highScore="Personal Bests", newRecord="New Record!", errorMsg="An error has occurred and Techmino needs to restart.\nError info has been created, and you can send it to the author.", acts={ "Move Left:","Move Right:", "Rotate Right:","Rotate Left:","Rotate 180°:", "Hard Drop:","Soft Drop:","Hold:","Function:","Restart:", "Instant Left:","Instant Right:","Ins Down:","Down 1:","Down 4:","Down 10:", "Left Drop:","Right Drop:","Left Zangi:","Right Zangi:", }, load={[0]="Finished","Loading voice","Loading BGM","Loading SFX","Loading images","Loading modes","Loading other things"}, pauseStat={ "Time:", "Key/Rot./Hold:", "Piece:", "Row/Dig:", "Attack/DigAtk:", "Received:", "Clears:", "Spins:", "B2B/B3B/PC/HPC:", "Finesse:", }, radar={"DEF","OFF","ATK","SEND","SPD","DIG"}, radarData={ "D'PM", "OPM", "APM", "SPM", "L'PM", "DPM", }, stat={ spin="spins 0-3", clear="clears 1-4", "Times Launched:", "Play Count:", "Play Time:", "Key/Rot./Hold:", "Block/Row/Atk.:", "Recv./Res./Asc.:", "Dig/Dig Atk.:", "Eff./Dig Eff.:", "Finesse Errs./Rate:", "B2B/B3B:", "PC/HPC:", }, help={ "Now you can play this, you are probabaly do not need \"help\"?", "This is just an ordinary block game, not a certain one.", "It plays like TO/C2/KOS/TGM3 and others.", "", "bug reports/suggestions, sent to the author's testing group or email ~", "This is a free download available only through discord.gg/f9pUvkh", "The game downloaded from other sources may contain viruses,", "and only vibration & networking permissions are needed for mobile versions!", "The author is not responsible for any losses from modifying the game.", }, staff={ "Author: MrZ E-mail: 1046101471@qq.com", "", "Powered by LOVE2D", "", "Program: MrZ, FinnTenzor", "Art: MrZ, (Gnyar)", "Music: MrZ, (T0722)", "Sound: MrZ", "Voice: Miya, MrZ", "", "Special Thanks:", "Flyz, Farter, 蕴空之灵,", "Teatube, [All test staff]", }, used="Tool used:\n\tBeepbox\n\tGFIE\n\tGoldwave\nLib used:\n\tCold_Clear[MinusKelvin]\n\tsimple-love-lights[dylhunn]", support="Support author", group="Official QQ Group(if not hacked):822023725", WidgetText={ main={ play="Play", setting="Settings", music="Music room", stat="Statistics", help="Help", qplay="Q. Play", lang="言/A", quit="Exit", }, mode={ draw="Draw (Q)", custom="Settings (E)", start="Start", back="Back", }, music={ bgm="BGM", up="↑", play="Play", down="↓", back="Back", }, custom={ up="↑", down="↓", left="←", right="→", set1="40L (1)", set2="1v1 (2)", set3="Inf. (3)", set4="Blind (4)", set5="Master (5)", back="Back", }, draw={ any="Erase", space="×", clear="Clear", demo="Don't show ×", copy="Copy", paste="Paste", back="Back", }, play={ pause="Pause", }, pause={ resume="Resume (esc)", restart="Retry (R)", setting="Settings (S)", quit="Quit (Q)", }, setting_game={ graphic="←Video", sound="Sound→", ctrl="Control settings", reTime="Start Delay", maxNext="Next Queue Length", autoPause="Auto pause", layout="Layout", key="Key Mappings", touch="Touch Settings", quickR="Quick Retry", swap="Key Combination (Change Atk. Mode)", fine="Finesse Error Sound", back="Back", }, setting_video={ sound="←Sound", game="Game→", ghost="Ghost", smooth="Smooth drop", center="Center", grid="Grid", bagLine="Bag line", lockFX="Lock FX level", dropFX="Drop FX level", clearFX="Clear FX level", shakeFX="Field Sway level", atkFX="ATK. FX level", frame="Render Frame Rate", text="Action Text", warn="Death Alert", fullscreen="Full Screen", bg="Background", power="Power Info.", back="Back", }, setting_sound={ game="←Game", graphic="Video→", sfx="SFX", bgm="BGM", vib="Vibration", voc="Voice", stereo="Stereo", back="Back", }, setting_control={ das="DAS",arr="ARR", sddas="Soft Drop DAS",sdarr="Soft Drop ARR", ihs="Initial Hold", irs="Initial Rotation", ims="Initial Movement", reset="Reset", back="Back", }, setting_key={ back="Back", }, setting_skin={ prev="←",next="→", prev1="↑",next1="↓",spin1="R", prev2="↑",next2="↓",spin2="R", prev3="↑",next3="↓",spin3="R", prev4="↑",next4="↓",spin4="R", prev5="↑",next5="↓",spin5="R", prev6="↑",next6="↓",spin6="R", prev7="↑",next7="↓",spin7="R", skinR="Reset Color", faceR="Reset Dir.", back="Back", }, setting_touch={ default="Default", snap=function()return text.snapLevelName[sceneTemp.snap]end, option="Options", back="Back", size="Size", }, 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:", b10="Restart:", b11="Instant Left:",b12="Instant Right:", b13="Ins Down:", b14="Down 1:", b15="Down 4:", b16="Down 10:", b17="Left Drop:", b18="Right Drop:", b19="Left Zangi:", b20="Right Zangi:", norm="Normal", pro="Professioanl", hide="Show Virtual Key", track="Auto track", sfx="SFX", vib="VIB", icon="Icon", tkset="Track Settings", alpha="Alpha", back="Back", }, setting_trackSetting={ VKDodge="Auto Dodge", back="Back", }, setting_lang={ back="Back", },--langName added later help={ staff="Staff", his="History", qq="Author's qq", back="Back", }, staff={ back="Back", }, history={ prev="↑", next="↓", back="Back", }, stat={ path="Open Data Folder", back="Back", }, }, modes={ {"Sprint", "10L", "Clear 10 lines!"}, {"Sprint", "20L", "Clear 20 lines!"}, {"Sprint", "40L", "Clear 40 lines!"}, {"Sprint", "100L", "Clear 100 lines!"}, {"Sprint", "400L", "Clear 400 lines!"}, {"Sprint", "1000L", "Clear 1000 lines!"}, {"Drought", "100L", "No I piece!"}, {"Drought", "100L", "WTF"}, {"Marathon", "NORMAL", "200-line marathon with accelerating speed."}, {"Marathon", "HARD", "200-line high-speed marathon."}, {"Battle", "EASY", "Defeat the AI!"}, {"Battle", "NORMAL", "Defeat the AI!"}, {"Battle", "HARD", "Defeat the AI!"}, {"Battle", "LUNATIC", "Defeat the AI!"}, {"Battle", "ULTIMATE", "Defeat the AI!"}, {"Tech 49", "EASY", "49-player battle.\nThe last one standing wins."}, {"Tech 49", "HARD", "49-player battle.\nThe last one standing wins."}, {"Tech 49", "ULTIMATE", "49-player battle.\nThe last one standing wins."}, {"Tech 99", "EASY", "99-player battle.\nThe last one standing wins."}, {"Tech 99", "HARD", "99-player battle.\nThe last one standing wins."}, {"Tech 99", "ULTIMATE", "99-player battle.\nThe last one standing wins."}, {"Turn-Based", "EASY", "Chess mode"}, {"Turn-Based", "NORMAL", "Chess mode"}, {"Turn-Based", "HARD", "Chess mode"}, {"Turn-Based", "LUNATIC", "Chess mode"}, {"Turn-Based", "ULTIMATE", "Chess mode"}, {"Master", "LUNATIC", "20G: For beginners."}, {"Master", "ULTIMATE", "20G: Professional challenge!"}, {"Master", "FINAL", "20G: Unreachable end point!"}, {"GrandMaster", "GM", "To be Grand Master"}, {"Blind", "HALF", "For novice players."}, {"Blind", "ALL", "For intermediate players."}, {"Blind", "SUDDEN", "For experienced players."}, {"Blind", "SUDDEN+", "For professionals."}, {"Blind", "", "R U Ready?"}, {"Classic", "CTWC", "High-speed classic mode."}, {"Survivor", "EASY", "How long can you survive?"}, {"Survivor", "NORMAL", "How long can you survive?"}, {"Survivor", "HARD", "How long can you survive?"}, {"Survivor", "LUNATIC", "How long can you survive?"}, {"Survivor", "ULTIMATE", "How long can you survive?"}, {"Attacker", "HARD", "Offensive practice!"}, {"Attacker", "ULTIMATE", "Offensive practice!"}, {"Defender", "NORMAL", "Defensive practice!"}, {"Defender", "LUNATIC", "Defensive practice!"}, {"Driller", "HARD", "Digging practice!"}, {"Driller", "ULTIMATE", "Digging practice!"}, {"Big Bang", "EASY", "All-spin tutorial!\n[Under construction]"}, {"C4W Training", "NORMAL", "Infinite combos."}, {"C4W Training", "LUNATIC", "Infinite combos."}, {"PC Training", "NORMAL", "Simple Perfect Clear mode."}, {"PC Training", "LUNATIC", "Simple Perfect Clear mode."}, {"PC Challenge", "NORMAL", "Get PCs within 100 lines!"}, {"PC Challenge", "HARD", "Get PCs within 100 lines!"}, {"PC Challenge", "LUNATIC", "Get PCs within 100 lines!"}, {"Tech", "NORMAL", "Keep the B2B chain!"}, {"Tech", "NORMAL+", "Spin & PC only"}, {"Tech", "HARD", "Keep the B2B chain!"}, {"Tech", "HARD+", "Spin & PC only"}, {"Tech", "LUNATIC", "Keep the B2B chain!"}, {"Tech", "LUNATIC+", "Spin & PC only"}, {"Tech", "ULTIMATE", "No finesse faults!"}, {"Tech", "ULTIMATE+", "No normal clears, no finesse faults!"}, {"TSD Challenge", "EASY", "T-spin-doubles only!"}, {"TSD Challenge", "HARD", "T-spin-doubles only!"}, {"TSD Challenge", "ULTIMATE", "T-spin-doubles only!"}, {"Zen", "", "200 lines without a time limit."}, {"Ultra", "EXTRA", "Get the highest score within 2 min."}, {"Infinite", "", "Sandbox mode."}, {"Infinite: Dig", "", "Dig, dig, dig."}, {"Custom", "NORMAL", "Draw something then clear it!!"}, {"Custom", "PUZZLE", "Draw something then stack it!!"}, {"Sprint", "Pentomino", "Puzzle-18"}, }, }, { anykey="↓□↓", newVersion="&!!! ___/_?_ R", marking="Author:MrZ_26\nIllegal recording if u see this", lang="?????", atkModeName={"?","( )","!","←→"}, royale_remain=function(n)return n.."~"end, cmb={nil,"!","!!","!!!","!!!!","!!!!!","!!!!!!","!!!!!!!","!!!!!!!!","!!!!!!!!!","!!!!!!!!!!","!!!!!!!!!!!","!!!!!!!!!!!!","!!!!!!!!!!!!!","!!!!!!!!!!!!!!","!!!!!!!!!!!!!!!","!!!!!!!!!!!!!!!!","!!!!!!!!!!!!!!!!!","!!!!!!!!!!!!!!!!!!","!!!!!!!!!!!!!!!!!!!","!!!!!!!!!!!!!!!!!!!!",}, block=nil,spin=" ~", clear={"1","2","3","4","5"}, mini="v",b2b="^ ",b3b="^^ ", PC="#<>#",HPC="<>", hold="[ ]",next="→", stage=function(n)return"::"..n.."::"end, great="!~", awesome="!!~", continue="~~", maxspeed="!!!", speedup="~!~", win=": )", finish="&", lose="x", pause="=", pauseCount="=:", custom="!@#$%^&*", customOption={ drop="↓:", lock="↓_:", wait="→=:", fall="↓=:", next="→:", hold="[ ]:", sequence="$=:", visible="?=:", target="&=:", freshLimit="@:", opponent="^_^:", bg="{~}:", bgm="(~):", }, customVal={ drop={"0G","1/180G","1/60G","1/40G","1/30G","1/25G","1/20G","1/18G","1/16G","1/14G","1/12G","1/10G","1/9G","1/8G","1/7G","1/6G","1/5G","1/4G","1/3G","1/2G","1G","2G","4G","8G","20G"}, lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"Inf"}, wait=nil, fall=nil, next=nil, hold={"+","-","~"}, sequence={"(xxx)","[...]","???"}, visible={"=","-","_","."}, target={10,20,40,100,200,500,1000,"x"}, freshLimit={0,8,15,"~"}, opponent={"x","9S Lv1","9S Lv2","9S Lv3","9S Lv4","9S Lv5","CC Lv1","CC Lv2","CC Lv3","CC Lv4","CC Lv5","CC Lv6"}, }, snapLevelName={"~","10","20","40","60","80"}, setting_game="%~~%", setting_video="{~~}", setting_sound="(~~)", setting_control="[~~]", setting_skin="%{~~}", preview="?:", keyboard="[##]",joystick="^-^", ctrlSetHelp="......", musicRoom="(~~~~)", nowPlaying="~:", page=":", settingSaved="~~~", settingSavingError="x!:", keyMapSaved="~~~", keyMapSavingError="x!:", VKSaved="~~~", VKSavingError="x!:", statSavingError="x!:", unlockSavingError="x!:", recSavingError="x!:", needRestart="!!*#R#*!!", copySuccess="~$~", dataCorrupted="XXXXX", VKTchW="Tch↓", VKOrgW="Org↓", VKCurW="Cur↓", noScore="?_____?", highScore="__&:", newRecord="^!!!^", errorMsg="An e??o? h@s occ^__ed @nd Techmino n__ds to r_st@rt.\n&**o* in#o h@$ b==n cre@ted, @nd y0u c@n $&nd it to the @uth0r.", acts={ "←:","→:", "R→:","←R:","R↑↓:", "↓↓:","↓:","□←:","F:","R:", "|←:","→|:","↓_:","↓1:","↓4:","↓10:", "←↓→↓:","→↓↓:","←↓→↓:","→↓←↓:", }, load={[0]="___","_vocie_","_BGM_","_SFX_","_images_","_modes_","_???_"}, pauseStat={ "~:", "=/''/[ ]:", "□:", "-/↓:", "→/↓→:", "←:", "□↓:", "~↓:", "^^/^^^/#<>#/<>:", "!#!X:", }, radar={"DEF","OFF","ATK","SEND","SPD","DIG"}, radarData={ "D'PM", "OPM", "APM", "SPM", "L'PM", "DPM", }, stat={ spin="~0-3", clear="□1-4", "@:", "##:", "~:", "=/''/[ ]:", "□/-/→.:", "←/-↓/↑:", "↓/↓→.:", "^%/↓^%:", "!#!X/%:", "^/^^:", "#<>#/<>:", }, help={ "□□□□~~~, ?_?x ?", "□!!~~~,□□□□X", "□!!==*/*/*/*~", "", "bug reports/suggestions, sent to the author's testing group or email ~", "This is a free download available only through discord.gg/f9pUvkh", "The game downloaded from other sources may contain viruses,", "and only vibration & networking permissions are needed for mobile versions!", "The author is not responsible for any losses from modifying the game.", }, staff={ "Author: MrZ E-mail: 1046101471@qq.com", "", "Powered by LOVE2D", "", "Program: MrZ, FinnTenzor", "Art: MrZ, (Gnyar)", "Music: MrZ, (T0722)", "Sound: MrZ", "Voice: Miya, MrZ", "", "Special Thanks:", "Flyz, Farter, 蕴空之灵,", "Teatube, [All test staff]", }, used="Tool used:\n\tBeepbox\n\tGFIE\n\tGoldwave\nLib used:\n\tCold_Clear[MinusKelvin]\n\tsimple-love-lights[dylhunn]", support="Support author", group="Official QQ Group(if not hacked):822023725", WidgetText={ main={ play="!!!", setting="_?_", music="~~~", stat="=___", help="???", qplay="!", lang="言/A", quit="X", }, mode={ draw="ABC (Q)", custom="_?_ (E)", start="!!!", back="X", }, music={ bgm="#~#", up="↑", play="!!!", down="↓", back="X", }, custom={ up="↑", down="↓", left="←", right="→", set1="40L (1)", set2="1v1 (2)", set3="Inf. (3)", set4="Blind (4)", set5="Master (5)", back="X", }, draw={ any="_", space="×", clear="XXX", demo="X ×", copy="→__", paste="__→", back="X", }, play={ pause="||", }, pause={ resume="!! (esc)", restart="_→_ (R)", setting="_?_ (S)", quit="X (Q)", }, setting_game={ graphic="←Video", sound="Sound→", ctrl="=?=", reTime="3-2-1", maxNext="=123", autoPause="A||", layout="=-=-=", key="=?", touch="_?", quickR="R!", swap="=+=+=", fine="!#!X #!#", back="X", }, setting_video={ sound="←Sound", game="Game→", ghost="__↓__", smooth="~~↓~~", center="+", grid="#", bagLine="123|123", lockFX="↓_~", dropFX="↓~", clearFX="↓↓↓~", shakeFX="~|~|~", atkFX="→→~", frame="|=|", text="ABC", warn="!↑↑↑!", fullscreen="|←→|", bg="__?__", power="+.", back="X", }, setting_sound={ game="←Game", graphic="Video→", sfx="#!#", bgm="#~#", vib="=~=", voc="~~~", stereo="←~→", back="X", }, setting_control={ das="x---x x x",arr="x x-x-x", sddas="↓---↓ ↓ ↓",sdarr="↓ ↓-↓-↓", ihs="![ ]", irs="!''", ims="!←→", reset="R", back="X", }, setting_key={ back="X", }, setting_skin={ prev="←",next="→", prev1="↑",next1="↓",spin1="R", prev2="↑",next2="↓",spin2="R", prev3="↑",next3="↓",spin3="R", prev4="↑",next4="↓",spin4="R", prev5="↑",next5="↓",spin5="R", prev6="↑",next6="↓",spin6="R", prev7="↑",next7="↓",spin7="R", skinR="R @%&", faceR="R ↑↓←→.", back="X", }, setting_touch={ default="$0", snap=function()return text.snapLevelName[sceneTemp.snap]end, option="_?", back="X", size="←→", }, setting_touchSwitch={ b1= "←:", b2="→:", b3="R→:", b4="←R:", b5= "R↑↓:", b6="↓↓:", b7="↓:", b8="□←:", b9= "F:", b10="R:", b11="←←:", b12="→→:", b13="↓_:", b14="↓1:", b15="↓4:", b16="↓10:", b17="←↓→↓:", b18="→↓↓:", b19="←↓→↓:",b20="→↓←↓:", norm="-", pro="+", hide="--?", track="~=?", sfx="#!#", vib="=~=", icon="@?", tkset="_~=_", alpha="+?", back="X", }, setting_trackSetting={ VKDodge="←_→", back="X", }, setting_lang={ back="X", },--langName added later help={ staff="Orz", his="_&_", qq="_@_", back="X", }, staff={ back="X", }, history={ prev="↑", next="↓", back="X", }, stat={ path="_$_", back="X", }, }, modes={ {"Sprint", "10L", "Clear 10 lines!"}, {"Sprint", "20L", "Clear 20 lines!"}, {"Sprint", "40L", "Clear 40 lines!"}, {"Sprint", "100L", "Clear 100 lines!"}, {"Sprint", "400L", "Clear 400 lines!"}, {"Sprint", "1000L", "Clear 1000 lines!"}, {"Drought", "100L", "No I piece!"}, {"Drought", "100L", "WTF"}, {"Marathon", "NORMAL", "200-line marathon with accelerating speed."}, {"Marathon", "HARD", "200-line high-speed marathon."}, {"Battle", "EASY", "Defeat the AI!"}, {"Battle", "NORMAL", "Defeat the AI!"}, {"Battle", "HARD", "Defeat the AI!"}, {"Battle", "LUNATIC", "Defeat the AI!"}, {"Battle", "ULTIMATE", "Defeat the AI!"}, {"Tech 49", "EASY", "49-player battle.\nThe last one standing wins."}, {"Tech 49", "HARD", "49-player battle.\nThe last one standing wins."}, {"Tech 49", "ULTIMATE", "49-player battle.\nThe last one standing wins."}, {"Tech 99", "EASY", "99-player battle.\nThe last one standing wins."}, {"Tech 99", "HARD", "99-player battle.\nThe last one standing wins."}, {"Tech 99", "ULTIMATE", "99-player battle.\nThe last one standing wins."}, {"Turn-Based", "EASY", "Chess mode"}, {"Turn-Based", "NORMAL", "Chess mode"}, {"Turn-Based", "HARD", "Chess mode"}, {"Turn-Based", "LUNATIC", "Chess mode"}, {"Turn-Based", "ULTIMATE", "Chess mode"}, {"Master", "LUNATIC", "20G: For beginners."}, {"Master", "ULTIMATE", "20G: Professional challenge!"}, {"Master", "FINAL", "20G: Unreachable end point!"}, {"GrandMaster", "GM", "To be Grand Master"}, {"Blind", "HALF", "For novice players."}, {"Blind", "ALL", "For intermediate players."}, {"Blind", "SUDDEN", "For experienced players."}, {"Blind", "SUDDEN+", "For professionals."}, {"Blind", "", "R U Ready?"}, {"Classic", "CTWC", "High-speed classic mode."}, {"Survivor", "EASY", "How long can you survive?"}, {"Survivor", "NORMAL", "How long can you survive?"}, {"Survivor", "HARD", "How long can you survive?"}, {"Survivor", "LUNATIC", "How long can you survive?"}, {"Survivor", "ULTIMATE", "How long can you survive?"}, {"Attacker", "HARD", "Offensive practice!"}, {"Attacker", "ULTIMATE", "Offensive practice!"}, {"Defender", "NORMAL", "Defensive practice!"}, {"Defender", "LUNATIC", "Defensive practice!"}, {"Driller", "HARD", "Digging practice!"}, {"Driller", "ULTIMATE", "Digging practice!"}, {"Big Bang", "EASY", "All-spin tutorial!\n[Under construction]"}, {"C4W Training", "NORMAL", "Infinite combos."}, {"C4W Training", "LUNATIC", "Infinite combos."}, {"PC Training", "NORMAL", "Simple Perfect Clear mode."}, {"PC Training", "LUNATIC", "Simple Perfect Clear mode."}, {"PC Challenge", "NORMAL", "Get PCs within 100 lines!"}, {"PC Challenge", "HARD", "Get PCs within 100 lines!"}, {"PC Challenge", "LUNATIC", "Get PCs within 100 lines!"}, {"Tech", "NORMAL", "Keep the B2B chain!"}, {"Tech", "NORMAL+", "Spin & PC only"}, {"Tech", "HARD", "Keep the B2B chain!"}, {"Tech", "HARD+", "Spin & PC only"}, {"Tech", "LUNATIC", "Keep the B2B chain!"}, {"Tech", "LUNATIC+", "Spin & PC only"}, {"Tech", "ULTIMATE", "No finesse faults!"}, {"Tech", "ULTIMATE+", "No normal clears, no finesse faults!"}, {"TSD Challenge", "EASY", "T-spin-doubles only!"}, {"TSD Challenge", "HARD", "T-spin-doubles only!"}, {"TSD Challenge", "ULTIMATE", "T-spin-doubles only!"}, {"Zen", "", "200 lines without a time limit."}, {"Ultra", "EXTRA", "Get the highest score within 2 min."}, {"Infinite", "", "Sandbox mode."}, {"Infinite: Dig", "", "Dig, dig, dig."}, {"Custom", "NORMAL", "Draw something then clear it!!"}, {"Custom", "PUZZLE", "Draw something then stack it!!"}, {"Sprint", "Pentomino", "Puzzle-18"}, }, }, } local publicText={ block={ "Z","S","J","L","T","O","I", "Z5","S5","Q","P","F","E", "T5","U","V","W","X", "J5","L5","R","Y","N","H","I5" }, } for key,list in next,publicText do for i=1,#langList do if langList[i][key]then local L=langList[i][key] for k,v in next,list do L[k]=v end else langList[i][key]=list end end end local publicWidgetText={ setting_lang={ chi="中文", chi2="全中文", eng="English", str="?????", }, } for key,list in next,publicWidgetText do for i=1,#langList do local WT=langList[i].WidgetText if WT[key]then local L=WT[key] for k,v in next,list do L[k]=v end else WT[key]=list end end end local gc=love.graphics local LANG={} local drawableTextLoad={ "anykey", "next","hold", "win","finish","lose","pause", "custom", "setting_game", "setting_video", "setting_sound", "setting_sound", "setting_control", "setting_skin", "keyboard","joystick", "ctrlSetHelp", "musicRoom", "nowPlaying", "VKTchW","VKOrgW","VKCurW", "noScore", "highScore", } function LANG.getLen() return #langList end function LANG.set(l) text=langList[l] for S,L in next,Widgets do for N,W in next,L do W.text=text.WidgetText[S][N] end end for _,s in next,drawableTextLoad do drawableText[s]:set(text[s]) end collectgarbage() end return LANG