Skip to main content
Version: 4.x.x

API of Tolgee for Angular

NgxTolgeeModule

The Tolgee Module. Use it to configure Tolgee for module.

Example usage:

@NgModule({
declarations: [
...
],
imports: [
...
NgxTolgeeModule.forRoot({
staticData: {
en: () => import('../i18n/en.json'),
cs: () => import('../i18n/cs.json'),
},
preloadFallback: true,
apiUrl: environment.tolgeeApiUrl,
apiKey: environment.tolgeeApiKey,
ui: UI,
})
],
})

Method forRoot

Returns ModuleWithProviders<NgxTolgeeModule>. Enables passing configuration to the module.

  • parameter options - Tolgee configuration properties described in configuration section.

TranslateService

Contains methods to translate text used by other components.

method get

Returns Observable providing current translation value depending on current language. When language or translation is changed, new value is emitted. This method is wrapping the string in development mode.

this.subscription = this.translateService
.get('this_is_a_key_with_params', { key: 'value' }, 'Default value')
.subscribe((val) => (this.translated = val));
  • returns observable emitting the translated value - Observable<string>
  • parameter key - The key to translate.
  • parameter params - Parameters to interpolate.
  • parameter defaultValue - Value to render, when no translation is provided.

method getSafe

Returns Observable providing current translation value depending on current language. When language or translation is changed, new value is emitted. This method doesn't wrap the key, so in-context localization won't be supported.

this.subscription = this.translateService
.getSafe('this_is_a_key_with_params', { key: 'value' }, 'Default value')
.subscribe((val) => (this.translated = val));
  • returns observable emitting the translated value - Observable<string>
  • parameter key - The key to translate. string
  • parameter params - Parameters to interpolate. Record<string, any>
  • parameter defaultValue - Value to render, when no translation is provided. string

method instant

Returns the translated value synchronously. When language or translation is changed it emits new value. This method is wrapping the key in development mode.

const translated = this.translateService
.instant('this_is_a_key_with_params', { key: 'value' }, 'Default value')
  • returns - the translated value string
  • parameter key - The key to translate. string
  • parameter params - Parameters to interpolate. Record<string, any>
  • parameter defaultValue - Value to render, when no translation is provided. string

method instantSafe

Returns the translated value synchronously. When language or translation is changed it emits new value. This method doesn't wrap the key, so in-context localization won't be supported.

const translated = this.translateService
.instantSafe('this_is_a_key_with_params', { key: 'value' }, 'Default value')
  • returns - the translated value string
  • parameter key - The key to translate. string
  • parameter params - Parameters to interpolate. Record<string, any>
  • parameter defaultValue - Value to render, when no translation is provided. string

method getCurrentLang

Returns current language

this.translateService.getCurrentLang() // "en"

returns string

method setLang

Sets current language

this.translateService.setLang('en')

parameter language

The language to be set.

method start

Runs the Tolgee.run method from @tolgee/core library.

onLangChange

EventEmitter<never> emitting every time language is changed.

onTranslationChange

EventEmmitter<TranslationData> emitting when translation is changed.

type TranslationData

{
key: string; // the key which was changed
translations: { // new translations for languages
[key: string]: string;
};
}

e.g.

{
key: "i_am_a_key"
translations: {
"en": "English translation",
"de": "German translation"
};
}

TComponent

Component with t attribute selector. Replaces the content of the element with the translated value.

  • Input key - Key to translate
  • Input params - Object of parameters to interpolate
  • Input default - Default value
<div t key="this_is_a_key_with_params" [params]="{key: 'value', key2: 'value2'}"></div>

translate pipe

Translates a key with specific parameters or default value. The pipe is wrapping strings in development mode to enable in-context editing.

Syntax:

key to translate | translate[:default value]
// or
key to translate | translate[:parameters]
// or
key to translate | translate[:defafault value][:parameters]

Example usages:

{{ 'this_key_does_not_exist' | translate:'This is default'}}
{{ 'this_is_a_key_with_params' | translate:{key: 'value', key2: 'value2'} }}
{{ 'this_is_a_key_with_params' | translate:"Default value":{key: 'value', key2: 'value2'} }}
  • Default value of type string
  • Parameters are Record<string, any>

stranslate pipe

Translates a key with specific parameters or default value. It provides the same API as the translate pipe, but it doesn't wrap the key in development mode, so in-context editing is not available.

Syntax:

key to stranslate | stranslate[:default value]
// or
key to stranslate | stranslate[:parameters]
// or
key to stranslate | stranslate[:defafault value][:parameters]

Example usages:

{{ 'this_key_does_not_exist' | stranslate:'This is default'}}
{{ 'this_is_a_key_with_params' | stranslate:{key: 'value', key2: 'value2'} }}
{{ 'this_is_a_key_with_params' | stranslate:"Default value":{key: 'value', key2: 'value2'} }}
  • Default value of type string
  • Parameters are Record<string, any>