Skip to content

Commit 21abd51

Browse files
authored
fix: use i18n.translateDynamic for tranlsating dynamic i18n keys in Hilla views (#10)
* fix: use i18n.translateDynamic for tranlsating dynamic i18n keys in Hilla views * chore: update package[-lock].json
1 parent f77b308 commit 21abd51

File tree

4 files changed

+24
-8
lines changed

4 files changed

+24
-8
lines changed

package-lock.json

Lines changed: 17 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/frontend/ValidationErrors.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {Button} from "@vaadin/react-components/Button";
33
import {ValidationError} from "@vaadin/hilla-lit-form";
44
import {EndpointError} from "@vaadin/hilla-frontend";
55
import {KeyboardEvent, useEffect, useRef} from "react";
6-
import {key, translate} from "@vaadin/hilla-react-i18n";
6+
import {i18n, key, translate} from "@vaadin/hilla-react-i18n";
77

88
export function handleKeyDown(event: KeyboardEvent, submit: any) {
99
if (event.key === 'Enter') {
@@ -51,7 +51,7 @@ export default function ValidationErrors({errors}: ValidationErrorsProps) {
5151
if (inputElement && (inputElement instanceof HTMLElement)) {
5252
inputElement.focus();
5353
}
54-
}}>{valueError.validatorMessage ? translate(key`valueError.validatorMessage`) : translate(key`valueError.message`)}
54+
}}>{valueError.validatorMessage ? i18n.translateDynamic(valueError.validatorMessage) : i18n.translateDynamic(valueError.message)}
5555
</Button>
5656
</li>
5757
))}

src/main/frontend/views/@index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ViewConfig } from '@vaadin/hilla-file-router/types.js';
22
import { useSignal } from '@vaadin/hilla-react-signals';
33
import {VerticalLayout} from "@vaadin/react-components";
4-
import {translate} from "@vaadin/hilla-react-i18n";
4+
import {key, translate} from "@vaadin/hilla-react-i18n";
55

66
export const config: ViewConfig = {
77
menu: { order: 0, icon: 'vaadin:home' },
@@ -15,7 +15,7 @@ export default function HomeView() {
1515
<>
1616
<VerticalLayout theme="padding spacing"
1717
className="w-full items-center justify-center">
18-
<h2>{'welcome'}</h2>
18+
<h2>{translate(key`welcome`)}</h2>
1919
<img src="./images/pets.png" alt="Pets" />
2020
</VerticalLayout>
2121
</>

src/main/frontend/views/@layout.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { Suspense, useEffect } from 'react';
1212
import { Outlet, useLocation, useNavigate } from 'react-router';
1313
import {HorizontalLayout} from "@vaadin/react-components/HorizontalLayout.js";
1414
import '@vaadin/icons';
15-
import {key, translate} from "@vaadin/hilla-react-i18n";
15+
import {key, translate, i18n} from "@vaadin/hilla-react-i18n";
1616

1717
import { ErrorBoundary } from "react-error-boundary";
1818

@@ -32,7 +32,7 @@ function Fallback({ error, resetErrorBoundary }) {
3232
}
3333

3434
export default function MainLayout() {
35-
const currentTitle = (useViewConfig()?.title) ? (translate(key`useViewConfig()?.title!`)+ " - Spring PetClinic"): defaultTitle;
35+
const currentTitle = (useViewConfig()?.title) ? (i18n.translateDynamic(useViewConfig()?.title) + " Spring PetClinic"): defaultTitle;
3636
const navigate = useNavigate();
3737
const location = useLocation();
3838

@@ -51,7 +51,7 @@ export default function MainLayout() {
5151
<SideNavItem path={to} key={to}>
5252
{icon ?
5353
<Icon icon={icon} slot="prefix"></Icon> : <></>}
54-
{translate(key`title!`)}
54+
{i18n.translateDynamic(title)}
5555
</SideNavItem>
5656
))}
5757
</SideNav>

0 commit comments

Comments
 (0)