You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ngx-translate-multi-http-loader加载翻译文件报Database not created错误如何解决?

报错修复方案

这个报错是ngx-translate-multi-http-loader初始化时序和TranslateModule默认语言加载逻辑冲突导致的,翻译文件加载触发时,对应的存储数据库实例还未完成初始化。可以按以下步骤修复:

步骤1:调整TranslateModule配置

删除TranslateModule.forRoot()中的defaultLanguage配置项,将默认语言设置操作延后到框架初始化完成后执行。参考配置如下:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { MultiTranslateHttpLoader } from 'ngx-translate-multi-http-loader';
import { HttpClient } from '@angular/common/http';

export function HttpLoaderFactory(http: HttpClient) {
  return new MultiTranslateHttpLoader(http, [
    {prefix: './assets/i18n/', suffix: '.json'}
    // 有其他多语言文件路径可以在此处追加
  ]);
}

@NgModule({
  imports: [
    BrowserModule,
    TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps: [HttpClient]
      }
      // 此处删除defaultLanguage配置
    })
  ]
})
export class AppModule { }

步骤2:延后默认语言初始化逻辑

在根组件中等待Ionic平台完全就绪、存储实例初始化完成后,再设置默认语言。参考代码如下:

import { Component } from '@angular/core';
import { Platform } from '@ionic/angular';
import { TranslateService } from '@ngx-translate/core';

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html'
})
export class AppComponent {
  constructor(
    private platform: Platform,
    private translate: TranslateService
  ) {
    this.initializeApp();
  }

  initializeApp() {
    this.platform.ready().then(() => {
      // 如果有自定义存储逻辑,先执行存储实例的create()方法完成初始化
      // 再设置默认语言
      this.translate.setDefaultLang('en');
      this.translate.use('en');
    });
  }
}

步骤3:校验基础配置

  • 确认src/assets/i18n/en.json文件存在,且JSON格式无语法错误
  • 确认依赖版本匹配:Ionic5场景下推荐使用ngx-translate-multi-http-loader@7.x,对应匹配@ngx-translate/core@13.x
  • 若开启了翻译文件缓存功能,必须先完成缓存数据库的初始化,再触发翻译文件加载操作

内容的提问来源于stack exchange,提问作者Raphaël Balet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 10:18:03