Skip to Content
Odoo Menú
  • Registra entrada
  • Prova-ho gratis
  • Aplicacions
    Finances
    • Comptabilitat
    • Facturació
    • Despeses
    • Full de càlcul (IA)
    • Documents
    • Signatura
    Vendes
    • CRM
    • Vendes
    • Punt de venda per a botigues
    • Punt de venda per a restaurants
    • Subscripcions
    • Lloguer
    Imatges de llocs web
    • Creació de llocs web
    • Comerç electrònic
    • Blog
    • Fòrum
    • Xat en directe
    • Aprenentatge en línia
    Cadena de subministrament
    • Inventari
    • Fabricació
    • PLM
    • Compres
    • Manteniment
    • Qualitat
    Recursos humans
    • Empleats
    • Reclutament
    • Absències
    • Avaluacions
    • Recomanacions
    • Flota
    Màrqueting
    • Màrqueting Social
    • Màrqueting per correu electrònic
    • Màrqueting per SMS
    • Esdeveniments
    • Automatització del màrqueting
    • Enquestes
    Serveis
    • Projectes
    • Fulls d'hores
    • Servei de camp
    • Suport
    • Planificació
    • Cites
    Productivitat
    • Converses
    • Artificial Intelligence
    • IoT
    • VoIP
    • Coneixements
    • WhatsApp
    Aplicacions de tercers Odoo Studio Plataforma d'Odoo al núvol
  • Sectors
    Comerç al detall
    • Llibreria
    • Botiga de roba
    • Botiga de mobles
    • Botiga d'ultramarins
    • Ferreteria
    • Botiga de joguines
    Food & Hospitality
    • Bar i pub
    • Restaurant
    • Menjar ràpid
    • Guest House
    • Distribuïdor de begudes
    • Hotel
    Immobiliari
    • Agència immobiliària
    • Estudi d'arquitectura
    • Construcció
    • Property Management
    • Jardineria
    • Associació de propietaris de béns immobles
    Consultoria
    • Empresa comptable
    • Partner d'Odoo
    • Agència de màrqueting
    • Bufet d'advocats
    • Captació de talent
    • Auditoria i certificació
    Fabricació
    • Textile
    • Metal
    • Mobles
    • Menjar
    • Brewery
    • Regals corporatius
    Salut i fitness
    • Club d'esport
    • Òptica
    • Centre de fitness
    • Especialistes en benestar
    • Farmàcia
    • Perruqueria
    Trades
    • Servei de manteniment
    • Hardware i suport informàtic
    • Sistemes d'energia solar
    • Shoe Maker
    • Serveis de neteja
    • Instal·lacions HVAC
    Altres
    • Nonprofit Organization
    • Agència del medi ambient
    • Lloguer de panells publicitaris
    • Fotografia
    • Lloguer de bicicletes
    • Distribuïdors de programari
    Browse all Industries
  • Comunitat
    Aprèn
    • Tutorials
    • Documentació
    • Certificacions
    • Formació
    • Blog
    • Pòdcast
    Potenciar l'educació
    • Programa educatiu
    • Scale-Up! El joc empresarial
    • Visita Odoo
    Obtindre el programari
    • Descarregar
    • Comparar edicions
    • Novetats de les versions
    Col·laborar
    • GitHub
    • Fòrum
    • Esdeveniments
    • Traduccions
    • Converteix-te en partner
    • Services for Partners
    • Registra la teva empresa comptable
    Obtindre els serveis
    • Troba un partner
    • Troba un comptable
    • Contacta amb un expert
    • Serveis d'implementació
    • Referències del client
    • Suport
    • Actualitzacions
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Programar una demo
  • Preus
  • Ajuda
You need to be registered to interact with the community.
All Posts People Badges
Etiquetes (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Etiquetes (View all)
odoo accounting v14 pos v15
About this forum
Ajuda

Changing the error message language based on the selected language in a custom Odoo 17 API

Subscriure's

Get notified when there's activity on this post

This question has been flagged
translationodoo17Odoo17
3304 Vistes
Avatar
chaher


In my Odoo 17 application, I have enabled the Arabic language in the backend. When I access the Odoo website and change the language to Arabic, the error messages are displayed correctly in this language.


However, I have developed a custom API and I want the error messages to change language based on the language chosen by the user. I have created a .po file with the translations and I have created this API to change the language:



@http.route('/api/lang/', type='http', auth="public",csrf=False, cors='*')
def change_lang(self, lang):
    """ :param lang: supposed to be value of `url_code` field """
    try:
        lang_code = request.env['res.lang']._lang_get_code(lang)
        # replace context with correct lang, to avoid that the url_for of request.redirect remove the
        # default lang in case we switch from /fr -> /en with /en as default lang.
        request.update_context(lang=lang_code)
        request.env.user.lang = lang_code
        request.future_response.set_cookie('frontend_lang', lang_code)
        return request.make_response(json.dumps({'success': True,'lang_code':lang_code, 'contxt':  request.env.context, 'env lang': request.env.lang, 'public user': request.env.user.lang}),
                              headers={'Content-Type': 'application/json'})
    except Exception as e:
        return {'success': False, 'error': str(e)}



When I call the URL `/api/lang/ar`, I receive the following response:



{
    "success": true,
    "lang_code": "ar_001",
    "contxt": {
        "lang": "ar_001"
    },
    "env lang": "ar_001",
    "public user": "ar_001"
}



Then, when I call the API that returns an error message, for example `/ar/api/login` or `/api/login`, I receive the following response:



{
    "jsonrpc": "2.0",
    "id": null,
    "result": {
        "success": false,
        "error": "Access denied"
    }
}


The problem is that the error message "Access denied" is not displayed in the selected language (Arabic in this case), but remains in English. [citation:1][citation:2][citation:3][citation:4][citation:5][citation:6][citation:7]


However, if I change the language of my admin account (Mitchell Admin), the error message is then displayed in the selected language. Note that I am not logged in at all, I am accessing as a public user. [citation:8][citation:9][citation:10]


How can I make the error message display in the selected language, even when I am a public user?

0
Avatar
Descartar
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Registrar-se
Related Posts Respostes Vistes Activitat
Send notification to specific users Solved
odoo17 Odoo17 odoo17EE
Avatar
Avatar
2
de set. 25
3205
Error when entering settings
odoo odoo17 Odoo17
Avatar
Avatar
Avatar
2
d’abr. 25
6498
Owl : want to patch the protected method in owl js. Solved
OWL odoo17 Odoo17
Avatar
Avatar
1
de des. 24
3065
Free Sing Up ?? Solved
Odooenterprise odoo17 Odoo17
Avatar
Avatar
Avatar
2
d’ag. 24
7848
Cannot find module "Meeting Rooms" in Odoo17 Solved
odoo17 rooms Odoo17
Avatar
Avatar
1
de jul. 24
3133
Community
  • Tutorials
  • Documentació
  • Fòrum
Codi obert
  • Descarregar
  • GitHub
  • Runbot
  • Traduccions
Serveis
  • Allotjament a Odoo.sh
  • Suport
  • Actualització
  • Desenvolupaments personalitzats
  • Educació
  • Troba un comptable
  • Troba un partner
  • Converteix-te en partner
Sobre nosaltres
  • La nostra empresa
  • Actius de marca
  • Contacta amb nosaltres
  • Llocs de treball
  • Esdeveniments
  • Pòdcast
  • Blog
  • Clients
  • Informació legal • Privacitat
  • Seguretat
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk Slovenščina Español (América Latina) Español Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo és un conjunt d'aplicacions empresarials de codi obert que cobreix totes les necessitats de la teva empresa: CRM, comerç electrònic, comptabilitat, inventari, punt de venda, gestió de projectes, etc.

La proposta única de valor d'Odoo és ser molt fàcil d'utilitzar i estar totalment integrat, ambdues alhora.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now