添加设置语言demo,优化逻辑

This commit is contained in:
DevWiki 2024-08-26 17:05:01 +08:00
parent f30b7036d6
commit 58ee459459

View File

@ -4,9 +4,8 @@ import { i18n } from '@kit.LocalizationKit';
@Entry @Entry
@Component @Component
struct SetLanguagePage { struct SetLanguagePage {
private readonly languageGroup = "languageGroup" private readonly languageGroup = "languageGroup"
@State selectedIndex: number = 0; @State selectedLanguage: string = 'zh-Hans';
build() { build() {
Column() { Column() {
@ -15,24 +14,25 @@ struct SetLanguagePage {
}); });
Row() { Row() {
Text('简体中文'); Text('简体中文');
Radio({group: this.languageGroup, value: '简体中文'}).checked(true).onChange(isChecked => { Radio({ group: this.languageGroup, value: 'zh-Hans' }).checked(this.selectedLanguage == 'zh-Hans')
if (isChecked) { .onChange(isChecked => {
this.selectedIndex = 0; if (isChecked) {
} i18n.System.setAppPreferredLanguage('zh-Hans')
}); this.selectedLanguage = 'zh-Hans'
} }
Row() { });
Text('英文');
Radio({group: this.languageGroup, value: '英文'}).checked(false).onChange(isChecked => {
if (isChecked) {
this.selectedIndex = 1;
}
});
} }
Button('修改语言').onClick(() => { Row() {
i18n.System.setAppPreferredLanguage(this.selectedIndex == 0 ? 'zh-Hans' : 'en-US') Text('英文');
}) Radio({ group: this.languageGroup, value: 'en-US' }).checked(this.selectedLanguage == 'en-US')
.onChange(isChecked => {
if (isChecked) {
i18n.System.setAppPreferredLanguage('en-US')
this.selectedLanguage = 'en-US'
}
});
}
}.width('100%').height('100%') }.width('100%').height('100%')
} }
} }