# -*- coding: utf-8 -*- # ---------------------------------------------------------------------------------------------------------------------- # This is an app-specific example router # # This simple router is used for setting languages from app/languages directory # as a part of the application path: app//controller/function # Language from default.py or 'en' (if the file is not found) is used as # a default_language # # See /examples/routes.parametric.example.py for parameter's detail # ---------------------------------------------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------------------------------------------- # To enable this route file you must do the steps: # 1. rename /examples/routes.parametric.example.py to routes.py # 2. rename this APP/routes.example.py to APP/routes.py (where APP - is your application directory) # 3. restart web2py (or reload routes in web2py admin interface) # # YOU CAN COPY THIS FILE TO ANY APPLICATION'S ROOT DIRECTORY WITHOUT CHANGES! # ---------------------------------------------------------------------------------------------------------------------- from gluon.fileutils import abspath from gluon.languages import read_possible_languages possible_languages = read_possible_languages(abspath('applications', app)) # ---------------------------------------------------------------------------------------------------------------------- # NOTE! app - is an application based router's parameter with name of an application. E.g.'welcome' # ---------------------------------------------------------------------------------------------------------------------- routers = { app: dict( default_language=possible_languages['default'][0], languages=[lang for lang in possible_languages if lang != 'default'] ) } # ---------------------------------------------------------------------------------------------------------------------- # NOTE! To change language in your application using these rules add this line in one of your models files: # ---------------------------------------------------------------------------------------------------------------------- # if request.uri_language: T.force(request.uri_language)