UNPKG

@anglr/translate-extensions

Version:

Angular module - external translation loader for ngx-translate

24 lines 1.16 kB
import { isPresent } from '@jscrpt/common'; /** * Performs translation of key(s) and calls callback, also listens for language changes * @param key - Key or array of keys to be translated * @param translateService - Translation service used for translation * @param translateCallback - Callback with translated key or keys * @param interpolateParamsGet - Callback used for obtaining interpolation object or objects (use array if key is array) */ export function translateString(key, translateService, translateCallback, interpolateParamsGet) { function translate(key) { const interpolateParams = interpolateParamsGet(); if (Array.isArray(key)) { return key.map((keyValue, index) => translateService.instant(keyValue, (isPresent(interpolateParams) && Array.isArray(interpolateParams)) ? interpolateParams[index] : undefined)); } else { return translateService.instant(key, interpolateParams); } } translateCallback(translate(key)); return translateService.onLangChange.subscribe(() => { translateCallback(translate(key)); }); } //# sourceMappingURL=utils.js.map