Compare commits

..

2 Commits

Author SHA1 Message Date
Dawn_Ocean 1a30ff6def add partial localization support for report page 2024-03-07 14:38:37 +08:00
Dawn_Ocean 3232994fb2 add localization for settings page 2024-03-07 14:30:45 +08:00
5 changed files with 51 additions and 5 deletions

View File

@ -2,6 +2,7 @@ import { AtTextarea, AtButton, AtForm, AtMessage } from 'taro-ui';
import { Component, ReactNode } from 'react'; import { Component, ReactNode } from 'react';
import './report.scss'; import './report.scss';
import Taro from '@tarojs/taro'; import Taro from '@tarojs/taro';
import pt from '@/plain-text';
export default class SettingsPage extends Component { export default class SettingsPage extends Component {
state = { state = {
@ -49,7 +50,7 @@ export default class SettingsPage extends Component {
value={this.state.report} value={this.state.report}
onChange={this.handleChange.bind(this)} onChange={this.handleChange.bind(this)}
maxLength={200} maxLength={200}
placeholder='无论是有关于小程序的建议还是关于E志者协会的建议都可以提出来哦' placeholder={pt.get().reportPage.placeHolderText}
/> />
<AtButton <AtButton
loading={this.state.isLoading} loading={this.state.isLoading}
@ -57,10 +58,10 @@ export default class SettingsPage extends Component {
type='primary' type='primary'
disabled={this.state.isDisable} disabled={this.state.isDisable}
> >
{pt.get().reportPage.submitText}
</AtButton> </AtButton>
<AtButton formType='reset' type='secondary'> <AtButton formType='reset' type='secondary'>
{pt.get().reportPage.resetText}
</AtButton> </AtButton>
</AtForm> </AtForm>
); );

View File

@ -58,11 +58,11 @@ export default class SettingsPage extends Component {
</Picker> </Picker>
</View> </View>
<AtButton type='secondary' onClick={this.handleAbout.bind(this)}> <AtButton type='secondary' onClick={this.handleAbout.bind(this)}>
EVA Notify {pt.get().settingsPage.aboutText}
</AtButton> </AtButton>
<AtButton type='primary' onClick={this.handleQuit.bind(this)}> <AtButton type='primary' onClick={this.handleQuit.bind(this)}>
退 {pt.get().settingsPage.quitText}
</AtButton> </AtButton>
</View> </View>
); );

View File

@ -0,0 +1,19 @@
export interface ReportPageText {
placeHolderText: string;
submitText: string;
resetText: string;
}
export const reportPageZhCn: ReportPageText = {
placeHolderText:
'无论是有关于小程序的建议还是关于E志者协会的建议都可以提出来哦',
submitText: '提交',
resetText: '清空',
};
export const reportPageEnUs: ReportPageText = {
placeHolderText:
'无论是有关于小程序的建议还是关于E志者协会的建议都可以提出来哦',
submitText: 'Submit',
resetText: 'Reset',
};

View File

@ -0,0 +1,14 @@
export interface SettingsPageText {
aboutText: string;
quitText: string;
}
export const settingsPageZhCn: SettingsPageText = {
aboutText: '关于 EVA Notify',
quitText: '退出账号',
};
export const settingsPageEnUs: SettingsPageText = {
aboutText: 'About EVA Notify',
quitText: 'Log Out',
};

View File

@ -2,12 +2,20 @@ import { PageFooterText, pageFooterZhCn, pageFooterEnUs } from './PageFooter';
import { MainPageText, mainPageZhCn, mainPageEnUs } from './MainPage'; import { MainPageText, mainPageZhCn, mainPageEnUs } from './MainPage';
import { UserPageText, userPageZhCn, userPageEnUs } from './UserPage'; import { UserPageText, userPageZhCn, userPageEnUs } from './UserPage';
import { TabBarText, tabBarEnUs, tabBarZhCn } from './TabBar'; import { TabBarText, tabBarEnUs, tabBarZhCn } from './TabBar';
import {
SettingsPageText,
settingsPageEnUs,
settingsPageZhCn,
} from './SettingsPage';
import { ReportPageText, reportPageEnUs, reportPageZhCn } from './ReportPage';
interface TextRecord { interface TextRecord {
pageFooter: PageFooterText; pageFooter: PageFooterText;
mainPage: MainPageText; mainPage: MainPageText;
userPage: UserPageText; userPage: UserPageText;
tabBar: TabBarText; tabBar: TabBarText;
settingsPage: SettingsPageText;
reportPage: ReportPageText;
} }
const textZhCn: TextRecord = { const textZhCn: TextRecord = {
@ -15,6 +23,8 @@ const textZhCn: TextRecord = {
mainPage: mainPageZhCn, mainPage: mainPageZhCn,
userPage: userPageZhCn, userPage: userPageZhCn,
tabBar: tabBarZhCn, tabBar: tabBarZhCn,
settingsPage: settingsPageZhCn,
reportPage: reportPageZhCn,
}; };
const textEnUs: TextRecord = { const textEnUs: TextRecord = {
@ -22,6 +32,8 @@ const textEnUs: TextRecord = {
mainPage: mainPageEnUs, mainPage: mainPageEnUs,
userPage: userPageEnUs, userPage: userPageEnUs,
tabBar: tabBarEnUs, tabBar: tabBarEnUs,
settingsPage: settingsPageEnUs,
reportPage: reportPageEnUs,
}; };
// type Lang = 'zh_CN' | 'en_US' | ...; // type Lang = 'zh_CN' | 'en_US' | ...;