【发布时间】:2018-09-13 04:33:24
【问题描述】:
我正在构建一个支持多种语言的应用 我正在使用 SQL Storage lite 来保留所选语言 但有时存储返回 null
<ion-item class="settings-items" no-border ion-item>
<ion-icon class="img-view" item-start name="ios-globe">
</ion-icon>
<ion-label [ngClass]="(this.Platform.isRTL ) ? 'settings-textAr': 'settings-text' ">{{'LANG' | translate}}</ion-label>
<ion-select mode="ios" [(ngModel)]="lang" item-end (ionChange)="switchLanguage()">
<ion-option class="options" value="en" [selected]="lang === english">
English
</ion-option>
<ion-option class="options" value="ar" [selected]="lang === arabic">
العربية
</ion-option>
</ion-select>
</ion-item>
选择语言
switchLanguage() {
if (this.lang === 'en') {
this.translate.use(this.lang)
this.Platform.setDir('ltr', true)
this.storage.set('DocLang' , JSON.stringify(this.lang))
} else {
this.Platform.setDir('rtl', true)
this.translate.use(this.lang);
this.storage.set('DocLang' , JSON.stringify(this.lang))
}
获取语言并设置方向
this.Storage.get('DocLang').then((val) => {
this.lang = JSON.parse(val)
console.log(this.lang)
if (this.lang === 'en') {
this.TranslateService.use('en');
this.platform.setDir('ltr', true);
} else if(this.lang === 'ar'){
this.TranslateService.use('ar');
this.platform.setDir('rtl', true);
}
});
【问题讨论】:
标签: ionic3 ionic-native