Кто ищет - тот всегда найдёт. Нашёл компромиссное решение вопроса с юникодом. Тестовая версия клиента Google Translate, на этот раз - с поддержкой западноевропейских языков:
Add(MainForm,2848333,203,238) { Height=288 link(onCreate,9620860:doOpen,[]) } Add(FormatStr,5754164,322,189) { DataCount=1 Mask="GET /translate_a/t?client=at&sl=de&tl=ru&text=%1 HTTP/1.1 User-Agent: Opera/9.80 (Windows NT 6.1; WOW64; U; ru) Presto/2.10.229 Version/11.62 Host: translate.google.com Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: ru-RU,ru;q=0.9,en;q=0.8 Accept-Encoding: deflate Cookie: PREF=ID=13c1273940d33419:U=51fc35095d69551c:TM=1314782054:LM=1331115196:S=RGwXhmmRClAqhQQd; NID=57=L8gXD59HlccqfVWkfgshVa9OMS-wDaPhSfEd49dQSoJvtdU7Zqj0OMEQ8v0tSE1Z8CDLFthQYHCwBMzgTDymkLANkGQTmLDIzmtT1-F-LkGiWldw1S1waTgWd8AQpkVu; HSID=AX-JwkVGoCLlhk9VF; APISID=9yVKAKMTk1mhPNRF/AlBXvSQPiR_vVlsKC; SID=DQAAANAAAAAr5E8BwMxqT9x4catXF7l3MBOX8Ic4g4rm4A7SBCj7Zg_JG8Q1u6Mk8KAeNKuZiSxbWvBt5TCAqXDqWwKTMHw4cuCfZME7m4NXZ2q4JtQ5ZZ75qLYeGAAe5yekuyFRn-8bRwy5EEtdxFpdpcet5r6ROkgJr3-13Ks0-jzY4eWSbAABqxBN31kFu1RRVj6a0zndDnqw0YbrkGT3PlyW_lWDB5FT77IRpM1VLRryWLh3q-GywGzK5FMlSv4VejHn42-jd9mUw9bPsSEOcWCSaC1i Connection: Keep-Alive
" Point(FString) link(onFString,9620860:doSend,[(366,195)(366,230)(303,230)(303,272)]) } Add(TCP_Client,9620860,315,252) { Port=80 IP="173.194.35.228" link(onRead,16659153:doEvent1,[]) link(Data,5754164:FString,[]) } Add(RichEdit,15398218,140,140) { Width=390 Height=120 Strings=#10:Angehalten| } Add(Button,8719430,49,119) { Top=120 link(onClick,15396580:doEvent1,[]) } Add(BlockFind,12722838,406,336) { IncludeBlock=1 StartBlock=""trans":"" EndBlock=""" link(onSearch,5155375:doCharset,[]) link(Text,6595132:Text,[]) } Add(RichEdit,13262257,532,336) { Top=140 Width=390 Height=110 ScrollBars=2 } Add(Hub,16659153,364,252) { OutCount=3 link(onEvent2,6595132:doAdd,[(392,265)(392,258)]) link(onEvent3,12722838:doSearch,[(392,272)(392,342)]) } Add(StrList,6595132,406,252) { } Add(Charset,5155375,462,336) { Type=7 link(onCharset,13262257:doAdd,[]) } Add(ArrayEnum,8911082,154,189) { link(onItem,10667172:doCharset,[]) link(Array,15398218:Array,[]) } Add(Charset,10667172,203,189) { Type=8 CodePage1=1252 CodePage2=65001 link(onCharset,14514444:doCharset,[]) } Add(Charset,14514444,259,189) { Type=12 link(onCharset,5754164:doString,[]) } Add(Hub,15396580,91,119) { link(onEvent1,6595132:doClear,[(391,125)(391,265)]) link(onEvent2,8911082:doEnum,[(129,132)(129,195)]) }
Тестируем, отписываемся на какой системе с какой локалью как себя ведёт. На английской и русской NT6.x принимает слова с диакритическими знаками без проблем, корректно передаёт их гуглу и принимает ответ. Тестовая фраза для проверки: HiAsm_4 - starke Hämorrhoiden für einen Ausländer
|