关于ng2+ 中 NG-ZORRO 的国际化配置问题?

发布于 2022-09-06 22:30:42 字数 2163 浏览 43 评论 0

1、显示配置文档

clipboard.png

2、i18n.service.ts的代码

import { Injectable, Inject, Injector } from '@angular/core';
import { Router } from '@angular/router';
import { zhCN, enUS, NzLocaleService } from 'ng-zorro-antd';
import { TranslateService } from '@ngx-translate/core';
import { SettingsService, AlainI18NService } from '@delon/theme';
import { Observable } from 'rxjs/Observable';

@Injectable()
export class I18NService implements AlainI18NService {

private _default = 'zh-CN';

private _langs = [
    { code: 'en', text: 'English' },
    { code: 'zh-CN', text: '中文' }
];

constructor(
    settings: SettingsService,
    private nzLocalService: NzLocaleService,
    private translate: TranslateService,
    private injector: Injector
) {
    const defaultLan = settings.layout.lang || translate.getBrowserLang();
    const lans = this._langs.map(item => item.code);
    this._default = lans.includes(defaultLan) ? defaultLan : lans[0];
    translate.addLangs(lans);
}

use(lang: string = null, firstLoad = true): Observable<any> {
    lang = lang || this.translate.getDefaultLang();
    this.nzLocalService.setLocale(lang === 'en' ? enUS : zhCN);
    // need reload router because of ng-zorro-antd local system
    if (!firstLoad) this.injector.get(Router).navigate([ '/' ]);
    return this.translate.use(lang);
}
/** 获取语言列表 */
getLangs() {
    return this._langs;
}
/** 翻译 */
fanyi(key: string) {
    return this.translate.instant(key);
}
/** 默认语言 */
get defaultLang() {
    return this._default;
}
/** 当前语言 */
get currentLang() {
    return this.translate.currentLang || this.translate.getDefaultLang() || this._default;
}

}

3、遇到的问题

每次初始化的时候导航栏会有英文,而我想要的是中文。点击其他路由时会恢复正常、、、、
clipboard.png

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

天气好吗我好吗 2022-09-13 22:30:42

在进入页面的时候,确保所有数据加载完成,可以调试一下,感觉你是点击路由后,这些国际化数据才会加载,之前用alian也碰到类似问题,它只有一个start.ts, 但是有些异步数据的获取结束前,就跳到页面,导致页面数据有问题,我记得是权限吧,刷新是有问题的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文