ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OSX] 맥 앱스토어 App 한글화
    프로그래밍/OSX 2011. 11. 13. 17:19

    맥 앱스토어에서 받은 앱으로 해봤습니다.

    실행후에 가끔씩 정상적으로 작동하지 않는 경우가 있던데,
    체크섬이 있는건지 앱 자체에 뭔가 수정못하게 처리가 되어있는건지는 조금 더 살펴 봐야할것 같습니다.


    잘 작동합니다. nib 파일 수정할때에 시스템, 또는 코어와 연결된 부분 잘못 건드리지 않도록만 주의하면 됩니다.  예전에 혹시 비디오게임(롬파일) 한글패치 해보신분들은 아시겠지만, 그때처럼 
    영문 - 한글 수정하면서 번지수가 뒤로 밀려서 엉뚱한값으로 깨진다거나 하는 일은 없습니다.  좋지요 ?


     
    시도해본 녀석은 Wallpaers HD 라는 맥용 배경화면 다운로드용 앱입니다.


    1. 우선 열어보자 

     
    어셈블러나 디버거 까지 가기전에, 우선 바로 바꿀수 있는 리소스가 있는지 확인해봤습니다.
     파인더에서 '컨텐츠 내용보기'로 app 파일 내부로 들어가봅니다.
    어라 ? 죄다 그림파일인데다가 인코딩도 안되어서 그냥 편집이 가능합니다. 

    recent, random, Popular 쪽을 찾아서 우선 하나 바꾸어줬습니다.
    (그냥 포토샵에서 다시 편집해서 넣었습니다)

     
    한글로 바뀌었고, 제대로 작동하네요 ^^
    우선 이미지 파일은 가끔 인코딩되어서  안 열어지는 놈이 아니면, 그냥 편집해서 바꾸어도 
    정상적으로 작동합니다.

    이미지 파일 압축되어 있지 않으면, 그냥 열어지고, 이미지 파일 편집해서 그대로 제자리에 넣으면 끝입니다.

     


    2. 상단 메뉴를 수정해요



    마찬가지로 아까 열었던 리소스 폴더에서 language.lproj 라는 디렉토리에서
    xxxxx.nib라는 파일을 찾아봅니다.

     
    여기엔 MainMenu.nib (74 KB) 로 되어있네요,

    * info.plist에서 언어코드 바꾸면 디렉토리명도 함께 바꾸어주어야합니다


    또 열어보겠습니다.
     우선 XCode로 열어보지만 열리지 않습니다 .


    ....
    XCode에서 열리지 않습니다. 
    일반 에디터로 다시 열어봅니다.






    작업중의 xib의 xml형식이 아닙니다.

    컴파일할때에 바이너리 형식으로 압축해서 용량을 줄이는것 같아보입니다.
    수정방지를 위한것 같아보이지는 않으니, 간단히 변환하면 됩니다.
    터미널에서 plutil을 사용합니다.

    ..$ plutil -convert xml1 MainMenu.nib



    바이너리 형식을 xml1 형으로 변환해줍니다. (-o 옵션을 주고 변환하면 다시 바이너리로 변경할때 용량이 틀어지네요, 적어도 현재 파일에서는 그렇습니다)



    변환후에 확인해보면 용량이 74KB에서 565KB로 늘어나 있습니다.
    아무것도 바꾸지 않고 다시 변환하면 74KB로 그대로 돌아와야 정상입니다.

    다시 돌리는 명령어는 아래.

    ..$ plutil -convert binary1 MainMenu.nib




    암튼 지금 원래대로 돌리지는 마시고, 이제 일반 에디터로도 열리고, 프로퍼티 리스트 에디터로도 편집 가능합니다.




    제가 사용한건 PListEdit Pro 입니다. http://www.fatcatsoftware.com/plisteditpro/ 에서 구입하거나, 평가판을 무료로 받을 수 있습니다. 가끔 사용하면 무료로 충분합니다.(기능제약 없음)

    objects 아이템들을 살펴보면 대충 200~ 1209번 까지의 요소들이 상단 메뉴로 보입니다. 
    하나만 고쳐보겠습니다.



    1200번 'HELP'를 '도움말'로 바꾸고 저장 한뒤에 다시 plutil사용해서 
    바이너리로 변경합니다.
    변경하는 방법은 위에 적은대로 ,  터미널에서 plutil -convert binary1 MainMenu.nib 입니다.

    타입이 String이라고 전부 바꾸면 안됩니다. 확실히 화면에 표시되는 문자열인것만 바꾸어주세요.




    수정 후 용량이 78KB로 원본보다 4kb 늘었습니다.
    다시 제자리에 옮겨놓고, 실행해보겠습니다.




    스크린샷 보시면, 상단 메뉴바의 마지막 HELP -> 도움말 로 정상적으로 변경되었고, 
    탭메뉴의 이미지도 한글로 잘 표시됩니다. 



    잠깐 해봤지만 맥용 앱을 한글화 하는데에 역공학은 크게 필요하지 않을것 같습니다.


    만약 한글패치를 배포할려고 한다면,
    웹사이트에서 바로 받은 앱의 경우는 이대로 수정해서 재배포가 가능하고,
    앱스토어에서 받은 앱들은 코드싸인되어 있어서 좀 번거로울것 같네요.


    별도로 패치툴을 개발하거나, 스크립트와 함께 배포하는게 최선일것 같습니다. 






    예전에 playXP 커뮤니티가 있을시절에 윈도우용 프로그램들 몇번인가 한글패치 해보고....
    일본 비디오게임들 한글패치 한두번 해본뒤로 거의 10년만에 해봤는데, 
    세상이 좋아지는 만큼 수정도 쉬워지나봅니다... 물론, 여전히 까탈스러운건 까탈스럽지만요.

    문득 생각난게, 스퀘어 바하무트 라군 열심히 뜯어서 폰트 바꾸고 오프닝 조금 바꾸다가 말았던 기억이 나는데요
    그거 한글패치가 아직까지 안나오고 있네요...  그때 저 말고 같은 게임 패치하던 분이 계셨던거 같은데
    그분도 접으셨나 봅니다. :D 

    '프로그래밍 > OSX' 카테고리의 다른 글

    폰트리뷰[MAC] 다시 올렸습니다.  (0) 2011.09.16
    [MAC] 알아두면 편리한 단축키  (0) 2011.08.31
    Xcode4 MyCompanyName 을 변경하자.  (1) 2011.04.13
    MAC OS X filesystem  (0) 2011.04.04
    살짝 기대되는걸요  (0) 2011.01.07

    댓글

Designed by Tistory.