Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 번역이 필요한 모든 텍스트는 키 값(변수)으로 사용한다.
    • Note

      alert(TEXT_LOGIN); // OK

      alert("로그인"); // NG

  • 새로 추가한 텍스트는 관리를 위해 아래 위치에 업데이트 한다.

    • Code Block
      languagepy
      themeEclipse
      파일: /uconnec-server/things/texts.py
      
      
      from django.utils.translation import gettext as _
      
      
      TEXT_LIST_COMMON = {
          _('TEXT_UCONNEC'),
      }
      
      TEXT_LIST_ACCOUNTS = {
          _('TEXT_SIGNUP'),
          _('TEXT_LOGIN'),
      }
    • _('<키 값>'), 형식으로 추가함

      • 번역 텍스트는 이 곳에 추가 안 함(별도 텍스트 파일로 관리)
    • 비슷한 항목별로 적절히 categorize 시킴 (보기 편한 목적, 기능적으로는 상관 없음)
    • 이곳(및 Django project 내에)에 gettext(as _) 형식으로 적어둬야 Django 에서 텍스트를 모아줌
  • 텍스트 추가 후 아래 명령어 입력
    • Code Block
      languagebash
      themeEclipse
      ~/uconnec-server$ python manage.py makemessages -a
    • /uconnec-server/uconnec/locale 에 en / kr 각각 django.po 파일이 생성 및 업데이트 됨

    • Note
      titleCannot find msgfmt error 발생할 경우

      $ brew link gettext --force


텍스트 번역하기

...

  • Django 의 dev server 혹은 상용 서버의 admin 페이지 접속
  • 하단의 Translations 링크 클릭
  • 화면 안내에 따라 텍스트 번역 후 저장

    • 저장시 변경 내용이 .po 파일에 업데이트 되며 .mo 파일(실제 gettext가 사용하는 binary file) 자동 생성됨

...