我有一个应用程序,它以两种语言(英语,法语)运行(我可以使用i18n更改我想选择的语言)。
此刻,即使选择法语,我也只能用英语获取日期。
<div class="information">
{{ information.date | information:'EEEE'}} {{information.date | date:'d'}} {{ information.date | date:'MMMM'}} {{ information.date |
date:'yyyy'}}
</div>
目前我想在2018年8月17日星期一这样得到它,我也想在法国买到Lundi 17 Aout 2018
有没有一种方法可以根据选择的语言来更改日期?
答案 0 :(得分:1)
按照以下说明创建和使用自定义管道:https://angular.io/guide/pipes
类似这样的东西:
import { Pipe, PipeTransform } from '@angular/core';
enum Days {
Dimanche,
Lundi,
Mardi,
Mercredi,
Jeudi,
Vendredi,
Samedi
}
enum Months {
Janvier,
Février,
Mars,
Avril,
Mai,
Juin,
Juillet,
Août,
Septembre,
Octobre,
Novembre,
Décembre
}
@Pipe({ name: 'frenchDate' })
export class FrenchDatePipe implements PipeTransform {
transform(date: Date) {
const dayOfMonth = date.getDate();
const nameOfDay = Days[date.getDay()];
const nameOfMonth = Months[date.getMonth()];
const year = date.getYear();
const result = nameOfDay + ' ' + dayOfMonth + ' ' + nameOfMonth + ' ' + year;
return result;
}
}
答案 1 :(得分:0)
我对i18n不再有任何了解,但是在研究了文档之后,我确保此代码将对您有效。
ng服务--configuration = fr
使用此命令运行程序。此处 fr 是法语标识符。
如果要导入其他语言的语言环境数据,则可以在 app.module.ts 文件中手动进行。
从'@ angular / common'导入{registerLocaleData};
从'@ angular / common / locales / fr'导入localeFr;
registerLocaleData(localeFr,'fr');