import { I18nService, observer, useInjection } from "@cpro-js/react-core"; import { NotificationService } from "@cpro-js/react-ui5-notification"; import { CurrencyInput, DatePicker, NumberInput } from "@cpro-js/react-ui5-webcomponents-form"; import { Bar, Button, DynamicPage, DynamicPageHeader, DynamicPageTitle, Label, Title } from "@ui5/webcomponents-react"; import React, { FC, useCallback } from "react"; export const I18nTestScreen: FC = observer(() => { const { showSuccess, showError } = useInjection(NotificationService); const i18nService = useInjection(I18nService); const { t, formatDate } = i18nService; const pageTitle = "TestScreen"; const handleLocale = useCallback((locale: string) => { i18nService.useLocale(locale).then(() => console.log("Changed Locale!", locale)); }, []); const handleSuccess = useCallback(() => { showSuccess("Yippie!"); }, []); const handleError = useCallback(() => { showError("Oh no!", "My Detail messsage!"); }, []); return ( {pageTitle}} />} headerArea={My Header Content, e.g. search form} footerArea={ } /> } >

Hello World!

  • Current Formatting Locale: {i18nService.getFormattingLocale()}
  • Current Translation Language: {i18nService.getTranslationLocale()}
  • Current Timezone: {i18nService.getTimezone()}









Cascading Translation

{t("test.cascadingLocalization")}

Interpolation

{t("test.interpolation", { testName: "The Test", testSize: 15 })}

Pluralization

  • {t("test.pluralization", { count: 0 })}
  • {t("test.pluralization", { count: 1 })}
  • {t("test.pluralization", { count: 6 })}
); });