diff options
Diffstat (limited to 'gui')
| -rw-r--r-- | gui/src/shared/gettext.ts | 13 | ||||
| -rw-r--r-- | gui/src/shared/localization-contexts.ts | 29 |
2 files changed, 41 insertions, 1 deletions
diff --git a/gui/src/shared/gettext.ts b/gui/src/shared/gettext.ts index cf7e91830a..cfee187351 100644 --- a/gui/src/shared/gettext.ts +++ b/gui/src/shared/gettext.ts @@ -3,6 +3,7 @@ import fs from 'fs'; import { po } from 'gettext-parser'; import Gettext from 'node-gettext'; import path from 'path'; +import { LocalizationContexts } from './localization-contexts'; const SOURCE_LANGUAGE = 'en'; const LOCALES_DIR = path.resolve(__dirname, '../../locales'); @@ -70,7 +71,17 @@ function setErrorHandler(catalogue: Gettext) { const gettextOptions = { sourceLocale: SOURCE_LANGUAGE }; -export const messages = new Gettext(gettextOptions); +declare class GettextWithAppContexts extends Gettext { + pgettext(msgctxt: LocalizationContexts, msgid: string): string; + npgettext( + msgctxt: LocalizationContexts, + msgid: string, + msgidPlural: string, + count: number, + ): string; +} + +export const messages = new Gettext(gettextOptions) as GettextWithAppContexts; messages.setTextDomain('messages'); setErrorHandler(messages); diff --git a/gui/src/shared/localization-contexts.ts b/gui/src/shared/localization-contexts.ts new file mode 100644 index 0000000000..7f408c0a83 --- /dev/null +++ b/gui/src/shared/localization-contexts.ts @@ -0,0 +1,29 @@ +export type LocalizationContexts = + | 'generic' + | 'login-view' + | 'auth-failure' + | 'launch-view' + | 'error-boundary-view' + | 'connect-container' + | 'connect-view' + | 'tunnel-control' + | 'connection-info' + | 'notifications' + | 'in-app-notifications' + | 'account-expiry' + | 'select-location-view' + | 'select-location-nav' + | 'settings-view' + | 'navigation-bar' + | 'account-view' + | 'redeem-voucher-view' + | 'redeem-voucher-alert' + | 'preferences-view' + | 'preferences-nav' + | 'advanced-settings-view' + | 'advanced-settings-nav' + | 'advanced-settings-view-wireguard' + | 'wireguard-key-view' + | 'wireguard-keys-nav' + | 'support-view' + | 'select-language-nav'; |
