Я работаю над приложением со следующими конфигурациями:
- @ ionic / app-scripts: 3.1.9
- Платформы Cordova: android 6.2.3
- Ionic Framework: ионно-угловой 3.9.2
Я использую библиотеку перевода из @ ngx-translate / core для процесса перевода.Проблема, с которой я сталкиваюсь, заключается в том, что мой переводчик в первом случае работает нормально, но когда я отключаю сеть (подключение к данным) и возобновляю ее позже, переводчик не работает должным образом, он загружает только метки, а не назначенный ему текст.
Код, который я использую:
В файле module.ts, используя
import { HttpClient } from '@angular/common/http';
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader'
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http, '../../assets/i18n/', '.json');
}
@NgModule({
declarations: [
],
imports: [
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
}
})
Мой файл en.json в папке assets выглядит следующим образом
{
"DashboardPage": {
"WelcomeText": "Welcome",
"LastUpdatedText": "Last Updated on",
"Disbursal": "Disbursal",
"NEA" : "NEA",
"Yield" : "Yield"
}
}
, и яЯ использую метки на HTML, как это
<div *ngIf="IsFromLogin">
<h2 >{{'DashboardPage.WelcomeText' | translate}} {{userData.name}}</h2>
</div>
Когда я возобновляю подключение к сети, на экране отображаются метки типа DashboardPage.WelcomeText вместо того, чтобы показывать текст, назначенный ему на всех экранах.
Я пробовал несколько извещи, но не в состоянии получить реальную причину этого. Кто-нибудь может предложить какое-то решение для этого. Спасибо заранее !!
Еще одна вещь, которую я хочу добавить, это не работает только на экране, где приложение находится навремя, когда мы приостановили мобильное подключение к данным на остальных страницах, работает нормально, но на той странице, где возникает проблема, всегда остается неизменной, хотя мы перемещаемся и возвращаемся с других страниц.