IONIC2 - 如何翻译视图中的月份名称
IONIC2 - How to translate the names of months in the view
我在使用 ionic2 将月份名称从另一个国家/地区翻译成另一种语言时遇到问题。在我看来,我使用过滤日期来显示月份的全称。月份的名称以英语显示,我需要它们以巴西的葡萄牙语显示。
当我使用 ionic1 时,我刚刚访问了文件 'ionic.bundle.min.js' 并从那里更改了英文月份的名称。已经是ionic2了,还是不知道怎么改月份的语言。
谁能帮我解决这个问题?
您可以在 ion-datetime
标签上使用 monthShortNames
and/or 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 键:
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>
如果您像我一样使用短版本,请不要忘记为 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'],
}),
我用过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();
.....
我在使用 ionic2 将月份名称从另一个国家/地区翻译成另一种语言时遇到问题。在我看来,我使用过滤日期来显示月份的全称。月份的名称以英语显示,我需要它们以巴西的葡萄牙语显示。
当我使用 ionic1 时,我刚刚访问了文件 'ionic.bundle.min.js' 并从那里更改了英文月份的名称。已经是ionic2了,还是不知道怎么改月份的语言。
谁能帮我解决这个问题?
您可以在 ion-datetime
标签上使用 monthShortNames
and/or 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 键:
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>
如果您像我一样使用短版本,请不要忘记为 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'],
}),
我用过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();
.....