extensionUtils: Add gettext convenience helpers

Florian Müllner requested to merge fmuellner/gnome-shell:gettext into main

We have initTranslations() for binding an extension's gettext domain, but nothing to help with using gettext from an extension.

Such help would be useful though, as an extension that calls textdomain() like a normal application would inadvertently changes the default domain for the whole gnome-shell process.

Instead, extensions have to use domain-specific versions of the gettext functions:

const Gettext = imports.gettext.domain('my-extension');
const _ = Gettext.gettext;

Make this a bit easier by adding those functions directly to the extensions object when initTranslations() is called, then expose helper functions for calling them.

(Picked up from !1193 (closed))

Fixes #2594 (closed)

Merge request reports