from odoo import http
class WebsiteLanguageController(http.Controller):
@http.route('/', auth='public', website=True)
def detect_language_and_redirect(self, **kwargs):
# Vérifier si l'utilisateur est déjà sur une URL avec une langue
current_url = http.request.httprequest.path
if current_url.startswith(('/fr', '/en')):
return http.request.render('website.homepage') # Remplacez par votre template d'accueil si nécessaire
# Détection de la langue préférée à partir du navigateur
browser_lang = http.request.httprequest.accept_languages.best_match(['fr', 'en'])
# Si aucune langue détectée, utiliser la langue par défaut
lang_code = browser_lang if browser_lang in ['fr', 'en'] else 'en'
# Définir la langue active dans la session
http.request.env['ir.http']._set_lang(lang_code)
# Rediriger l'utilisateur vers la page d'accueil dans la langue correspondante
return http.request.redirect('/%s' % lang_code)
Skip to Content
Contact us about anything related to our company or services.
We'll do our best to get back to you as soon as possible.
My Company
- 3575 Fake Buena Vista Avenue
- +1 555-555-5556
- info@yourcompany.example.com
from odoo import http
class WebsiteLanguageController(http.Controller):
@http.route('/', auth='public', website=True)
def detect_language_and_redirect(self, **kwargs):
# Vérifier si l'utilisateur est déjà sur une URL avec une langue
current_url = http.request.httprequest.path
if current_url.startswith(('/fr', '/en')):
return http.request.render('website.homepage') # Remplacez par votre template d'accueil si nécessaire
# Détection de la langue préférée à partir du navigateur
browser_lang = http.request.httprequest.accept_languages.best_match(['fr', 'en'])
# Si aucune langue détectée, utiliser la langue par défaut
lang_code = browser_lang if browser_lang in ['fr', 'en'] else 'en'
# Définir la langue active dans la session
http.request.env['ir.http']._set_lang(lang_code)
# Rediriger l'utilisateur vers la page d'accueil dans la langue correspondante
return http.request.redirect('/%s' % lang_code)