fix: Fix i18n

This commit is contained in:
Myzel394 2023-03-05 12:44:51 +01:00
parent d88c4fc2e6
commit c0c3542963
No known key found for this signature in database
GPG Key ID: 79CC92F37B3E1A2B
10 changed files with 31 additions and 22 deletions

View File

@ -43,6 +43,8 @@
} }
}, },
"messages": { "messages": {
"successMessage": "Success!",
"deletedObject": "Deleted successfully!",
"errors": { "errors": {
"unknown": "An unknown error occurred.", "unknown": "An unknown error occurred.",
"copyFailed": "Copying to clipboard did not work. Please copy the text manually." "copyFailed": "Copying to clipboard did not work. Please copy the text manually."
@ -68,7 +70,10 @@
"experimentalFeatureExplanation": "This is an experimental feature.", "experimentalFeatureExplanation": "This is an experimental feature.",
"saveLabel": "Save", "saveLabel": "Save",
"resetLabel": "Reset", "resetLabel": "Reset",
"loading": "Loading..." "loading": "Loading...",
"actionNotUndoable": "This action cannot be undone!",
"appError": "We are sorry but there was an error. Please try again later.",
"emptyValue": "-"
}, },
"noSearchResults": { "noSearchResults": {
"title": "Nothing found", "title": "Nothing found",

View File

@ -29,5 +29,13 @@
"submit": "Add" "submit": "Add"
} }
} }
},
"SelectField": {
"values": {
"true": "Yes",
"false": "No"
},
"valueSelection": "<{{ value }}>",
"valueSelectionIsDefault": "Default <{{ value }}>"
} }
} }

View File

@ -35,14 +35,14 @@ export default function DeleteAPIButton({
description, description,
navigateTo = "/aliases", navigateTo = "/aliases",
}: DeleteAPIButtonProps): ReactElement { }: DeleteAPIButtonProps): ReactElement {
const {t} = useTranslation() const {t} = useTranslation("common")
const {showError, showSuccess} = useErrorSuccessSnacks() const {showError, showSuccess} = useErrorSuccessSnacks()
const navigate = useNavigate() const navigate = useNavigate()
const {mutate} = useMutation<void, AxiosError, void>(onDelete, { const {mutate} = useMutation<void, AxiosError, void>(onDelete, {
onError: showError, onError: showError,
onSuccess: () => { onSuccess: () => {
showSuccess(successMessage || t("general.deletedSuccessfully")) showSuccess(successMessage || t("messages.deletedObject"))
navigate(navigateTo) navigate(navigateTo)
}, },
}) })

View File

@ -5,7 +5,7 @@ import {IoSad} from "react-icons/io5"
import {Grid, Typography} from "@mui/material" import {Grid, Typography} from "@mui/material"
export default function ErrorPage(): ReactElement { export default function ErrorPage(): ReactElement {
const {t} = useTranslation() const {t} = useTranslation("common")
return ( return (
<Grid <Grid

View File

@ -3,12 +3,8 @@ import {useTranslation} from "react-i18next"
import {CircularProgress, Grid, Typography} from "@mui/material" import {CircularProgress, Grid, Typography} from "@mui/material"
export interface LoadingDataProps { export default function LoadingData(): ReactElement {
message?: string const {t} = useTranslation("common")
}
export default function LoadingData({message = "Loading"}: LoadingDataProps): ReactElement {
const {t} = useTranslation()
return ( return (
<Grid container spacing={2} direction="column" alignItems="center"> <Grid container spacing={2} direction="column" alignItems="center">

View File

@ -6,7 +6,7 @@ import {Grid, Typography} from "@mui/material"
import {ReactComponent as Logo} from "../../../public/logo.svg" import {ReactComponent as Logo} from "../../../public/logo.svg"
export default function LoadingPage(): ReactElement { export default function LoadingPage(): ReactElement {
const {t} = useTranslation() const {t} = useTranslation("common")
return ( return (
<Grid <Grid

View File

@ -30,7 +30,7 @@ export default function MutationStatusSnackbar<
successMessage, successMessage,
errorMessage, errorMessage,
}: MutationStatusSnackbarProps<TData, TError, TVariables, TContext>): ReactElement { }: MutationStatusSnackbarProps<TData, TError, TVariables, TContext>): ReactElement {
const {t} = useTranslation() const {t} = useTranslation("common")
const $severity = useRef<AlertProps["severity"]>() const $severity = useRef<AlertProps["severity"]>()
const $message = useRef<string>() const $message = useRef<string>()
@ -60,12 +60,12 @@ export default function MutationStatusSnackbar<
return ( return (
errorMessage || errorMessage ||
(mutation.error.response?.data as any).detail || (mutation.error.response?.data as any).detail ||
t("general.defaultError") t("messages.errors.unknown")
) )
} }
if (mutation.isSuccess) { if (mutation.isSuccess) {
return successMessage ?? mutation.data?.detail ?? t("general.defaultSuccess") return successMessage ?? mutation.data?.detail ?? t("messages.successMessage")
} }
})() })()
} }

View File

@ -16,7 +16,7 @@ export default function SimpleOverlayInformation({
icon, icon,
children, children,
}: SimpleOverlayInformationProps): ReactElement { }: SimpleOverlayInformationProps): ReactElement {
const {t} = useTranslation() const {t} = useTranslation("common")
const emptyTextValue = emptyText ?? t("general.emptyValue") const emptyTextValue = emptyText ?? t("general.emptyValue")
return ( return (

View File

@ -12,7 +12,7 @@ export interface UseErrorSuccessSnacksResult {
} }
export default function useErrorSuccessSnacks(): UseErrorSuccessSnacksResult { export default function useErrorSuccessSnacks(): UseErrorSuccessSnacksResult {
const {t} = useTranslation() const {t} = useTranslation("common")
const {enqueueSnackbar, closeSnackbar} = useSnackbar() const {enqueueSnackbar, closeSnackbar} = useSnackbar()
const $errorSnackbarKey = useRef<SnackbarKey | null>(null) const $errorSnackbarKey = useRef<SnackbarKey | null>(null)
@ -40,7 +40,7 @@ export default function useErrorSuccessSnacks(): UseErrorSuccessSnacksResult {
} catch (e) {} } catch (e) {}
} }
$errorSnackbarKey.current = enqueueSnackbar(message || t("general.defaultError"), { $errorSnackbarKey.current = enqueueSnackbar(message || t("messages.errors.unknown"), {
variant: "error", variant: "error",
autoHideDuration: ERROR_SNACKBAR_SHOW_DURATION, autoHideDuration: ERROR_SNACKBAR_SHOW_DURATION,
}) })

View File

@ -30,10 +30,10 @@ export default function SelectField({
valueTextMap: parentValueTextMap, valueTextMap: parentValueTextMap,
}: SelectFieldProps): ReactElement { }: SelectFieldProps): ReactElement {
const user = useUser() const user = useUser()
const {t} = useTranslation() const {t} = useTranslation("components")
const BOOLEAN_SELECT_TEXT_MAP: Record<string, string> = { const BOOLEAN_SELECT_TEXT_MAP: Record<string, string> = {
true: "general.booleanSelection.true", true: "SelectField.values.true",
false: "general.booleanSelection.false", false: "SelectField.values.false",
} }
const valueTextMap = parentValueTextMap ?? BOOLEAN_SELECT_TEXT_MAP const valueTextMap = parentValueTextMap ?? BOOLEAN_SELECT_TEXT_MAP
@ -76,7 +76,7 @@ export default function SelectField({
renderValue={value => renderValue={value =>
value === "null" ? ( value === "null" ? (
<i> <i>
{t("general.defaultValueSelectionRaw", { {t("SelectField.valueSelection", {
value: defaultValueText, value: defaultValueText,
})} })}
</i> </i>
@ -87,7 +87,7 @@ export default function SelectField({
> >
<MenuItem value="null"> <MenuItem value="null">
<i> <i>
{t("general.defaultValueSelection", { {t("SelectField.valueSelectionIsDefault", {
value: defaultValueText, value: defaultValueText,
})} })}
</i> </i>