[한글화 상식]압축의 개념과 원리에 대해서[한글화 상식]압축의 개념과 원리에 대해서

Posted at 2012.02.01 16:01 | Posted in 이전 카테고리/한글화 강좌 시즌 2
안녕하세요, Hangeru Team.의 MG게이버입니다.~
오늘도 다시 한글화 강의 들어갑니다. ㅎㅎ


 강좌 개요

압축에 대해 간단히 알아봅니다.

 본 강좌

한글화를 하다보면 여러가지 어려움이 있는데 그중에서 가장 많은 분들이 어려움을 느끼시는 압축에 대해 알려드리고자 합니다.

압축.. 많이 들어봤고 실제로도 많이 사용하고 있지만 한글화에서의 압축은 뭔가 생소하실겁니다.

사실 기본적인 개념은 똑같고 범용 프로그램이 있는가 없는가의 차이밖에는 없습니다.. 

범용 프로그램이란 우리가 많이 사용하는 압축 프로그램, winrar, 반디집, 알집 등을 말하는데 이런 범용 프로그램들은 주로 파일을 압축해서 보내거나 보관할 때 사용합니다. 압축을 하게 되면 여러 가지 파일을 한 파일로 묶어서 쉽게 보낼 수 있고 용량도 줄일 수 있기 때문에 일석이조겠지요?

그렇다면 프로그램에서는 어떨까요?

역시 데이터를 보관하고 쉽게 관리하기 위해 사용합니다.
즉 프로그램에서도 데이터를 압축하면 여러개의 데이터를 묶을 수 있고 용량도 줄일 수 있기 때문에 일반인들이 사용하는 것과 거의 같은 목적으로 사용합니다.

다른 점은 무엇이 있을까요?

바로 사용 방식의 차이인데, 일반 파일 압축은 여러 종류의 파일(문서, 음악, 비디오, 실행 파일 등)을 효율적으로 압축할 수 있어야 하며 보관을 위해 압축률을 최대화하고, 분할 압축 등의 기능 지원과 호환성(여러가지 OS에서 풀 수 있도록)을 중요시합니다.
반면 프로그램에서는 빠른 구동을 위한 압축된 데이터를 빨리 풀 수 있어야하며, 여러 종류의 데이터 별로 최적화된 압축루틴을 사용합니다.
또한 라이센스 문제로 자체적으로 압축 루틴을 개발하는 경우도 있지요..

이런 차이 때문에 프로그램 내부의 압축 루틴은 범용 프로그램이 존재하지 않는 경우가 많고, 따로 압축 해제 툴을 개발하여야 합니다.(물론 zip, gz 등의 범용 압축 루틴을 사용하는 프로그램도 많습니다.)

압축의 원리

압축의 원리는 간단합니다.
중복되는 데이터를 방지하고 줄이는 것인데 쉽게 말해서 사과가 든 상자와 바나나가 든 상자, 귤이 든 상자들이 아래처럼 배열되어 있다고 해봅시다.
사과|사과|사과|사과|바나나|바나나|귤|사과|사과|바나나|바나나

이걸 문서로 작성한다고 할때 어떻게 하면 글자 수를 줄일 수 있을까요?

사과x4|바나나x2|귤x1|사과x2|바나나x2

이렇게 쓰면 글자수가 많이 줄어들겠죠?

압축은 위와 같은 원리입니다.
중복된 데이터를 줄이고, 간단한 기호로 작성하는 것이죠.
물론 압축을 하게 되면 사람이 한눈에 알아보기는 힘들어지지만, 컴퓨터가 압축 해제도 처리하기 때문에 상관 없겠지요?

 강좌를 마치며

이번 강좌에서는 압축에 대해 말해보았습니다.
나중에 고급강좌에서는 압축 루틴 등도 직접 살펴보고 해제 툴 제작 방법도 알려드리겠습니다.
궁금한 점이 있으시면 메일 주시기 바랍니다. 
저작자 표시 비영리 변경 금지
신고
  1. 나중에 한번 해봐야겠네요..

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

[iOS 한글화]plist 파일과 수정방법에 대해[iOS 한글화]plist 파일과 수정방법에 대해

Posted at 2012.01.29 20:11 | Posted in 유용한 팁/정보/스마트시대

 강좌 개요

plist(Apple Property List) 파일을 수정하는 방법에 대해 알아보겠습니다.

 본 강좌

이전 강좌에서는 외부 언어 파일을 찾는 방법에 대해 알아보았습니다~
그렇다면 이제 수정을 해보아야겠지요?

이전 강좌에서 바이너리 plist에 대해 설명을 드렸는데. 바이너리 plist는 xml 파일로 되어있는 plist를 2진수 형태로 변경해둔 파일입니다.
xml 파일은 메모장 등에서 바로 편집이 가능하지만 바이너리 plist는 바로 수정할 수 없으며 바이너리 plist를 xml로 변환하고 수정을 한 뒤 다시 바이너리 plist로 변환을 해야만합니다.

이 변환을 위한 툴을 제작하였으며 아래에서 받으실 수 있습니다.

2012/01/29 - [한글화 강좌/Season 2] - [iOS 한글화]pList Converter

만약 Localizable.strings가 바이너리 plist가 아니라면 바로 텍스트 편집기로 수정해서 넣으시면 됩니다. 수정 방법은 아래를 참고하세요.


위 주소에서 프로그램을 받아주시고 찾아보기 버튼을 눌러 Localizable.Strings 파일을 지정하고 변환하기를 누른 뒤 저장합시다.

변환에 성공하면 위처럼 변환 완료라는 메시지가 뜨며 지정한 경로에 변환된 파일이 생성됩니다.
그럼 생성된 파일을 텍스트 편집기로 열어봅시다.

<key>~~~</key>와 바로 아래 <string>~~~</string> 라는 값이 연속적으로 보입니다.
key 값은 어플리케이션에서 불러올때 사용되는 값이므로 건드리시면 안되고 string 안의 텍스트가 실제로 출력되는 텍스트입니다.

일단 Login의 string 값을 로그인, Logout의 string 값을 로그아웃으로 바꾼 뒤 저장합니다.


그다음 pList Converter을 이용해서 방금 저장한 파일을 지정하고 다시 바이너리 pList 파일로 변환하여 Localizable.strings에 저장합니다.
(사실 바이너리 pList로 다시 변환을 하지 않아도 정상적으로 동작은 합니다.. 하지만 보다 안정적인 한글화를 위해서 바이너리 pList로 변환해주시는 것이 좋습니다.)


마지막으로 아이펀 박스를 이용해서 AppZapp의 경로에 ko.lproj 폴더를 생성하고 안에 Localizable.strings 파일을 넣습니다.

자 이제.. 마지막으로 변경이 되었는지 확인을 해봅시다.


영어로 Login이라고 되어있던 부분이 로그인이라고 나오는 것을 확인할 수 있습니다.



 강좌를 마치며

드디어 plist를 사용하는 iOS 어플의 한글화 강좌가 끝났습니다.
외부 언어 파일을 이용할 경우 쉽게 한글화가 가능하다는 점을 알 수 있었으며 바이너리 plist 파일을 수정하는 툴을 제작하게 되어 보다 손쉽게 한글화가 가능해졌습니다. 

다음 강좌에서는 외부 언어 바이너리 파일을 사용하는 어플의 한글화에 대해 알아보겠습니다.

궁금한 점이 있으시다면 언제나 메일 주시면 답변해드리도록 하겠습니다.
감사합니다. 

저작자 표시 비영리 변경 금지
신고
  1. 돌맹이
    좋은 강좌 감사해요
    앞으로도 기대할게요 ^^
  2. 이끼낀코끼리
    강좌 잘 보고 갑니다!
    앞으로도 기대할께요ㅋㅋㅋ
  3. 강좌 고맙습니다^^
    질문하나 드려도 실례가 안될런지요?
    카오스링스2를 한글화 해보려 하는데 통합파일이라 그런지
    대사파일을 찾을 수 없어서...
    어찌 추출할 방법은 없을런지요?
    카링 오리지날이나 오메가는 대사파일이 따로 있어 수정만 하면 되는데
    2는 다르네요..

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

[iOS 한글화]pList Converter[iOS 한글화]pList Converter

Posted at 2012.01.29 19:50 | Posted in 테마 기획/iOS 한글화 강좌 시즌 1
iOS 한글화 툴 - pList Converter 

iOS 한글화 강좌에 쓰일 Apple Property List 변환 프로그램입니다.


바이너리 plist 파일을 xml 형태로 변환하거나 xml 파일을 다시 바이너리 plist로 변환할 수 있습니다.

이 툴은 오픈소스를 편집하여 유니코드 파일을 지원하도록 제작되었으며 프로그램 정보 창에서 확인하실 수 있습니다.

프로그램을 구동하려면 .Net Framework 3.5 이상이 필요합니다.
맥 OS에서는 구동되지 않으며 추후 프로그램을 제작할 예정입니다.

제작 : MG게이버(mingi2007@gmail.com)

프로그램 다운로드

[업데이트 내역]
버전 1.0 - 최초 공개

저작자 표시 비영리 변경 금지
신고
  1. 돌맹이
    아이튠즈에 내장된 툴은 쓰기가 어려웠는데
    이건 편하게 쓸 수 있네요 ^^
  2. 비밀댓글입니다
  3. 비밀댓글입니다

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

[iOS 한글화]어플리케이션 구조를 파악하자![iOS 한글화]어플리케이션 구조를 파악하자!

Posted at 2012.01.28 15:15 | Posted in 테마 기획/iOS 한글화 강좌 시즌 1
 강좌 개요

이전 강좌에서 보셨듯이 어플리케이션의 텍스트를 불러올때 외부 파일을 이용하는지, 내부 바이너리에 내장되어 있는지 확인하는 것이 우선입니다.

이번 강좌에서는 어떤 방식으로 텍스트를 불러오는지 확인하는 방법에 대해 소개합니다. 물론 어플리케이션의 개발자가 모두 다르기 때문에 아래 방식으로 모든 어플리케이션의 한글화가 가능한지는 판단할 수는 없습니다.(일부 예외가 있음)

 본 강좌

iOS 어플리케이션의 텍스트 저장방식은 크게 5가지로 나눌 수 있습니다.

1. 외부 언어 파일 이용(lproj)
2. 외부 언어 바이너리 이용(어플리케이션 폴더 내에 내장)

3. 메인 바이너리 내장
4. DLC 파일에 포함(게임 에피소드 등을 인앱결제, iAP 사용하는 어플)
5. 서버 텍스트 이용(인터넷 연결되지 않았을 시 이용 불가한 일부 어플)

첫번째 방식인 외부 언어 파일을 이용할 경우 손쉽게 한글화를 할 수 있으며 순정에서도 패치가 가능합니다. 또한 이 방식을 xcode(ios 어플리케이션 개발 툴)에서 지원하기 때문에 대부분의 어플리케이션이 외부 언어 파일을 이용합니다.

두번째 방식은 외부 언어 바이너리를 사용하는 경우인데 lproj 폴더가 아닌 어플리케이션 메인 경로에 언어 파일들이 들어있는 경우입니다.
이 경우에는 한글화가 가능할 수도 있고 불가능할 수도 있는데 바이너리 파일의 인코딩에 따라 달라집니다. 만약 바이너리 파일이 아스키 코드만을 사용하거나 S-JIS, 중국어등 타국가의 인코딩을 사용할 경우 3번 방식과 같이 메인 바이너리를 수정하지 않으면 한글화가 불가능합니다.


남은 어플리케이션이 나머지 3,4,5번째 방식을 사용할 경우 한글화하기가 매우 어렵습니다.

두번째 방식은 이전 강좌에서 보셧듯이 한글화하려면 바이너리 덤프 과정(이 또한 탈옥 필수)을 거쳐야하며 탈옥을 하지 않으면 패치가 불가능합니다.
세번째 방식은 또 두가지 경우로 나뉘는데 iAP로 추가된 파일에서 텍스트 파일이 따로 분리되어 있으면 구입자에 한해서 패치가 가능할 수도 있습니다.
하지만 텍스트와 인증 파일이 같이 합쳐져 있는 경우 한글화가 어렵습니다.(패치자 자신만 사용 가능)
네번째 방식은 서버에 텍스트가 저장되어 있으므로 한글화가 아예 불가능합니다. hosts 파일 해킹을 통해서 한글화가 가능할 수도 있으나 서버를 직접 구축하여야하며 탈옥 하지 않으면 역시 패치가 불가합니다.

제 블로그의 강좌에서는 위의 방식을 구분하는 간단한 방법과 외부 언어 파일을 이용하는 경우에 한해서만 다루며, 탈옥이 필요한 경우는 다루지 않습니다.

그럼 AppZappPush 어플리케이션을 예로 들어 보겠습니다.

일단 i-Funbox 등의 프로그램을 이용해서 어플리케이션의 경로로 들어갑니다.



경로로 들어가보면 여러 폴더가 보이는데 끝이 lproj 로 시작하는 폴더들이 보이실겁니다. 이 폴더들이 바로 외부 언어 파일을 저장하고 있는 폴더입니다.
lproj 앞에는 언어 약자가 붙는데
English(en).lproj 영어
ko.lproj 한국어
es.lproj 스페인어
fr.lproj 프랑스어
it.lproj 이태리어
ja.lproj 일본어
....
등등 입니다.(더 많은 언어 정보는 http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes 에서 639-1 항목을 보시면 됩니다.)

이 외부 언어 폴더 안에는 텍스트 파일 뿐만 아니라 각 언어별 이미지 파일 등도 들어있습니다. 그리고 언어 폴더가 있어도 텍스트가 포함되어 있지 않은 경우도 있습니다. 이걸 확인하는 방법은 간단합니다. lproj 폴더 내로 들어간다음 Localizable.strings 파일이 존재하는지 확인하시면 됩니다. 물론 이 파일이 있어도 내부 텍스트를 사용하는 경우도 있습니다..
그리고 lproj 폴더가 있음에도 Localizable.strings 파일이 없는 경우에는 lproj 폴더 안에 있는 모든 파일을 확인해서 텍스트가 존재하는지 확인하는 수 밖에는 없습니다. 만약 텍스트가 없는 경우로 확인되면 2,3,4,5번의 경우를 확인하셔야 합니다.
(만약 English.lproj 또는 en.lproj폴더 외에 다른 언어의 폴더도 있는 경우 1번 경우일 가능성이 높습니다.)

그럼 다시 AppZappPush 경로 내의 스크린샷을 보시면 ko.lproj 가 없는 것을 확인하실 수 있습니다. 바로 이 어플리케이션이 한국어 언어 파일을 제공하지 않고 있다는 뜻입니다. iOS의 언어 설정이 한국어로 되어 있지만 ko.lproj 폴더가 없기 때문에 기본 언어인 영어(English.lproj)에서 언어 파일을 불러오게 됩니다.
(* AppZappPush는 특이하게 English.lproj와 en.lproj 두 폴더가 모두 있습니다만 둘다 같은 폴더이므로 크게 상관 없습니다.) 
English.lproj 폴더로 들어가보겠습니다. 


폴더로 들어가보면 Localizable.strings 파일과 여러개의 이미지 파일이 있군요.
저 Localizable.strings 내에 텍스트가 저장되어 있을 가능성이 높아졌습니다.

그럼 이 Localizable.strings를 메모장으로 열어보겠습니다.

이런.. 이 어플리케이션은 바이너리 plist 파일을 사용하는군요.
파일의 맨 앞부분이 bplist로 시작하는 경우 바이너리 plist 파일이며 이 바이너리 plist 파일을 사용하는 경우에는 일반 텍스트 편집기로는 수정할 수 없고 일반 plist 파일로 변환을 하거나 바이너리 plist의 편집을 지원하는 에디터를 사용하여야 합니다.

자세한 수정 방법은 다음 강좌에서 다루겠습니다.


 강좌를 마치며

강좌 내용이 이해가 되셨나요?

오늘 강좌는 lproj를 이용하는 어플리케이션과 아닌 어플리케이션에 대해 소개하고 lproj를 사용하는 어플리케이션의 구조에 대해 알아보았습니다.
lproj를 사용하는 어플리케이션에 대한 강좌가 끝나면 두번째 방식인 외부 바이너리 텍스트 파일을 사용하는 경우에 대해서도 다룰 예정이며 3,4,5번째 방식은 일반적인 방법으로는 한글화가 불가능하므로 넘기도록 하겠습니다.

더 궁금하신 점이 있다면 메일 보내주시면 더 상세히 알려드리겠습니다. 

저작자 표시 비영리 변경 금지
신고

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

[iOS 한글화]i-Funbox를 이용해서 순정 iOS에서 한글패치 적용하기[iOS 한글화]i-Funbox를 이용해서 순정 iOS에서 한글패치 적용하기

Posted at 2012.01.27 13:08 | Posted in 테마 기획/iOS 한글화 강좌 시즌 1
이번 포스팅은 한글화를 하는 강좌가 아닌 실제로 배포된 한글패치를 순정에서
적용하는 방법에 대해 알려드리겠습니다~!

탈옥 iOS에서는 여러가지 방법으로 패치가 가능하지만 순정 iOS에서는
샌드박스 시스템 때문에 샌드박스 접근이 가능한 프로그램을 사용해야만 합니다.

이때 사용되는 프로그램이 iExplorer 와 i-Funbox인데 얼마 전까지만 해도 iExplorer 만이 샌드박스 접근을 지원했기 때문에 iExplorer을 주로 사용해왔습니다.
하지만 iExplorer는 불안정하고 5번 액세스 제한, 퀵타임을 설치해야 구동이 가능하는 등의 불편한 점이 많았습니다.
i-Funbox는 이전에는 탈옥 iOS에서만 어플리케이션에 접근이 가능했지만 1.7 버전부터는 순정 iOS에서도 샌드박스 접근이 가능해져서 패치도 가능해졌습니다.

아이펀 박스는 아래에서 받으실 수 있습니다.(물론 아이튠즈는 설치되어 있어야합니다.)
http://www.i-funbox.com

자 그럼 아이펀 박스를 이용해서 한글패치를 적용해보도록 하겠습니다.(필자는 아이패드2에 유비트 플러스를 한글패치 해보겠습니다.)



우선 iOS 기기를 연결하고 아이펀박스를 실행합니다.



왼쪽의 사용자 어플리케이션을 누르고 패치 하려는 어플리케이션 경로로 들어갑니다.(경로는 패치 마다 다르므로 패치 설명서를 참고하세요.)




패치 파일들을 아이펀박스로 드래그해서 어플리케이션 폴더 안으로 복사합니다.


패치가 잘 적용된 것을 확인할 수 있습니다!

저작자 표시 비영리 변경 금지
신고
  1. 돌맹이
    아이펀박스도 있었군요..
    처음 알았습니다

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

[iOS 한글화]순정에서의 한글패치와 탈옥에서의 한글패치[iOS 한글화]순정에서의 한글패치와 탈옥에서의 한글패치

Posted at 2012.01.27 12:32 | Posted in 테마 기획/iOS 한글화 강좌 시즌 1
정말 오랜만에 작성하는 한글화 강좌 포스팅입니다.
새해 들어서 처음 작성하네요~!

말재주가 없어서 설명이 부족했던 부분이 기존 강좌에는 상당히 많은데
궁금하신 사항이 있으시면 언제나 댓글 달아주시거나 메일 주시기 바랍니다.(메일이 확인,답장이 빠릅니다..)

이번 강좌는 순정(Jailed) 에서의 한글패치와 탈옥(Jailbreak) 에서의 한글패치의 차이라는 주제를 다루겠습니다.

처음 올라온 iOS 어플 한글화 강좌에서 보셨듯이 iOS 어플리케이션에는 기본적으로 3개의 폴더가 존재합니다.
이 3개의 폴더중 어플리케이션의 이름으로 된 폴더([APPNAME]) 에 들어가보시면
또 어플리케이션 이름으로 되어있는 확장자가 없는 파일이 존재합니다.


AppZappPush의 메인 바이너리 파일



이 파일은 메인 바이너리로 어플리케이션의 실행 코드가 저장되어 있는 파일입니다. (PC로 치면 exe 파일과 같습니다.)

어플리케이션에 따라 외부 언어 파일을 사용하지 않고 이 메인 바이너리에 텍스트를 저장하는 경우가
있는데.. 이 메인 바이너리를 수정하게 될 경우 순정에서는 구동이 되지 않습니다.

그 이유는 퍼미션에 관련된 문제 때문인데, 애플에서는 순정 iOS에서는 퍼미션을 수정할 수 없도록
막아두었기 때문에 이 메인 바이너리를 수정해서 다시 넣을 경우 executable 권한이 없어서
실행 조차 할 수 없게 됩니다.

이 메인 바이너리를 수정해야 할 경우가 몇 가지 더 존재하는데 대부분의 어플리케이션에서는 유니코드를 사용하지만 ASCII 코드나 일본 어플의 경우 S-JIS를 사용하는 경우가 있습니다.
ASCII 코드나 S-JIS에는 한글 코드가 없기 때문에 유니코드를 사용하도록 코드를 변경해주거나 대응하는 유니코드가 입력되어 있는 매핑 테이블이라는 것을 수정해줘야 하는데 종종 테이블이 실행 파일 안에 있는 경우가 있습니다. 그리고 어플 자체 폰트를 사용하는 게임의 경우에도 폰트가 이 파일 안에 있을 수가 있습니다.

물론 이 메인 바이너리 파일은 암호화가 되어 있기 때문에 그냥은 수정할 수가 없고 모종의 과정을 거쳐야합니다.(이는 저작권에 위반될 수 있으므로 자세히는 다루지 않겠습니다..)

실상 이 메인 바이너리를 수정해야되는 어플의 경우 한글화를 포기하시는것이 좋습니다.
탈옥을 해야만 구동되며, 여러가지 복잡한 과정을 거쳐야하기 때문입니다.

그럼 간단하게 순정과 탈옥에서의 한글패치 차이에 대해 알아보았습니다.
여러분도 한글화 하고 싶으신 어플이 있으시면 우선 외부 언어 파일을 사용하는가..
어플의 자체 폰트를 사용하는가 등을 먼저 체크해보시는 것이 좋을 것 같습니다 ^^
저작자 표시 비영리 변경 금지
신고

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

[iOS 한글화]iOS 어플리케이션의 구조[iOS 한글화]iOS 어플리케이션의 구조

Posted at 2011.09.06 12:57 | Posted in 테마 기획/iOS 한글화 강좌 시즌 1
많은 분들이 기다리시던 iOS 어플리케이션 한글화 강좌..
그 첫번째 글입니다.

iOS어플을 한글화하기 위해서는 우선 iOS 어플의 구조를 알 필요가 있습니다.


iOS 어플의 구조는 위와 같은데 우선 Documents 폴더에는 저장 파일, 추가 다운로드(DLC) 데이터 등이 저장됩니다.
이 저장 데이터들은 iTunes에서 백업할때도 같이 백업되는 데이터이지요.

다음으로 Library 폴더에는 설정 데이터가 저장되는데 중요하지 않은 부분이므로 넘어갑니다.

[APPNAME]에는 실제 어플 데이터가 들어있는 폴더입니다.([APPNAME]라고 해둔 것은 폴더 이름이 어플 이름 약자로 되어있기 때문입니다.)
어플 구동 파일이나 리소스, 어플 정보 등의 중요한 데이터는 모두 이 안에 들어있습니다.
이 구동 파일안에 스크립트가 들어있거나 폰트가 들어있는 경우 이 구동파일도 수정을 해줘야합니다만, 이 경우 순정에서는 패치가 불가능하게 됩니다.(파일 교체시 권한 때문에 구동 불가능)

다음으로 [APPNAME]안에 Localizable라는 구역이 있는데, en.lproj, ko.lproj 등의 뒤에 lproj가 붙은 폴더가 이에 속합니다.
이 안에는 각 국가별 리소스, 언어 파일(Localizable.strings)이 들어있고, 어플리케이션을 실행하고 iOS의 언어와 맞는 lproj 폴더를 찾은 뒤 없다면 기본 lproj를 불러옵니다.
어플이 현지화를 지원하게 설계되어있다면 이 언어 파일만 수정하면 쉽게 한글화가 가능합니다.(lproj 폴더가 존재하는 경우 Localizable.strings를 수정한 뒤 ko.lproj 폴더를 생성하고 그 안에 넣어주면 한글 iOS에서는 이 파일을 불러오게 됩니다.)

iOS 어플의 구조에 대해 간단히 알아보았습니다.
다음 강좌에서는 실제로 어플과 게임을 하나씩 한글화 해보려고 하며, 실제 어플 내의 폴더를 보면서 한글화를 시도해보겠습니다.
많이 기대해주세요~ 
저작자 표시 비영리 변경 금지
신고
  1. 이전 댓글 더보기
  2. 좋은 정보입니다~ 이미지로 표현되니 참 이해가 잘 되네요~
    잘 보고 갑니다~
  3. 음... 그래도 어렵네요 전 ㅠ
  4. 어려워요..ㅠ
    제가 무식해서.ㅠ
  5. 어렵지만
    다음편이 기대 됩니다 ㅎㅎ

    행복한 밤 되세요 ^^
  6. 안드로이드는 없나요...ㅎㅎ
  7. 자세한 정보인데,
    제게는 좀 어렵네요.
    잘보구 가요~~
  8. 어렵지만 ^^
    하나씩 배워봐야겠어요
    좋은 정보 감사요 ^^
  9. 음악이 갑자기 나와서 깜놀..ㅠ
    잘보구 갑니당^^
  10. 오늘 처음 들렀습니다.
    유용한 정보들이 많을것 같아 흥미롭습니다.^^
  11. 역시나 좋은 정보 잘보고 갑니다.^^
  12. 좋은 정보는 맞는데
    저같은 원시폰 사용자는 패쓰겠지요?..ㅎㅎ
    잘 보았습니다.
  13. 앗....급 어려운데요..ㅎㅎㅎ
    잘보고 갑니다.~~

    행복한 하루 되세요~
  14. 앞으로의 포스팅이 더더욱 기대가 되네요^^
    저두 아이폰에 관심이 많은지라,,,ㅎㅎ 좋은 하루 되세요 !
  15. 오홋 ㅎㅎ
    잘은 모르는 부분이지만,,
    앞으로 조금씩 익혀나갈 수 있겠군요 ^^
  16. 저에게는 조금은 어렵지만. 앞으로 많이 많이 배울께요
  17. 어려워요..ㅠ
    많이 배우고 갑니다^^
  18. 비밀댓글입니다
  19. 나도할수있다
    프로그래밍에 관심이 많은 공학도 입니다
    겸사겸사 공부도 할겸 한패 해보려고 하는데 어려울거 같네요 ㅠㅠ
    조금씩 강좌 따라하다보면 실력이 늘고 개념좀 잡히겟죠? ㅎ
    다음 강좌 기대하겠습니다
  20. dd
    매일오는데 빨리 다음강좌 업데이트해주세요
    너무 궁금해요 ㅠ

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

[게임 한글화 강좌]메인 페이지[게임 한글화 강좌]메인 페이지

Posted at 2011.09.01 00:09 | Posted in 이전 카테고리/한글화 강좌 시즌 1


게임 한글화 강좌는 시즌 2 연재중입니다.

강좌 소개 : 게임의 한글화가 어떤 작업인지 소개하며 실습을 통해 실제 게임 한글화의 과정을 알아봅니다.
게임 한글화에 도전해보고 싶으신 분들에게 추천하는 강좌입니다.

다만 이 강좌는 PC게임 한글화에는 적합하지 않으므로 PC 게임 한글화에 관한 내용은 다른 강좌를 읽어주시기 바랍니다.

시즌 2 강좌에서는 닌텐도DS 뿐만 아니라 다양한 기종의 한글화에 대해서도 안내해드리며
시즌 1 강좌도 보충/추가 업데이트 예정입니다.

중/고급 강좌도 같이 진행합니다.

업데이트 내역
2011/09/01 - 중급 강좌 1편 업데이트됨
2011/08/29 - 초급 강좌 5편 (Season 2) 업데이트됨


-------------------- 초급 강좌 -----------------
 

----------------- Season 1 -----------------

[2011/03/19] 제 1장 - 게임 한글화의 개요

[2011/03/20] 제 2장 - 게임 분석하기 1편 (이론편)

[2011/04/01] 제 3장 - 게임 분석하기 2편 (실습 1편)

[2011/04/09] 제 4장 - 게임 분석하기 3편 (실습 2편)

시즌 1 강좌는 이론을 중점으로 작성되었습니다.
기본적인 사항들에 대해 알고 계시다면 시즌 2 강좌를 참고하시기 바랍니다.
----------------- Season 2 
-----------------
 

제 5장 - 포인터의 개념 - 업데이트 되었습니다.


제 6장 - 제어코드 - 작성중입니다.


제 7장 - 고유번호와 폰트 확장 - 작성중입니다.


제 8장 - 게임의 그래픽과 팔레트 - 작성중입니다.


제 9장 - 데이터 압축 LZ77 - 작성중입니다.


시즌 2 강좌는 한글화 작업을 실제로 해보면서 배워가는 강좌입니다.
한글화 특성상 게임마다 구조가 다르기 때문에 모든 게임의 한글화에 대해 알 수 없겠지만
이를 해결하는 테크닉 등도 알려드립니다.


----------------- 중급 강좌 -----------------

제 1장 - 하드웨어 구조를 이해하자

제 2장 - GB(게임보이) 하드웨어 구조

중급 강좌는 게임기의 하드웨어 구조(Specifications,흔히 말하는 스펙) 에 대해 차근차근 알아보는 강좌입니다.
어떤 게임이든 한글화를 하기 전에 해당 게임기의 구조를 알면 좀더 쉽게 한글화가 가능합니다. 
 

----------------- 고급 강좌 -----------------

제 1장 - 폰트 확장에 도전해보자! 제 1편

고급 강좌는 게임 시스템 코드를 수정하여 게임을 한글화 하는 방법에 대해 알아봅니다.
폰트 확장/인터페이스 수정 등에 대해서도 알아봅시다.

폰트 확장편에서는 [포켓몬스터 적]의 폰트를 확장해봅니다.
처음 보시는 분들은 햇갈리실 수도 있지만 고유번호나 제어코드에 대해 이해하고 계시다면 어느순간 내용이 이해가 되실겁니다.
배포된 한글패치 버전에서는 더 많은 루틴이 삽입되었으나 강좌에서는 폰트 확장에 필요한 부분만 해볼 예정입니다.


----------------- 특별 강좌 -----------------

[2011/05/18] 특별 강좌 - NFTR 폰트에 대해 알아보기!

만든 패치를 배포해보자! Xdelta 사용하기

iOS 어플리케이션의 구조
저작자 표시 비영리 변경 금지
신고
  1. 게임만 한글화 하는군요. 게임을 안해 모르지만 게임 외의 한글화된 프로그램을 많이 접했는데 대단히 힘든 작업 같았어요. 해 보신 분이 잘 알겠지만 한글화 간단하지 않을 것 같아요.
    • 2011.05.06 18:52 신고 [Edit/Del]
      프로그램 한글화는 리소스로 이루어진 경우가 많아서 비교적 쉬운편이긴 하지만 한글화 자체가 상당히 근성이 필요한 작업 같습니다. ㅎㅎ
  2. 시리우스
    파이팅! 폰트확장강의를 보는날까지!
  3. 비밀댓글입니다
  4. 비밀댓글입니다
    • 2011.07.06 09:58 신고 [Edit/Del]
      대사 파일 보다는 우선 폰트 파일을 찾으셔야 할것 같습니다.
      게임 기종에 따라 다르지만 크리스탈 타일의 타일보기 메뉴에서 여러가지 방식의 타일을 선택해서 찾아보시기 바랍니다.
  5. 도와주세요
    폰트 찾으려고 프로야구팀을만들자2라는 게임을 열었는데 폴더가 FSI.CT하고 PACK 밖에 없네요 ; PACK에는 sound_date.sdat하고 ytkykApp.pac 밖에 없어요... 폰트를 못찾겠음;
    • 2011.07.29 01:32 신고 [Edit/Del]
      폰트가 arm9.bin이나 ytkykApp.pac 둘중에 한곳에 있겠군요.
      pac 파일은 이름만으로 볼때는 패키징 파일인것 같습니다.
      프로야구팀을만들자1은 한글화 된걸로 알고 있으므로 해당 롬파일을 참고하는것도 좋을 것 같습니다.
  6. GameCube
    제목만 봐도 참으로 알차보이는 강좌목록이로군요.
    제대로된 한글화강좌를 찾기가 쉽지가 않은데
    정말 감사합니다.
  7. GameCube
    여기서 물어보는게 될지 모르겠으나 일단 한번 질문을 올려봅니다.
    폰트확장을 하기위해선 코드를 수정해야하는데 그 코드는 어떤 프로그램을 사용해야 수정이 가능한건가요?
    081B126A 46C0 nop 를
    081B126A 46C0 lsl r1,r2,10h 로 바꾼다던지
    참고로 GBA기종입니다. 감사합니다.
    • 2011.08.28 09:48 신고 [Edit/Del]
      GBA 기종의 폰트 확장은 NO$GBA라는 프로그램으로 수정을 한 뒤 코드를 보고 Hex 에디터에서 수정해주면 됩니다.
      또는 NO$GBA에서 DUMP 기능을 사용하여 텍스트 형태로 덤프를 한 뒤 프로그램을 제작해서 이를 코드로 변환해주는 방법이 있습니다.
  8. 비밀댓글입니다
  9. 비밀댓글입니다
    • 2011.09.03 10:40 신고 [Edit/Del]
      예전에 저도 그쪽 카페 회원이었고 아이폰용 역전재판등을 진행하고 있었으나 당시 카페스탭이었던 드로아크의 행패와 운영진의 대처가 흐지부지해서 그 카페를 나온겁니다.^^
      아이폰 한글화 강좌도 작성할 예정입니다.
      기대해주십시오.
  10. 항상 쌩초보 강좌만 보면서
    좀 더 업그레이드 판은 없을까하고 생각했는데...
    딱 좋습니다 !!
    완전 고급판으로 그래픽 & 대사 압축 해제 및
    내장 폰트나 고유번호 체계(예를들면 한자를 쓰지 않는 게임에서 1바이트로만 폰트를 표현하던데 2바이트도 제어코드 피해서 폰트로 쓸 수 있게 만들기)나 2바이트인 포인터를 3바이트로 늘리기(폰트의 위치를 아예 옯겨서 수정하다보면 - 롬 확장 후 폰트 바로 뒷공간에 빈공간이 없어서 아예 롬이 확장된 곳으로 폰트를 옮겨서 바로 뒤에 빈공간에 생기게 하기 - 기존 폰트 시작 주소가 (YY-CHR로 봤을 경우) 2D595C입니다. 바이트 플립하면 5C 59 2D 근데 폰트 시작 포인터를 찾아보면 5C 59만 나오더군요. 이것을 만약에 301010으로 옮겼다고 칩시다. 그런데 2D1010에 대사가 한개 있어서 그 대사의 시작 포인터를 보면 10 10 인데 새로 옮긴 폰트 시작 포인터도 10 10 이던데 말이죠. 이걸 3바이트까지 늘려버리면 대사 시작 포인터는 10 10 2D가 되어 버리고 폰트 시작 포인터는 10 10 30 이 되어서 중복될 일이 없을텐데 말이죠...? 물론 같은 뱅크에 있지 않을 경우에는 문제가 없지만 같은 뱅크에 있는 경우에는 이런 문제가 생기는 것 같아서요 이런 게임이 존재하는 지는 모르겠지만) 를 바꾸기 등등은 너무 힘드시겠죠...?
  11. fnt
    혹시나 비트맵 폰트 구조 알고계신가요?

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

[NDS]컬드셉트 한글 소개[NDS]컬드셉트 한글 소개

Posted at 2011.04.15 00:00 | Posted in 이전 카테고리/정리중




컬드셉트 DS는 오미야 소프트에서 닌텐도 DS 전용으로 발매한
카드 전략 게임입니다. 


추천은 블로깅에 큰 도움이 됩니다!
손가락 한번 꽉 눌러주세요!

아바타를 결정하는 화면입니다.
이 아바타는 게임 화면에서 사용됩니다. 

셉터는 게임의 플레이어를 의미합니다.
 

셉터의 이름을 결정할 수 있습니다.
 

신규 셉터를 위한 북입니다.
북이란 카드의 조합입니다.
 

메인 메뉴입니다.
스토리 모드, 대전 모드, 여럿이서 대전 등 다양한 메뉴가 있습니다.

하단에는 셉터의 정보가 나타납니다.
 

게임 화면입니다.
브루마블 형식으로 다이스(주사위)를 굴려 캐릭터를 이동합니다.
 

주인이 없는 영토에 크리쳐를 소환해서 자신의 영토로 만들 수 있습니다.
크리쳐를 소환하면 다른 플레이어가 영토에 들어왔을때 전투가 발생하며
전투에서 승리하면 상금을 얻을 수 있습니다.

더 자세한 설명은 게임 메뉴에서 메뉴얼을 참고해 주십시오.
 

컬드셉트 DS 한글패치

컬드셉트 DS는 장기튀김님에 의해 한글화가 되었으며 한글패치 버전 0.99가 공개되어 있습니다.
패치 파일은 장기튀김님의 블로그에서 받으실 수 있고 패치에 필요한
일본어판 롬 파일은 아래에 제공해 드립니다. (롬 파일 용량이 크기 때문에 분할압축하였습니다.)


장기튀김님 블로그 http://blog.naver.com/ljw4702

저작자 표시 비영리 변경 금지
신고
  1. hayate
    수고하셨습니다. ^^
  2. 감사합니다!1꼭 하고 싶었는데..
  3. vo
    추천하고 가요.

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

[GBA]카마이타치의 밤 ADVANCE 한글 소개[GBA]카마이타치의 밤 ADVANCE 한글 소개

Posted at 2011.04.15 00:00 | Posted in 이전 카테고리/정리중



카마이타치의 밤 ADVANCE
춘소프트에서 슈퍼 패미컴용으로 개발한
카마이타치의 밤을 게임보이 어드밴스로 이식한 작품으로
사운드 노벨류 게임입니다.


추천은 블로깅에 큰 도움이 됩니다!
손가락 한번 꽉 눌러주세요!

 
깊은 산속의 펜션 슈프르에서 일어나는 살인사건을 해결해나가며 실제 범인을
찾아내거나 동기 등을 밝혀내야합니다. 

저장 파일은 3개까지 생성할 수 있습니다.

주인공 이름과 애인의 이름도 결정할 수 있습니다.

어떤 선택지를 고르냐에 따라 게임 스토리가 바뀝니다.

게임 내에 선택지에 따른 분기점이 많으며 엔딩도 다양합니다.


카마이타치의 밤 ADVANCE 한글패치

카마이타치의 밤 ADVANCE는 팀 붉은날개에 의해 한글화 되었으며 한글패치 버전 1.01이 공개되어 있습니다.
패치 파일은 붉은날개 홈페이지의 프로젝트 페이지에서 받으실 수 있고 패치에 필요한
일본어판 롬 파일은 아래에 제공해 드립니다.


붉은날개 홈페이지 http://redwing.woweb.net/
저작자 표시 비영리 변경 금지
신고
  1. 젤다사랑
    잘 받아갑니다. 멋진 게임 올려주셔서 감사합니다.

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

티스토리 툴바