simp2trad(str){
	static STPhrases, phrases_index
	global Traditional, YzIni, valueindex
	If !IsObject(phrases_index){
		STPhrases:={}, STPhrases:={}, phrases_index:={}
		If FileExist("Lib\@s2t.txt"){
			FileRead, Mabiao, Lib\@s2t.txt
			Loop, Parse, Mabiao, `n, `r
				If (A_LoopField!="")
					STPhrases[(tarr:=StrSplit(A_LoopField, "`t"))[1]]:=tarr[2]
		} Else {
			Traditional:=YzIni["Settings","Traditional"]:=0, valueindex:=2
			MsgBox, 16, 错误, Lib目录下缺少简繁体转换字符集@s2t.txt，转换失败！
			Return
		}
		For key,value in STPhrases
			phrases_index[SubStr(key, 1, 1)] .= "," key
	}
	result:="",word:="",wordnum:=0
	If (StrLen(str)=1)
		Return StrReplace(STPhrases[str]?STPhrases[str]:str, " ", Chr(2))

	Loop, Parse, str
	{
		If (A_LoopField<=Chr(0xff)){
			If wordnum {
				If STPhrases[word]
					result .= STPhrases[word]
				Else
					Loop, Parse, word
						result .= STPhrases[A_LoopField]?SubStr(STPhrases[A_LoopField],1,1):A_LoopField
				word:="", wordnum:=0, result .= A_LoopField
			} Else
				result .= A_LoopField
			Continue
		}
		If !wordnum {
			wordnum+=1
			word .= A_LoopField
		} Else If InStr(phrases_index[SubStr(word, 1, 1)], word A_LoopField) {
			word .= A_LoopField, wordnum+=1
		} Else If (wordnum=1) {
			result .= STPhrases[word]?SubStr(STPhrases[word],1,1):word, word:=A_LoopField, wordnum:=1
		} Else {
			If STPhrases[word]
					result .= STPhrases[word]
			Else
				Loop, Parse, word
					result .= STPhrases[A_LoopField]?SubStr(STPhrases[A_LoopField],1,1):A_LoopField
			word:=A_LoopField, wordnum:=1
		}
	}
	If wordnum
		If STPhrases[word]
			result .= STPhrases[word]
		Else
			Loop, Parse, word
				result .= STPhrases[A_LoopField]?SubStr(STPhrases[A_LoopField],1,1):A_LoopField
	Return StrReplace(result, " ", Chr(2))
}