dynamic-forms-primeng / Class

FakeTranslationService

Decorators:@Injectable

Fake translation service for testing dynamic text functionality. Provides Observable-based translation methods with language switching simulation.

Methods

addTranslations()

Add translations to the existing dictionary

Presentation
addTranslations(translations: Record<string, string>): void;
Parameters
NameTypeDescription
translations
Record<string, string>
Returns
void

clearTranslations()

Clear all translations

Presentation
clearTranslations(): void;
Returns
void

getLanguage()

Get current language as signal

Presentation
getLanguage(): WritableSignal<string>;
Returns
WritableSignal<string>

getTranslations()

Get all current translations

Presentation
getTranslations(): Record<string, string>;
Returns
Record<string, string>

instant()

Get instant translation (synchronous) Supports parameter interpolation using {{param}} syntax

Presentation
instant(key: string, params?: Record<string, unknown> | undefined): string;
Parameters
NameTypeDescription
key
string
params
Record<string, unknown> | undefined
Returns
string

setLanguage()

Simulate language change

Presentation
setLanguage(language: string): void;
Parameters
NameTypeDescription
language
string
Returns
void

setTranslations()

Set the translation dictionary

Presentation
setTranslations(translations: Record<string, string>): void;
Parameters
NameTypeDescription
translations
Record<string, string>
Returns
void

translate()

Translate a key and return an Observable Supports parameter interpolation using {{param}} syntax

Presentation
translate(key: string, params?: Record<string, unknown> | undefined): Observable<string>;
Parameters
NameTypeDescription
key
string
params
Record<string, unknown> | undefined
Returns
Observable<string>

translateValidationError()

Simulate translation for validation errors Uses validation.${errorKind} pattern

Presentation
translateValidationError(errorKind: string, params?: Record<string, unknown> | undefined): Observable<string>;
Parameters
NameTypeDescription
errorKind
string
params
Record<string, unknown> | undefined
Returns
Observable<string>

Example usage

TestBed.configureTestingModule({
  providers: [
    { provide: TranslationService, useClass: FakeTranslationService }
  ]
});

const service = TestBed.inject(FakeTranslationService);
service.setTranslations({
  'form.username.label': 'Username',
  'validation.required': 'This field is required'
});