Angular学习记录4-修改默认区域

2020年11月12日13:10:46

angular的默认区域是“en-US”,导致matDatepicker这个组件的界面都是英文,像是分页组件还可以找个翻译器,但是日期组件的不太好找orz;

其实Angular的官方是支持更换区域的,成为i18n,

https://angular.cn/guide/i18n#steps-to-localize-your-app

介绍就是一小段,只说了导入localize 包,然后提示可以使用LOCALE_ID,最后也没说怎么用,看的一头雾水。

最后找到了一点点启示:

https://cloud.tencent.com/developer/ask/108832

简单来说分三步:

1. 添加localize 包

ng add @angular/localize

2.在app.moudule.ts中引入LOCALE_ID

import { LOCALE_ID, NgModule } from '@angular/core';

3.在app.moudule.ts中设定区域,重点是添加注释1的这一行

  providers: [
    { provide: MatPaginatorIntl, useValue: myPaginator() },
    { provide: LOCALE_ID, useValue: 'zh-Hans' }    // 1
  ],

那么这个value是哪里来的呢?

请看这里:https://github.com/angular/angular/tree/master/packages/common/locales

里面文件的名字就是这个值,可以自行尝试。

结果:(汉化完成的日期选择器)

 

ps:官网也说了,这个语言只影响部分组件,比如:(这个算是内置的转换管道)

 对于使用这些管道的页面还需要特别引入一些相关包,注册“zh”,不然就会出现下面的问题:

 在使用管道的界面的ts顶部,做如下设置:即可成功显示时间

import zh from '@angular/common/locales/zh';
import { registerLocaleData } from '@angular/common';
registerLocaleData(zh);

 结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值