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

如何在Angular项目中切换NG-ZORRO日期选择器的显示语言?

NG-ZORRO 多组件不同日期选择器语言解决方案

NG-ZORRO的国际化支持组件级/单个组件隔离配置,你可以根据自己的场景选择以下两种方案:


方案1:组件级全局注入语言令牌(推荐)

该方案可以让整个表单组件内的所有NG-ZORRO组件都自动适配目标语言,不需要逐个给日期选择器加配置,语言隔离性强。

  • 第一步:在组件文件头部导入依赖的语言包和注入令牌
import { fr_FR, en_US, NZ_I18N } from 'ng-zorro-antd/i18n';
  • 第二步:给法语表单组件添加局部 providers 配置
@Component({
  selector: 'app-french-form',
  templateUrl: './french-form.component.html',
  styleUrls: ['./french-form.component.less'],
  // 局部注入法语配置,仅对当前组件生效
  providers: [{ provide: NZ_I18N, useValue: fr_FR }]
})
export class FrenchFormComponent {
  // 原有组件逻辑不变
}
  • 第三步:给英语表单组件添加对应局部 providers 配置
@Component({
  selector: 'app-english-form',
  templateUrl: './english-form.component.html',
  styleUrls: ['./english-form.component.less'],
  // 局部注入英语配置,仅对当前组件生效
  providers: [{ provide: NZ_I18N, useValue: en_US }]
})
export class EnglishFormComponent {
  // 原有组件逻辑不变
}

方案2:单个日期选择器单独绑定语言

如果仅需要给单个日期选择器设置语言,不需要影响组件内其他NG-ZORRO组件,可以直接用日期选择器的nzLocale输入属性配置:

  • 第一步:组件内导入语言包并声明变量
import { fr_FR, en_US } from 'ng-zorro-antd/i18n';

@Component({
  selector: 'app-custom-form',
  templateUrl: './custom-form.component.html'
})
export class CustomFormComponent {
  readonly frenchLocale = fr_FR;
  readonly englishLocale = en_US;
}
  • 第二步:模板中给对应日期选择器绑定属性
<!-- 法语日期选择器 -->
<nz-date-picker [nzLocale]="frenchLocale"></nz-date-picker>

<!-- 英语日期选择器 -->
<nz-date-picker [nzLocale]="englishLocale"></nz-date-picker>

注意事项

  • 两种方案的语言配置都是隔离的,不会修改全局的NG-ZORRO国际化配置,也不会互相影响
  • 日期选择器的月份、星期显示、默认格式化规则都会自动匹配所选语言包,不需要额外修改nzFormat属性,有自定义格式化需求的场景除外
  • 14.x以下版本的NG-ZORRO需要确认语言包的导出路径是否和示例一致,14.x及以上版本可直接使用上述导入写法

内容的提问来源于stack exchange,提问作者AchrafBj

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:54:02