# Translated responses

The Keystone server can provide error responses translated into the language in the `Accept-Language` header of the request. In order to test this in your development environment, there’s a couple of things you need to do.

1. Build the message files. Run the following command in your keystone directory:

    $ python setup.py compile_catalog

This will generate .mo files like keystone/locale/[lang]/LC_MESSAGES/[lang].mo

2. When running Keystone, set the `KEYSTONE_LOCALEDIR` environment variable to the keystone/locale directory. For example:

    $ KEYSTONE_LOCALEDIR=/opt/stack/keystone/keystone/locale uwsgi --http 127.0.0.1:5000 --wsgi-file $(which keystone-wsgi-public)

Now you can get a translated error response:

    $ curl -s -H "Accept-Language: zh" http://localhost:5000/notapath | python -mjson.tool
    {
        "error": {
            "code": 404,
            "message": "\u627e\u4e0d\u5230\u8cc7\u6e90\u3002",
            "title": "Not Found"
        }
    }

this page last updated: 2026-06-11 21:45:03

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug