Skip to content

Commit

Permalink
Add more locales
Browse files Browse the repository at this point in the history
  • Loading branch information
AbundantSalmon authored Jan 15, 2023
1 parent 017af77 commit a591539
Show file tree
Hide file tree
Showing 7 changed files with 24 additions and 11 deletions.
8 changes: 5 additions & 3 deletions model/setting.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@ const (
ThemeMaterialDark = "MaterialDark"
ThemeMaterialLight = "MaterialLight"

DateLocaleGerman = "German"
DateLocaleEnglish = "English"
DateLocaleEnglish24h = "English24h"
DateLocaleGerman = "German"
DateLocaleAmerican = "American"
DateLocaleAmerican24h = "American24h"
DateLocaleBritish = "British"
DateLocaleAustralian = "Australian"
)

var daysOfWeek = map[string]time.Weekday{
Expand Down
2 changes: 1 addition & 1 deletion schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ enum Theme {
}

enum DateLocale {
English, English24h, German
American, American24h, German, Australian, British
}

input InputReplaceOptions {
Expand Down
2 changes: 1 addition & 1 deletion setting/get.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func Get(ctx context.Context, db *gorm.DB) (model.UserSetting, error) {
user := auth.GetUser(ctx)
defaultSettings := model.UserSetting{
Theme: model.ThemeGruvboxDark,
DateLocale: model.DateLocaleEnglish,
DateLocale: model.DateLocaleAmerican,
FirstDayOfTheWeek: time.Monday.String(),
}

Expand Down
9 changes: 6 additions & 3 deletions setting/usersettings.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,18 +39,21 @@ func toExternal(internal model.UserSetting) *gqlmodel.UserSettings {

func toInternalDateLocale(locale gqlmodel.DateLocale) string {
switch locale.String() {
case model.DateLocaleEnglish, model.DateLocaleGerman, model.DateLocaleEnglish24h:
case model.DateLocaleAmerican, model.DateLocaleGerman, model.DateLocaleAmerican24h, model.DateLocaleAustralian, model.DateLocaleBritish:
return locale.String()
default:
return model.DateLocaleEnglish
return model.DateLocaleAmerican
}
}

func toExternalDateLocale(dateLocale string) gqlmodel.DateLocale {
if gqlmodel.DateLocale(dateLocale).IsValid() {
return gqlmodel.DateLocale(dateLocale)
}
return gqlmodel.DateLocaleEnglish
if dateLocale == "English24h" {
return gqlmodel.DateLocaleAmerican24h
}
return gqlmodel.DateLocaleAmerican
}

func toInternalTheme(theme gqlmodel.Theme) string {
Expand Down
2 changes: 1 addition & 1 deletion ui/src/gql/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export const SetSettings = gql`

const defaultSettings = {
theme: Theme.GruvboxDark,
dateLocale: DateLocale.English,
dateLocale: DateLocale.American,
firstDayOfTheWeek: WeekDay.Monday,
} as const;

Expand Down
2 changes: 2 additions & 0 deletions ui/src/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,7 @@ import React from 'react';
import ReactDOM from 'react-dom';
import {Root} from './Root';
import 'moment/locale/de';
import 'moment/locale/en-au';
import 'moment/locale/en-gb';

ReactDOM.render(<Root />, document.getElementById('root'));
10 changes: 8 additions & 2 deletions ui/src/provider/UserSettingsProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ import {expectNever} from '../utils/never';

const setLocale = (locale: DateLocale, spec: LocaleSpecification) => {
switch (locale) {
case DateLocale.English:
case DateLocale.American:
moment.locale('en', spec);
return;
case DateLocale.English24h:
case DateLocale.American24h:
moment.locale('en', {
...spec,
longDateFormat: {
Expand All @@ -23,6 +23,12 @@ const setLocale = (locale: DateLocale, spec: LocaleSpecification) => {
},
});
return;
case DateLocale.Australian:
moment.locale('en-au', spec);
return;
case DateLocale.British:
moment.locale('en-gb', spec);
return;
case DateLocale.German:
moment.locale('de', spec);
return;
Expand Down

0 comments on commit a591539

Please sign in to comment.