Browse Source

i18n: Add a Babel localeselector function

Gu1 11 years ago
parent
commit
561e6cba6c
2 changed files with 12 additions and 4 deletions
  1. 5 1
      ffdnispdb/__init__.py
  2. 7 3
      ffdnispdb/default_settings.py

+ 5 - 1
ffdnispdb/__init__.py

@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 # -*- coding: utf-8 -*-
 
 
-from flask import Flask, g
+from flask import Flask, g, current_app, request
 from flask.ext.babel import Babel
 from flask.ext.babel import Babel
 from flask.ext.sqlalchemy import SQLAlchemy, event
 from flask.ext.sqlalchemy import SQLAlchemy, event
 from flask.ext.mail import Mail
 from flask.ext.mail import Mail
@@ -14,6 +14,9 @@ sess = MySessionInterface(db)
 cache = NullCache()
 cache = NullCache()
 mail = Mail()
 mail = Mail()
 
 
+def get_locale():
+    return request.accept_languages.best_match(current_app.config['LANGUAGES'].keys())
+
 
 
 def create_app(config={}):
 def create_app(config={}):
     global babel, db, mail, sess
     global babel, db, mail, sess
@@ -25,6 +28,7 @@ def create_app(config={}):
     else:
     else:
         app.config.from_object(config)
         app.config.from_object(config)
     babel.init_app(app)
     babel.init_app(app)
+    babel.localeselector(get_locale)
     db.init_app(app)
     db.init_app(app)
 
 
     with app.app_context():
     with app.app_context():

+ 7 - 3
ffdnispdb/default_settings.py

@@ -1,6 +1,10 @@
 # -*- coding: utf-8 -*-
 # -*- coding: utf-8 -*-
 
 
 SQLALCHEMY_DATABASE_URI = 'sqlite:///../ffdn-db.sqlite'
 SQLALCHEMY_DATABASE_URI = 'sqlite:///../ffdn-db.sqlite'
-CRAWLER_MIN_CACHE_TIME=60*60 # 1 hour
-CRAWLER_MAX_CACHE_TIME=60*60*24*14 # 2 week
-CRAWLER_DEFAULT_CACHE_TIME=60*60*12 # 12 hours
+CRAWLER_MIN_CACHE_TIME = 60*60 # 1 hour
+CRAWLER_MAX_CACHE_TIME = 60*60*24*14 # 2 week
+CRAWLER_DEFAULT_CACHE_TIME = 60*60*12 # 12 hours
+LANGUAGES = {
+    'en': 'English',
+    'fr': 'Français',
+}