Skip to content

Commit f09c291

Browse files
authored
Merge pull request #68 from HiEventsDev/develop
Fix language switcher translations
2 parents c856699 + f44afcd commit f09c291

File tree

5 files changed

+32
-15
lines changed

5 files changed

+32
-15
lines changed

Diff for: frontend/src/components/common/AttendeeDetails/index.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {Attendee} from "../../../types.ts";
44
import classes from "./AttendeeDetails.module.scss";
55
import {t} from "@lingui/macro";
66
import {getAttendeeTicketTitle} from "../../../utilites/tickets.ts";
7-
import {localeToNameMap, SupportedLocales} from "../../../locales.ts";
7+
import {getLocaleName, SupportedLocales} from "../../../locales.ts";
88

99
export const AttendeeDetails = ({attendee}: { attendee: Attendee }) => {
1010
return (
@@ -54,7 +54,7 @@ export const AttendeeDetails = ({attendee}: { attendee: Attendee }) => {
5454
{t`Language`}
5555
</div>
5656
<div className={classes.amount}>
57-
{localeToNameMap[attendee.locale as SupportedLocales]}
57+
{getLocaleName(attendee.locale as SupportedLocales)}
5858
</div>
5959
</div>
6060
</Card>

Diff for: frontend/src/components/common/LanguageSwitcher/index.tsx

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
import {Select} from "@mantine/core";
2-
import {dynamicActivateLocale, getClientLocale, localeToNameMap, SupportedLocales} from "../../../locales.ts";
2+
import {
3+
dynamicActivateLocale,
4+
getClientLocale,
5+
getLocaleName,
6+
localeToNameMap,
7+
SupportedLocales
8+
} from "../../../locales.ts";
39
import {t} from "@lingui/macro";
410
import {IconWorld} from "@tabler/icons-react";
511

@@ -13,13 +19,14 @@ export const LanguageSwitcher = () => {
1319
required
1420
data={Object.keys(localeToNameMap).map(locale => ({
1521
value: locale,
16-
label: localeToNameMap[locale as SupportedLocales]
22+
label: getLocaleName(locale as SupportedLocales),
1723
}))}
1824
defaultValue={getClientLocale()}
1925
placeholder={t`English`}
2026
onChange={(value) =>
2127
dynamicActivateLocale(value as string).then(() => {
2228
document.cookie = `locale=${value};path=/;max-age=31536000`;
29+
// this shouldn't be necessary, but it is due to the wide use of t`...` in the codebase
2330
window.location.reload();
2431
})}
2532
/>

Diff for: frontend/src/components/modals/CreateAttendeeModal/index.tsx

+8-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@ import {showSuccess} from "../../../utilites/notifications.tsx";
1212
import {t, Trans} from "@lingui/macro";
1313
import {useEffect} from "react";
1414
import {InputGroup} from "../../common/InputGroup";
15-
import {getClientLocale, localeToFlagEmojiMap, localeToNameMap, SupportedLocales} from "../../../locales.ts";
15+
import {
16+
getClientLocale,
17+
getLocaleName,
18+
localeToFlagEmojiMap,
19+
localeToNameMap,
20+
SupportedLocales
21+
} from "../../../locales.ts";
1622

1723
export const CreateAttendeeModal = ({onClose}: GenericModalProps) => {
1824
const {eventId} = useParams();
@@ -128,7 +134,7 @@ export const CreateAttendeeModal = ({onClose}: GenericModalProps) => {
128134
required
129135
data={Object.keys(localeToNameMap).map(locale => ({
130136
value: locale,
131-
label: localeToFlagEmojiMap[locale as SupportedLocales] + ' ' + localeToNameMap[locale as SupportedLocales]
137+
label: localeToFlagEmojiMap[locale as SupportedLocales] + ' ' + getLocaleName(locale as SupportedLocales),
132138
}))}
133139
{...form.getInputProps('locale')}
134140
label={t`Language`}

Diff for: frontend/src/components/routes/profile/ManageProfile/index.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {useCancelEmailChange} from "../../../../mutations/useCancelEmailChange.t
1313
import {useFormErrorResponseHandler} from "../../../../hooks/useFormErrorResponseHandler.tsx";
1414
import {t, Trans} from "@lingui/macro";
1515
import {useResendEmailConfirmation} from "../../../../mutations/useResendEmailConfirmation.ts";
16-
import {localeToFlagEmojiMap, localeToNameMap, SupportedLocales} from "../../../../locales.ts";
16+
import {getLocaleName, localeToFlagEmojiMap, localeToNameMap, SupportedLocales} from "../../../../locales.ts";
1717

1818
export const ManageProfile = () => {
1919
const {data: me, isFetching} = useGetMe();
@@ -166,7 +166,7 @@ export const ManageProfile = () => {
166166
required
167167
data={Object.keys(localeToNameMap).map(locale => ({
168168
value: locale,
169-
label: localeToFlagEmojiMap[locale as SupportedLocales] + ' ' + localeToNameMap[locale as SupportedLocales]
169+
label: localeToFlagEmojiMap[locale as SupportedLocales] + ' ' + getLocaleName(locale as SupportedLocales),
170170
}))}
171171
{...profileForm.getInputProps('locale')}
172172
label={t`Language`}

Diff for: frontend/src/locales.ts

+11-7
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,19 @@ export const localeToFlagEmojiMap: Record<SupportedLocales, string> = {
3838
};
3939

4040
export const localeToNameMap: Record<SupportedLocales, string> = {
41-
en: t`English`,
42-
de: t`German`,
43-
fr: t`French`,
44-
pt: t`Portuguese`,
45-
es: t`Spanish`,
46-
"zh-cn": t`Chinese`,
47-
"pt-br": t`Portuguese (Brazil)`,
41+
en: `English`,
42+
de: `German`,
43+
fr: `French`,
44+
pt: `Portuguese`,
45+
es: `Spanish`,
46+
"zh-cn": `Chinese`,
47+
"pt-br": `Portuguese (Brazil)`,
4848
};
4949

50+
export const getLocaleName = (locale: SupportedLocales) => {
51+
return t`${localeToNameMap[locale]}`
52+
}
53+
5054
export const getClientLocale = () => {
5155
if (typeof window !== "undefined") {
5256
const storedLocale = document

0 commit comments

Comments
 (0)