@ogs-gmbh/ngx-translate
Version:
A lightweight, REST-based Angular i18n library designed for seamless internationalization with minimal setup. It supports dynamic language switching & flexible translation management via RESTful APIs.
24 lines (23 loc) • 942 B
TypeScript
import { Subject } from "rxjs";
export type ScopedFile = Readonly<Record<string, string>>;
export type MultiScopedFile = Readonly<Record<string, ScopedFile>>;
export type ParsedMultiScopedFile = {
readonly scopeName: string | null;
readonly file: ScopedFile;
};
export type ParsedMultiScopedFiles = ParsedMultiScopedFile[];
export type LoadedScope = {
readonly scope: string | null;
file: ScopedFile;
};
export type LoadedScopes = LoadedScope[];
export type LocaleLoadedScopes = Record<string, LoadedScopes>;
export type NotifierScope = {
readonly scope: string | null;
notifiers: Array<Subject<ScopedFile>> | null;
};
export type NotifierScopes = NotifierScope[];
export type MultiScopeBasedNotifierScope = ReadonlyArray<Subject<ScopedFile>> | null;
export type MultiScopeBasedNotifierScopes = Record<string, MultiScopeBasedNotifierScope> & {
notifiers?: ReadonlyArray<Subject<ScopedFile>> | null | undefined;
};