Giriş


Bu bölümde uygulamaya Uluslararasılaştırma (Internationalization — I18n) ve Yerelleştirme (Localization — L10n) desteği ekleniyor. Flask-Babel eklentisi kullanılarak uygulama metinleri birden fazla dile çevrilecek, tarih/saat biçimlendirmesi yerelleştirilecek ve özel flask translate CLI komutları oluşturulacak.


Flask-Babel Kurulumu

(venv) $ pip install flask-babel

config.py — Desteklenen Diller Listesi

class Config:
    # ...
    LANGUAGES = ['en', 'es']

app/__init__.py — Flask-Babel Başlatma

from flask import request
from flask_babel import Babel

def get_locale():
    return request.accept_languages.best_match(app.config['LANGUAGES'])

app = Flask(__name__)
# ...
babel = Babel(app, locale_selector=get_locale)

Örnek bir Accept-Language başlığı:

Accept-Language: da, en-gb;q=0.8, en;q=0.7

Python Kaynak Kodunda Çeviri Metni İşaretleme

Çevrilmesi gereken metinler _() fonksiyonuyla sarılır.

Basit Metinler