Localization framework

This commit is contained in:
nitsua
2021-04-16 22:01:47 -04:00
committed by ta264
parent 144134446d
commit d87bf5ae63
196 changed files with 3074 additions and 924 deletions
+51 -15
View File
@@ -10,6 +10,7 @@ import PageContent from 'Components/Page/PageContent';
import PageContentBody from 'Components/Page/PageContentBody';
import { inputTypes } from 'Helpers/Props';
import SettingsToolbarConnector from 'Settings/SettingsToolbarConnector';
import translate from 'Utilities/String/translate';
export const firstDayOfWeekOptions = [
{ key: 0, value: 'Sunday' },
@@ -55,11 +56,14 @@ class UISettings extends Component {
hasSettings,
onInputChange,
onSavePress,
languages,
...otherProps
} = this.props;
const uiLanguages = languages.filter((item) => item.value !== 'Original');
return (
<PageContent title="UI Settings">
<PageContent title={translate('UISettings')}>
<SettingsToolbarConnector
{...otherProps}
onSavePress={onSavePress}
@@ -73,7 +77,9 @@ class UISettings extends Component {
{
!isFetching && error &&
<div>Unable to load UI settings</div>
<div>
{translate('UnableToLoadUISettings')}
</div>
}
{
@@ -82,9 +88,11 @@ class UISettings extends Component {
id="uiSettings"
{...otherProps}
>
<FieldSet legend="Calendar">
<FieldSet legend={translate('Calendar')}>
<FormGroup>
<FormLabel>First Day of Week</FormLabel>
<FormLabel>
{translate('FirstDayOfWeek')}
</FormLabel>
<FormInputGroup
type={inputTypes.SELECT}
@@ -96,24 +104,28 @@ class UISettings extends Component {
</FormGroup>
<FormGroup>
<FormLabel>Week Column Header</FormLabel>
<FormLabel>
{translate('WeekColumnHeader')}
</FormLabel>
<FormInputGroup
type={inputTypes.SELECT}
name="calendarWeekColumnHeader"
values={weekColumnOptions}
onChange={onInputChange}
helpText="Shown above each column when week is the active view"
helpText={translate('CalendarWeekColumnHeaderHelpText')}
{...settings.calendarWeekColumnHeader}
/>
</FormGroup>
</FieldSet>
<FieldSet
legend="Dates"
legend={translate('Dates')}
>
<FormGroup>
<FormLabel>Short Date Format</FormLabel>
<FormLabel>
{translate('ShortDateFormat')}
</FormLabel>
<FormInputGroup
type={inputTypes.SELECT}
@@ -125,7 +137,9 @@ class UISettings extends Component {
</FormGroup>
<FormGroup>
<FormLabel>Long Date Format</FormLabel>
<FormLabel>
{translate('LongDateFormat')}
</FormLabel>
<FormInputGroup
type={inputTypes.SELECT}
@@ -137,7 +151,9 @@ class UISettings extends Component {
</FormGroup>
<FormGroup>
<FormLabel>Time Format</FormLabel>
<FormLabel>
{translate('TimeFormat')}
</FormLabel>
<FormInputGroup
type={inputTypes.SELECT}
@@ -149,11 +165,13 @@ class UISettings extends Component {
</FormGroup>
<FormGroup>
<FormLabel>Show Relative Dates</FormLabel>
<FormLabel>
{translate('ShowRelativeDates')}
</FormLabel>
<FormInputGroup
type={inputTypes.CHECK}
name="showRelativeDates"
helpText="Show relative (Today/Yesterday/etc) or absolute dates"
helpText={translate('ShowRelativeDatesHelpText')}
onChange={onInputChange}
{...settings.showRelativeDates}
/>
@@ -161,19 +179,36 @@ class UISettings extends Component {
</FieldSet>
<FieldSet
legend="Style"
legend={translate('Style')}
>
<FormGroup>
<FormLabel>Enable Color-Impaired Mode</FormLabel>
<FormLabel>
{translate('EnableColorImpairedMode')}
</FormLabel>
<FormInputGroup
type={inputTypes.CHECK}
name="enableColorImpairedMode"
helpText="Altered style to allow color-impaired users to better distinguish color coded information"
helpText={translate('EnableColorImpairedModeHelpText')}
onChange={onInputChange}
{...settings.enableColorImpairedMode}
/>
</FormGroup>
</FieldSet>
<FieldSet legend={translate('Language')}>
<FormGroup>
<FormLabel>{translate('UILanguage')}</FormLabel>
<FormInputGroup
type={inputTypes.SELECT}
name="uiLanguage"
values={uiLanguages}
helpText={translate('UILanguageHelpText')}
helpTextWarning={translate('UILanguageHelpTextWarning')}
onChange={onInputChange}
{...settings.uiLanguage}
/>
</FormGroup>
</FieldSet>
</Form>
}
</PageContentBody>
@@ -189,6 +224,7 @@ UISettings.propTypes = {
settings: PropTypes.object.isRequired,
hasSettings: PropTypes.bool.isRequired,
onSavePress: PropTypes.func.isRequired,
languages: PropTypes.arrayOf(PropTypes.object).isRequired,
onInputChange: PropTypes.func.isRequired
};