mirror of https://github.com/msgbyte/tailchat
feat: 首页增加多语言切换
parent
7e992ccccb
commit
5996a7024a
@ -1,31 +1,36 @@
|
|||||||
import { Select } from 'antd';
|
import { Select, SelectProps } from 'antd';
|
||||||
import React, { useCallback } from 'react';
|
import React, { useCallback } from 'react';
|
||||||
import { showToasts, t, useLanguage } from 'tailchat-shared';
|
import { showToasts, t, useLanguage } from 'tailchat-shared';
|
||||||
|
|
||||||
|
type LanguageSelectProps = Omit<SelectProps, 'value' | 'onChange'>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 语言切换选择框
|
* 语言切换选择框
|
||||||
*/
|
*/
|
||||||
export const LanguageSelect: React.FC = React.memo(() => {
|
export const LanguageSelect: React.FC<LanguageSelectProps> = React.memo(
|
||||||
const { language, setLanguage } = useLanguage();
|
(props) => {
|
||||||
|
const { language, setLanguage } = useLanguage();
|
||||||
|
|
||||||
const handleChangeLanguage = useCallback(
|
const handleChangeLanguage = useCallback(
|
||||||
(newLang: string) => {
|
(newLang: string) => {
|
||||||
showToasts(t('刷新页面后生效'), 'info');
|
showToasts(t('刷新页面后生效'), 'info');
|
||||||
setLanguage(newLang);
|
setLanguage(newLang);
|
||||||
},
|
},
|
||||||
[setLanguage]
|
[setLanguage]
|
||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Select
|
<Select
|
||||||
style={{ width: 280 }}
|
style={{ width: 280 }}
|
||||||
size="large"
|
size="large"
|
||||||
value={language}
|
{...props}
|
||||||
onChange={handleChangeLanguage}
|
value={language}
|
||||||
>
|
onChange={handleChangeLanguage}
|
||||||
<Select.Option value="zh-CN">简体中文</Select.Option>
|
>
|
||||||
<Select.Option value="en-US">English</Select.Option>
|
<Select.Option value="zh-CN">简体中文</Select.Option>
|
||||||
</Select>
|
<Select.Option value="en-US">English</Select.Option>
|
||||||
);
|
</Select>
|
||||||
});
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
LanguageSelect.displayName = 'LanguageSelect';
|
LanguageSelect.displayName = 'LanguageSelect';
|
||||||
|
Loading…
Reference in New Issue