Skip to content

Commit d73f1a5

Browse files
committed
feat(translation-store)): add subject to inform on fallback lang use
1 parent c47f39f commit d73f1a5

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

projects/ngx-translate/src/lib/translate.service.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ export interface FallbackLangChangeEvent {
6565
translations: InterpolatableTranslationObject;
6666
}
6767

68+
export interface FallbackLangUseEvent {
69+
lang: string;
70+
missingTranslationKey: string;
71+
}
6872
/** @deprecated use `FallbackLangChangeEvent` */
6973
export type DefaultLangChangeEvent = FallbackLangChangeEvent;
7074

projects/ngx-translate/src/lib/translate.store.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Injectable } from "@angular/core";
22
import { Observable, Subject } from "rxjs";
33
import {
44
FallbackLangChangeEvent,
5+
FallbackLangUseEvent,
56
InterpolatableTranslation,
67
InterpolatableTranslationObject,
78
LangChangeEvent,
@@ -21,6 +22,7 @@ export class TranslateStore {
2122
private _onLangChange: Subject<LangChangeEvent> = new Subject<LangChangeEvent>();
2223
private _onFallbackLangChange: Subject<FallbackLangChangeEvent> =
2324
new Subject<FallbackLangChangeEvent>();
25+
private _onFallbackLangUse: Subject<FallbackLangUseEvent> = new Subject<FallbackLangUseEvent>();
2426

2527
private fallbackLang: Language | null = null;
2628
private currentLang!: Language;
@@ -127,6 +129,10 @@ export class TranslateStore {
127129
this.fallbackLang != null &&
128130
this.fallbackLang !== this.currentLang
129131
) {
132+
this._onFallbackLangUse.next({
133+
lang: this.currentLang,
134+
missingTranslationKey: key,
135+
});
130136
text = this.getValue(this.fallbackLang, key);
131137
}
132138
return text;

0 commit comments

Comments
 (0)