FA 한글화 참여 - FA 한글패치를 제작 지원 게시판
여러분의 참여가 더 멋진 한글패치를 만들 수 있는 힘이 됩니다.
번역에 참여 하실 분 : 이메일 주소를 포함하여 글을 남겨주세요. 번역할 분량을 보내드리겠습니다.
번역 검수 하실 분 : 어색한 문장을 찾아 원문과 고쳐졌으면 하는 문장을 같이 적어주세요.
번역에 참여 하실 분 : 이메일 주소를 포함하여 글을 남겨주세요. 번역할 분량을 보내드리겠습니다.
번역 검수 하실 분 : 어색한 문장을 찾아 원문과 고쳐졌으면 하는 문장을 같이 적어주세요.
글수 24
드디어 슈컴 채팅을 한글로 할 수 있는 날이 멀지 않았습니다!!;;
슈컴 mod 제작 포럼을 뒤지고 슈컴 자체 lua 스크립트들을 뒤진 끝에 어떻게 하면 채팅창에 올라가는 메시지를 중간에 가로챌 수 있는지 알아냈고, 실제로 모든 입력 메시지를 "한글입력기 테스트"로 바꿔서 보여주는 데 성공했습니다.
이제 실제로 영타를 치면 그것을 한글로 변환하여 보여주는 부분을 짜면 될 것 같네요.
실시간으로 치는 동안 보여주는 부분은 나중에 만들 생각이고, 일단은 다음과 같이
"i am /qnffk/." -> "i am 블라."
와 같이 변환되도록 짜보겠습니다. :D
한영키나 Shift+Space와 같은 단축키 인식이 가능한지는 아직 불확실합니다. 이 부분은 나중에 좀더 연구해보도록 하겠습니다.
슈컴 mod 제작 포럼을 뒤지고 슈컴 자체 lua 스크립트들을 뒤진 끝에 어떻게 하면 채팅창에 올라가는 메시지를 중간에 가로챌 수 있는지 알아냈고, 실제로 모든 입력 메시지를 "한글입력기 테스트"로 바꿔서 보여주는 데 성공했습니다.
이제 실제로 영타를 치면 그것을 한글로 변환하여 보여주는 부분을 짜면 될 것 같네요.
실시간으로 치는 동안 보여주는 부분은 나중에 만들 생각이고, 일단은 다음과 같이
"i am /qnffk/." -> "i am 블라."
와 같이 변환되도록 짜보겠습니다. :D
한영키나 Shift+Space와 같은 단축키 인식이 가능한지는 아직 불확실합니다. 이 부분은 나중에 좀더 연구해보도록 하겠습니다.
2008.06.26 04:46:59 (*.234.74.57)
그게, 내부 스크립트를 뜯어보면 글자 하나하나를 받아서 영문이 아닌 걸 무시해버리는 방식을 쓰기 때문에 어쩔 수가 없더군요...ㄱ-
뭐, 핵심 구동 로직은 간단합니다. hook 방식의 ui mod를 만들어서 lua/ui/game/chat.lua 파일을 다음과 같이 override해주면 되더군요.
-- Hangul Chatting Mod for Supreme Commander: Forged Alliance by Joongi Kim.
-- Setup dependency
--local UIUtil = import('uiutil.lua')
--local UIFile = UIUtil.UIFile
LOG('loading hangulchat...')
local hangul_mod = import('/mods/hangulchat/hangul.lua')
-- Initialize
local old_CreateChatEdit = CreateChatEdit
function CreateChatEdit()
local group = old_CreateChatEdit()
local old_OnEnterPressed = group.edit.OnEnterPressed
group.edit.OnEnterPressed = function(self, text)
old_OnEnterPressed(self, hangul_mod.conv2hangul(text))
end
return group
end
여기서 hangul_mod.conv2hangul()이 실제 변환을 수행하는 루틴이지요.
현재 전에 올렸던 파이썬 코드를 루아 코드로 바꿔서 문법 에러는 다 잡았습니다만 기대했던대로 동작하는지 여부를 체크해봐야 해서 하루 정도 더 걸릴 듯합니다.
ps. 게임 시작 전 로비에서의 채팅은 별도로 만져줘야 할 것 같더군요. 일단 한글 변환이 잘 작동하기만 한다면 그리 어렵지 않을 것으로 생각됩니다.
뭐, 핵심 구동 로직은 간단합니다. hook 방식의 ui mod를 만들어서 lua/ui/game/chat.lua 파일을 다음과 같이 override해주면 되더군요.
-- Hangul Chatting Mod for Supreme Commander: Forged Alliance by Joongi Kim.
-- Setup dependency
--local UIUtil = import('uiutil.lua')
--local UIFile = UIUtil.UIFile
LOG('loading hangulchat...')
local hangul_mod = import('/mods/hangulchat/hangul.lua')
-- Initialize
local old_CreateChatEdit = CreateChatEdit
function CreateChatEdit()
local group = old_CreateChatEdit()
local old_OnEnterPressed = group.edit.OnEnterPressed
group.edit.OnEnterPressed = function(self, text)
old_OnEnterPressed(self, hangul_mod.conv2hangul(text))
end
return group
end
여기서 hangul_mod.conv2hangul()이 실제 변환을 수행하는 루틴이지요.
현재 전에 올렸던 파이썬 코드를 루아 코드로 바꿔서 문법 에러는 다 잡았습니다만 기대했던대로 동작하는지 여부를 체크해봐야 해서 하루 정도 더 걸릴 듯합니다.
ps. 게임 시작 전 로비에서의 채팅은 별도로 만져줘야 할 것 같더군요. 일단 한글 변환이 잘 작동하기만 한다면 그리 어렵지 않을 것으로 생각됩니다.
2008.06.26 13:35:12 (*.149.195.193)
"i am /qnffk/." -> "i am 블라."
.
가 아니구 i am 불라 입니둥....
.
엄청난 택쿨 =ㅅ=;;;
.
가 아니구 i am 불라 입니둥....
.
엄청난 택쿨 =ㅅ=;;;


zero
내용보기 : http://www.parkoz.com/zboard/view.php?id=my_tips&no=6702
오토핫키라고, 일반적으로는 키 배치를 바꿀 때 쓰는 공개 프로그램입니다만 이 프로그램의 기능이 무긍무진합니다.
온라인게임에서 오토봇 돌릴 때 쓰는 프로그램이 이 오토핫키로 만든것 같더군요. 화면 상태나 창, 마우스위치 같은것도 탐지가능하고 명령어를 이용해 복잡한 프로그램도 제작 가능합니다. 네이버에 관련 까페도 있더군요.
이거라면 할 수 있을까해서. 여러가지 시도를 해봤습니다만 단순히 입력된 키를 한글입력으로 바꾸는걸로는 되지 않더군요. 그러니까 IME는 정상작동 하는데 프로그램차원에서 영문 이외의 유니코드는 이게뭥미? 하고 무시해버리는 것 같습니다. 결국 입력되는 값이 문제가 아니라 입력을 받은후에 출력으로 이어지지 않는거죠.
한글을 복사하는건 단순히 메모리만 불러오는거니 입력은 되고 폰트는 자동으로 찾아서 한글로 볼 수 있는건데 한글 스캔코드가 입력되는것을 문자로 인식하지 못하는것 같습니다.
아무튼 제가 파악한건 여기까지입니다. 저기가 어떤부분인지 잘 안보이네요. 스크립트를 알려주시면 저도 같이 생각해 보겠습니다.