마젠토 최신 버전 언어팩(폴더,파일)만 추출!

6월 21, 2009 by · 21 Comments
Filed under: 다국어 쇼핑몰 솔루션 

마젠토 최신 버전에서 언어팩만 추출하는 방법입니다.

아래 방법으로 언어팩을 추출하면 한글화 작업 시간도 절약할 수 있고 편리합니다.

마젠토 홈페이지에 있는 언어팩(구 버전 1.2)를 내려받아서 번역 하고 이것을 최신 버전과 호환시키지 않고 그대로 추가하게 되면, 일부 페이지에서 어긋나는 부분이 발생합니다.

또 구 버전을 번역한 다음, 최신 버전과 호환시키려면, 최신 버전에 추가, 변경된 라인을 찾아내서 다시 번역하고 줄 순서에 맞게 넣어 줘야 하는 수고를 한번 더하게 됩니다.

아래 설명은 마젠토 최신 버전에서 언어팩만 따로 추출하는 방법입니다.
최신 버전에서 추출한 언어팩으로 번역 작업을 하면, 한글화 작업 중 버전이 업데이트되어도 8~30라인의 적은 부분만 추가되거나 변경되므로 수정도 간편하고 시간도 절약할 수 있습니다.

마젠토 최신 버전 언어팩 추출 순서

magento1-3-2-1 최신 버전을 내려받습니다.
magento 최신 버전을 홈페이지에서 내려받은 다음, 압축을 해제합니다.

magento 폴더를 엽니다
magento 폴더를 엽니다.

app 폴더만 남겨놓고 다른 폴더는 모두 삭제하거나, app 폴더만 복사하여 이동시킵니다.
app 폴더만 남겨놓고 다른 폴더와 파일을 모두 삭제합니다.
또는 app 폴더만 복사하여 작업이 편한 곳으로 이동시킵니다.
(아래 설명부터는 간편한 설명을 위해 복사 이동은 하지 않고 삭제하는 설명만 합니다.)

design과 locale 폴더만 남기고 모두 삭제합니다.
app 폴더를 열면 위처럼 몇 개의 폴더와 파일이 있습니다.
이 중 design과 locale 폴더만 남기고 모두 삭제하고 나서, design 폴더를 엽니다.


frontend 폴더만 남기고 모두 삭제합니다.

frontend 폴더만 남기고 모두 삭제하고,  frontend 폴더를 엽니다.

그럼 default 폴더가 있고, 이 폴더를 열면 또 default 폴더가 있고, 폴더를 또 열면 아래 이미지의 폴더가 보입니다.

locale 폴더만 남기고 삭제합니다.
locale 폴더만 남기고 다른 폴더를 삭제한 다음,  locale 폴더를 엽니다.

en_US 폴더의 이름을 ko_KR로 바꿔줍니다.

en_US 폴더가 있을 겁니다, 폴더 이름을 ko_KR로 변경합니다.
ko_KR 폴더 안에는 translate.csv 파일이 한개 있습니다.

처음의 app 폴더로 이동합니다.
app 폴더를 열면 처음 순서에서 다른 폴더를 모두 삭제했으므로 design과 locale 폴더만 있을 겁니다.
locale 폴더를 엽니다.
locale를 엽니다.


en_US 폴더의 이름을 ko_KR로 바꿔줍니다.

en_US 폴더가 있을 겁니다.
en_US 폴더 이름을 ko_KR로 바꿔줍니다.
ko_KR 폴더 안에는 csv 문서 파일 수십 개와, template 폴더가 있습니다.
template 폴더 안에는 수십 개의 html 문서가 있습니다.

위 app 폴더 안에 있는 csv 파일과 html 파일을 모두 한국어로 번역하면 완벽한 한글 마젠토가 됩니다.

마지막으로 app 폴더 사본을 만들어 놓으시고 이 폴더는 번역을 하지 마세요.
이후 마젠토 최신 버전이 나오면, 변경된 언어라인 부분을 비교하여 찾아내는 데 사용할 수 있습니다.




Comments

21 Responses to “마젠토 최신 버전 언어팩(폴더,파일)만 추출!”
  1. 워드프레스어려웡 님의 말:

    워드프레스 네이버에 검색되게 하려면 어떤 다른 플러그인을 설치해야하나요?

  2. 왕초보 님의 말:

    마젠토에서 CSV파일받아서 번역해서 올리는것 말고..
    inline번역이라고 있는 거 같은데, 화면보면서 바로 수정할 수 있는 기능(CSCART에서는
    이 기능때문에 아주 번역이 직관적이고, 빠르게 할 수 있어서 좋았는데요..)이
    어디에 있나요? 못찾겠네요?

  3. jas 님의 말:

    저 이대로 한글화 작업을 하려고하는데

    locale폴더에 그럼 en_US와 ko_KR두개를 둘다 업로드하는건가여

    그렇다면 어디서 이걸 골라 설정할수잇는지 궁금합니다

    가이면 그냥 영어를 지우고 한글로만 올리는것인지….

    • Maeon 님의 말:

      안녕하세요.

      질문 중~ locale폴더에 그럼 en_US와 ko_KR두개를 둘다 업로드하는건가여
      —> 둘다 업로드하면 en_US폴더는 기존에 설치된 en_US폴더에 덮에씌우게 됩니다. ko_KR은 기존에 설치된게 없으므로 추가되는 언어팩이지요.

      locale폴더에 변경한 ko_KR 폴더와 app/design 폴더의 정확한 하위 위치에 ko_kr폴더를 넣을 려면 귀찮고 힘들잖아요.
      위 순서대로 app폴더 안의 다른 폴더를 삭제하고 필요한 en_US폴더를 ko_KR로 변경합니다. 그런다음 app 폴더를 “자기도메인/마젠토/” 에 업로드 하면 쉽겠지요.

      질문 중~ 그렇다면 어디서 이걸 골라 설정할수잇는지 궁금합니다
      —> 언어를 추가했으면 마젠토 관리자에서 추가한 언어를 설정합니다.
      http://maeon.com/install/magento-install/language

      위 방법으로 설명한 이유는 마젠토 홈에 있는 언어팩( http://www.magentocommerce.com/langs )이 자주 업그레이드 되는 마젠토 최신버전을 따라오지 못하기 때문입니다.

  4. jiny 님의 말:

    이번부터 bluehost.com을 사용중입니다.
    ixwebhosting.com에서는 아무런 문제가 없던 마젠토가 불루호스트로 서버 이전을 한후 인스톨을 해보니 한글화가 문제가 됩니다..
    전혀 한글화가 안됩니다.인라인에서 한글을 해놓고 다시 보기를 해도 여전히 영어로 남아있네요
    혹시 부루호스팅 사용하시는분 있으신지…
    속도는 월등히 ixweb보다는 좋은데 한글화 때문에 큰일입니다….

    • Maeon 님의 말:

      안녕하세요.

      인라인으로 번역을 하신 후 웹서버를 새로 고쳐보시기 바랍니다.
      시스템->Configuration -> Web->
      Search Engines Optimization 메뉴에서
      Use Web Server Rewrites : Yes
      체크하시고
      Save Config 를 눌러 보세요.

  5. 정보광 님의 말:

    덧붙이자면, CSV 파일 번역 방식은 아마도 사라지지 않을까 싶습니다. Inline 번역이 월등히 우수하므로, Inline 번역 결과물을 DB에서 뽑아서, 독립 모듈로 뿌릴 수 있는 방법을 연구해 봐 주실 수 있을지요?

    지금 95% 정도 번역이 완료된 상태이고, 나머지 5%는 인라인 번역 기능이 말을 안듣는 바람에 눈만 멀뚱거리고 쳐다보고 있습니다. 참고로, Inline 번역을 하게되면, 기존 CSV 번역과는 전혀 다른 번역 결과물이 나오는데, 물론 csv보다 훨씬 깔끔하고, 일관성이 있으며, 직관적입니다.

    재미삼아 마젠토로 줌라같은 CMS (Content Management System) 사이트를 만들어 봤습니다. 워드프레스 익스텐션을 설치하면 더 재밌을 것 같은데, MySql을 공유해야 된다기에 또 다 날릴까봐 그냥 html로 작업해 봤습니다.

    http://magento.maru.net

    관리자 화면은 공개하기가 좀 그렇습니다. 자칫 DB를 날려버리면, 지난 몇 주 고생한 한글 모듈이 덩달아 날아갈 듯 싶어서요.

    이번 주에 한글 파일을 뽑아내고 마젠토를 새로 깔아서 입혀볼 참입니다.

  6. 정보광 님의 말:

    메온님이 잘 정리해 주셨는데, 제가 직접해보니, CSV 파일은 썩 바람직한 번역 방법이 아닌 듯 싶습니다.

    번역 품질만 보자면, Inline 번역이 훨씬 좋은데, 그 이유는 문맥을 파악하면서 번역할 수 있으므로, 오역이나 반역(?)이 확연히 줄어들고, CSV 파일로 번역한 것보다 훨씬 고품질의 번역 결과물이 나옵니다.

    그런데 문제가 좀 있는 것이…

    1. Inline 번역을 하게되면, csv 파일을 건드리지않고 DB에 바로 쓰기 때문에, 한글 언어팩을 뽑아내려면, DB에서 core_translate 라는 모듈을 다이렉트로 빼 내야 한다는 문제입니다. 달리 간편한 방법이 없고, 저는 DB에 대해 도통 모르는 사람이라서..어딜 찾아봐야 할 지 아직 엄두도 못내고 있습니다.

    2. Inline 기능이 다소 불안정해서, 간혹 시스템이 말을 안 듣습니다. 제가 지금 그런데요. 며칠 전부터 Inline 번역 기능이 원인 불상으로 먹혀들지가 않아서, 번역을 마무리를 못하고 있습니다. 사용자 화면은 잘 먹히는 데 관리자 화면이 완전히 먹통 모드입니다.

    지난 주말에 다른 사람의 도움을 받아 core_translate 파일을 뽑아서 간단히 DB에 올리는 프로그램을 작성하려고 했었는데, 이거…마젠토를 다시 깔고, 기존 마젠토에서 뽑아낸 core_translate 테이블을 입혀서 번역을 이어가는 방법 밖에는 없을 듯 싶군요.

    지금처럼, 사람들 마다 제각기 독립적으로 머리를 싸메고 마젠토랑 아웅다웅 엎치락뒤치락하는 건 좋은 현상이 아닌 듯 싶어요.

    • Maeon 님의 말:

      정보광님 안녕하세요.
      Inline 번역이 쉽고 편하긴 하지만, 문제점도 있습니다.

      저도, 정보광님과 마찬가지로 오류가 있습니다.
      프랑스와, 한글이 서로 섞이거나, 웹서버를 새로 고쳐도 수정한 언어가 끝까지 바뀌지 않고, 같은 단어를 3번 수정했는데 2번째 수정한 단어가 보이는 등..

      오류의 원인을 알 수 없어서,
      오류 0%, 백업도 간단하고, 안전한 CSV 번역 방식을 선택했습니다.
      그리고 USB 메모리에 저장해서 가지고 다니면서, 로그인할 필요없이 틈틈이 번역도 할 수 있을 것 같습니다.

      정보광님! 오류의 원인을 100% 해결할 수 없을 때는, 좀 구식이긴 해도 CSV 번역 방식으로 변경 하는 게 좋지 않을까? 생각됩니다.

      • 정보광 님의 말:

        메온님 말씀에 동의합니다. 일단 안전하게 core_translate 파일을 다룰 방법을 모르므로, inline 번역을 토대로 다시 csv 파일을 편집하는 수 밖에 없을 듯 싶군요. csv 파일 방식은 동일한 내용도 반복적으로 번역해야 하고, 문맥을 알 수 없어 엉뚱한 번역이 속출하므로, 단 한 번 번역으로 끝나며, 정확한 문맥을 제공하는 인라인 번역에 비해 대략 세 배 정도 노력과 시간이 더 소요됩니다.

        그러나, 다분히 원시적이긴 하지만, 달리 뾰족한 방법이 없을 땐, 구식이 곧 상식인 법이죠. 다만, 번역의 순서를 기억해 둘 필요가 있습니다.

        1. 번역기를 돌리는 초벌 번역은 일종의 번역 프로토를 짜보는 수준에 불과하며, 실제 번역물로서는 결코 사용해서는 안될 듯 싶습니다.

        2. 인라인 번역이 가능하다면 최대한 인라인 번역으로 전체 윤곽을 잡고, 다시 csv 파일로 옮기는 작업을 해야 하는데, 이걸 서로 맞추기가 말처럼 쉽지가 않습니다. 인라인의 특정 단어가 csv 파일의 어디에 위치하는 지를 적지 않은 파일 들 속에서 찾아내기가 쉽지 않아요. 특히, 같은 단어가 여러 파일들에 동시에 나타날 경우는 파일마다 찾아다니며 전부 수정해 줘야 합니다. 한 마디로 골때리는 시추에이션이죠.

        3. 직역이 끝나면, 의역을 통해 한국어에는 필요없는 쓸데없는 사족들 (영어로 dungling이라던가…)을 제거하는 작업을 해야하는데, 바로 이 부분이 말 그대로 전문가의 손길이 필요한 부분이지 싶습니다.

        하나의 소프트웨어를 번역하는 일은 영화나 책을 번역하는 것과는 또 달라서, 먼저 번역자가 해당 프로그램의 작동 방식을 완전히 이해해야 할 뿐 아니라, 언어적 감각도 상당히 뛰어나야 하는 데, 소프트웨어 번역의 경우, 최대한 짧고 간략하게 정확한 의미를 전달해야 하는 특성이 강하기 때문이라 생각합니다.

        개발비가 수백 억이 투입된 MS Office나 이를 벤치마킹한 OpenOffice 같은 대형 프로그램 말고는 제대로 한글화가 이뤄진 프로그램이 없는 것도 이런 이유 때문이 아닐까 싶군요.

        아침 식전에 말이 길었군요. ^^

        • 정보광 님의 말:

          메온님, 노파심에서 드리는 말씀인데요. 계속보니 제가 하는 작업하고 메온님이 하시는 일이 중복이 되고 있는 느낌이라서요.

          마젠토하고 프레스타샵은 제가 한글화를 마무리하는 단계니깐, 메온님까지 굳이 시간과 노력을 그 쪽에 투입하실 필요는 없지 싶습니다.

          만약 시간적 여유가 되시면, 마젠토 메뉴얼을 정리해 보심이 어떨지요? 저는 그 쪽으로 전혀 시간 여유가 안 됩니다.

          • Maeon 님의 말:

            메뉴얼이랑 기타 등등 모두 깔끔하게 한 곳으로 정리를 하면 좋긴 할 것 같습니다.

            그러나 우선은 본업인 웹비지니스(작은 인터넷 쇼핑몰 합니다.)에 충실해야,
            함께 일하는 사업 파트너도 저도, 밥먹고 살수 있지 않겠습니까 ^_^?

            틈틈히 시간은 내고 있지만,
            저역시 마젠토 운전을 배우고 있는 많은 사람 중 한명이고, 특별히 메뉴얼 같은 것을 정리할 수 있는 수준은 안됩니다.

            그러나 조금씩 진도는 나가므로 앞으로는 고급 기능들도 접근해 보고, 간간히 소개하도록 하겠습니다.

        • Maeon 님의 말:

          맞습니다.
          기능을 이해하지 못하고 보이는 글만 번역하면 전혀 엉뚱한 번역이 되기도 합니다.

          이부분은 인라인 번역이 어느정도 해소를 해주기는 하지만,.. csv 번역은 기계로 한번 거친 다음, 처음으로 돌아가서 다시 한번 솔질 해줘야 하는 수고가 필요합니다.

          그다음 틈틈히 어색한 부분은 다시 파일을 찾고, 라인 줄 찾아서 재수정 해줘야 하고,,,

          손도 많이 가는 작업이 되지요.

          • 정보광 님의 말:

            메온님, 혹시 마젠토 내에서 여러 스토어나 웹 사이트를 구성해 보셨나요? 스토어나 웹사이트를 만드는 건 쉬운데, 스토어들끼리 옮겨가는 방법을 모르겠군요.

            하나의 웹 사이트 내에 두 개의 스토어를 만들어 봤는데, 새로 만든 스토어를 방문해 볼 방법이 없습니다.

            ㅋㅋ

            아시면 가르쳐 주시길…

            • Maeon 님의 말:

              안녕하세요

              저도 다중몰은 지금 배우는 중이어서..

              직업상 처리해야 급한 업무들이 너무 많이 있어서, 한 동안 댓글 적을 짬 조차도 내지 못할 것 같습니다.(NN)

              블로그 관리가 소홀해도 양해 바랍니다.

    • 구글러 님의 말:

      마젠토의 인라인번역(inline translate)이 사람을 좀 헷갈리게 만듭니다.

      화면상에 번역할 언어를 선택함에 있어서,
      보통 마젠토 관리자 화면의 하단에 있는 interface locale 선택박스에서 해당나라를 선택하고
      번역을 하게되는데요.
      이렇게 하는 것이 해당나라의 언어로 번역하는게 절대 아니더군요.
      (가끔 번역이 되었다 안되었다 종잡을 수 없는게 interface local 선택을 왔다갔다 하면서 생기는 착오도 있고…등등)
      Interface Locale을 한국으로 한후, 번역입력하고 DB의 core_translate 테이블을 보면
      locale필드부분에 en_US로 들어가 있습니다. 어떤 Interface locale을 선택하더라도 DB에는 en_US로만 들어갑니다. 뭔가 환경이 en_US로 되어있다고 판단이 들어..다음과 같이 하니까, 되더군요….
      즉, 관리자페이지 번역을 기준으로 말씀드리면,
      해당나라의 언어로 번역을 하려면, Default Config 의 Locale options에서 Locale을 해당나라로 선택해서 다시 로그인해야만 정확히 해당나라의 언어로 번역되더군요.

      관리자페이지 인라인번역하는 방법을 순서대로 정리하면,

      1. 번역하고자 하는 언어의 나라를 먼저 정한다.(예:한국)

      2. System | Configuration 좌측상단에 Current Configuration Scope 선택을 Default Config로 선택한다.

      3. General 탭의 Locale options | Locale를 Korea of South(한국)으로 선택한다.

      4. 로그아웃 하고 다시 로그인하면 interface locale이 한국모드로 되어있다.

      5. System | Configuration | Advanced | Devaloper 탭에서 Translate Inline | Enabled for Admin을 Yes로 설정하여 관리자번역모드로 진입한다.

      6. System | Cache Management 에서 Cache Type이 Translations라고 되어있는 라인을 체크하고 상단의 Action을 Disabled로 선택후, 버튼을 눌러 저장한다.
      (이렇게 해애 번역캐시 비활성화로 매번 DB의 core_translate T/B을 읽습니다.
      만약 번역캐시가 활성화되어있으면, DB에서 읽어서 var/cache디렉토리에 캐시파일로 저장해놓고 이후 계속 캐시파일을 읽어 뿌리는 매커니즘입니다.
      DB를 계속 읽는 것은 원래 부하가 큰작업이라 거의 변하지 않는 데이터인 번역데이터를 캐시매커니즘으로 보완하려 했겠죠.)

      7. 이제 관리자페이지에서 보이는 모든 텍스트를 클릭해서 한국어로 인라인번역한다.
      (이순간, DB core_translate Table에 레코드 한줄이 들어갑니다.)

      8. 하지만, 번역하자마자 화면에 바로 보여지지는 않습니다.
      번역입력완료후 바닥화면을 자동으로 새로고침하지 않기 때문에…
      직접 화면을 F5를 눌러 새로고침해주면 변경된 번역이 보입니다.
      즉, DB에서 읽어와 보여줍니다.

      9. 모든 작업이 끝나면, 위의 번역캐시를 비활성화에서 다시 원래대로 활성화(enable)로 변경해서 저장합니다.

      이런식으로 다른 나라의 언어도 먼저 Default Config에서 설정후 재로그인하여 작업해야합니다. Default Config에서 설정된 나라가 로그인내내 환경변수로 셋팅되어 있는 것으로 생각됩니다. 하단 interface locale에서 어떤 나라를 선택해도 Default Config에 설정된 나라의 언어코드로 먹히게 되어있더군요.
      인라인번역으로 저처럼 고생하실 분이 생길까봐 적어둡니다.

      • 구글러 님의 말:

        음…수정합니다.

        지금 해보니 위와 같이 안해도 되는 거였네여..ㅋㅋ
        원래 하던대로 그냥 해도 되는거였네요..
        인라인번역 창이 뜨면 Store View Specific : 이라고 하는 체크박스가 있는데
        여기에 체크하면 현재스토아뷰의 언어로 저장되는 거였군요..
        하단의 interface locale에서 나라선택후에 인라인번역하면서 창뜨면 Store View Specific
        에만 체크하고 저장하면 해당나라의 코드로 저장됩니다.
        이걸 못봤군여…^^

코멘트..!!

귀하의 의견을..!