我在将月份名称翻译成另一个国家/地区的另一种语言时遇到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。
dayNames
和dayShortNames
也是如此.
这仅用于显示目的,在您的 .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'],
}),
如离子官方描述中所述