目次
なぜ言語切り替え機能は必要か
ウェブアプリケーションが国際化するにつれ、多言語対応はほぼ必須となってきます。この機能があることで、多様なユーザーに対応でき、サービスの利用者数を増やすことが可能です。ビジネス側のメリット
開発側のメリット
基本的な実装方法
Pythonでの多言語対応(言語切り替え機能)の実装には、多くのライブラリやフレームワークがありますが、ここでは Flask を使った簡単な例を紹介します。必要なライブラリ
- Flask
- Flask-Babel
コード例
from flask import Flask, request
from flask_babel import Babel
app = Flask(__name__)
babel = Babel(app)
@babel.localeselector
def get_locale():
# ユーザーの言語設定を取得
return request.accept_languages.best_match(['en', 'ja'])
@app.route('/')
def index():
return 'Hello World!'
コードの解説
このコードは、Flask と Flask-Babel を使用しています。`@babel.localeselector` で言語の設定を行い、`request.accept_languages.best_match([‘en’, ‘ja’])`でユーザーが設定している言語(この場合は英語と日本語)を自動で取得します。応用例
ユーザー設定に基づく言語切り替え
@app.route('/set_language/')
def set_language(language=None):
session['language'] = language
return redirect(url_for('index'))
コードの解説
ユーザーが手動で言語を設定できるようにする例です。`/set_language/特定のページだけ言語切り替え
@app.route('/about')
@babel.localeselector
def about():
if 'language' in session:
return session['language']
else:
return request.accept_languages.best_match(['en', 'ja'])
コメント