Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Translator

Hierarchy

  • Translator

Index

Constructors

constructor

  • Create a new translator.

    Returns Translator

Properties

Private availableLanguages

availableLanguages: string[] = []

Private currentLanguage

currentLanguage: string

Private translationEmitter

translationEmitter: Subject<object> = new Subject<translation>()

Private translations

translations: object

Type declaration

Methods

addTranslation

  • addTranslation(language: string, translation: any): void
  • Add translation data to the translator. translation can be a nested object.

    throws

    If language isn't available in translator

    Parameters

    • language: string

      The language for which to add the translation

    • translation: any

      A translation object of the form {id: translationForId}

    Returns void

Private deepFlattenTranslations

  • deepFlattenTranslations(translationObject: any, oldId: string, result: translation): void
  • Parameters

    • translationObject: any
    • oldId: string
    • result: translation

    Returns void

Private flattenTranslations

  • flattenTranslations(translationObject: any): translation
  • Flattens a translation object into flat ids.

    Parameters

    • translationObject: any

    Returns translation

    flattened translation object

getAvailableLanguages

  • getAvailableLanguages(): string[]
  • Get the available languages.

    Returns string[]

getLanguage

  • getLanguage(): string
  • Get the currently used language.

    throws

    if no language is set yet

    Returns string

guessLanguage

  • guessLanguage(): void
  • Guess user language from user agent if available, or use first available language otherwise

    throws

    If no language is available in translator

    Returns void

observe

  • observe(id: string): Observable<string>
  • Subscribe to translations for an id.

    Parameters

    • id: string

    Returns Observable<string>

    an Observable that emits new translations

setAvailableLanguages

  • setAvailableLanguages(availableLanguages: string[]): void
  • Set the available languages. The first one is the default language.

    Parameters

    • availableLanguages: string[]

      The new default language, e.g. ["en", "de", "ar"]

    Returns void

setLanguage

  • setLanguage(language: string): void
  • Set the language to use for translations.

    throws

    If language isn't available in translator

    Parameters

    • language: string

      The language to use for translations, e.g. "en"

    Returns void

setTranslation

  • setTranslation(language: string, translation: any): void
  • Overwrite translation data on the translator. translation can be a nested object.

    throws

    If language isn't available in translator

    Parameters

    • language: string

      The language for which to add the translation

    • translation: any

      A translation object of the form {id: translationForId}

    Returns void

subscribe

  • subscribe(id: string, callback: function): void
  • Subscribe to translations for an id.

    Parameters

    • id: string
    • callback: function
        • (text: string): void
        • Parameters

          • text: string

          Returns void

    Returns void

Private throwIfNotAvailable

  • throwIfNotAvailable(language: any): void
  • Throws an error if language isn't available in translator

    throws

    If language isn't available in translator

    Parameters

    • language: any

    Returns void

translate

  • translate(id: string): string
  • Translate an id into the corresponding translation for the current language

    throws

    if no language is set yet

    throws

    if no translation is available for that id

    Parameters

    • id: string

    Returns string