[python] Flask-WTF에서 사용자가 입력한 값을 다국어로 제공하는 방법은 어떻게 되나요?
-
다국어 지원을 위한 라이브러리 설치
먼저, Flask-WTF에서 다국어를 지원하기 위해 Flask-Babel이라는 라이브러리를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다:
pip install flask-babel
-
다국어 설정
Flask 애플리케이션에서 다국어 지원을 위해 다음과 같이 Flask-Babel을 설정해야 합니다:
from flask_babel import Babel from flask import Flask app = Flask(__name__) babel = Babel(app)
-
번역 파일 생성
Flask-Babel을 사용하면 번역할 문자열을 번역 파일에 기록해야 합니다.
messages.po
파일을 생성하고, 다국어로 제공하고자 하는 문자열을 해당 파일에 기록합니다.flask translate init
-
번역 함수 사용
사용자가 입력한 값을 다국어로 제공하려면 다음과 같이 언어 설정과 번역 함수를 사용해야 합니다:
from flask import g, request from flask_babel import gettext @app.before_request def before_request(): g.locale = request.accept_languages.best_match(['en', 'es']) @app.route('/submit', methods=['POST']) def submit(): input_value = request.form.get('input_value') translated_value = gettext(input_value) return f'Translated value: {translated_value}'
위 코드에서
g.locale
설정은 사용자가 원하는 언어로 설정되도록 하며,gettext
함수는 번역 파일에서 문자열을 번역해주는 역할을 합니다.이제 사용자가 입력한 값을 다국어로 제공할 수 있는 Flask-WTF 애플리케이션을 구축할 수 있습니다.
참고 문서: Flask-Babel 공식 문서 (https://flask-babel.tkte.ch/)