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 |
PresentationaddTranslations(translations: Record<string, string>): void;
|
Parameters| Name | Type | Description |
|---|
| translations | Record<string, string> | |
Returnsvoid
|
clearTranslations() |
|---|
Clear all translations |
PresentationclearTranslations(): void;
|
Returnsvoid
|
getLanguage() |
|---|
Get current language as signal |
PresentationgetLanguage(): WritableSignal<string>;
|
ReturnsWritableSignal<string>
|
getTranslations() |
|---|
Get all current translations |
PresentationgetTranslations(): Record<string, string>;
|
ReturnsRecord<string, string>
|
instant() |
|---|
Get instant translation (synchronous) Supports parameter interpolation using {{param}} syntax |
Presentationinstant(key: string, params?: Record<string, unknown> | undefined): string;
|
Parameters| Name | Type | Description |
|---|
| key | string | | | params | Record<string, unknown> | undefined | |
Returnsstring
|
setLanguage() |
|---|
Simulate language change |
PresentationsetLanguage(language: string): void;
|
Parameters| Name | Type | Description |
|---|
| language | string | |
Returnsvoid
|
setTranslations() |
|---|
Set the translation dictionary |
PresentationsetTranslations(translations: Record<string, string>): void;
|
Parameters| Name | Type | Description |
|---|
| translations | Record<string, string> | |
Returnsvoid
|
translate() |
|---|
Translate a key and return an Observable Supports parameter interpolation using {{param}} syntax |
Presentationtranslate(key: string, params?: Record<string, unknown> | undefined): Observable<string>;
|
Parameters| Name | Type | Description |
|---|
| key | string | | | params | Record<string, unknown> | undefined | |
ReturnsObservable<string>
|
translateValidationError() |
|---|
Simulate translation for validation errors Uses validation.${errorKind} pattern |
PresentationtranslateValidationError(errorKind: string, params?: Record<string, unknown> | undefined): Observable<string>;
|
Parameters| Name | Type | Description |
|---|
| errorKind | string | | | params | Record<string, unknown> | undefined | |
ReturnsObservable<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'
});