[python] PyInstaller를 사용하여 작성한 프로그램의 인터페이스를 다국어 지원하는 방법은?

PyInstaller는 Python 프로그램을 독립 실행 파일로 변환하는 도구입니다. 이 도구를 사용하여 작성한 프로그램의 인터페이스를 다국어 지원하는 방법은 메시지 리소스 파일을 사용하는 것입니다. 메시지 리소스 파일은 각 언어에 대한 텍스트와 해당 언어로의 번역을 포함하는 파일입니다.

아래는 PyInstaller를 사용하여 다국어 지원을 위한 코드 예시입니다.

  1. 다국어 지원을 위한 메시지 리소스 파일 생성

먼저, 각 언어별로 텍스트와 번역을 포함하는 메시지 리소스 파일을 생성해야 합니다. 이 예시에서는 한국어(ko)와 영어(en) 두 가지 언어를 지원한다고 가정하겠습니다.

messages_ko.txt:

안녕하세요, 환영합니다.

messages_en.txt:

Hello, welcome.
  1. 프로그램에서 언어 선택하기

다국어 지원을 위해 사용자가 선택한 언어를 프로그램에서 인식해야 합니다. 사용자의 언어 선택은 환경 변수, 설정 파일 또는 사용자 입력을 통해 이루어질 수 있습니다. 이 예시에서는 language 변수를 사용하여 언어를 선택하도록 하겠습니다.

import os

def get_language():
    language = os.getenv('LANGUAGE') or 'en' # 환경 변수에서 언어 가져오기
    return language

def load_messages(language):
    messages = {}
    messages_file = f'messages_{language}.txt'

    with open(messages_file, 'r', encoding='utf-8') as f:
        for line in f:
            key, value = line.strip().split(',')
            messages[key] = value

    return messages

def main():
    language = get_language()
    messages = load_messages(language)

    print(messages['welcome_message'])

if __name__ == '__main__':
    main()

위의 코드에서는 get_language 함수를 통해 사용자가 선택한 언어를 가져오고, load_messages 함수를 통해 해당 언어에 맞는 메시지 리소스 파일을 로드합니다. 이후 welcome_message 키를 사용하여 인사 메시지를 출력합니다.

  1. PyInstaller로 변환하기

위의 코드를 PyInstaller를 사용하여 독립 실행 파일로 변환합니다.

pyinstaller --onefile my_program.py

변환된 실행 파일을 실행하면 사용자의 언어 설정에 따라 다국어 인터페이스가 나타납니다.

이를 통해 PyInstaller를 사용하여 작성한 프로그램의 인터페이스를 다국어로 지원할 수 있습니다.

참고 자료: