Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace for localization-related functionality in the extension API. To use this properly, you must have l10n defined in your extension manifest and have bundle.l10n..json files. For more information on how to generate bundle.l10n..json files, check out the vscode-l10n repo.

Note: Built-in extensions (for example, Git, TypeScript Language Features, GitHub Authentication) are excluded from the l10n property requirement. In other words, they do not need to specify a l10n in the extension manifest because their translated strings come from Language Packs.

Index

Variables

Functions

Variables

bundle: {} | undefined

The bundle of localized strings that have been loaded for the extension. It's undefined if no bundle has been loaded. The bundle is typically not loaded if there was no bundle found or when we are running with the default language.

uri: Uri | undefined

The URI of the localization bundle that has been loaded for the extension. It's undefined if no bundle has been loaded. The bundle is typically not loaded if there was no bundle found or when we are running with the default language.

Functions

  • t(message: string, ...args: (string | number | boolean)[]): string
  • t(message: string, args: Record<string, any>): string
  • t(options: { args?: (string | number | boolean)[] | Record<string, any>; comment: string | string[]; message: string }): string
  • Marks a string for localization. If a localized bundle is available for the language specified by env.language and the bundle has a localized value for this message, then that localized value will be returned (with injected {@link args} values for any templated values).

    example

    l10n.t('Hello {0}!', 'World');

    Parameters

    • message: string

      The message to localize. Supports index templating where strings like {0} and {1} are replaced by the item at that index in the {@link args} array.

    • Rest ...args: (string | number | boolean)[]

      The arguments to be used in the localized string. The index of the argument is used to match the template placeholder in the localized string.

    Returns string

    localized string with injected arguments.

  • Marks a string for localization. If a localized bundle is available for the language specified by env.language and the bundle has a localized value for this message, then that localized value will be returned (with injected {@link args} values for any templated values).

    example

    l10n.t('Hello {name}', { name: 'Erich' });

    Parameters

    • message: string

      The message to localize. Supports named templating where strings like {foo} and {bar} are replaced by the value in the Record for that key (foo, bar, etc).

    • args: Record<string, any>

      The arguments to be used in the localized string. The name of the key in the record is used to match the template placeholder in the localized string.

    Returns string

    localized string with injected arguments.

  • Marks a string for localization. If a localized bundle is available for the language specified by env.language and the bundle has a localized value for this message, then that localized value will be returned (with injected args values for any templated values).

    Parameters

    • options: { args?: (string | number | boolean)[] | Record<string, any>; comment: string | string[]; message: string }

      The options to use when localizing the message.

      • Optional args?: (string | number | boolean)[] | Record<string, any>

        The arguments to be used in the localized string. As an array, the index of the argument is used to match the template placeholder in the localized string. As a Record, the key is used to match the template placeholder in the localized string.

      • comment: string | string[]

        A comment to help translators understand the context of the message.

      • message: string

        The message to localize. If {@link args} is an array, this message supports index templating where strings like {0} and {1} are replaced by the item at that index in the {@link args} array. If args is a Record<string, any>, this supports named templating where strings like {foo} and {bar} are replaced by the value in the Record for that key (foo, bar, etc).

    Returns string

    localized string with injected arguments.