离子单一语言

问题描述 投票:4回答:1

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

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

enter image description here

angular typescript ionic-framework ionic2 ionic3
1个回答
6
投票

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

目前,根据语言或语言环境,没有一个通用的标准可以自动为月份名称或星期几名称选择正确的语言/拼写。

考虑到所有事情,最简单的解决方案是,如果应用程序需要使用除月份和日期名称的默认英文版本以外的名称,则只提供一系列名称。月份名称和日期名称可以在应用程序级别配置,也可以在单个离子日期时间级别配置。

App配置级别

//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>
© www.soinside.com 2019 - 2024. All rights reserved.