mirror of
https://github.com/IT4Change/ohmyform-ui.git
synced 2025-12-13 01:35:51 +00:00
add helper calls to sort translations and list missing translations
This commit is contained in:
parent
fd227b1884
commit
1726d83f88
@ -11,6 +11,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
- `SPA` env variable to have static page with loading spinner before redirect
|
||||
- `de`, `fr`, `es`, `it`, `cn` base folders for translations
|
||||
- finish translating `de` and `en`
|
||||
- add `yarn translation:sort` to order translations (to ensure the same order
|
||||
when we add / change translations)
|
||||
- add `yarn translation:missing <lang>` to print a list of missing translations
|
||||
for the given language (this takes `en` as a baseline)
|
||||
|
||||
### Changed
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ import {useQuery} from '@apollo/react-hooks'
|
||||
import {AxiosRequestConfig} from 'axios'
|
||||
import {useRouter} from 'next/router'
|
||||
import React, {useEffect, useState} from 'react'
|
||||
import {useTranslation} from 'react-i18next'
|
||||
import {ME_QUERY, MeQueryData} from '../graphql/query/me.query'
|
||||
import {LoadingPage} from './loading.page'
|
||||
|
||||
@ -38,6 +39,7 @@ export const authConfig = async (config: AxiosRequestConfig = {}): Promise<Axios
|
||||
|
||||
export const withAuth = (Component, roles: string[] = []): React.FC => {
|
||||
return props => {
|
||||
const { t } = useTranslation()
|
||||
const router = useRouter()
|
||||
const [access, setAccess] = useState(false)
|
||||
const {loading, data, error} = useQuery<MeQueryData>(ME_QUERY)
|
||||
@ -78,11 +80,11 @@ export const withAuth = (Component, roles: string[] = []): React.FC => {
|
||||
}, [data])
|
||||
|
||||
if (loading) {
|
||||
return <LoadingPage message={'Loading Credentials'} />
|
||||
return <LoadingPage message={t('loadingCredentials')} />
|
||||
}
|
||||
|
||||
if (!access) {
|
||||
return <LoadingPage message={'Checking Credentials'} />
|
||||
return <LoadingPage message={t('checkingCredentials')} />
|
||||
}
|
||||
|
||||
return <Component me={data && data.me} {...props} />
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
{
|
||||
"home": "Home",
|
||||
"users": "Benutzer",
|
||||
"forms": "Formulare",
|
||||
"submissions": "Eingaben",
|
||||
"home": "Home",
|
||||
"profile": "Profil",
|
||||
"username": "Benutzername"
|
||||
"submissions": "Eingaben",
|
||||
"username": "Benutzername",
|
||||
"users": "Benutzer"
|
||||
}
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
{
|
||||
"logout": "Abmelden",
|
||||
"admin": "Administration",
|
||||
"checkingCredentials": "Zugangsdaten werden geprüft",
|
||||
"loadingCredentials": "Lade Zugangsdaten",
|
||||
"login": "Anmelden",
|
||||
"register": "Benutzer erstellen",
|
||||
"logout": "Abmelden",
|
||||
"recover": "Passwort vergessen",
|
||||
"admin": "Administration"
|
||||
"register": "Benutzer erstellen"
|
||||
}
|
||||
|
||||
@ -1,97 +1,97 @@
|
||||
{
|
||||
"baseData": {
|
||||
"isLive": "Öffentlich",
|
||||
"language": "Sprache",
|
||||
"showFooter": "Fußzeile anzeigen",
|
||||
"title": "Titel"
|
||||
},
|
||||
"baseDataTab": "Basis Daten",
|
||||
"building": "Formular wird aufgebaut",
|
||||
"submitted": "Vielen dank für ihre Eingaben!",
|
||||
"restart": "Formular neu starten",
|
||||
"confirmDelete": "Wollen sie dieses Formular mit allen Eintragungen löschen?",
|
||||
"create": "Neues Formular erstellen",
|
||||
"createNow": "Jetzt Anlegen",
|
||||
"created": "Formular Erstellt",
|
||||
"creationError": "Formular konnte nicht erstellt werden",
|
||||
"deleteError": "Formular konnte nicht gelöscht werden",
|
||||
"deleteNow": "Jetzt löschen!",
|
||||
"deleted": "Formular gelöscht",
|
||||
"design": {
|
||||
"answerColor": "Antworten Farbe",
|
||||
"backgroundColor": "Hintergrund Farbe",
|
||||
"buttonActiveColor": "Aktive Aktion Farbe",
|
||||
"buttonColor": "Aktions Farbe",
|
||||
"buttonTextColor": "Aktion Schrift Farbe",
|
||||
"font": "Schriftart",
|
||||
"questionColor": "Fragen Farbe"
|
||||
},
|
||||
"designTab": "Design",
|
||||
"endPage": {
|
||||
"action": "Aktion",
|
||||
"activeColor": "Aktive Farbe",
|
||||
"addButton": "Aktion hinzufügen",
|
||||
"bgColor": "Hintergrund Farbe",
|
||||
"buttons": "Aktionen",
|
||||
"color": "Text Farbe",
|
||||
"continueButtonText": "Weiter Text",
|
||||
"paragraph": "Paragraf",
|
||||
"show": "Anzeigen",
|
||||
"text": "Text",
|
||||
"title": "Titel",
|
||||
"url": "Url"
|
||||
},
|
||||
"endPageTab": "Abschluss Seite",
|
||||
"loading": "Formular wird geladen",
|
||||
"mange": "Formular \"{{title}}\" bearbeiten",
|
||||
"new": "Neues Formular",
|
||||
"created": "Formular Erstellt",
|
||||
"creationError": "Formular konnte nicht erstellt werden",
|
||||
"create": "Neues Formular erstellen",
|
||||
"createNow": "Jetzt Anlegen",
|
||||
"baseDataTab": "Basis Daten",
|
||||
"selfNotificationsTab": "Benachrichtigungen für Verwalter",
|
||||
"respondentNotificationsTab": "Benarichtigungen für Nutzer",
|
||||
"updated": "Formular aktualisiert",
|
||||
"updateError": "Formular konnte nicht aktualisiert werden",
|
||||
"updateNow": "Speichern",
|
||||
"designTab": "Design",
|
||||
"startPageTab": "Eröffnungs Seite",
|
||||
"endPageTab": "Abschluss Seite",
|
||||
"confirmDelete": "Wollen sie dieses Formular mit allen Eintragungen löschen?",
|
||||
"deleted": "Formular gelöscht",
|
||||
"deleteError": "Formular konnte nicht gelöscht werden",
|
||||
"deleteNow": "Jetzt löschen!",
|
||||
"row": {
|
||||
"isLive": "Öffentlich",
|
||||
"title": "Titel",
|
||||
"admin": "Verwalter",
|
||||
"language": "Sprache",
|
||||
"created": "Erstellt",
|
||||
"lastModified": "Letzte Änderung",
|
||||
"menu": ""
|
||||
},
|
||||
"baseData": {
|
||||
"isLive": "Öffentlich",
|
||||
"title": "Titel",
|
||||
"language": "Sprache",
|
||||
"showFooter": "Fußzeile anzeigen"
|
||||
},
|
||||
"design": {
|
||||
"font": "Schriftart",
|
||||
"backgroundColor": "Hintergrund Farbe",
|
||||
"questionColor": "Fragen Farbe",
|
||||
"answerColor": "Antworten Farbe",
|
||||
"buttonColor": "Aktions Farbe",
|
||||
"buttonActiveColor": "Aktive Aktion Farbe",
|
||||
"buttonTextColor": "Aktion Schrift Farbe"
|
||||
},
|
||||
"endPage": {
|
||||
"show": "Anzeigen",
|
||||
"continueButtonText": "Weiter Text",
|
||||
"paragraph": "Paragraf",
|
||||
"title": "Titel",
|
||||
"buttons": "Aktionen",
|
||||
"url": "Url",
|
||||
"text": "Text",
|
||||
"action": "Aktion",
|
||||
"bgColor": "Hintergrund Farbe",
|
||||
"activeColor": "Aktive Farbe",
|
||||
"color": "Text Farbe",
|
||||
"addButton": "Aktion hinzufügen"
|
||||
},
|
||||
"startPage": {
|
||||
"show": "Anzeigen",
|
||||
"continueButtonText": "Weiter Text",
|
||||
"paragraph": "Paragraf",
|
||||
"title": "Titel",
|
||||
"buttons": "Aktionen",
|
||||
"url": "Url",
|
||||
"text": "Text",
|
||||
"action": "Aktion",
|
||||
"bgColor": "Hintergrund Farbe",
|
||||
"activeColor": "Aktive Farbe",
|
||||
"color": "Text Farbe",
|
||||
"addButton": "Aktion hinzufügen"
|
||||
},
|
||||
"respondentNotifications": {
|
||||
"enabled": "Aktiv",
|
||||
"subject": "Betreff",
|
||||
"htmlTemplate": "HTML Template",
|
||||
"htmlTemplateInfo": "Sie können auch <u>MJML<\/u> verwenden um das Template zu gestalten",
|
||||
"toField": "Empfänger E-Mail",
|
||||
"toFieldInfo": "Formular E-Mail Feld für Benachrichtigung",
|
||||
"fromEmail": "Absender E-Mail",
|
||||
"fromEmailInfo": "Der E-Mail Server muss den versand von dieser E-Mail zulassen"
|
||||
"fromEmailInfo": "Der E-Mail Server muss den versand von dieser E-Mail zulassen",
|
||||
"htmlTemplate": "HTML Template",
|
||||
"htmlTemplateInfo": "Sie können auch <u>MJML</u> verwenden um das Template zu gestalten",
|
||||
"subject": "Betreff",
|
||||
"toField": "Empfänger E-Mail",
|
||||
"toFieldInfo": "Formular E-Mail Feld für Benachrichtigung"
|
||||
},
|
||||
"respondentNotificationsTab": "Benarichtigungen für Nutzer",
|
||||
"restart": "Formular neu starten",
|
||||
"row": {
|
||||
"admin": "Verwalter",
|
||||
"created": "Erstellt",
|
||||
"isLive": "Öffentlich",
|
||||
"language": "Sprache",
|
||||
"lastModified": "Letzte Änderung",
|
||||
"menu": "",
|
||||
"title": "Titel"
|
||||
},
|
||||
"selfNotifications": {
|
||||
"enabled": "Aktiv",
|
||||
"subject": "Betreff",
|
||||
"htmlTemplate": "HTML Template",
|
||||
"htmlTemplateInfo": "Sie können auch <u>MJML<\/u> verwenden um das Template zu gestalten",
|
||||
"toEmail": "Empfänger E-Mail",
|
||||
"toEmailInfo": "Als Standard wird die E-Mail des Verwalters verwendet",
|
||||
"fromField": "Absender E-Mail",
|
||||
"fromFieldInfo": "Formular E-Mail Feld für Benachrichtigung, wird as Reply-To gesetzt"
|
||||
}
|
||||
"fromFieldInfo": "Formular E-Mail Feld für Benachrichtigung, wird as Reply-To gesetzt",
|
||||
"htmlTemplate": "HTML Template",
|
||||
"htmlTemplateInfo": "Sie können auch <u>MJML</u> verwenden um das Template zu gestalten",
|
||||
"subject": "Betreff",
|
||||
"toEmail": "Empfänger E-Mail",
|
||||
"toEmailInfo": "Als Standard wird die E-Mail des Verwalters verwendet"
|
||||
},
|
||||
"selfNotificationsTab": "Benachrichtigungen für Verwalter",
|
||||
"startPage": {
|
||||
"action": "Aktion",
|
||||
"activeColor": "Aktive Farbe",
|
||||
"addButton": "Aktion hinzufügen",
|
||||
"bgColor": "Hintergrund Farbe",
|
||||
"buttons": "Aktionen",
|
||||
"color": "Text Farbe",
|
||||
"continueButtonText": "Weiter Text",
|
||||
"paragraph": "Paragraf",
|
||||
"show": "Anzeigen",
|
||||
"text": "Text",
|
||||
"title": "Titel",
|
||||
"url": "Url"
|
||||
},
|
||||
"startPageTab": "Eröffnungs Seite",
|
||||
"submitted": "Vielen dank für ihre Eingaben!",
|
||||
"updateError": "Formular konnte nicht aktualisiert werden",
|
||||
"updateNow": "Speichern",
|
||||
"updated": "Formular aktualisiert"
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"en": "English",
|
||||
"de": "Deutsch",
|
||||
"cn": "繁體中文",
|
||||
"de": "Deutsch",
|
||||
"en": "English",
|
||||
"es": "Español",
|
||||
"fr": "Français",
|
||||
"it": "Italiano"
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"welcomeBack": "Willkomen zurück!",
|
||||
"invalidLoginCredentials": "Benutzername oder Passwort ist falsch",
|
||||
"usernamePlaceholder": "Benutzername",
|
||||
"loginNow": "Jetzt Anmelden",
|
||||
"passwordPlaceholder": "Passwort",
|
||||
"loginNow": "Jetzt Anmelden"
|
||||
"usernamePlaceholder": "Benutzername",
|
||||
"welcomeBack": "Willkomen zurück!"
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
{
|
||||
"updated": "Profil Aktualisieren",
|
||||
"email": "E-Mail",
|
||||
"firstName": "Vorname",
|
||||
"language": "Sprache",
|
||||
"lastName": "Nachname",
|
||||
"updateError": "Profil konnte nicht aktualisiert werden",
|
||||
"updateNow": "Speichern",
|
||||
"language": "Sprache",
|
||||
"email": "E-Mail",
|
||||
"username": "Benutzername",
|
||||
"firstName": "Vorname",
|
||||
"lastName": "Nachname"
|
||||
"updated": "Profil Aktualisieren",
|
||||
"username": "Benutzername"
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"welcome": "Willkommen, bitte bestätige noch deine E-Mail",
|
||||
"credentialsAlreadyInUse": "Deine Daten werden bereits verwendet!",
|
||||
"gotoLogin": "Sie haben schon einen Account? Weiter zur Anmeldung",
|
||||
"registerNow": "Jetzt Registrieren",
|
||||
"gotoLogin": "Sie haben schon einen Account? Weiter zur Anmeldung"
|
||||
"welcome": "Willkommen, bitte bestätige noch deine E-Mail"
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"totalForms": "Anzahl der Formulare",
|
||||
"totalUsers": "Anzahl der Benutzer",
|
||||
"totalSubmissions": "Anzahl der Eingaben"
|
||||
"totalSubmissions": "Anzahl der Eingaben",
|
||||
"totalUsers": "Anzahl der Benutzer"
|
||||
}
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
{
|
||||
"progress": "Fortschritt",
|
||||
"created": "Erstellt",
|
||||
"lastModified": "Letzte Änderung",
|
||||
"submission": "Eingabe",
|
||||
"add": "Neue Eingabe starten",
|
||||
"city": "Stadt",
|
||||
"country": "Land",
|
||||
"created": "Erstellt",
|
||||
"device": {
|
||||
"name": "Geräte Name",
|
||||
"type": "Geräte Typ"
|
||||
},
|
||||
"edit": "Formular bearbeiten",
|
||||
"field": "Feld",
|
||||
"value": "Wert",
|
||||
"country": "Land",
|
||||
"city": "Stadt",
|
||||
"device": {
|
||||
"type": "Geräte Typ",
|
||||
"name": "Geräte Name"
|
||||
}
|
||||
"lastModified": "Letzte Änderung",
|
||||
"progress": "Fortschritt",
|
||||
"submission": "Eingabe",
|
||||
"value": "Wert"
|
||||
}
|
||||
|
||||
@ -1,65 +1,65 @@
|
||||
{
|
||||
"deleteNow": "Feld löschen",
|
||||
"confirmDelete": "Wollen sie das Feld wirklich löschen? Bitte beachten sie das es keine Referenzen auf das Feld gibt!",
|
||||
"title": "Titel",
|
||||
"description": "Beschreibung",
|
||||
"required": "Pflichtfeld",
|
||||
"requiredInfo": "Falls verpflichtend sollte ein Standard Wert gesetzt sein damit Nutzer fortfahren können!",
|
||||
"date": {
|
||||
"name": "Datum",
|
||||
"default": "Standard Dateum",
|
||||
"max": "Neuest mögliche Datum",
|
||||
"min": "Ältest mögliche Datum",
|
||||
"max": "Neuest mögliche Datum"
|
||||
"name": "Datum"
|
||||
},
|
||||
"deleteNow": "Feld löschen",
|
||||
"description": "Beschreibung",
|
||||
"dropdown": {
|
||||
"name": "Auswahl Liste",
|
||||
"addOption": "Auswahl hinzufügen",
|
||||
"default": "Standard Wert",
|
||||
"name": "Auswahl Liste",
|
||||
"options": "Auswahl",
|
||||
"titlePlaceholder": "Titel",
|
||||
"valuePlaceholder": "Wert",
|
||||
"removeOption": "Entfernen",
|
||||
"addOption": "Auswahl hinzufügen"
|
||||
"titlePlaceholder": "Titel",
|
||||
"valuePlaceholder": "Wert"
|
||||
},
|
||||
"email": {
|
||||
"name": "E-Mail",
|
||||
"default": "Standard E-Mail"
|
||||
"default": "Standard E-Mail",
|
||||
"name": "E-Mail"
|
||||
},
|
||||
"hidden": {
|
||||
"name": "Versteckt",
|
||||
"default": "Standard Wert"
|
||||
"default": "Standard Wert",
|
||||
"name": "Versteckt"
|
||||
},
|
||||
"link": {
|
||||
"name": "URL",
|
||||
"default": "Standard Url"
|
||||
"default": "Standard Url",
|
||||
"name": "URL"
|
||||
},
|
||||
"number": {
|
||||
"name": "Zahl",
|
||||
"default": "Standard Zahl"
|
||||
"default": "Standard Zahl",
|
||||
"name": "Zahl"
|
||||
},
|
||||
"radio": {
|
||||
"name": "Knopf Auswahl Liste",
|
||||
"addOption": "Auswahl hinzufügen",
|
||||
"default": "Standard Wert",
|
||||
"name": "Knopf Auswahl Liste",
|
||||
"options": "Auswahl",
|
||||
"titlePlaceholder": "Titel",
|
||||
"valuePlaceholder": "Wert",
|
||||
"removeOption": "Entfernen",
|
||||
"addOption": "Auswahl hinzufügen"
|
||||
"titlePlaceholder": "Titel",
|
||||
"valuePlaceholder": "Wert"
|
||||
},
|
||||
"rating": {
|
||||
"name": "Bewertung",
|
||||
"clearNote": "Erneut klicken um Auswahl aufzuheben",
|
||||
"default": "Standard Bewertung",
|
||||
"clearNote": "Erneut klicken um Auswahl aufzuheben"
|
||||
"name": "Bewertung"
|
||||
},
|
||||
"required": "Pflichtfeld",
|
||||
"requiredInfo": "Falls verpflichtend sollte ein Standard Wert gesetzt sein damit Nutzer fortfahren können!",
|
||||
"textarea": {
|
||||
"default": "Standard Wert",
|
||||
"name": "Mehrzeiliger Text"
|
||||
},
|
||||
"textfield": {
|
||||
"name": "Einzeiliger Text",
|
||||
"default": "Standard Wert"
|
||||
},
|
||||
"textarea": {
|
||||
"name": "Mehrzeiliger Text",
|
||||
"default": "Standard Wert"
|
||||
"default": "Standard Wert",
|
||||
"name": "Einzeiliger Text"
|
||||
},
|
||||
"title": "Titel",
|
||||
"yes_no": {
|
||||
"name": "Ja / Nein",
|
||||
"default": "Standard Wert"
|
||||
"default": "Standard Wert",
|
||||
"name": "Ja / Nein"
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
{
|
||||
"baseData": "Basis Daten",
|
||||
"confirmDelete": "Wollen sie diesen Benutzer wirklich löschen?",
|
||||
"deleted": "Benutzer gelöscht",
|
||||
"deleteError": "Benutzer konnte nicht gelöscht werden",
|
||||
"deleteNow": "Jetzt löschen!",
|
||||
"deleted": "Benutzer gelöscht",
|
||||
"loading": "Benutzer wird geladen",
|
||||
"mange": "Benutzer \"{{email}}\" bearbeiten",
|
||||
"row": {
|
||||
"roles": "Rolle",
|
||||
"email": "E-Mail",
|
||||
"created": "Erstellt",
|
||||
"menu": ""
|
||||
"email": "E-Mail",
|
||||
"menu": "",
|
||||
"roles": "Rolle"
|
||||
},
|
||||
"updated": "Benutzer aktualisiert updated",
|
||||
"updateError": "Konnte Benutzer nicht aktualisieren",
|
||||
"updateNow": "Speichern",
|
||||
"baseData": "Basis Daten"
|
||||
"updated": "Benutzer aktualisiert updated"
|
||||
}
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
{
|
||||
"invalidEmail": "ungültige E-Mail!",
|
||||
"mandatoryFieldsMissing": "Nicht alle Pflichfelder befüllt",
|
||||
"usernameRequired": "Bitte einen Benutzernamen angeben",
|
||||
"emailRequired": "Bitte eine E-Mail angeben",
|
||||
"emailFieldRequired": "Bitte ein E-Mail Feld auswählen",
|
||||
"languageRequired": "Bitte eine Sprache angeben",
|
||||
"valueRequired": "Bitte einen Wert angeben",
|
||||
"emailRequired": "Bitte eine E-Mail angeben",
|
||||
"invalidEmail": "ungültige E-Mail!",
|
||||
"invalidUrl": "ungültige Url",
|
||||
"titleRequired": "Bitte einen Titel angeben",
|
||||
"templateRequired": "Bitte ein Template angeben",
|
||||
"subjectRequired": "Bitte einen Betreff angeben",
|
||||
"languageRequired": "Bitte eine Sprache angeben",
|
||||
"mandatoryFieldsMissing": "Nicht alle Pflichfelder befüllt",
|
||||
"passwordMinLength": "Passwort muss mindestens 5 Zeichen haben!",
|
||||
"passwordRequired": "Bitte ein Passwort angeben",
|
||||
"passwordMinLength": "Passwort muss mindestens 5 Zeichen haben!"
|
||||
"subjectRequired": "Bitte einen Betreff angeben",
|
||||
"templateRequired": "Bitte ein Template angeben",
|
||||
"titleRequired": "Bitte einen Titel angeben",
|
||||
"usernameRequired": "Bitte einen Benutzernamen angeben",
|
||||
"valueRequired": "Bitte einen Wert angeben"
|
||||
}
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
{
|
||||
"home": "Home",
|
||||
"users": "Users",
|
||||
"forms": "Forms",
|
||||
"submissions": "Submissions",
|
||||
"home": "Home",
|
||||
"profile": "Profile",
|
||||
"username": "Username"
|
||||
"submissions": "Submissions",
|
||||
"username": "Username",
|
||||
"users": "Users"
|
||||
}
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
{
|
||||
"logout": "Logout",
|
||||
"admin": "Admin",
|
||||
"checkingCredentials": "Checking Credentials",
|
||||
"loadingCredentials": "Loading Credentials",
|
||||
"login": "Login",
|
||||
"register": "Create Account",
|
||||
"logout": "Logout",
|
||||
"recover": "Lost Password",
|
||||
"admin": "Admin"
|
||||
"register": "Create Account"
|
||||
}
|
||||
|
||||
@ -1,97 +1,97 @@
|
||||
{
|
||||
"baseData": {
|
||||
"isLive": "Is Live",
|
||||
"language": "Language",
|
||||
"showFooter": "Show Footer",
|
||||
"title": "Title"
|
||||
},
|
||||
"baseDataTab": "Base Data",
|
||||
"building": "Building Form",
|
||||
"submitted": "Thank you for your submission!",
|
||||
"restart": "Restart Form",
|
||||
"confirmDelete": "Are you sure delete this form with all submissions?",
|
||||
"create": "Create new form",
|
||||
"createNow": "Save",
|
||||
"created": "Form Created",
|
||||
"creationError": "Could not create form",
|
||||
"deleteError": "could not delete form",
|
||||
"deleteNow": "Delete Now!",
|
||||
"deleted": "Form deleted",
|
||||
"design": {
|
||||
"answerColor": "Answer Color",
|
||||
"backgroundColor": "Background Color",
|
||||
"buttonActiveColor": "Button Active Color",
|
||||
"buttonColor": "Button Color",
|
||||
"buttonTextColor": "Button Text Color",
|
||||
"font": "Font",
|
||||
"questionColor": "Question Color"
|
||||
},
|
||||
"designTab": "Design",
|
||||
"endPage": {
|
||||
"action": "Action",
|
||||
"activeColor": "Active Color",
|
||||
"addButton": "Add Button",
|
||||
"bgColor": "Background Color",
|
||||
"buttons": "Buttons",
|
||||
"color": "Color",
|
||||
"continueButtonText": "Continue Button Text",
|
||||
"paragraph": "Paragraph",
|
||||
"show": "Show",
|
||||
"text": "Text",
|
||||
"title": "Title",
|
||||
"url": "Url"
|
||||
},
|
||||
"endPageTab": "End Page",
|
||||
"loading": "Loading Form",
|
||||
"mange": "Edit Form \"{{title}}\"",
|
||||
"new": "New Form",
|
||||
"created": "Form Created",
|
||||
"creationError": "Could not create form",
|
||||
"create": "Create new form",
|
||||
"createNow": "Save",
|
||||
"baseDataTab": "Base Data",
|
||||
"selfNotificationsTab": "Self Notifications",
|
||||
"respondentNotificationsTab": "Respondent Notifications",
|
||||
"updated": "Form updated",
|
||||
"updateError": "Could not update form",
|
||||
"updateNow": "Save",
|
||||
"designTab": "Design",
|
||||
"startPageTab": "Start Page",
|
||||
"endPageTab": "End Page",
|
||||
"confirmDelete": "Are you sure delete this form with all submissions?",
|
||||
"deleted": "Form deleted",
|
||||
"deleteError": "could not delete form",
|
||||
"deleteNow": "Delete Now!",
|
||||
"row": {
|
||||
"isLive": "Live",
|
||||
"title": "Title",
|
||||
"admin": "Owner",
|
||||
"language": "Language",
|
||||
"created": "Created",
|
||||
"lastModified": "Last Modified",
|
||||
"menu": ""
|
||||
},
|
||||
"baseData": {
|
||||
"isLive": "Is Live",
|
||||
"title": "Title",
|
||||
"language": "Language",
|
||||
"showFooter": "Show Footer"
|
||||
},
|
||||
"design": {
|
||||
"font": "Font",
|
||||
"backgroundColor": "Background Color",
|
||||
"questionColor": "Question Color",
|
||||
"answerColor": "Answer Color",
|
||||
"buttonColor": "Button Color",
|
||||
"buttonActiveColor": "Button Active Color",
|
||||
"buttonTextColor": "Button Text Color"
|
||||
},
|
||||
"endPage": {
|
||||
"show": "Show",
|
||||
"continueButtonText": "Continue Button Text",
|
||||
"paragraph": "Paragraph",
|
||||
"title": "Title",
|
||||
"buttons": "Buttons",
|
||||
"url": "Url",
|
||||
"text": "Text",
|
||||
"action": "Action",
|
||||
"bgColor": "Background Color",
|
||||
"activeColor": "Active Color",
|
||||
"color": "Color",
|
||||
"removeButton": "Add Button"
|
||||
},
|
||||
"startPage": {
|
||||
"show": "Show",
|
||||
"continueButtonText": "Continue Button Text",
|
||||
"paragraph": "Paragraph",
|
||||
"title": "Title",
|
||||
"buttons": "Buttons",
|
||||
"url": "Url",
|
||||
"text": "Text",
|
||||
"action": "Action",
|
||||
"bgColor": "Background Color",
|
||||
"activeColor": "Active Color",
|
||||
"color": "Color",
|
||||
"addButton": "Add Button"
|
||||
},
|
||||
"respondentNotifications": {
|
||||
"enabled": "Enabled",
|
||||
"subject": "Subject",
|
||||
"htmlTemplate": "HTML Template",
|
||||
"htmlTemplateInfo": "You can also use <u>MJML<\/u> to create your email templates",
|
||||
"toField": "Email Field",
|
||||
"toFieldInfo": "Field with Email for receipt",
|
||||
"fromEmail": "Sender Email",
|
||||
"fromEmailInfo": "Make sure your mailserver can send from this email"
|
||||
"fromEmailInfo": "Make sure your mailserver can send from this email",
|
||||
"htmlTemplate": "HTML Template",
|
||||
"htmlTemplateInfo": "You can also use <u>MJML</u> to create your email templates",
|
||||
"subject": "Subject",
|
||||
"toField": "Email Field",
|
||||
"toFieldInfo": "Field with Email for receipt"
|
||||
},
|
||||
"respondentNotificationsTab": "Respondent Notifications",
|
||||
"restart": "Restart Form",
|
||||
"row": {
|
||||
"admin": "Owner",
|
||||
"created": "Created",
|
||||
"isLive": "Live",
|
||||
"language": "Language",
|
||||
"lastModified": "Last Modified",
|
||||
"menu": "",
|
||||
"title": "Title"
|
||||
},
|
||||
"selfNotifications": {
|
||||
"enabled": "Enabled",
|
||||
"subject": "Subject",
|
||||
"htmlTemplate": "HTML Template",
|
||||
"htmlTemplateInfo": "You can also use <strong>MJML<\/strong> to create your email templates",
|
||||
"toEmail": "Your Email",
|
||||
"toEmailInfo": "If not set will send to the admin of the form",
|
||||
"fromField": "Sender Email",
|
||||
"fromFieldInfo": "Field with Email, will set the Reply-To header"
|
||||
}
|
||||
"fromFieldInfo": "Field with Email, will set the Reply-To header",
|
||||
"htmlTemplate": "HTML Template",
|
||||
"htmlTemplateInfo": "You can also use <strong>MJML</strong> to create your email templates",
|
||||
"subject": "Subject",
|
||||
"toEmail": "Your Email",
|
||||
"toEmailInfo": "If not set will send to the admin of the form"
|
||||
},
|
||||
"selfNotificationsTab": "Self Notifications",
|
||||
"startPage": {
|
||||
"action": "Action",
|
||||
"activeColor": "Active Color",
|
||||
"addButton": "Add Button",
|
||||
"bgColor": "Background Color",
|
||||
"buttons": "Buttons",
|
||||
"color": "Color",
|
||||
"continueButtonText": "Continue Button Text",
|
||||
"paragraph": "Paragraph",
|
||||
"show": "Show",
|
||||
"text": "Text",
|
||||
"title": "Title",
|
||||
"url": "Url"
|
||||
},
|
||||
"startPageTab": "Start Page",
|
||||
"submitted": "Thank you for your submission!",
|
||||
"updateError": "Could not update form",
|
||||
"updateNow": "Save",
|
||||
"updated": "Form updated"
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"en": "English",
|
||||
"de": "Deutsch",
|
||||
"cn": "繁體中文",
|
||||
"de": "Deutsch",
|
||||
"en": "English",
|
||||
"es": "Español",
|
||||
"fr": "Français",
|
||||
"it": "Italiano"
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"welcomeBack": "Welcome back!",
|
||||
"invalidLoginCredentials": "username / password are invalid",
|
||||
"usernamePlaceholder": "Username",
|
||||
"loginNow": "Login Now",
|
||||
"passwordPlaceholder": "Password",
|
||||
"loginNow": "Login Now"
|
||||
"usernamePlaceholder": "Username",
|
||||
"welcomeBack": "Welcome back!"
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
{
|
||||
"updated": "Profile updated",
|
||||
"email": "Email",
|
||||
"firstName": "First Name",
|
||||
"language": "Language",
|
||||
"lastName": "Last Name",
|
||||
"updateError": "Could not update Profile",
|
||||
"updateNow": "Save",
|
||||
"language": "Language",
|
||||
"email": "Email",
|
||||
"username": "Username",
|
||||
"firstName": "First Name",
|
||||
"lastName": "Last Name"
|
||||
"updated": "Profile updated",
|
||||
"username": "Username"
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"welcome": "Welcome, please also confirm your email",
|
||||
"credentialsAlreadyInUse": "Some data already in use!",
|
||||
"gotoLogin": "Have an account? Go to login",
|
||||
"registerNow": "Register Now",
|
||||
"gotoLogin": "Have an account? Go to login"
|
||||
"welcome": "Welcome, please also confirm your email"
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"totalForms": "Total Forms",
|
||||
"totalUsers": "Total Users",
|
||||
"totalSubmissions": "Total Submissions"
|
||||
"totalSubmissions": "Total Submissions",
|
||||
"totalUsers": "Total Users"
|
||||
}
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
{
|
||||
"progress": "Progress",
|
||||
"created": "Created",
|
||||
"lastModified": "Last Change",
|
||||
"submission": "Submission",
|
||||
"add": "Add Submission",
|
||||
"city": "City",
|
||||
"country": "Country",
|
||||
"created": "Created",
|
||||
"device": {
|
||||
"name": "Device Name",
|
||||
"type": "Device Type"
|
||||
},
|
||||
"edit": "Edit",
|
||||
"field": "Field",
|
||||
"value": "Value",
|
||||
"country": "Country",
|
||||
"city": "City",
|
||||
"device": {
|
||||
"type": "Device Type",
|
||||
"name": "Device Name"
|
||||
}
|
||||
"lastModified": "Last Change",
|
||||
"progress": "Progress",
|
||||
"submission": "Submission",
|
||||
"value": "Value"
|
||||
}
|
||||
|
||||
@ -1,65 +1,65 @@
|
||||
{
|
||||
"deleteNow": "Delete Field",
|
||||
"confirmDelete": "Really remove this field? Check that it is not referenced anywhere!",
|
||||
"title": "Title",
|
||||
"description": "Description",
|
||||
"required": "Required",
|
||||
"requiredInfo": "If required, default value must be set to enable users to submit form!",
|
||||
"date": {
|
||||
"name": "Date",
|
||||
"default": "Default Date",
|
||||
"max": "Max Date",
|
||||
"min": "Min Date",
|
||||
"max": "Max Date"
|
||||
"name": "Date"
|
||||
},
|
||||
"deleteNow": "Delete Field",
|
||||
"description": "Description",
|
||||
"dropdown": {
|
||||
"name": "Dropdown",
|
||||
"addOption": "Add Option",
|
||||
"default": "Default Value",
|
||||
"name": "Dropdown",
|
||||
"options": "Options",
|
||||
"titlePlaceholder": "Title",
|
||||
"valuePlaceholder": "Value",
|
||||
"removeOption": "Remove",
|
||||
"addOption": "Add Option"
|
||||
"titlePlaceholder": "Title",
|
||||
"valuePlaceholder": "Value"
|
||||
},
|
||||
"email": {
|
||||
"name": "Email",
|
||||
"default": "Default Email"
|
||||
"default": "Default Email",
|
||||
"name": "Email"
|
||||
},
|
||||
"hidden": {
|
||||
"name": "Hidden",
|
||||
"default": "Default Value"
|
||||
"default": "Default Value",
|
||||
"name": "Hidden"
|
||||
},
|
||||
"link": {
|
||||
"name": "URL",
|
||||
"default": "Default Link"
|
||||
"default": "Default Link",
|
||||
"name": "URL"
|
||||
},
|
||||
"number": {
|
||||
"name": "Number",
|
||||
"default": "Default Number"
|
||||
"default": "Default Number",
|
||||
"name": "Number"
|
||||
},
|
||||
"radio": {
|
||||
"name": "Radio Switch",
|
||||
"addOption": "Add Option",
|
||||
"default": "Default Value",
|
||||
"name": "Radio Switch",
|
||||
"options": "Options",
|
||||
"titlePlaceholder": "Title",
|
||||
"valuePlaceholder": "Value",
|
||||
"removeOption": "Remove",
|
||||
"addOption": "Add Option"
|
||||
"titlePlaceholder": "Title",
|
||||
"valuePlaceholder": "Value"
|
||||
},
|
||||
"rating": {
|
||||
"name": "Rating",
|
||||
"clearNote": "Click again to remove the default value",
|
||||
"default": "Default Value",
|
||||
"clearNote": "Click again to remove the default value"
|
||||
"name": "Rating"
|
||||
},
|
||||
"required": "Required",
|
||||
"requiredInfo": "If required, default value must be set to enable users to submit form!",
|
||||
"textarea": {
|
||||
"default": "Default Value",
|
||||
"name": "Text Area"
|
||||
},
|
||||
"textfield": {
|
||||
"name": "Text Line",
|
||||
"default": "Default Value"
|
||||
},
|
||||
"textarea": {
|
||||
"name": "Text Area",
|
||||
"default": "Default Value"
|
||||
"default": "Default Value",
|
||||
"name": "Text Line"
|
||||
},
|
||||
"title": "Title",
|
||||
"yes_no": {
|
||||
"name": "Yes / No",
|
||||
"default": "Default Value"
|
||||
"default": "Default Value",
|
||||
"name": "Yes / No"
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
{
|
||||
"baseData": "Base Data",
|
||||
"confirmDelete": "Are you sure delete this user?",
|
||||
"deleted": "User deleted",
|
||||
"deleteError": "could not delete user",
|
||||
"deleteNow": "Delete Now!",
|
||||
"deleted": "User deleted",
|
||||
"loading": "Loading User",
|
||||
"mange": "Edit User \"{{email}}\"",
|
||||
"row": {
|
||||
"roles": "Role",
|
||||
"email": "Email",
|
||||
"created": "Created",
|
||||
"menu": ""
|
||||
"email": "Email",
|
||||
"menu": "",
|
||||
"roles": "Role"
|
||||
},
|
||||
"updated": "User updated",
|
||||
"updateError": "Could not update user",
|
||||
"updateNow": "Save",
|
||||
"baseData": "Base Data"
|
||||
"updated": "User updated"
|
||||
}
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
{
|
||||
"invalidEmail": "Must be a valid email!",
|
||||
"mandatoryFieldsMissing": "Mandatory fields missing",
|
||||
"usernameRequired": "Please provide a Username",
|
||||
"emailRequired": "Please provide an Email",
|
||||
"emailFieldRequired": "Please select an Email Field",
|
||||
"languageRequired": "Please select a Language",
|
||||
"valueRequired": "Please provide a Value",
|
||||
"emailRequired": "Please provide an Email",
|
||||
"invalidEmail": "Must be a valid email!",
|
||||
"invalidUrl": "Must be a valid URL",
|
||||
"titleRequired": "Please provide a title",
|
||||
"templateRequired": "Please provide a template",
|
||||
"subjectRequired": "Please provide a subject",
|
||||
"languageRequired": "Please select a Language",
|
||||
"mandatoryFieldsMissing": "Mandatory fields missing",
|
||||
"passwordMinLength": "Must be longer than or equal to 5 characters!",
|
||||
"passwordRequired": "Please input your password!",
|
||||
"passwordMinLength": "Must be longer than or equal to 5 characters!"
|
||||
"subjectRequired": "Please provide a subject",
|
||||
"templateRequired": "Please provide a template",
|
||||
"titleRequired": "Please provide a title",
|
||||
"usernameRequired": "Please provide a Username",
|
||||
"valueRequired": "Please provide a Value"
|
||||
}
|
||||
|
||||
8
locales/it/admin.json
Normal file
8
locales/it/admin.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"forms": "Moduli",
|
||||
"home": "casa",
|
||||
"profile": "Profilo",
|
||||
"submissions": "proposte",
|
||||
"username": "nome utente",
|
||||
"users": "Utenti"
|
||||
}
|
||||
9
locales/it/common.json
Normal file
9
locales/it/common.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"admin": "Admin",
|
||||
"checkingCredentials": "Verifica delle credenziali",
|
||||
"loadingCredentials": "Caricamento delle credenziali",
|
||||
"login": "Entra",
|
||||
"logout": "Logout",
|
||||
"recover": "Password dimenticata",
|
||||
"register": "Crea account"
|
||||
}
|
||||
97
locales/it/form.json
Normal file
97
locales/it/form.json
Normal file
@ -0,0 +1,97 @@
|
||||
{
|
||||
"baseData": {
|
||||
"isLive": "Is Live",
|
||||
"language": "Language",
|
||||
"showFooter": "Show Footer",
|
||||
"title": "Title"
|
||||
},
|
||||
"baseDataTab": "Base Data",
|
||||
"building": "Building Form",
|
||||
"confirmDelete": "Are you sure delete this form with all submissions?",
|
||||
"create": "Create new form",
|
||||
"createNow": "Save",
|
||||
"created": "Form Created",
|
||||
"creationError": "Could not create form",
|
||||
"deleteError": "could not delete form",
|
||||
"deleteNow": "Delete Now!",
|
||||
"deleted": "Form deleted",
|
||||
"design": {
|
||||
"answerColor": "Answer Color",
|
||||
"backgroundColor": "Background Color",
|
||||
"buttonActiveColor": "Button Active Color",
|
||||
"buttonColor": "Button Color",
|
||||
"buttonTextColor": "Button Text Color",
|
||||
"font": "Font",
|
||||
"questionColor": "Question Color"
|
||||
},
|
||||
"designTab": "Design",
|
||||
"endPage": {
|
||||
"action": "Action",
|
||||
"activeColor": "Active Color",
|
||||
"addButton": "Add Button",
|
||||
"bgColor": "Background Color",
|
||||
"buttons": "Buttons",
|
||||
"color": "Color",
|
||||
"continueButtonText": "Continue Button Text",
|
||||
"paragraph": "Paragraph",
|
||||
"show": "Show",
|
||||
"text": "Text",
|
||||
"title": "Title",
|
||||
"url": "Url"
|
||||
},
|
||||
"endPageTab": "End Page",
|
||||
"loading": "Loading Form",
|
||||
"mange": "Edit Form \"{{title}}\"",
|
||||
"new": "New Form",
|
||||
"respondentNotifications": {
|
||||
"enabled": "Enabled",
|
||||
"fromEmail": "Sender Email",
|
||||
"fromEmailInfo": "Make sure your mailserver can send from this email",
|
||||
"htmlTemplate": "HTML Template",
|
||||
"htmlTemplateInfo": "You can also use <u>MJML</u> to create your email templates",
|
||||
"subject": "Subject",
|
||||
"toField": "Email Field",
|
||||
"toFieldInfo": "Field with Email for receipt"
|
||||
},
|
||||
"respondentNotificationsTab": "Respondent Notifications",
|
||||
"restart": "Restart Form",
|
||||
"row": {
|
||||
"admin": "Owner",
|
||||
"created": "Created",
|
||||
"isLive": "Live",
|
||||
"language": "Language",
|
||||
"lastModified": "Last Modified",
|
||||
"menu": "",
|
||||
"title": "Title"
|
||||
},
|
||||
"selfNotifications": {
|
||||
"enabled": "Enabled",
|
||||
"fromField": "Sender Email",
|
||||
"fromFieldInfo": "Field with Email, will set the Reply-To header",
|
||||
"htmlTemplate": "HTML Template",
|
||||
"htmlTemplateInfo": "You can also use <strong>MJML</strong> to create your email templates",
|
||||
"subject": "Subject",
|
||||
"toEmail": "Your Email",
|
||||
"toEmailInfo": "If not set will send to the admin of the form"
|
||||
},
|
||||
"selfNotificationsTab": "Self Notifications",
|
||||
"startPage": {
|
||||
"action": "Action",
|
||||
"activeColor": "Active Color",
|
||||
"addButton": "Add Button",
|
||||
"bgColor": "Background Color",
|
||||
"buttons": "Buttons",
|
||||
"color": "Color",
|
||||
"continueButtonText": "Continue Button Text",
|
||||
"paragraph": "Paragraph",
|
||||
"show": "Show",
|
||||
"text": "Text",
|
||||
"title": "Title",
|
||||
"url": "Url"
|
||||
},
|
||||
"startPageTab": "Start Page",
|
||||
"submitted": "Thank you for your submission!",
|
||||
"updateError": "Could not update form",
|
||||
"updateNow": "Save",
|
||||
"updated": "Form updated"
|
||||
}
|
||||
@ -1 +1,27 @@
|
||||
export const it = {}
|
||||
import admin from './admin.json'
|
||||
import common from './common.json'
|
||||
import form from './form.json'
|
||||
import language from './language.json'
|
||||
import login from './login.json'
|
||||
import profile from './profile.json'
|
||||
import register from './register.json'
|
||||
import statistic from './statistic.json'
|
||||
import submission from './submission.json'
|
||||
import type from './type.json'
|
||||
import user from './user.json'
|
||||
import validation from './validation.json'
|
||||
|
||||
export const it = {
|
||||
admin,
|
||||
common,
|
||||
form,
|
||||
language,
|
||||
login,
|
||||
profile,
|
||||
register,
|
||||
statistic,
|
||||
submission,
|
||||
type,
|
||||
user,
|
||||
validation,
|
||||
}
|
||||
|
||||
8
locales/it/language.json
Normal file
8
locales/it/language.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"cn": "繁體中文",
|
||||
"de": "Deutsch",
|
||||
"en": "English",
|
||||
"es": "Español",
|
||||
"fr": "Français",
|
||||
"it": "Italiano"
|
||||
}
|
||||
7
locales/it/login.json
Normal file
7
locales/it/login.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"invalidLoginCredentials": "username / password are invalid",
|
||||
"loginNow": "Login Now",
|
||||
"passwordPlaceholder": "Password",
|
||||
"usernamePlaceholder": "Username",
|
||||
"welcomeBack": "Welcome back!"
|
||||
}
|
||||
10
locales/it/profile.json
Normal file
10
locales/it/profile.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"email": "Email",
|
||||
"firstName": "First Name",
|
||||
"language": "Language",
|
||||
"lastName": "Last Name",
|
||||
"updateError": "Could not update Profile",
|
||||
"updateNow": "Save",
|
||||
"updated": "Profile updated",
|
||||
"username": "Username"
|
||||
}
|
||||
6
locales/it/register.json
Normal file
6
locales/it/register.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"credentialsAlreadyInUse": "Some data already in use!",
|
||||
"gotoLogin": "Have an account? Go to login",
|
||||
"registerNow": "Register Now",
|
||||
"welcome": "Welcome, please also confirm your email"
|
||||
}
|
||||
5
locales/it/statistic.json
Normal file
5
locales/it/statistic.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"totalForms": "Total Forms",
|
||||
"totalSubmissions": "Total Submissions",
|
||||
"totalUsers": "Total Users"
|
||||
}
|
||||
16
locales/it/submission.json
Normal file
16
locales/it/submission.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"add": "Add Submission",
|
||||
"city": "City",
|
||||
"country": "Country",
|
||||
"created": "Created",
|
||||
"device": {
|
||||
"name": "Device Name",
|
||||
"type": "Device Type"
|
||||
},
|
||||
"edit": "Edit",
|
||||
"field": "Field",
|
||||
"lastModified": "Last Change",
|
||||
"progress": "Progress",
|
||||
"submission": "Submission",
|
||||
"value": "Value"
|
||||
}
|
||||
65
locales/it/type.json
Normal file
65
locales/it/type.json
Normal file
@ -0,0 +1,65 @@
|
||||
{
|
||||
"confirmDelete": "Really remove this field? Check that it is not referenced anywhere!",
|
||||
"date": {
|
||||
"default": "Default Date",
|
||||
"max": "Max Date",
|
||||
"min": "Min Date",
|
||||
"name": "Date"
|
||||
},
|
||||
"deleteNow": "Delete Field",
|
||||
"description": "Description",
|
||||
"dropdown": {
|
||||
"addOption": "Add Option",
|
||||
"default": "Default Value",
|
||||
"name": "Dropdown",
|
||||
"options": "Options",
|
||||
"removeOption": "Remove",
|
||||
"titlePlaceholder": "Title",
|
||||
"valuePlaceholder": "Value"
|
||||
},
|
||||
"email": {
|
||||
"default": "Default Email",
|
||||
"name": "Email"
|
||||
},
|
||||
"hidden": {
|
||||
"default": "Default Value",
|
||||
"name": "Hidden"
|
||||
},
|
||||
"link": {
|
||||
"default": "Default Link",
|
||||
"name": "URL"
|
||||
},
|
||||
"number": {
|
||||
"default": "Default Number",
|
||||
"name": "Number"
|
||||
},
|
||||
"radio": {
|
||||
"addOption": "Add Option",
|
||||
"default": "Default Value",
|
||||
"name": "Radio Switch",
|
||||
"options": "Options",
|
||||
"removeOption": "Remove",
|
||||
"titlePlaceholder": "Title",
|
||||
"valuePlaceholder": "Value"
|
||||
},
|
||||
"rating": {
|
||||
"clearNote": "Click again to remove the default value",
|
||||
"default": "Default Value",
|
||||
"name": "Rating"
|
||||
},
|
||||
"required": "Required",
|
||||
"requiredInfo": "If required, default value must be set to enable users to submit form!",
|
||||
"textarea": {
|
||||
"default": "Default Value",
|
||||
"name": "Text Area"
|
||||
},
|
||||
"textfield": {
|
||||
"default": "Default Value",
|
||||
"name": "Text Line"
|
||||
},
|
||||
"title": "Title",
|
||||
"yes_no": {
|
||||
"default": "Default Value",
|
||||
"name": "Yes / No"
|
||||
}
|
||||
}
|
||||
18
locales/it/user.json
Normal file
18
locales/it/user.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"baseData": "Base Data",
|
||||
"confirmDelete": "Are you sure delete this user?",
|
||||
"deleteError": "could not delete user",
|
||||
"deleteNow": "Delete Now!",
|
||||
"deleted": "User deleted",
|
||||
"loading": "Loading User",
|
||||
"mange": "Edit User \"{{email}}\"",
|
||||
"row": {
|
||||
"created": "Created",
|
||||
"email": "Email",
|
||||
"menu": "",
|
||||
"roles": "Role"
|
||||
},
|
||||
"updateError": "Could not update user",
|
||||
"updateNow": "Save",
|
||||
"updated": "User updated"
|
||||
}
|
||||
15
locales/it/validation.json
Normal file
15
locales/it/validation.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"emailFieldRequired": "Please select an Email Field",
|
||||
"emailRequired": "Please provide an Email",
|
||||
"invalidEmail": "Must be a valid email!",
|
||||
"invalidUrl": "Must be a valid URL",
|
||||
"languageRequired": "Please select a Language",
|
||||
"mandatoryFieldsMissing": "Mandatory fields missing",
|
||||
"passwordMinLength": "Must be longer than or equal to 5 characters!",
|
||||
"passwordRequired": "Please input your password!",
|
||||
"subjectRequired": "Please provide a subject",
|
||||
"templateRequired": "Please provide a template",
|
||||
"titleRequired": "Please provide a title",
|
||||
"usernameRequired": "Please provide a Username",
|
||||
"valueRequired": "Please provide a Value"
|
||||
}
|
||||
78
locales/missing.ts
Normal file
78
locales/missing.ts
Normal file
@ -0,0 +1,78 @@
|
||||
const fs = require('fs');
|
||||
const glob = require('glob');
|
||||
const { program } = require('commander');
|
||||
const merge = require('lodash.merge');
|
||||
const dirs: string[] = []
|
||||
|
||||
program.version('1.0.0');
|
||||
program
|
||||
.arguments('<limit>')
|
||||
.action((limit) => {
|
||||
dirs.push(
|
||||
...limit
|
||||
.split(',')
|
||||
.map(l => `locales/${l}/`)
|
||||
)
|
||||
})
|
||||
.option('-l, --limit <limit>', 'check only given languages')
|
||||
.parse(process.argv);
|
||||
|
||||
let all = {}
|
||||
|
||||
glob.sync('locales/**/*.json').forEach(file => {
|
||||
try {
|
||||
const original = JSON.parse(fs.readFileSync(file))
|
||||
|
||||
all = merge(
|
||||
all,
|
||||
{
|
||||
[file.replace(/^.*\/([a-z]+)\.json$/, '$1')]: original
|
||||
}
|
||||
)
|
||||
} catch (e) {
|
||||
console.error('could not process file', file, e)
|
||||
}
|
||||
})
|
||||
|
||||
const compare = (original, compareTo, path, file) => {
|
||||
const oKeys = Object.keys(original)
|
||||
const aKeys = Object.keys(compareTo)
|
||||
|
||||
const missing = aKeys.filter(k => !oKeys.includes(k))
|
||||
|
||||
missing.forEach(k => {
|
||||
console.log(`MISSING ${file} > ${[...path, k].join('.')}`)
|
||||
})
|
||||
|
||||
oKeys.forEach(k => {
|
||||
if (typeof original[k] === 'object') {
|
||||
compare(original[k], compareTo[k], [...path, k], file)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
dirs.forEach(dir => {
|
||||
const files: string[] = glob.sync(`${dir}*.json`)
|
||||
|
||||
const existingFiles = files.map(file => file.replace(/^.*\/([a-z]+)\.json$/, '$1'))
|
||||
Object
|
||||
.keys(all)
|
||||
.filter(file => !existingFiles.includes(file))
|
||||
.forEach(file => {
|
||||
console.log(`MISSING ${dir}${file}.json`)
|
||||
})
|
||||
|
||||
files.forEach(file => {
|
||||
try {
|
||||
compare(
|
||||
JSON.parse(fs.readFileSync(file)),
|
||||
all[file.replace(/^.*\/([a-z]+)\.json$/, '$1')],
|
||||
[],
|
||||
file
|
||||
)
|
||||
} catch (e) {
|
||||
console.error('could not process file', file, e)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
52
locales/sort.ts
Normal file
52
locales/sort.ts
Normal file
@ -0,0 +1,52 @@
|
||||
const fs = require('fs');
|
||||
const glob = require('glob');
|
||||
const { program } = require('commander');
|
||||
|
||||
program.version('1.0.0');
|
||||
program
|
||||
.option('-f, --force', 'force write to existing files')
|
||||
|
||||
program.parse(process.argv);
|
||||
|
||||
const sort = obj => {
|
||||
if (typeof obj !== 'object') {
|
||||
return obj
|
||||
}
|
||||
|
||||
const result = {}
|
||||
|
||||
Object
|
||||
.keys(obj)
|
||||
.sort()
|
||||
.map(key => {
|
||||
result[key] = sort(obj[key])
|
||||
})
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
glob.sync('locales/*/').forEach(dir => {
|
||||
const files: string[] = glob.sync(`${dir}*.json`)
|
||||
|
||||
files.forEach(file => {
|
||||
try {
|
||||
const raw = fs.readFileSync(file)
|
||||
const original = JSON.parse(raw)
|
||||
const sorted = sort(original)
|
||||
const next = JSON.stringify(sorted, null, 2) + "\n"
|
||||
|
||||
if (raw != next) {
|
||||
if (!program.force) {
|
||||
console.log('changes found, but skipped', file)
|
||||
return
|
||||
}
|
||||
|
||||
console.log('updated', file)
|
||||
fs.writeFileSync(file, next)
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('could not process file', file, e)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
@ -7,7 +7,8 @@
|
||||
"build": "next build",
|
||||
"export": "cross-env SPA=1 next build && next export",
|
||||
"start": "next start -p $PORT",
|
||||
"server": "node server.js"
|
||||
"translation:sort": "cross-env TS_NODE_TRANSPILE_ONLY=true ts-node-script locales/sort.ts",
|
||||
"translation:missing": "cross-env TS_NODE_TRANSPILE_ONLY=true ts-node locales/missing.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ant-design/icons": "^4.1.0",
|
||||
@ -42,6 +43,10 @@
|
||||
"devDependencies": {
|
||||
"@types/node": "^14.0.1",
|
||||
"@types/react": "^16.9.35",
|
||||
"commander": "^5.1.0",
|
||||
"glob": "^7.1.6",
|
||||
"lodash.merge": "^4.6.2",
|
||||
"ts-node": "^8.10.2",
|
||||
"typescript": "^3.9.2"
|
||||
}
|
||||
}
|
||||
|
||||
@ -23,15 +23,15 @@ const Index: NextPage = () => {
|
||||
>
|
||||
<Row gutter={16}>
|
||||
<Col span={8}>
|
||||
<Statistic title={t('statistic:total-forms')} value={data && data.forms.total} />
|
||||
<Statistic title={t('statistic:totalForms')} value={data && data.forms.total} />
|
||||
</Col>
|
||||
|
||||
<Col span={8}>
|
||||
<Statistic title={t('statistic:total-users')} value={data && data.users.total} />
|
||||
<Statistic title={t('statistic:totalUsers')} value={data && data.users.total} />
|
||||
</Col>
|
||||
|
||||
<Col span={8}>
|
||||
<Statistic title={t('statistic:total-submissions')} value={data && data.submissions.total} />
|
||||
<Statistic title={t('statistic:totalSubmissions')} value={data && data.submissions.total} />
|
||||
</Col>
|
||||
</Row>
|
||||
</Structure>
|
||||
|
||||
@ -4,12 +4,14 @@ import {NextPage} from 'next'
|
||||
import getConfig from 'next/config'
|
||||
import {useRouter} from 'next/router'
|
||||
import React, {useEffect} from 'react'
|
||||
import {useTranslation} from 'react-i18next'
|
||||
import {LoadingPage} from '../components/loading.page'
|
||||
|
||||
const { publicRuntimeConfig } = getConfig()
|
||||
|
||||
const Index: NextPage = () => {
|
||||
const router = useRouter()
|
||||
const { t } = useTranslation()
|
||||
|
||||
useEffect(() => {
|
||||
if (router.pathname !== window.location.pathname) {
|
||||
@ -32,7 +34,7 @@ const Index: NextPage = () => {
|
||||
|
||||
if (publicRuntimeConfig.spa || (process.browser && router.pathname !== window.location.pathname)) {
|
||||
return (
|
||||
<LoadingPage message={'loading'} />
|
||||
<LoadingPage message={t('loading')} />
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
45
yarn.lock
45
yarn.lock
@ -1634,6 +1634,11 @@ aproba@^1.1.1:
|
||||
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
|
||||
integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
|
||||
|
||||
arg@^4.1.0:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
|
||||
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
|
||||
|
||||
argparse@^1.0.7:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
|
||||
@ -2264,6 +2269,11 @@ commander@^2.20.0:
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
|
||||
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
|
||||
|
||||
commander@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
|
||||
integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
|
||||
|
||||
commondir@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
|
||||
@ -2722,6 +2732,11 @@ des.js@^1.0.0:
|
||||
inherits "^2.0.1"
|
||||
minimalistic-assert "^1.0.0"
|
||||
|
||||
diff@^4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
||||
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
|
||||
|
||||
diffie-hellman@^5.0.0:
|
||||
version "5.0.3"
|
||||
resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
|
||||
@ -3241,7 +3256,7 @@ glob-to-regexp@^0.4.1:
|
||||
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
|
||||
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
|
||||
|
||||
glob@^7.1.3, glob@^7.1.4:
|
||||
glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
|
||||
version "7.1.6"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
|
||||
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
|
||||
@ -3905,6 +3920,11 @@ lodash.memoize@^4.1.2:
|
||||
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
|
||||
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
|
||||
|
||||
lodash.merge@^4.6.2:
|
||||
version "4.6.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
|
||||
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
|
||||
|
||||
lodash.sortby@^4.7.0:
|
||||
version "4.7.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
|
||||
@ -3949,6 +3969,11 @@ make-dir@^3.0.2:
|
||||
dependencies:
|
||||
semver "^6.0.0"
|
||||
|
||||
make-error@^1.1.1:
|
||||
version "1.3.6"
|
||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
||||
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
||||
|
||||
map-cache@^0.2.2:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
|
||||
@ -5987,7 +6012,7 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2:
|
||||
source-map-url "^0.4.0"
|
||||
urix "^0.1.0"
|
||||
|
||||
source-map-support@~0.5.12:
|
||||
source-map-support@^0.5.17, source-map-support@~0.5.12:
|
||||
version "0.5.19"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
|
||||
integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
|
||||
@ -6427,6 +6452,17 @@ ts-invariant@^0.4.0, ts-invariant@^0.4.4:
|
||||
dependencies:
|
||||
tslib "^1.9.3"
|
||||
|
||||
ts-node@^8.10.2:
|
||||
version "8.10.2"
|
||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d"
|
||||
integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==
|
||||
dependencies:
|
||||
arg "^4.1.0"
|
||||
diff "^4.0.1"
|
||||
make-error "^1.1.1"
|
||||
source-map-support "^0.5.17"
|
||||
yn "3.1.1"
|
||||
|
||||
ts-pnp@^1.1.6:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92"
|
||||
@ -6767,6 +6803,11 @@ yallist@^4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
|
||||
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
|
||||
|
||||
yn@3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
|
||||
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
|
||||
|
||||
zen-observable-ts@^0.8.21:
|
||||
version "0.8.21"
|
||||
resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user