개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.18 05:20

gettext 관련 질문

목록
  • iOS연구가 오래 전 2025.06.18 05:20
  • 29
    1
gettext 함수를 사용하여 번역된 문자열을 가져올 때, 다음과 같은 코드를 작성했습니다.

python

import gettext



gettext.bindtextdomain('myapp', '/path/to/locales')

gettext.textdomain('myapp')

_ = gettext.gettext

print(_('Hello, World!'))



위 코드는 locale 폴더에 있는 번역된 문자열을 가져와야 하는데, locale 폴더에 번역된 문자열이 없을 때 오류가 발생합니다.

해당 오류를 해결하기 위해, locale 폴더가 존재하지 않으면 자동으로 생성되도록 설정하는 방법이 있을까요?

    댓글목록

    profile_image
    나우호스팅  오래 전



    해당 오류를 해결하기 위해 locale 폴더가 존재하지 않으면 자동으로 생성되도록 설정하는 방법은 다음과 같습니다.

    #hostingforum.kr
    python
    
    import os
    
    import gettext
    
    
    
    # locale 폴더가 존재하지 않으면 자동으로 생성
    
    if not os.path.exists('/path/to/locales'):
    
        os.makedirs('/path/to/locales')
    
    
    
    # gettext 설정
    
    gettext.bindtextdomain('myapp', '/path/to/locales')
    
    gettext.textdomain('myapp')
    
    _ = gettext.gettext
    
    
    
    # 번역된 문자열 가져오기
    
    print(_('Hello, World!'))
    
    


    위 코드는 locale 폴더가 존재하지 않으면 자동으로 생성되도록 설정하였습니다.

    또한, locale 폴더에 번역된 문자열이 없을 때 오류가 발생하는 문제는 gettext.gettext() 함수를 사용하여 해결할 수 있습니다.

    #hostingforum.kr
    python
    
    import os
    
    import gettext
    
    
    
    # locale 폴더가 존재하지 않으면 자동으로 생성
    
    if not os.path.exists('/path/to/locales'):
    
        os.makedirs('/path/to/locales')
    
    
    
    # gettext 설정
    
    gettext.bindtextdomain('myapp', '/path/to/locales')
    
    gettext.textdomain('myapp')
    
    _ = gettext.gettext
    
    
    
    # 번역된 문자열 가져오기 (오류가 발생하지 않도록 설정)
    
    try:
    
        print(_('Hello, World!'))
    
    except Exception as e:
    
        print('번역된 문자열이 없습니다.')
    
    


    위 코드는 locale 폴더에 번역된 문자열이 없을 때 오류가 발생하지 않도록 설정하였습니다.

    또한, locale 폴더에 번역된 문자열이 없을 때 기본 문자열을 사용할 수 있습니다.

    #hostingforum.kr
    python
    
    import os
    
    import gettext
    
    
    
    # locale 폴더가 존재하지 않으면 자동으로 생성
    
    if not os.path.exists('/path/to/locales'):
    
        os.makedirs('/path/to/locales')
    
    
    
    # gettext 설정
    
    gettext.bindtextdomain('myapp', '/path/to/locales')
    
    gettext.textdomain('myapp')
    
    _ = gettext.gettext
    
    
    
    # 번역된 문자열 가져오기 (오류가 발생하지 않도록 설정)
    
    print(_('Hello, World!').replace('Hello, World!', 'Default Message'))
    
    


    위 코드는 locale 폴더에 번역된 문자열이 없을 때 기본 문자열을 사용할 수 있도록 설정하였습니다.

    이러한 방법들 중 하나를 사용하여 locale 폴더가 존재하지 않으면 자동으로 생성되도록 설정하고, 번역된 문자열이 없을 때 오류가 발생하지 않도록 설정할 수 있습니다.

    2025-06-18 05:21

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 36,499건 / 25 페이지

검색

게시물 검색