Translations - Blueprint documentation

Skip to content
Back to top
View this page

# 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')

You must use double quotes for the translated strings in order for gettext to recognize them. Newer versions of blueprint will warn you if you use single quotes.

## 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.