离子单一语言

时间:2017-07-27 07:05:05

标签: angular typescript ionic-framework ionic2 ionic3

我希望我的应用程序仅支持一种语言(对于日历等组件),即使设备语言是另一种语言。

在这张图片中,您可以看到应用程序语言是土耳其语,但按钮和月份是英语。我希望他们都是土耳其人。

enter image description here

1 个答案:

答案 0 :(得分:6)

就像你在the docs中看到的那样:

  

此时,自动没有一个通用的标准   为月份名称或日期选择正确的语言/拼写   周名称,取决于语言或区域设置

  

考虑到所有因素,最简单的解决方案就是提供   如果应用程序需要使用默认名称以外的名称,则为一组名称   英文版的月和日名称。月份名称和日期名称   可以在应用程序级别配置,也可以在单个离子日期时间配置   水平。

App Config Level

//app.module.ts
@NgModule({
...,
imports: [
  IonicModule.forRoot(MyApp, {
  monthNames: ['janeiro', 'fevereiro', 'mar\u00e7o', ... ],
  monthShortNames: ['jan', 'fev', 'mar', ... ],
  dayNames: ['domingo', 'segunda-feira', 'ter\u00e7a-feira', ... ],
  dayShortNames: ['dom', 'seg', 'ter', ... ],
})
],
...
})

组件输入级别

<ion-item>
  <ion-label>Período</ion-label>
  <ion-datetime displayFormat="DDDD MMM D, YYYY" [(ngModel)]="myDate"
    monthNames="janeiro, fevereiro, mar\u00e7o, ..."
    monthShortNames="jan, fev, mar, ..."
    dayNames="domingo, segunda-feira, ter\u00e7a-feira, ..."
    dayShortNames="dom, seg, ter, ..."></ion-datetime>
</ion-item>

并且为了更改按钮的文本:

<ion-datetime cancelText="'CustomCancel'" doneText="'CustomDone'" ...></ion-datetime>