IONIC2 - 如何翻译视图中的月份名称



我在将月份名称翻译成另一个国家/地区的另一种语言时遇到ionic2问题。在我看来,我使用过滤日期来显示月份的全名。月份的名称以英语显示,我需要它们以巴西葡萄牙语显示。

当我使用ionic1时,我只是访问了文件"ionic.bundle.min.js",然后从那里我更改了英文月份的名称。对于ionic2,我仍然不知道应该如何更改月份的语言。

谁能帮我解决这个问题?

您可以在ion-datetime标签上使用 monthShortNames 和/或 monthNames 属性

<ion-item>
  <ion-datetime displayFormat="DD/MMM/YYYY HH:mm" pickerFormat="DD MMM YYYY HH mm" monthShortNames='jan, fev, mar, abr, mai, jun, jul, ago, set, out, nov, dez' doneText="Ok" cancelText="Cancelar"></ion-datetime>
</ion-item>
<ion-item>
  <ion-datetime displayFormat="DD/MMMM/YYYY HH:mm" pickerFormat="DD MMMM YYYY HH mm" montNames='janeiro, fevereiro, março, abril, maio, junho, etc...' doneText="Ok" cancelText="Cancelar"></ion-datetime>
</ion-item>

如果要显示短名称,则选取器和显示格式必须为 MMM,对于长名称,选取器和显示格式必须为 MMMM。

您可以同时使用两者,例如选取器中的 MMM 和用于显示的 MMMM。

dayNamesdayShortNames也是如此.

这仅用于显示目的,在您的 .ts 文件中,它们将采用 ISO 字符串格式,如果您想操作它们稍后以葡萄牙语显示,我建议您使用 Moment.js将区域设置更改为 'pt-br' 并在您的视图中显示它。如果您也需要这方面的帮助,请发表评论,我将编辑显示如何执行此操作。

其他解决方案,打开您的app.module.ts文件,您必须以这种方式完成导入键:

imports: [
BrowserModule,
HttpModule,
IonicModule.forRoot(MyApp, {
  monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'aout', 'septembre', 'octobre', 'novembre', 'décembre' ],
  monthShortNames: ['jan', 'fev', 'mar', 'avr', 'mai', 'jui', 'jui', 'aou', 'sep', 'oct', 'nov', 'dec' ],
  dayNames:['dimanche','lundi','mardi','mercredi','jeudi','vendredi','samedi'],
 }),
IonicStorageModule.forRoot()
]

在您的 html 页面中,您的 ion-dateime 标签将按以下方式使用:

<ion-datetime displayFormat="DDDD D MMMM YYYY" min="2017" max="2099-12-31" cancelText="Annuler" doneText="Valider" [(ngModel)]="DateDebut"></ion-datetime>

我已经用过momentjs了。 它支持多语言。

<ion-datetime formControlName="birthdate"  [(ngModel)]="birthdate" [monthNames]="monthNames" [monthShortNames]="monthShortNames"></ion-datetime>

在 .ts 文件中

import moment from 'moment';
.....
    this.monthNames = moment.months();
    this.monthShortNames = moment.monthsShort();
.....
如果您

像我一样使用短版本,请不要忘记为 dayShortNames 添加列表

imports: [
HttpModule,
BrowserModule,
IonicModule.forRoot(MyApp, {
    monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'aout', 'septembre', 'octobre', 'novembre', 'décembre' ],
    monthShortNames: ['jan', 'fev', 'mar', 'avr', 'mai', 'jui', 'jui', 'aou', 'sep', 'oct', 'nov', 'dec' ],
    dayNames:['dimanche','lundi','mardi','mercredi','jeudi','vendredi','samedi'],
    dayShortNames:['dim','lun','mar','mer','jeu','ven','sam'],
}),

如离子官方描述中所述

相关内容

  • 没有找到相关文章

最新更新