Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar

# Translations

Blueprint files can be translated with xgettext. To mark a string as translated, use the following syntax:

    _("translated string")

You’ll need to use a few xgettext flags so it will recognize the format:

    --from-code=UTF-8
    --add-comments
    --keyword=_
    --keyword=C_:1c,2

If you’re using Meson’s i18n module, you can use the ‘glib’ preset:

    i18n.gettext('package name', preset: 'glib')

## Contexts

Unlike most other translation libraries, which use a separate string key, gettext uses the English translation as the key. This is great for effortlessly adding new strings–you just mark them as needing translation–but it can cause conflicts. Two strings that are the same in English, but appear in different contexts, might be different in another language! To disambiguate, use `C_` instead of `_` and add a context string as the first argument:

    C_("shortcuts window", "Quit")

The context string will be shown to translators, but will not appear in the UI.