diff --git a/moulinette/interfaces/api.py b/moulinette/interfaces/api.py index 13b66b1e..2b8afa93 100644 --- a/moulinette/interfaces/api.py +++ b/moulinette/interfaces/api.py @@ -165,12 +165,6 @@ class _ActionsMapPlugin(object): context -- An instance of Route """ - try: - # Attempt to retrieve and set locale - m18n.set_locale(request.params.pop('locale')) - except: - pass - def wrapper(*args, **kwargs): # Bring arguments together params = kwargs @@ -449,8 +443,17 @@ class Interface(BaseInterface): return json_encode(callback(*args, **kwargs)) return wrapper + ## Attempt to retrieve and set locale + def api18n(callback): + try: + m18n.set_locale(request.params.pop('locale')) + except: + pass + return callback + # Install plugins app.install(apiheader) + app.install(api18n) app.install(_ActionsMapPlugin(actionsmap)) # Append default routes diff --git a/moulinette/interfaces/cli.py b/moulinette/interfaces/cli.py index 528a4d7f..6ade958e 100644 --- a/moulinette/interfaces/cli.py +++ b/moulinette/interfaces/cli.py @@ -67,6 +67,8 @@ def pretty_print_dict(d, depth=0): def get_locale(): """Return current user locale""" lang = locale.getdefaultlocale()[0] + if not lang: + return '' return lang[:2] # CLI Classes Implementation -------------------------------------------