기존의 ASP.NET으로 된 소스 코드를 일본어로 Localizing 해야 하는 일이 생겼었다.
처음 제작시 부터 I18n 을 고려해서 만들었으련 좋았으련만 그런 프로젝트를 할만한 여건이 안되었나 보다. 결국 소스에서 한글로 작성된 문자열을 찾아서 바꾸어 주어야 하는 데 소스 파일의 규모만 해도 어마어마 하고, 문자열 리소스가 따로 분리된 것이 아니라서 상당한 작업이 예상 되었다.
암튼 서론이 길어지는데..
결론적으로 분량이 꽤 되는 소스 파일에서 한글이 들어가는 부분만 찾는 작업이 필요했다.
이를 위해서 일단은 Ruby로 간단한 Script를 만들어서 한글이 들어간 Line을 모두 추출하는 Script를 만들었다. 물론, 간단히 거를 수 있는 주석 등 불필요한 부분은 제거했다.
다음으로 이를 어떻게 사용할까를 고민하다가 ViM을 이용해서 해당 줄을 탐색하도록 했다.
이 부분이 약간 재미있어서 Posting을 해둔다.
한글만 뽑아내는 스크립트를 돌리면 아래와 같은 결과물이 나온다.
형식은 "파일명 : 줄수 : 한글 내용" 이다.
이를 Excel로 불러 들여서
텍스트를 :로 나누면 간단히 엑셀로 변환할 수 있다.
엑셀로 한글이 들어간 열만 따로 빼면 번역을 수월하게 할 수 있는 환경이 된다.
번역을 하다보면 해당 Line으로 직접 이동하고 싶은 경우가 생길 수 있는데.
이는 Vim에서 불러들이면 아래와 같이 쉽게 해당 줄로 이동할 수 있다.
간단한 설명 첨부하자면..
원래 ViM으로 Coding을 하는 통합환경으로 사용할 수도 있는데.. 여기에서
Compile 메시지 중 Error나 Warning이 일어난 곳으로 바로 이동할 수 있도록 하는 기능을 지원 한다.
위의 결과물이 Compiler가 내보낸 결과물이라고 생각한다면..비슷한 효과를 얻을 수 있다.
Vim에서 아래와 같이 Error Format을 지정해주고, 파일을 읽어온 다음 Error Window를 열면 탐색이 가능 하다.
--------------------------------------------
추가.
#1. 일본 Localizing 프로젝트는 무기한 연기 되었다.
#2. ViM에서 grep을 연동하여 사용할 수 있는데 grep, :vimgrep 등을 사용하면 된다.
처음 제작시 부터 I18n 을 고려해서 만들었으련 좋았으련만 그런 프로젝트를 할만한 여건이 안되었나 보다. 결국 소스에서 한글로 작성된 문자열을 찾아서 바꾸어 주어야 하는 데 소스 파일의 규모만 해도 어마어마 하고, 문자열 리소스가 따로 분리된 것이 아니라서 상당한 작업이 예상 되었다.
암튼 서론이 길어지는데..
결론적으로 분량이 꽤 되는 소스 파일에서 한글이 들어가는 부분만 찾는 작업이 필요했다.
이를 위해서 일단은 Ruby로 간단한 Script를 만들어서 한글이 들어간 Line을 모두 추출하는 Script를 만들었다. 물론, 간단히 거를 수 있는 주석 등 불필요한 부분은 제거했다.
다음으로 이를 어떻게 사용할까를 고민하다가 ViM을 이용해서 해당 줄을 탐색하도록 했다.
이 부분이 약간 재미있어서 Posting을 해둔다.
한글만 뽑아내는 스크립트를 돌리면 아래와 같은 결과물이 나온다.
형식은 "파일명 : 줄수 : 한글 내용" 이다.
이를 Excel로 불러 들여서
텍스트를 :로 나누면 간단히 엑셀로 변환할 수 있다.
엑셀로 한글이 들어간 열만 따로 빼면 번역을 수월하게 할 수 있는 환경이 된다.
번역을 하다보면 해당 Line으로 직접 이동하고 싶은 경우가 생길 수 있는데.
이는 Vim에서 불러들이면 아래와 같이 쉽게 해당 줄로 이동할 수 있다.
간단한 설명 첨부하자면..
원래 ViM으로 Coding을 하는 통합환경으로 사용할 수도 있는데.. 여기에서
Compile 메시지 중 Error나 Warning이 일어난 곳으로 바로 이동할 수 있도록 하는 기능을 지원 한다.
위의 결과물이 Compiler가 내보낸 결과물이라고 생각한다면..비슷한 효과를 얻을 수 있다.
Vim에서 아래와 같이 Error Format을 지정해주고, 파일을 읽어온 다음 Error Window를 열면 탐색이 가능 하다.
:set efm=%f\ :\ %l\ :\ %m
:cfile result.txt
:cn / :cp / :cc
:cw
--------------------------------------------
추가.
#1. 일본 Localizing 프로젝트는 무기한 연기 되었다.
#2. ViM에서 grep을 연동하여 사용할 수 있는데 grep, :vimgrep 등을 사용하면 된다.
'생각 발전소' 카테고리의 다른 글
| 네이버 메인화면 개편: 광고 창이 대빵 커졌어요. (5) | 2008/12/15 |
|---|---|
| 한국에서 중소 벤처가 클 수 있을까? (0) | 2008/05/14 |
| 진짜 개발자만 만들 수 있는 위젯 - 네이버 데스크톱 (2) | 2007/12/10 |
| [ViM] 여러개의 파일에서 특정 줄들을 탐색하기.. (0) | 2007/11/30 |
| 미니카페?, WILB.net 감상평. (4) | 2007/10/05 |
| SKT의 토씨 서비스와 서비스 표절...... (2) | 2007/08/16 |
| Flickr 이미지로 빈칸을 채운다. (4) | 2007/08/05 |
