local locale json from safari app

This commit is contained in:
Kyle Spearrin 2019-08-14 16:54:40 -04:00
parent 68593e9df2
commit 72d0c7d860
2 changed files with 14 additions and 6 deletions

View File

@ -136,8 +136,7 @@ export default class MainBackground {
});
this.storageService = new BrowserStorageService(this.platformUtilsService);
this.secureStorageService = new BrowserStorageService(this.platformUtilsService);
this.i18nService = new I18nService(BrowserApi.getUILanguage(window),
BrowserApi.isSafariApi ? './_locales/' : null);
this.i18nService = new I18nService(BrowserApi.getUILanguage(window));
const cryptoFunctionService = new WebCryptoFunctionService(window, this.platformUtilsService);
this.cryptoService = new CryptoService(this.storageService, this.secureStorageService, cryptoFunctionService);
this.tokenService = new TokenService(this.storageService);

View File

@ -1,10 +1,19 @@
import { I18nService as BaseI18nService } from 'jslib/services/i18n.service';
import { BrowserApi } from '../browser/browserApi';
import { SafariApp } from '../browser/safariApp';
export default class I18nService extends BaseI18nService {
constructor(systemLanguage: string, localesDirectory: string) {
super(systemLanguage, localesDirectory, async (formattedLocale: string) => {
const file = await fetch(localesDirectory + formattedLocale + '/messages.json');
return await file.json();
constructor(systemLanguage: string) {
super(systemLanguage, BrowserApi.isSafariApi ? 'safari' : null, async (formattedLocale: string) => {
if (BrowserApi.isSafariApi) {
const localeJson = await SafariApp.sendMessageToApp('getLocaleStrings', formattedLocale);
return JSON.parse(localeJson);
} else {
// Deprecated
const file = await fetch(this.localesDirectory + formattedLocale + '/messages.json');
return await file.json();
}
});
this.supportedTranslationLocales = [