离子 ngx 翻译给我资产/i18n/.json 404(未找到)



在我的Ionic应用程序上,ngx-translate在控制台上给了我这条消息:

....assets/i18n/.json 404(未找到)

有关 HttpErrorResponse 的另一个详细信息

所以我在浏览器上的应用程序一直给出此错误,当我构建在手机上使用时,它只会触发带有此错误的警报消息并关闭应用程序

我的设置:安卓。 "cordova-plugin-crosswalk-webview": "^2.4.0"<->/core": "^9.1.1", "@ngx-translate/http-loader": "^2.0.1", 离子 3

这是我的应用程序.module.ts

import { HttpClientModule, 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');
}
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
}
})

我看到其他用户遇到问题

export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http, '../assets/i18n/', '.json');

将其更改为仅Http而不是HttpClient,但对我来说没有用。Typescript告诉我http必须是HttpClient类型。

这是我的应用程序.component.ts

import { TranslateService } from '@ngx-translate/core';
.
.
.
constructor(
private translateService: TranslateService,
public platform: Platform,
public statusBar: StatusBar,
public splashScreen: SplashScreen
) {

this.initializeApp();
}
initializeApp() {
this.platform.ready().then(() => {
this.statusBar.styleDefault();
this.splashScreen.hide();
// this.setAppTranslation();
this.translateService.addLangs(["en", "pt"]);
this.translateService.setDefaultLang('en');
this.translateService.use('en');
});
}

我已按照本教程将该函数应用于我的应用程序: https://www.gajotres.net/ionic-2-internationalize-and-localize-your-app-with-angular-2/

谁能帮我至少理解?

我的资产/i18n 文件夹有 2 个文件:en.json PT.json

我以前遇到过这个问题,请尝试以下两件事:

将您的加载器更改为以下内容(如@Mohsen所说):

return new TranslateHttpLoader(http, './assets/i18n/', '.json');

而你的用途工厂到这个:

useFactory: (HttpLoaderFactory)

重要说明:确保您的资产文件夹处于以下级别:

/来源/资产/

搜索

key: "loadUrl",
value: function(t, e) {
var n = this;

然后添加,

if (t !== 未定义) t = t.replace("../../../app-assets/", "../../../control/app-assets/");

相关内容

  • 没有找到相关文章

最新更新