UNPKG

@jsverse/transloco

Version:

The internationalization (i18n) library for Angular

41 lines (40 loc) 1.9 kB
import { Injector, Signal } from '@angular/core'; import { Translation, TranslocoScope } from './transloco.types'; import { HashMap } from './utils/type.utils'; type ScopeType = string | TranslocoScope | TranslocoScope[]; type SignalKey = Signal<string> | Signal<string[]> | Signal<string>[]; type TranslateSignalKey = string | string[] | SignalKey; type TranslateSignalParams = HashMap | HashMap<Signal<string>> | Signal<HashMap>; type TranslateSignalRef<T> = T extends unknown[] | Signal<string[]> ? Signal<string[]> : Signal<string>; type TranslateObjectSignalRef<T> = T extends unknown[] | Signal<string[]> ? Signal<Translation[]> : Signal<Translation>; /** * Gets the translated value of a key as Signal * * @example * text = translateSignal('hello'); * textList = translateSignal(['green', 'blue']); * textVar = translateSignal('hello', { variable: 'world' }); * textSpanish = translateSignal('hello', { variable: 'world' }, 'es'); * textTodosScope = translateSignal('hello', { variable: 'world' }, { scope: 'todos' }); * * @example * dynamicKey = signal('hello'); * dynamicParam = signal({ variable: 'world' }); * text = translateSignal(this.dynamicKey, this.dynamicParam); * */ export declare function translateSignal<T extends TranslateSignalKey>(key: T, params?: TranslateSignalParams, lang?: ScopeType, injector?: Injector): TranslateSignalRef<T>; /** * Gets the translated object of a key as Signal * * @example * object = translateObjectSignal('nested.object'); * title = object().title; * * @example * dynamicKey = signal('nested.object'); * dynamicParam = signal({ variable: 'world' }); * object = translateObjectSignal(this.dynamicKey, this.dynamicParam); */ export declare function translateObjectSignal<T extends TranslateSignalKey>(key: T, params?: TranslateSignalParams, lang?: ScopeType, injector?: Injector): TranslateObjectSignalRef<T>; export {};