refactor: Fix i18n

This commit is contained in:
Myzel394 2023-03-05 11:38:04 +01:00
parent 126eb58c96
commit f289a2340d
No known key found for this signature in database
GPG Key ID: 79CC92F37B3E1A2B
6 changed files with 21 additions and 22 deletions

View File

@ -24,7 +24,10 @@
"label": "Websites", "label": "Websites",
"emptyText": "You haven't used this alias on any site yet.", "emptyText": "You haven't used this alias on any site yet.",
"placeholder": "https://example.com", "placeholder": "https://example.com",
"helperText": "Add a website to this alias. Used to autofill." "helperText": "Add a website to this alias. Used to autofill.",
"errors": {
"invalid": "This URL is invalid."
}
} }
} }
} }

View File

@ -18,14 +18,14 @@ interface WebsiteForm {
url: string url: string
} }
const WEBSITE_SCHEMA = yup.object().shape({
url: yup.string().matches(URL_REGEX, "This URL is invalid."),
})
export default function AddWebsiteField({onAdd, isLoading}: AddWebsiteFieldProps): ReactElement { export default function AddWebsiteField({onAdd, isLoading}: AddWebsiteFieldProps): ReactElement {
const {t} = useTranslation() const {t} = useTranslation("alias-notes")
const schema = yup.object().shape({
url: yup.string().matches(URL_REGEX, t("form.websites.error.invalid") as string),
})
const websiteFormik = useFormik<WebsiteForm>({ const websiteFormik = useFormik<WebsiteForm>({
validationSchema: WEBSITE_SCHEMA, validationSchema: schema,
initialValues: { initialValues: {
url: "", url: "",
}, },
@ -58,10 +58,8 @@ export default function AddWebsiteField({onAdd, isLoading}: AddWebsiteFieldProps
<TextField <TextField
name="url" name="url"
id="url" id="url"
label={t("routes.AliasDetailRoute.sections.notes.form.websites.label")} label={t("form.websites.label")}
placeholder={t( placeholder={t("form.websites.placeholder")}
"routes.AliasDetailRoute.sections.notes.form.websites.placeholder",
)}
variant="outlined" variant="outlined"
value={websiteFormik.values.url} value={websiteFormik.values.url}
onChange={websiteFormik.handleChange} onChange={websiteFormik.handleChange}
@ -93,7 +91,7 @@ export default function AddWebsiteField({onAdd, isLoading}: AddWebsiteFieldProps
error={websiteFormik.touched.url && Boolean(websiteFormik.errors.url)} error={websiteFormik.touched.url && Boolean(websiteFormik.errors.url)}
> >
{(websiteFormik.touched.url && websiteFormik.errors.url) || {(websiteFormik.touched.url && websiteFormik.errors.url) ||
t("routes.AliasDetailRoute.sections.notes.form.websites.helperText")} t("form.websites.helperText")}
</FormHelperText> </FormHelperText>
</Grid> </Grid>
</Grid> </Grid>

View File

@ -14,14 +14,14 @@ export default function AliasesPercentageAmount({
length, length,
percentage, percentage,
}: AliasPercentageAmountProps): ReactElement { }: AliasPercentageAmountProps): ReactElement {
const {t} = useTranslation() const {t} = useTranslation("admin-global-settings")
const amount = Math.floor(Math.pow(characters.length, length) * percentage) const amount = Math.floor(Math.pow(characters.length, length) * percentage)
return ( return (
<Alert severity="info" variant="standard"> <Alert severity="info" variant="standard">
<Typography variant="subtitle1" component="h5"> <Typography variant="subtitle1" component="h5">
{t("routes.AdminRoute.settings.randomAliasesIncreaseExplanation", { {t("randomAliasesIncreaseExplanation", {
originalLength: length, originalLength: length,
increasedLength: length + 1, increasedLength: length + 1,
amount, amount,

View File

@ -18,7 +18,7 @@ export default function RandomAliasGenerator({
length, length,
}: RandomAliasGeneratorProps): ReactElement { }: RandomAliasGeneratorProps): ReactElement {
const serverSettings = useLoaderData() as ServerSettings const serverSettings = useLoaderData() as ServerSettings
const {t} = useTranslation() const {t} = useTranslation("admin-global-settings")
const theme = useTheme() const theme = useTheme()
const generateLocal = useCallback( const generateLocal = useCallback(
@ -39,7 +39,7 @@ export default function RandomAliasGenerator({
return ( return (
<Alert severity="info" variant="standard"> <Alert severity="info" variant="standard">
<Typography variant="subtitle1" component="h5"> <Typography variant="subtitle1" component="h5">
{t("routes.AdminRoute.settings.randomAliasesPreview.title")} {t("randomAliasesPreview.title")}
</Typography> </Typography>
<Grid container spacing={2} direction="row" alignItems="center"> <Grid container spacing={2} direction="row" alignItems="center">
<Grid item> <Grid item>
@ -51,9 +51,7 @@ export default function RandomAliasGenerator({
</IconButton> </IconButton>
</Grid> </Grid>
</Grid> </Grid>
<FormHelperText> <FormHelperText>{t("randomAliasesPreview.helperText")}</FormHelperText>
{t("routes.AdminRoute.settings.randomAliasesPreview.helperText")}
</FormHelperText>
</Alert> </Alert>
) )
} }

View File

@ -17,7 +17,7 @@ export default function AdminUserPicker({
onPick, onPick,
alreadyPicked, alreadyPicked,
}: AdminUserPickerProps): ReactElement { }: AdminUserPickerProps): ReactElement {
const {t} = useTranslation() const {t} = useTranslation("admin-reserved-aliases")
const meUser = useUser() const meUser = useUser()
const {data: {users: availableUsers} = {}} = useQuery<GetAdminUsersResponse, AxiosError>( const {data: {users: availableUsers} = {}} = useQuery<GetAdminUsersResponse, AxiosError>(
["getAdminUsers"], ["getAdminUsers"],
@ -54,7 +54,7 @@ export default function AdminUserPicker({
{users.map(user => ( {users.map(user => (
<MenuItem key={user.id} value={user.id}> <MenuItem key={user.id} value={user.id}>
{user.id === meUser?.id {user.id === meUser?.id
? t("routes.AdminRoute.forms.reservedAliases.fields.users.me", { ? t("fields.users.me", {
email: user.email.address, email: user.email.address,
}) })
: user.email.address} : user.email.address}

View File

@ -21,7 +21,7 @@ export default function Delete2FA({onSuccess}: Delete2FAProps): ReactElement {
const {showSuccess, showError} = useErrorSuccessSnacks() const {showSuccess, showError} = useErrorSuccessSnacks()
const {mutate} = useMutation<SimpleDetailResponse, AxiosError, Delete2FAData>(delete2FA, { const {mutate} = useMutation<SimpleDetailResponse, AxiosError, Delete2FAData>(delete2FA, {
onSuccess: () => { onSuccess: () => {
showSuccess(t("routes.SettingsRoute.2fa.delete.success")) showSuccess(t("delete.success"))
onSuccess() onSuccess()
}, },
onError: showError, onError: showError,