UNPKG

amplify-material-ui

Version:

A Material-UI based implementation of aws amplify

121 lines (120 loc) 3.99 kB
import * as React from 'react'; import { IntlProvider as Intl } from 'react-intl'; import { lookup, navigatorLanguages } from 'langtag-utils'; import { flattenMessages } from './flatten-messages'; import { mergeDeep } from './merge-deep'; var DEFAULT_LOCAL = 'en'; var defaultMessages = { de: { global: { labels: { password: 'Passwort', newPassword: 'Neues Passwort', username: 'Benutzername', email: 'Email', phoneNumber: 'Telefonnummer', code: 'Code', confirmationCode: 'Bestätigungs-Code', }, }, signUp: { header: 'Erstelle einen neuen Account', buttons: { create: 'Account erstellen', }, links: { signIn: 'Anmelden', }, text: { haveAccount: 'Schon registriert?', }, }, signIn: { header: 'Melden Sie sich mit Ihrem Account an', buttons: { signIn: 'Anmelden', }, links: { backToSignIn: 'Zurück zur Anmeldung', forgotPassword: 'Passwort zurücksetzen', signUp: 'Hier registrieren', }, }, verifyContact: { header: 'Zurücksetzen des Account benötigt einen verifizierten Account', buttons: { submit: 'Abschicken', verify: 'Verifizieren', }, links: { skip: 'Überspringen', }, }, requireNewPassword: { header: 'Passwort ändern', buttons: { change: 'Ändern', }, links: { backToSignIn: 'Zurück zur Anmeldung', }, }, confirmSignIn: { header: '{mfaType} Code bestätigen', buttons: { confirm: 'Bestätigen', }, links: { backToSignIn: 'Zurück zur Anmeldung', }, }, confirmSignUp: { header: 'Zurücksetzen des Passworts', buttons: { confirm: 'Bestätigen', }, links: { resendCode: 'Code erneut senden', backToSignIn: 'Zurück zur Anmeldung', }, }, forgotPassword: { header: 'Zurücksetzen des Passworts', buttons: { submit: 'Abschicken', sendCode: 'Code senden', }, links: { resendCode: 'Code erneut senden', backToSignIn: 'Zurück zur Anmeldung', }, }, totpSetup: { header: '', labels: { totpCode: '', }, buttons: { verifyTotpToken: '', }, }, greetings: { menu: { signedIn: 'Angemeldet als {username}', logout: 'Logout', }, }, }, }; export var IntlProvider = function (_a) { var _b = _a.supportedLocales, supportedLocales = _b === void 0 ? [DEFAULT_LOCAL, 'de'] : _b, _c = _a.customMessages, customMessages = _c === void 0 ? {} : _c, children = _a.children; var detectedLocale = lookup(supportedLocales, navigatorLanguages(), DEFAULT_LOCAL); var createMessages = function () { var mergedMessages = defaultMessages[detectedLocale] ? mergeDeep(defaultMessages[detectedLocale], customMessages[detectedLocale]) : customMessages[detectedLocale]; return mergedMessages ? flattenMessages(mergedMessages) : undefined; }; var messages = createMessages(); return (React.createElement(Intl, { locale: detectedLocale, key: detectedLocale, messages: messages, defaultLocale: DEFAULT_LOCAL }, children)); };