mirror of
https://github.com/bitwarden/browser
synced 2025-12-22 19:23:52 +00:00
i18n2service
This commit is contained in:
29
src/services/i18n2.service.ts
Normal file
29
src/services/i18n2.service.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import { I18nService as I18nServiceAbstraction } from 'jslib/abstractions/i18n.service';
|
||||
|
||||
export default class I18n2Service implements I18nServiceAbstraction {
|
||||
locale: string;
|
||||
translationLocale: string;
|
||||
collator: Intl.Collator;
|
||||
inited: boolean;
|
||||
|
||||
constructor(private systemLanguage: string, private i18nService: any) {
|
||||
}
|
||||
|
||||
async init(locale?: string) {
|
||||
if (this.inited) {
|
||||
throw new Error('i18n already initialized.');
|
||||
}
|
||||
|
||||
this.inited = true;
|
||||
this.locale = this.translationLocale = locale != null ? locale : this.systemLanguage;
|
||||
this.collator = new Intl.Collator(this.locale);
|
||||
}
|
||||
|
||||
t(id: string): string {
|
||||
return this.translate(id);
|
||||
}
|
||||
|
||||
translate(id: string): string {
|
||||
return this.i18nService[id];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user