본문 바로가기

쓰기

vb.net에서 MFC dll을 써서 이지트랜스로 번역해서 결과물을 가져오고 싶습니다.


그런데 아무리찾아봐도 방법을 모르겠습니다.


Imports System.Runtime.InteropServices


 Private Declare Fu*nction Translate Lib "ezTransXP.dll" (ByRef cszJapanese As String, ByVal szKorean As String, ByRef nBufSize As Int32) As Integer
 Private Declare Sub OnPluginInit Lib "ezTransXP.dll" (ByRef HWND As IntPtr, ByVal cszSettingStringBuffer As String)
 Private Declare Sub OnPluginClose Lib "ezTransXP.dll" ()


Dim szKorean As String = ""
Dim cszJapanese As String = "こんにちは"



이렇게하고 폼로딩에

OnPluginInit(Me.Handle, cszSettingStringBuffer)


Public Shared Fu*nction encode(ByVal str As String) As String

 Dim utf8Encoding As New System.Text.UTF8Encoding(True)
        Dim encodedString() As Byte
        encodedString = utf8Encoding.GetBytes(str)
        Return utf8Encoding.GetString(encodedString)
 End Fu*nction '유니코드 인코딩 펑션


버튼누르면 실행

Dim nbuff As IntPtr = 2048
Dim cc As Boolean = False
cc = Translate(cszJapanese, szKorean, nbuff)
RTBTText.Text = cc

RTB2Text.Text=szKorean


이렇게하면

텍스트박스에 True라고 뜹니다(에러없이 번역된 듯함)

그런데 2번째 텍스트박스에는 아무것도 안뜹니다.(szKorean string에 번역된게 들어오는 게 아니었나요?!)


어떻게해야 번역결과물을 가져올 수 있나요?


분류 :
Talk
조회 수 :
360
등록일 :
2016.06.14
02:21:37
엮인글 :
https://arallab.hided.net/2605099/fad/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/2605099

유피에르

2018.06.20
14:44:53

약간의 개조를 했습니다..

        OnPluginInit(Me.Handle, 0)

        Dim nbuff As IntPtr = 0

        Dim cszJapanese As Byte() = System.Text.Encoding.GetEncoding(932).GetBytes("こんにちは")

        Dim szKorean As Byte()

        Array.Resize(szKorean, cszJapanese.Length * 10) '크기가 작으면 제대로 출력이 안되서 크기를 좀 많이 늘립니다.


        Translate(cszJapanese, szKorean, nbuff)

        Dim t_1 As String = System.Text.Encoding.GetEncoding(51949).GetString(szKorean)


    이러면 t_1값에 한글값이 나옵니다.
List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155441   2008-08-03 2008-12-16 00:03
3 Talk AT 0.2에서 내부 버퍼가 4096을 넘을 수 있어야 합니다. [1] Hide_D 34245   2010-07-13 2011-03-04 05:56
ATCode인지 뭔지 내부 버퍼 길이가 4096바이트로 제한되어있어서 그보다 큰 길이가 들어올 경우 문제가 생깁니다. 길이를 제한하는 플러그인들은 모두 대용량의 텍스트도 받아올 수 있도록 처리해야할 것 같습니다.  
2 Talk 아랄3 디버깅이 말이죠... [2] file JKLeetro 35689   2010-04-20 2010-10-20 07:18
 
1 Talk ATCustom - 함수 Reference [47] Hide_D 103937   2010-07-20 2010-08-28 04:59
AralTrans의 Algorithm Plugin ATCustom의 함수 목록입니다. - 문서 상태 - 기본 함수 : 변경 중 변경 확률 보통 고급 함수 : 변경 중 변경 확률 높음 - 기본 함수 목록 - 핵심적인 기능을 가지거나 내부의 C++ 코드를 사용해야만 하는 함수의 목록입니다. 메...