mirror of https://github.com/abpframework/abp
Merge branch 'dev' of https://github.com/abpframework/abp into dev
commit
3800f1849e
@ -0,0 +1,12 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"GivenTenantIsNotAvailable": "Der angegebene Mandant ist nicht verfügbar: {0}",
|
||||
"Tenant": "Mandant",
|
||||
"Switch": "wechseln",
|
||||
"Name": "Name",
|
||||
"SwitchTenantHint": "Lassen Sie das Namensfeld leer, um auf die Host-Seite zu wechseln.",
|
||||
"SwitchTenant": "Mandant wechseln",
|
||||
"NotSelected": "Nicht ausgewählt"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,6 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"MaxResultCountExceededExceptionMessage": "{0} kann nicht mehr als {1} sein! Erhöhen Sie {2}.{3} auf der Serverseite, um mehr Ergebnisse zu ermöglichen."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,6 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"MaxResultCountExceededExceptionMessage": "{0} kan niet meer dan {1} zijn! Vergroot {2}.{3} op de server om een groter resultaat toe te staan."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"DisplayName:Abp.Mailing.DefaultFromAddress": "Standard-Absenderadresse",
|
||||
"DisplayName:Abp.Mailing.DefaultFromDisplayName": "Standard-Absendername",
|
||||
"DisplayName:Abp.Mailing.Smtp.Host": "Host",
|
||||
"DisplayName:Abp.Mailing.Smtp.Port": "Port",
|
||||
"DisplayName:Abp.Mailing.Smtp.UserName": "Benutzername",
|
||||
"DisplayName:Abp.Mailing.Smtp.Password": "Passwort",
|
||||
"DisplayName:Abp.Mailing.Smtp.Domain": "Domain",
|
||||
"DisplayName:Abp.Mailing.Smtp.EnableSsl": "SSL aktivieren",
|
||||
"DisplayName:Abp.Mailing.Smtp.UseDefaultCredentials": "Standard-Anmeldeinformationen verwenden",
|
||||
"Description:Abp.Mailing.DefaultFromAddress": "Die Standard-Absenderadresse",
|
||||
"Description:Abp.Mailing.DefaultFromDisplayName": "Der Standard-Absendername",
|
||||
"Description:Abp.Mailing.Smtp.Host": "Der Name oder die IP-Adresse des für SMTP-Transaktionen verwendeten Hosts.",
|
||||
"Description:Abp.Mailing.Smtp.Port": "Der für SMTP-Transaktionen verwendete Port.",
|
||||
"Description:Abp.Mailing.Smtp.UserName": "Benutzername, der mit den Anmeldedaten verknüpft ist.",
|
||||
"Description:Abp.Mailing.Smtp.Password": "Das Passwort für den Benutzernamen, der mit den Anmeldeinformationen verknüpft ist.",
|
||||
"Description:Abp.Mailing.Smtp.Domain": "Die Domäne oder der Computername, der die Anmeldeinformationen verifiziert.",
|
||||
"Description:Abp.Mailing.Smtp.EnableSsl": "Bestimmt, ob der SmptClient Secure Sockets Layer (SSL) zur Verschlüsselung der Verbindung verwendet.",
|
||||
"Description:Abp.Mailing.Smtp.UseDefaultCredentials": "Bestimmt, ob die DefaultCredentials mit Anfragen gesendet werden."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"DisplayName:Abp.Mailing.DefaultFromAddress": "Standard vanaf adres",
|
||||
"DisplayName:Abp.Mailing.DefaultFromDisplayName": "Standaard vanaf weergave naam",
|
||||
"DisplayName:Abp.Mailing.Smtp.Host": "Host",
|
||||
"DisplayName:Abp.Mailing.Smtp.Port": "Poort",
|
||||
"DisplayName:Abp.Mailing.Smtp.UserName": "Gebruiker naam",
|
||||
"DisplayName:Abp.Mailing.Smtp.Password": "wachtwoord",
|
||||
"DisplayName:Abp.Mailing.Smtp.Domain": "Domein",
|
||||
"DisplayName:Abp.Mailing.Smtp.EnableSsl": "SSL toestaan",
|
||||
"DisplayName:Abp.Mailing.Smtp.UseDefaultCredentials": "Gebruik standaard inloggegevens",
|
||||
"Description:Abp.Mailing.DefaultFromAddress": "Standard vanaf adres",
|
||||
"Description:Abp.Mailing.DefaultFromDisplayName": "Standaard vanaf weergave naam",
|
||||
"Description:Abp.Mailing.Smtp.Host": "De naam of het IP-adres van de host die wordt gebruikt voor SMTP-transacties.",
|
||||
"Description:Abp.Mailing.Smtp.Port": "De poort die wordt gebruikt voor SMTP-transacties.",
|
||||
"Description:Abp.Mailing.Smtp.UserName": "Gebruikersnaam gekoppeld aan de inloggegevens.",
|
||||
"Description:Abp.Mailing.Smtp.Password": "Het wachtwoord voor de gebruikersnaam die bij de inloggegevens hoort.",
|
||||
"Description:Abp.Mailing.Smtp.Domain": "Het domein of de computernaam die de inloggegevens verifieert.",
|
||||
"Description:Abp.Mailing.Smtp.EnableSsl": "Of de SmtpClient Secure Sockets Layer (SSL) gebruikt om de verbinding te versleutelen.",
|
||||
"Description:Abp.Mailing.Smtp.UseDefaultCredentials": "Of de standaard inloggegevens worden verzonden met verzoeken."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"DisplayName:Abp.Localization.DefaultLanguage": "Standardsprache",
|
||||
"Description:Abp.Localization.DefaultLanguage": "Die Standardsprache der Anwendung."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"DisplayName:Abp.Localization.DefaultLanguage": "Standaard taal",
|
||||
"Description:Abp.Localization.DefaultLanguage": "De standaardtaal van de applicatie."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,6 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"Menu:Administration": "Administration"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,6 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"Menu:Administration": "Administratie"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,63 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"InternalServerErrorMessage": "Während Ihrer Anfrage ist ein interner Fehler aufgetreten!",
|
||||
"ValidationErrorMessage": "Ihre Anfrage ist nicht gültig!",
|
||||
"ValidationNarrativeErrorMessageTitle": "Die folgenden Fehler wurden bei der Validierung entdeckt.",
|
||||
"DefaultErrorMessage": "Ein Fehler ist aufgetreten!",
|
||||
"DefaultErrorMessageDetail": "Es wurden keine Fehlerdetails vom Server gesendet.",
|
||||
"DefaultErrorMessage401": "Sie sind nicht authentifiziert.",
|
||||
"DefaultErrorMessage401Detail": "Sie sollten sich anmelden, um diese Operation durchzuführen.",
|
||||
"DefaultErrorMessage403": "Sie sind nicht autorisiert!",
|
||||
"DefaultErrorMessage403Detail": "Es ist Ihnen nicht erlaubt, diese Operation durchzuführen!",
|
||||
"DefaultErrorMessage404": "Ressource nicht gefunden!",
|
||||
"DefaultErrorMessage404Detail": "Die angeforderte Ressource konnte auf dem Server nicht gefunden werden!",
|
||||
"EntityNotFoundErrorMessage": "Es gibt keine Entität {0} mit id = {1}!",
|
||||
"Languages": "Sprachen",
|
||||
"Error": "Fehler",
|
||||
"AreYouSure": "Sind Sie sicher?",
|
||||
"Cancel": "Abbrechen",
|
||||
"Yes": "Ja",
|
||||
"No": "Nein",
|
||||
"Ok": "Ok",
|
||||
"Close": "Schließen",
|
||||
"Save": "Speichern",
|
||||
"SavingWithThreeDot": "Speichere...",
|
||||
"Actions": "Aktionen",
|
||||
"Delete": "Löschen",
|
||||
"Edit": "Bearbeiten",
|
||||
"Refresh": "Aktualisieren",
|
||||
"Language": "Sprache",
|
||||
"LoadMore": "Mehr laden",
|
||||
"ProcessingWithThreeDot": "Verarbeite...",
|
||||
"LoadingWithThreeDot": "Lade...",
|
||||
"Welcome": "Willkommen",
|
||||
"Login": "Anmelden",
|
||||
"Register": "Registrieren",
|
||||
"Logout": "Abmelden",
|
||||
"Submit": "Absenden",
|
||||
"Back": "Zurück",
|
||||
"PagerSearch": "Suchen",
|
||||
"PagerNext": "Nächste",
|
||||
"PagerPrevious": "Vorherige",
|
||||
"PagerFirst": "Erste",
|
||||
"PagerLast": "Letzte",
|
||||
"PagerInfo": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen",
|
||||
"PagerInfo{0}{1}{2}": "Zeige {0} bis {1} von {2} Einträgen",
|
||||
"PagerInfoEmpty": "Zeige 0 bis 0 von 0 Einträgen",
|
||||
"PagerInfoFiltered": "(gefiltert von _MAX_ Einträgen insgesamt)",
|
||||
"NoDataAvailableInDatatable": "Keine Daten verfügbar",
|
||||
"PagerShowMenuEntries": "Zeige _MENU_ Einträge",
|
||||
"DatatableActionDropdownDefaultText": "Aktionen",
|
||||
"ChangePassword": "Passwort ändern",
|
||||
"PersonalInfo": "Mein Profil",
|
||||
"AreYouSureYouWantToCancelEditingWarningMessage": "Sie haben ungespeicherte Änderungen.",
|
||||
"UnhandledException": "Unerwartete Ausnahme!",
|
||||
"401Message": "Unauthorisiert",
|
||||
"403Message": "Verboten",
|
||||
"404Message": "Seite nicht gefunden",
|
||||
"500Message": "Internet Server Fehler",
|
||||
"GoHomePage": "Zur Startseite",
|
||||
"GoBack": "Zurück"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,63 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"InternalServerErrorMessage": "Er is een interne fout opgetreden tijdens uw verzoek!",
|
||||
"ValidationErrorMessage": "Uw verzoek is niet geldig!",
|
||||
"ValidationNarrativeErrorMessageTitle": "Tijdens de validatie zijn de volgende fouten gedetecteerd.",
|
||||
"DefaultErrorMessage": "er is een fout opgetreden!",
|
||||
"DefaultErrorMessageDetail": "Foutdetails niet verzonden door server.",
|
||||
"DefaultErrorMessage401": "U bent niet geverifieerd!",
|
||||
"DefaultErrorMessage401Detail": "U moet inloggen om deze bewerking uit te voeren.",
|
||||
"DefaultErrorMessage403": "U bent niet geautoriseerd!",
|
||||
"DefaultErrorMessage403Detail": "U mag deze bewerking niet uitvoeren!",
|
||||
"DefaultErrorMessage404": "Bron niet gevonden!",
|
||||
"DefaultErrorMessage404Detail": "De gevraagde bron kan niet worden gevonden op de server!",
|
||||
"EntityNotFoundErrorMessage": "Er is geen entiteit {0} met id = {1}!",
|
||||
"Languages": "Talen",
|
||||
"Error": "Fout",
|
||||
"AreYouSure": "Bent u zeker?",
|
||||
"Cancel": "Annuleren",
|
||||
"Yes": "Ja",
|
||||
"No": "Nee",
|
||||
"Ok": "Ok",
|
||||
"Close": "Sluiten",
|
||||
"Save": "Opslaan",
|
||||
"SavingWithThreeDot": "Opslaan...",
|
||||
"Actions": "Acties",
|
||||
"Delete": "Verwijder",
|
||||
"Edit": "Bewerk",
|
||||
"Refresh": "Ververs",
|
||||
"Language": "Taal",
|
||||
"LoadMore": "Meer laden",
|
||||
"ProcessingWithThreeDot": "Verwerken...",
|
||||
"LoadingWithThreeDot": "Laden...",
|
||||
"Welcome": "Welkom",
|
||||
"Login": "Log in",
|
||||
"Register": "Registreren",
|
||||
"Logout": "Afmelden",
|
||||
"Submit": "Verzenden",
|
||||
"Back": "Terug",
|
||||
"PagerSearch": "Zoeken",
|
||||
"PagerNext": "Volgende",
|
||||
"PagerPrevious": "Vorige",
|
||||
"PagerFirst": "Eerste",
|
||||
"PagerLast": "Laatste",
|
||||
"PagerInfo": "Toont _START_ tot _END_ van _TOTAL_ vermeldingen",
|
||||
"PagerInfo{0}{1}{2}": "{0} tot {1} van {2} vermeldingen weergeven",
|
||||
"PagerInfoEmpty": "Toont 0 tot 0 van 0 vermeldingen",
|
||||
"PagerInfoFiltered": "(gefilterd uit in totaal _MAX_ vermeldingen)",
|
||||
"NoDataAvailableInDatatable": "Geen gegevens beschikbaar",
|
||||
"PagerShowMenuEntries": "Toon _MENU_-vermeldingen",
|
||||
"DatatableActionDropdownDefaultText": "Acties",
|
||||
"ChangePassword": "Verander wachtwoord",
|
||||
"PersonalInfo": "Mijn profiel",
|
||||
"AreYouSureYouWantToCancelEditingWarningMessage": "U heeft nog niet-opgeslagen wijzigingen.",
|
||||
"UnhandledException": "Onverwerkte uitzondering!",
|
||||
"401Message": "Ongeautoriseerd",
|
||||
"403Message": "Verboden",
|
||||
"404Message": "Pagina niet gevonden",
|
||||
"500Message": "Interne Server Fout",
|
||||
"GoHomePage": "Ga naar de homepage",
|
||||
"GoBack": "Ga terug"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"'{0}' and '{1}' do not match.": "'{0}' und '{1}' stimmen nicht überein.",
|
||||
"The {0} field is not a valid credit card number.": "Das Feld {0} ist keine gültige Kreditkartennummer.",
|
||||
"{0} is not valid.": "{0} ist nicht gültig.",
|
||||
"The {0} field is not a valid e-mail address.": "Das Feld {0} ist keine gültige E-Mail-Adresse.",
|
||||
"The {0} field only accepts files with the following extensions: {1}": "Das Feld {0} akzeptiert nur Dateien mit den folgenden Erweiterungen: {1}",
|
||||
"The field {0} must be a string or array type with a maximum length of '{1}'.": "Das Feld {0} muss eine Zeichenfolge oder Auflistung mit einer maximalen Länge von '{1}' sein.",
|
||||
"The field {0} must be a string or array type with a minimum length of '{1}'.": "Das Feld {0} muss eine Zeichenfolge oder Auflistung mit einer Mindestlänge von '{1}' sein.",
|
||||
"The {0} field is not a valid phone number.": "Das Feld {0} ist keine gültige Telefonnummer.",
|
||||
"The field {0} must be between {1} and {2}.": "Das Feld {0} muss zwischen {1} und {2} liegen.",
|
||||
"The field {0} must match the regular expression '{1}'.": "Das Feld {0} muss dem regulären Ausdruck '{1}' entsprechen.",
|
||||
"The {0} field is required.": "Das Feld {0} ist erforderlich.",
|
||||
"The field {0} must be a string with a maximum length of {1}.": "Das Feld {0} muss eine Zeichenfolge mit einer maximalen Länge von {1} sein.",
|
||||
"The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.": "Das Feld {0} muss eine Zeichenfolge mit einer minimalen Länge von {2} und einer maximalen Länge von {1} sein.",
|
||||
"The {0} field is not a valid fully-qualified http, https, or ftp URL.": "Das {0}-Feld ist keine gültige vollqualifizierte http-, https- oder ftp-URL.",
|
||||
"The field {0} is invalid.": "Das Feld {0} ist ungültig.",
|
||||
"ThisFieldIsNotAValidCreditCardNumber.": "Dieses Feld ist keine gültige Kreditkartennummer.",
|
||||
"ThisFieldIsNotValid.": "Dieses Feld ist nicht gültig.",
|
||||
"ThisFieldIsNotAValidEmailAddress.": "Dieses Feld ist keine gültige E-Mail-Adresse.",
|
||||
"ThisFieldOnlyAcceptsFilesWithTheFollowingExtensions:{0}": "Dieses Feld akzeptiert nur Dateien mit den folgenden Erweiterungen: {0}",
|
||||
"ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}": "Dieses Feld muss eine Zeichenfolge oder Auflistung mit einer maximalen Länge von '{0}' sein.",
|
||||
"ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}": "Dieses Feld muss eine Zeichenfolge oder Auflistung mit einer Mindestlänge von '{0}' sein.",
|
||||
"ThisFieldIsNotAValidPhoneNumber.": "Dieses Feld ist keine gültige Telefonnummer.",
|
||||
"ThisFieldMustBeBetween{0}And{1}": "Dieses Feld muss zwischen {0} und {1} liegen.",
|
||||
"ThisFieldMustMatchTheRegularExpression{0}": "Dieses Feld muss dem regulären Ausdruck '{0}' entsprechen.",
|
||||
"ThisFieldIsRequired.": "Dieses Feld ist erforderlich.",
|
||||
"ThisFieldMustBeAStringWithAMaximumLengthOf{0}": "Dieses Feld muss eine Zeichenfolge mit einer maximalen Länge von {0} sein.",
|
||||
"ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}": "Dieses Feld muss eine Zeichenfolge mit einer Mindestlänge von '{0}' sein.",
|
||||
"ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl": "Dieses Feld ist keine gültige vollqualifizierte http-, https- oder ftp-URL.",
|
||||
"ThisFieldIsInvalid.": "Dieses Feld ist ungültig."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"'{0}' and '{1}' do not match.": "'{0}' en '{1}' komen niet overeen.",
|
||||
"The {0} field is not a valid credit card number.": "Het veld {0} is geen geldig krediet kaartnummer.",
|
||||
"{0} is not valid.": "{0} is niet geldig.",
|
||||
"The {0} field is not a valid e-mail address.": "Het veld {0} is geen geldig e-mailadres.",
|
||||
"The {0} field only accepts files with the following extensions: {1}": "Het veld {0} accepteert alleen bestanden met de volgende extensies: {1}",
|
||||
"The field {0} must be a string or array type with a maximum length of '{1}'.": "Het veld {0} moet een tekenreeks- of arraytype zijn met een maximale lengte van '{1}'.",
|
||||
"The field {0} must be a string or array type with a minimum length of '{1}'.": "Het veld {0} moet een tekenreeks- of arraytype zijn met een minimale lengte van '{1}'.",
|
||||
"The {0} field is not a valid phone number.": "Het veld {0} is geen geldig telefoonnummer.",
|
||||
"The field {0} must be between {1} and {2}.": "Het veld {0} moet tussen {1} en {2} liggen.",
|
||||
"The field {0} must match the regular expression '{1}'.": "Het veld {0} moet overeenkomen met de reguliere expressie '{1}'.",
|
||||
"The {0} field is required.": "Het veld {0} is verplicht.",
|
||||
"The field {0} must be a string with a maximum length of {1}.": "Het veld {0} moet een tekenreeks zijn met een maximale lengte van {1}.",
|
||||
"The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.": "Het veld {0} moet een tekenreeks zijn met een minimale lengte van {2} en een maximale lengte van {1}.",
|
||||
"The {0} field is not a valid fully-qualified http, https, or ftp URL.": "Het veld {0} is geen geldige, volledig gekwalificeerde http-, https- of ftp-URL.",
|
||||
"The field {0} is invalid.": "Het veld {0} is ongeldig.",
|
||||
"ThisFieldIsNotAValidCreditCardNumber.": "Dit veld is geen geldig krediet kaartnummer.",
|
||||
"ThisFieldIsNotValid.": "Dir veld is ongeldig.",
|
||||
"ThisFieldIsNotAValidEmailAddress.": "Dit veld is geen geldig e-mail adres.",
|
||||
"ThisFieldOnlyAcceptsFilesWithTheFollowingExtensions:{0}": "Dit veld accepteert alleen bestanden met de volgende extensies: {0}",
|
||||
"ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}": "Dit veld moet een tekenreeks- of arraytype zijn met een maximale lengte van '{0}'.",
|
||||
"ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}": "Dit veld moet een tekenreeks- of arraytype zijn met een minimale lengte van '{0}'.",
|
||||
"ThisFieldIsNotAValidPhoneNumber.": "Dit veld is geen geldig telefoonnummer.",
|
||||
"ThisFieldMustBeBetween{0}And{1}": "Dit veld moet tussen {0} en {1} liggen.",
|
||||
"ThisFieldMustMatchTheRegularExpression{0}": "Dit veld moet overeenkomen met de reguliere expressie '{0}'.",
|
||||
"ThisFieldIsRequired.": "Dit veld is verplicht.",
|
||||
"ThisFieldMustBeAStringWithAMaximumLengthOf{0}": "Dit veld moet een tekenreeks zijn met een maximale lengte van {0}.",
|
||||
"ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}": "Dit veld moet een tekenreeks zijn met een minimale lengte van {1} en een maximale lengte van {0}.",
|
||||
"ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl": "Dit veld is geen geldige, volledig gekwalificeerde http-, https- of ftp-URL.",
|
||||
"ThisFieldIsInvalid.": "Dit veld is ongeldig."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"BirthDate": "Geburtsdatum",
|
||||
"Value1": "Wert Eins"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"BirthDate": "Geboortedatum",
|
||||
"Value1": "Waarde een"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,6 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"hello": "Hallo"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,6 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"hello": "hallo"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"USA": "Vereinigte Staaten von Amerika",
|
||||
"Brazil": "Brasilien"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"ThisFieldIsRequired": "Dieses Feld ist ein Pflichtfeld",
|
||||
"MaxLenghtErrorMessage": "Die Länge dieses Feldes kann maximal '{0}'-Zeichen betragen"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"Hello <b>{0}</b>.": "Hallo <b>{0}</b>.",
|
||||
"Car": "Auto",
|
||||
"CarPlural": "Autos",
|
||||
"MaxLenghtErrorMessage": "Die Länge dieses Feldes kann maximal '{0}'-Zeichen betragen",
|
||||
"Universe": "Universum",
|
||||
"FortyTwo": "Zweiundvierzig"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"Hello <b>{0}</b>.": "Hallo <b>{0}</b>.",
|
||||
"Car": "Auto",
|
||||
"SeeYou": "Bis bald"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"UserName": "Benutzername",
|
||||
"EmailAddress": "E-Mail-Adresse",
|
||||
"UserNameOrEmailAddress": "Benutzername oder E-Mail-Adresse",
|
||||
"Password": "Passwort",
|
||||
"RememberMe": "Angemeldet bleiben",
|
||||
"UseAnotherServiceToLogin": "Einen anderen Dienst zum Anmelden verwenden",
|
||||
"UserLockedOutMessage": "Das Benutzerkonto wurde aufgrund fehlgeschlagener Anmeldeversuche gesperrt. Bitte warten Sie eine Weile und versuchen Sie es erneut.",
|
||||
"InvalidUserNameOrPassword": "Ungültiger Benutzername oder Passwort!",
|
||||
"LoginIsNotAllowed": "Sie dürfen sich nicht anmelden! Sie müssen Ihre E-Mail/Telefonnummer bestätigen.",
|
||||
"SelfRegistrationDisabledMessage": "Die Selbstregistrierung ist für diese Anwendung deaktiviert. Bitte wenden Sie sich an den Anwendungsadministrator, um einen neuen Benutzer zu registrieren.",
|
||||
"LocalLoginDisabledMessage": "Die lokale Anmeldung ist für diese Anwendung deaktiviert.",
|
||||
"Login": "Anmelden",
|
||||
"Cancel": "Abbrechen",
|
||||
"Register": "Registrieren",
|
||||
"AreYouANewUser": "Neuer Benutzer?",
|
||||
"AlreadyRegistered": "Bereits registriert?",
|
||||
"InvalidLoginRequest": "Ungültige Login-Anfrage",
|
||||
"ThereAreNoLoginSchemesConfiguredForThisClient": "Es sind keine Anmeldeschemata für diesen Client konfiguriert.",
|
||||
"LogInUsingYourProviderAccount": "Melden Sie sich mit Ihrem {0}-Konto an",
|
||||
"DisplayName:CurrentPassword": "Aktuelles Passwort",
|
||||
"DisplayName:NewPassword": "Neues Passwort",
|
||||
"DisplayName:NewPasswordConfirm": "Neues Passwort bestätigen",
|
||||
"PasswordChangedMessage": "Ihr Passwort wurde erfolgreich geändert.",
|
||||
"DisplayName:UserName": "Benutzername",
|
||||
"DisplayName:Email": "E-Mail",
|
||||
"DisplayName:Name": "Name",
|
||||
"DisplayName:Surname": "Nachname",
|
||||
"DisplayName:Password": "Passwort",
|
||||
"DisplayName:EmailAddress": "E-Mail-Adresse",
|
||||
"DisplayName:PhoneNumber": "Telefonnummer",
|
||||
"PersonalSettings": "Persönliche Einstellungen",
|
||||
"PersonalSettingsSaved": "Persönliche Einstellungen gespeichert",
|
||||
"PasswordChanged": "Passwort geändert",
|
||||
"NewPasswordConfirmFailed": "Bitte bestätigen Sie das neue Passwort.",
|
||||
"Manage": "Verwalten",
|
||||
"ManageYourProfile": "Ihr profil verwalten",
|
||||
"DisplayName:Abp.Account.IsSelfRegistrationEnabled": "Ist die Selbstregistrierung aktiviert",
|
||||
"Description:Abp.Account.IsSelfRegistrationEnabled": "Gibt an, ob ein Benutzer das Konto selbst registrieren kann.",
|
||||
"DisplayName:Abp.Account.EnableLocalLogin": "Authentifizierung mit einem lokalen Konto",
|
||||
"Description:Abp.Account.EnableLocalLogin": "Gibt an, ob der Server Benutzern die Authentifizierung mit einem lokalen Konto erlaubt."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"UserName": "Gebruikersnaam",
|
||||
"EmailAddress": "E-mailadres",
|
||||
"UserNameOrEmailAddress": "Gebruikersnaam of e-mail adres",
|
||||
"Password": "Wachtwoord",
|
||||
"RememberMe": "Herinner me",
|
||||
"UseAnotherServiceToLogin": "Gebruik een andere dienst om in te loggen",
|
||||
"UserLockedOutMessage": "Het gebruikersaccount is geblokkeerd vanwege ongeldige inlogpogingen. Wacht even en probeer het opnieuw.",
|
||||
"InvalidUserNameOrPassword": "Ongeldige gebruikersnaam of wachtwoord!",
|
||||
"LoginIsNotAllowed": "U mag niet inloggen! U moet uw e-mailadres / telefoonnummer bevestigen.",
|
||||
"SelfRegistrationDisabledMessage": "Zelfregistratie is uitgeschakeld voor deze applicatie. Neem contact op met de applicatiebeheerder om een nieuwe gebruiker te registreren.",
|
||||
"LocalLoginDisabledMessage": "Lokale aanmelding is uitgeschakeld voor deze applicatie.",
|
||||
"Login": "Log in",
|
||||
"Cancel": "Annuleer",
|
||||
"Register": "Registreer",
|
||||
"AreYouANewUser": "Bent u een nieuwe gebruiker?",
|
||||
"AlreadyRegistered": "Al geregistreerd?",
|
||||
"InvalidLoginRequest": "Ongeldig inlogverzoek",
|
||||
"ThereAreNoLoginSchemesConfiguredForThisClient": "Er zijn geen aanmeldingsschema's geconfigureerd voor deze client.",
|
||||
"LogInUsingYourProviderAccount": "Log in met uw {0} -account",
|
||||
"DisplayName:CurrentPassword": "Huidig wachtwoord",
|
||||
"DisplayName:NewPassword": "Nieuw wachtwoord",
|
||||
"DisplayName:NewPasswordConfirm": "Bevestig nieuw wachtwoord",
|
||||
"PasswordChangedMessage": "Uw wachtwoord is met succes veranderd.",
|
||||
"DisplayName:UserName": "Gebruikersnaam",
|
||||
"DisplayName:Email": "E-mail",
|
||||
"DisplayName:Name": "Naam",
|
||||
"DisplayName:Surname": "Achternaam",
|
||||
"DisplayName:Password": "Wachtwoord",
|
||||
"DisplayName:EmailAddress": "E-mail adres",
|
||||
"DisplayName:PhoneNumber": "Telefoonnummer",
|
||||
"PersonalSettings": "Persoonlijke instellingen",
|
||||
"PersonalSettingsSaved": "Persoonlijke instellingen opgeslagen",
|
||||
"PasswordChanged": "wachtwoord veranderd",
|
||||
"NewPasswordConfirmFailed": "Bevestig het nieuwe wachtwoord a.u.b..",
|
||||
"Manage": "Beheer",
|
||||
"ManageYourProfile": "Beheer uw profiel",
|
||||
"DisplayName:Abp.Account.IsSelfRegistrationEnabled": "Is zelfregistratie ingeschakeld",
|
||||
"Description:Abp.Account.IsSelfRegistrationEnabled": "Of een gebruiker het account zelf kan registreren.",
|
||||
"DisplayName:Abp.Account.EnableLocalLogin": "Verifieer met een lokaal account",
|
||||
"Description:Abp.Account.EnableLocalLogin": "Geeft aan of de server gebruikers toestaat zich te verifiëren met een lokaal account."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"Permission:Blogging": "Blog",
|
||||
"Permission:Blogs": "Blogs",
|
||||
"Permission:Posts": "Beiträge",
|
||||
"Permission:Tags": "Tags",
|
||||
"Permission:Comments": "Kommentare",
|
||||
"Permission:Management": "Verwaltung",
|
||||
"Permission:Edit": "Bearbeiten",
|
||||
"Permission:Create": "Erstellen",
|
||||
"Permission:Delete": "Löschen"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"Permission:Blogging": "Blog",
|
||||
"Permission:Blogs": "Blogs",
|
||||
"Permission:Posts": "Posts",
|
||||
"Permission:Tags": "Tags",
|
||||
"Permission:Comments": "Kommentaar",
|
||||
"Permission:Management": "Beheer",
|
||||
"Permission:Edit": "Bewerk",
|
||||
"Permission:Create": "Maak aan",
|
||||
"Permission:Delete": "Verwijder"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"Menu:Blogs": "Blogs",
|
||||
"Menu:BlogManagement": "Blog-Verwaltung",
|
||||
"Title": "Titel",
|
||||
"Delete": "Löschen",
|
||||
"Reply": "Antwort",
|
||||
"ReplyTo": "Antwort auf {0}",
|
||||
"ContinueReading": "Weiterlesen",
|
||||
"DaysAgo": "vor {0} Tagen",
|
||||
"YearsAgo": "vor {0} Jahren",
|
||||
"MonthsAgo": "vor {0} Monaten",
|
||||
"WeeksAgo": "vor {0} Wochen",
|
||||
"MinutesAgo": "vor {0} Minuten",
|
||||
"SecondsAgo": "vor {0} Sekunden",
|
||||
"HoursAgo": "vor {0} Stunden",
|
||||
"Now": "jetzt",
|
||||
"Content": "Inhalt",
|
||||
"SeeAll": "Alle anzeigen",
|
||||
"PopularTags": "Beliebte Tags",
|
||||
"WiewsWithCount": "{0} Aufrufe",
|
||||
"LastPosts": "Letzte Beiträge",
|
||||
"LeaveComment": "Kommentar hinterlassen",
|
||||
"TagsInThisArticle": "Tags in diesem Artikel",
|
||||
"Posts": "Beiträge",
|
||||
"Edit": "Bearbeiten",
|
||||
"BLOG": "BLOG",
|
||||
"CommentDeletionWarningMessage": "Kommentar wird gelöscht.",
|
||||
"PostDeletionWarningMessage": "Beitrag wird gelöscht.",
|
||||
"BlogDeletionWarningMessage": "Blog wird gelöscht.",
|
||||
"AreYouSure": "Sind Sie sicher?",
|
||||
"CommentWithCount": "{0} Kommentare",
|
||||
"Comment": "Kommentar",
|
||||
"ShareOnTwitter": "Auf Twitter teilen",
|
||||
"CoverImage": "Titelbild",
|
||||
"CreateANewPost": "Neuen Beitrag erstellen",
|
||||
"CreateANewBlog": "Neuen Blog erstellen",
|
||||
"WhatIsNew": "Was ist neu?",
|
||||
"Name": "Name",
|
||||
"ShortName": "Kurzname",
|
||||
"CreationTime": "Erstellungszeit",
|
||||
"Description": "Beschreibung",
|
||||
"Blogs": "Blogs",
|
||||
"Tags": "Tags",
|
||||
"ShareOn": "Teilen auf",
|
||||
"TitleLengthWarning": "Halten Sie Ihren Titel unter 60 Zeichen, um SEO-freundlich zu sein!"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"Menu:Blogs": "Blogs",
|
||||
"Menu:BlogManagement": "Blog Beheer",
|
||||
"Title": "Titel",
|
||||
"Delete": "Verwijder",
|
||||
"Reply": "Antwoord",
|
||||
"ReplyTo": "Antwoord aan {0}",
|
||||
"ContinueReading": "Lees verder",
|
||||
"DaysAgo": "{0} dagen geleden",
|
||||
"YearsAgo": "{0} jaar geleden",
|
||||
"MonthsAgo": "{0} maanden geleden",
|
||||
"WeeksAgo": "{0} weken geleden",
|
||||
"MinutesAgo": "{0} minuten geleden",
|
||||
"SecondsAgo": "{0} seconden geleden",
|
||||
"HoursAgo": "{0} uur geleden",
|
||||
"Now": "nu",
|
||||
"Content": "Inhoud",
|
||||
"SeeAll": "Alles zien",
|
||||
"PopularTags": "Populaire tags",
|
||||
"WiewsWithCount": "{0} keer bekeken",
|
||||
"LastPosts": "Laatste berichten",
|
||||
"LeaveComment": "Laat commentaar achter",
|
||||
"TagsInThisArticle": "Tags in dit artikel",
|
||||
"Posts": "Berichten",
|
||||
"Edit": "Bewerk",
|
||||
"BLOG": "BLOG",
|
||||
"CommentDeletionWarningMessage": "Reactie wordt verwijderd.",
|
||||
"PostDeletionWarningMessage": "Berich wordt verwijderd.",
|
||||
"BlogDeletionWarningMessage": "Blog wordt verwijderd.",
|
||||
"AreYouSure": "Weet u het zeker?",
|
||||
"CommentWithCount": "{0} reacties",
|
||||
"Comment": "Reactie",
|
||||
"ShareOnTwitter": "Delen op Twitter",
|
||||
"CoverImage": "Omslagfoto",
|
||||
"CreateANewPost": "Maak een nieuw bericht",
|
||||
"CreateANewBlog": "Maak een nieuwe Blog",
|
||||
"WhatIsNew": "Wat is nieuw?",
|
||||
"Name": "Naam",
|
||||
"ShortName": "Korte naam",
|
||||
"CreationTime": "Creatie tijd",
|
||||
"Description": "Beschrijving",
|
||||
"Blogs": "Blogs",
|
||||
"Tags": "Tags",
|
||||
"ShareOn": "Delen op",
|
||||
"TitleLengthWarning": "Houd uw titel kleiner dan 60 tekens om SEO-vriendelijk te zijn!"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"DocsTitle": "VoloDocs",
|
||||
"WelcomeVoloDocs": "Willkommen bei den VoloDocs!",
|
||||
"NoProjectWarning": "Es gibt noch kein definiertes Projekt!",
|
||||
"CreateYourFirstProject": "Klicken Sie hier, um Ihr erstes Projekt zu starten",
|
||||
"NoProject": "Kein Projekt!"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"Permission:DocumentManagement": "Dokumentenverwaltung",
|
||||
"Permission:Projects": "Projekte",
|
||||
"Permission:Edit": "Bearbeiten",
|
||||
"Permission:Delete": "Löschen",
|
||||
"Permission:Create": "Erstellen",
|
||||
"Permission:Documents": "Dokumente",
|
||||
"Menu:DocumentManagement": "Dokumente",
|
||||
"Menu:ProjectManagement": "Projekte",
|
||||
"CreateANewProject": "Neues Projekt erstellen",
|
||||
"Edit": "Bearbeiten",
|
||||
"Create": "Erstellen",
|
||||
"Pull": "Pull",
|
||||
"Projects": "Projekte",
|
||||
"Name": "Name",
|
||||
"ShortName": "Kurzname",
|
||||
"DocumentStoreType": "DocumentStoreType",
|
||||
"Format": "Format",
|
||||
"ShortNameInfoText": "Wird für eindeutige URL verwendet.",
|
||||
"DisplayName:Name": "Name",
|
||||
"DisplayName:ShortName": "Kurzname",
|
||||
"DisplayName:Format": "Format",
|
||||
"DisplayName:DefaultDocumentName": "Standard-Dokumentname",
|
||||
"DisplayName:NavigationDocumentName": "Name des Navigationsdokuments",
|
||||
"DisplayName:MinimumVersion": "Mindestversion",
|
||||
"DisplayName:MainWebsiteUrl": "Haupt-URL der Website",
|
||||
"DisplayName:LatestVersionBranchName": "Zweigname der neuesten Version",
|
||||
"DisplayName:GitHubRootUrl": "GitHub-Stamm-URL",
|
||||
"DisplayName:GitHubAccessToken": "GitHub-Zugriffstoken",
|
||||
"DisplayName:GitHubUserAgent": "GitHub-Benutzer-Agent",
|
||||
"DisplayName:All": "Pull all",
|
||||
"DisplayName:LanguageCode": "Sprachcode",
|
||||
"DisplayName:Version": "Version"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"Documents": "Dokumente",
|
||||
"BackToWebsite": "Zurück zur Website",
|
||||
"Contributors": "Mitwirkende",
|
||||
"ShareOn": "Teilen auf",
|
||||
"Version": "Version",
|
||||
"Edit": "Bearbeiten",
|
||||
"LastEditTime": "Letzte Bearbeitung",
|
||||
"Delete": "Löschen",
|
||||
"ClearCache": "Cache leeren",
|
||||
"ClearCacheConfirmationMessage": "Sind Sie sicher, dass Sie alle Caches für das Projekt löschen \"{0}\"",
|
||||
"InThisDocument": "In diesem Dokument",
|
||||
"GoToTop": "Nach oben",
|
||||
"Projects": "Projekt(e)",
|
||||
"NoProjectWarning": "Es gibt noch keine Projekte!",
|
||||
"DocumentNotFound": "Hoppla, das angeforderte Dokument wurde nicht gefunden!",
|
||||
"NavigationDocumentNotFound": "Diese Version hat kein Navigationsdokument!",
|
||||
"DocumentNotFoundInSelectedLanguage": "Das Dokument wurde nicht in der von Ihnen gewünschten Sprache gefunden. Das Dokument wird in der Standardsprache angezeigt.",
|
||||
"FilterTopics": "Themen filtern",
|
||||
"FullSearch": "Suche in Dokumenten",
|
||||
"Volo.Docs.Domain:010001": "Elastic search ist nicht aktiviert.",
|
||||
"MultipleVersionDocumentInfo": "Dieses Dokument hat mehrere Versionen. Wählen Sie die für Sie am besten geeigneten Optionen aus.",
|
||||
"New": "Neu",
|
||||
"Upd": "Upd",
|
||||
"NewExplanation": "Erstellt in den letzten zwei Wochen.",
|
||||
"UpdatedExplanation": "Aktualisiert in den letzten zwei Wochen.",
|
||||
"Volo.Docs.Domain:010002": "Kurzname {ShortName} existiert bereits."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"Features": "Funktionen",
|
||||
"NoFeatureFoundMessage": "Es ist keine Funktion verfügbar."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"Features": "Functies",
|
||||
"NoFeatureFoundMessage": "Er is geen functie beschikbaar."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,104 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"Menu:IdentityManagement": "Identitätsverwaltung",
|
||||
"Users": "Benutzer",
|
||||
"NewUser": "Neuer Benutzer",
|
||||
"UserName": "Benutzername",
|
||||
"EmailAddress": "E-Mail-Adresse",
|
||||
"PhoneNumber": "Telefonnummer",
|
||||
"UserInformations": "Benutzerinformationen",
|
||||
"DisplayName:IsDefault": "Standard",
|
||||
"DisplayName:IsStatic": "Statisch",
|
||||
"DisplayName:IsPublic": "Öffentlich",
|
||||
"Roles": "Rollen",
|
||||
"Password": "Passwort",
|
||||
"PersonalInfo": "Mein Profil",
|
||||
"PersonalSettings": "Persönliche Einstellungen",
|
||||
"UserDeletionConfirmationMessage": "Der Benutzer '{0}' wird gelöscht. Sind Sie sicher?",
|
||||
"RoleDeletionConfirmationMessage": "Die Rolle '{0}' wird gelöscht. Sind Sie sicher?",
|
||||
"DisplayName:RoleName": "Rollenname",
|
||||
"DisplayName:UserName": "Benutzername",
|
||||
"DisplayName:Name": "Name",
|
||||
"DisplayName:Surname": "Nachname",
|
||||
"DisplayName:Password": "Passwort",
|
||||
"DisplayName:Email": "E-Mail-Adresse",
|
||||
"DisplayName:PhoneNumber": "Telefonnummer",
|
||||
"DisplayName:TwoFactorEnabled": "Zwei-Faktor-Verifizierung",
|
||||
"DisplayName:LockoutEnabled": "Konto nach fehlgeschlagenen Anmeldeversuchen sperren",
|
||||
"NewRole": "Neue Rolle",
|
||||
"RoleName": "Rollenname",
|
||||
"CreationTime": "Erstellungszeit",
|
||||
"Permissions": "Berechtigungen",
|
||||
"DisplayName:CurrentPassword": "Aktuelles Passwort",
|
||||
"DisplayName:NewPassword": "Neues Passwort",
|
||||
"DisplayName:NewPasswordConfirm": "Neues Passwort bestätigen",
|
||||
"PasswordChangedMessage": "Ihr Passwort wurde erfolgreich geändert.",
|
||||
"PersonalSettingsSavedMessage": "Ihre persönlichen Einstellungen wurden erfolgreich gespeichert.",
|
||||
"Identity.DefaultError": "Ein unbekannter Fehler ist aufgetreten.",
|
||||
"Identity.ConcurrencyFailure": "Optimistischer Nebenläufigkeitsfehler, Objekt wurde geändert.",
|
||||
"Identity.DuplicateEmail": "E-Mail '{0}' ist bereits vergeben.",
|
||||
"Identity.DuplicateRoleName": "Der Rollenname '{0}' ist bereits vergeben.",
|
||||
"Identity.DuplicateUserName": "Der Benutzername '{0}' ist bereits vergeben.",
|
||||
"Identity.InvalidEmail": "E-Mail '{0}' ist ungültig.",
|
||||
"Identity.InvalidPasswordHasherCompatibilityMode": "Der angegebene PasswordHasherCompatibilityMode ist ungültig.",
|
||||
"Identity.InvalidPasswordHasherIterationCount": "Die Iterationszahl muss eine positive Ganzzahl sein.",
|
||||
"Identity.InvalidRoleName": "Der Rollenname '{0}' ist ungültig.",
|
||||
"Identity.InvalidToken": "Ungültiges Token.",
|
||||
"Identity.InvalidUserName": "Benutzername '{0}' ist ungültig, kann nur Buchstaben oder Ziffern enthalten.",
|
||||
"Identity.LoginAlreadyAssociated": "Ein Benutzer mit diesem Login existiert bereits.",
|
||||
"Identity.PasswordMismatch": "Falsches Passwort.",
|
||||
"Identity.PasswordRequiresDigit": "Passwörter müssen mindestens eine Ziffer ('0'-'9') enthalten.",
|
||||
"Identity.PasswordRequiresLower": "Passwörter müssen mindestens einen Kleinbuchstaben ('a'-'z') enthalten.",
|
||||
"Identity.PasswordRequiresNonAlphanumeric": "Passwörter müssen mindestens ein Sonderzeichen enthalten.",
|
||||
"Identity.PasswordRequiresUpper": "Passwörter müssen mindestens einen Großbuchstaben ('A'-'Z') enthalten.",
|
||||
"Identity.PasswordTooShort": "Passwörter müssen mindestens {0} Zeichen enthalten.",
|
||||
"Identity.RoleNotFound": "Die Rolle {0} existiert nicht.",
|
||||
"Identity.UserAlreadyHasPassword": "Der Benutzer hat bereits ein Passwort gesetzt.",
|
||||
"Identity.UserAlreadyInRole": "Benutzer ist bereits in der Rolle '{0}'.",
|
||||
"Identity.UserLockedOut": "Benutzer ist ausgesperrt.",
|
||||
"Identity.UserLockoutNotEnabled": "Aussperrung ist für diesen Benutzer nicht aktiviert.",
|
||||
"Identity.UserNameNotFound": "Benutzer {0} existiert nicht.",
|
||||
"Identity.UserNotInRole": "Benutzer ist nicht in der Rolle '{0}'.",
|
||||
"Identity.PasswordConfirmationFailed": "Passwort stimmt nicht mit dem Bestätigungspasswort überein.",
|
||||
"Identity.StaticRoleRenamingErrorMessage": "Statische Rollen können nicht umbenannt werden.",
|
||||
"Identity.StaticRoleDeletionErrorMessage": "Statische Rollen können nicht gelöscht werden.",
|
||||
"Volo.Abp.Identity:010001": "Sie können Ihr eigenes Konto nicht löschen!",
|
||||
"Permission:IdentityManagement": "Identitätsverwaltung",
|
||||
"Permission:RoleManagement": "Rollenverwaltung",
|
||||
"Permission:Create": "Erstellen",
|
||||
"Permission:Edit": "Bearbeiten",
|
||||
"Permission:Delete": "Löschen",
|
||||
"Permission:ChangePermissions": "Berechtigungen ändern",
|
||||
"Permission:UserManagement": "Benutzerverwaltung",
|
||||
"Permission:UserLookup": "Benutzer-Lookup",
|
||||
"DisplayName:Abp.Identity.Password.RequiredLength": "Erforderliche Länge",
|
||||
"DisplayName:Abp.Identity.Password.RequiredUniqueChars": "Erforderliche eindeutige Zeichenanzahl",
|
||||
"DisplayName:Abp.Identity.Password.RequireNonAlphanumeric": "Erforderliches Sonderzeichen",
|
||||
"DisplayName:Abp.Identity.Password.RequireLowercase": "Erforderliche Kleinbuchstaben",
|
||||
"DisplayName:Abp.Identity.Password.RequireUppercase": "Erforderliche Großbuchstaben",
|
||||
"DisplayName:Abp.Identity.Password.RequireDigit": "Erforderliche Ziffer",
|
||||
"DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Aktiviert für neue Benutzer",
|
||||
"DisplayName:Abp.Identity.Lockout.LockoutDuration": "Aussperrdauer (Sekunden)",
|
||||
"DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max fehlgeschlagene Zugriffsversuche",
|
||||
"DisplayName:Abp.Identity.SignIn.RequireConfirmedEmail": "Bestätigte E-Mail erforderlich",
|
||||
"DisplayName:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "Telefonnummer-Bestätigung aktivieren",
|
||||
"DisplayName:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "Bestätigte Telefonnummer erforderlich",
|
||||
"DisplayName:Abp.Identity.User.IsUserNameUpdateEnabled": "Ist die Aktualisierung des Benutzernamens aktiviert?",
|
||||
"DisplayName:Abp.Identity.User.IsEmailUpdateEnabled": "Ist die E-Mail-Aktualisierung aktiviert?",
|
||||
"Description:Abp.Identity.Password.RequiredLength": "Die Mindestlänge, die ein Passwort haben muss.",
|
||||
"Description:Abp.Identity.Password.RequiredUniqueChars": "Die Mindestanzahl eindeutiger Zeichen, die ein Passwort enthalten muss.",
|
||||
"Description:Abp.Identity.Password.RequireNonAlphanumeric": "Ob Passwörter ein nicht-alphanumerisches Zeichen enthalten müssen.",
|
||||
"Description:Abp.Identity.Password.RequireLowercase": "Ob Passwörter ein kleingeschriebenes ASCII-Zeichen enthalten müssen.",
|
||||
"Description:Abp.Identity.Password.RequireUppercase": "Ob Passwörter ein ASCII-Zeichen in Großbuchstaben enthalten müssen.",
|
||||
"Description:Abp.Identity.Password.RequireDigit": "Ob Passwörter eine Ziffer enthalten müssen.",
|
||||
"Description:Abp.Identity.Lockout.AllowedForNewUsers": "Ob ein neuer Benutzer ausgesperrt werden kann.",
|
||||
"Description:Abp.Identity.Lockout.LockoutDuration": "Die Dauer, für die ein Benutzer ausgesperrt ist, wenn eine Sperre auftritt.",
|
||||
"Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Die Anzahl der fehlgeschlagenen Zugriffsversuche, die erlaubt sind, bevor ein Benutzer gesperrt wird, vorausgesetzt, die Sperre ist aktiviert.",
|
||||
"Description:Abp.Identity.SignIn.RequireConfirmedEmail": "Whether a confirmed email address is required to sign in.",
|
||||
"Description:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "Ob für die Anmeldung eine bestätigte E-Mail-Adresse erforderlich ist.",
|
||||
"Description:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "Ob für die Anmeldung eine bestätigte Telefonnummer erforderlich ist.",
|
||||
"Description:Abp.Identity.User.IsUserNameUpdateEnabled": "Ob der Benutzername vom Benutzer aktualisiert werden kann.",
|
||||
"Description:Abp.Identity.User.IsEmailUpdateEnabled": "Ob die E-Mail durch den Benutzer aktualisiert werden kann."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,104 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"Menu:IdentityManagement": "Identiteitsbeheer",
|
||||
"Users": "Gebruikers",
|
||||
"NewUser": "Nieuwe Gebruiker",
|
||||
"UserName": "Gebruikersnaam",
|
||||
"EmailAddress": "E-mail adres",
|
||||
"PhoneNumber": "Telefoonnummer",
|
||||
"UserInformations": "Gebruikers informatie",
|
||||
"DisplayName:IsDefault": "Standaard",
|
||||
"DisplayName:IsStatic": "Statisch",
|
||||
"DisplayName:IsPublic": "Openbaar",
|
||||
"Roles": "Roles",
|
||||
"Password": "Wachtwoord",
|
||||
"PersonalInfo": "Mijn profiel",
|
||||
"PersonalSettings": "Persoonlijke instellingen",
|
||||
"UserDeletionConfirmationMessage": "Gebruiker '{0}' wordt verwijderd. Bevestigt U dat?",
|
||||
"RoleDeletionConfirmationMessage": "Rol '{0}' wordt verwijderd. Bevestigt U dat?",
|
||||
"DisplayName:RoleName": "Rol naam",
|
||||
"DisplayName:UserName": "Gebruikersnaam",
|
||||
"DisplayName:Name": "Naam",
|
||||
"DisplayName:Surname": "Achternaam",
|
||||
"DisplayName:Password": "Wachtwoord",
|
||||
"DisplayName:Email": "E-mail adres",
|
||||
"DisplayName:PhoneNumber": "Telefoonnummer",
|
||||
"DisplayName:TwoFactorEnabled": "Twee-factor-verificatie",
|
||||
"DisplayName:LockoutEnabled": "Account vergrendelen na mislukte inlogpogingen",
|
||||
"NewRole": "Nieuwe rol",
|
||||
"RoleName": "Rol naam",
|
||||
"CreationTime": "Creatie tijd",
|
||||
"Permissions": "Rechten",
|
||||
"DisplayName:CurrentPassword": "Huidig wachtwoord",
|
||||
"DisplayName:NewPassword": "Nieuw wachtwoord",
|
||||
"DisplayName:NewPasswordConfirm": "Bevestig nieuw wachtwoord",
|
||||
"PasswordChangedMessage": "Uw wachtwoord is met succes veranderd.",
|
||||
"PersonalSettingsSavedMessage": "Uw persoonlijke instellingen zijn succesvol opgeslagen.",
|
||||
"Identity.DefaultError": "Er is een onbekende fout opgetreden.",
|
||||
"Identity.ConcurrencyFailure": "Optimistische gelijktijdigheidsfout, object is gewijzigd.",
|
||||
"Identity.DuplicateEmail": "E-mail '{0}' is al in gebruik.",
|
||||
"Identity.DuplicateRoleName": "De rolnaam '{0}' is al in gebruik.",
|
||||
"Identity.DuplicateUserName": "Gebruikersnaam '{0}' is al in gebruik.",
|
||||
"Identity.InvalidEmail": "E-mail' {0} 'is ongeldig.",
|
||||
"Identity.InvalidPasswordHasherCompatibilityMode": "De opgegeven PasswordHasherCompatibilityMode is ongeldig.",
|
||||
"Identity.InvalidPasswordHasherIterationCount": "De iteratietelling moet een positief geheel getal zijn.",
|
||||
"Identity.InvalidRoleName": "Rolnaam '{0}' is ongeldig.",
|
||||
"Identity.InvalidToken": "Ongeldig token.",
|
||||
"Identity.InvalidUserName": "Gebruikersnaam '{0}' is ongeldig, mag alleen letters of cijfers bevatten.",
|
||||
"Identity.LoginAlreadyAssociated": "Er bestaat al een gebruiker met deze login.",
|
||||
"Identity.PasswordMismatch": "Incorrect wachtwoord.",
|
||||
"Identity.PasswordRequiresDigit": "Wachtwoorden moeten minimaal één cijfer bevatten ('0' - '9').",
|
||||
"Identity.PasswordRequiresLower": "Wachtwoorden moeten minstens één kleine letter bevatten ('a' - 'z').",
|
||||
"Identity.PasswordRequiresNonAlphanumeric": "Wachtwoorden moeten minimaal één niet-alfanumeriek teken bevatten.",
|
||||
"Identity.PasswordRequiresUpper": "Wachtwoorden moeten ten minste één hoofdletter bevatten ('A' - 'Z').",
|
||||
"Identity.PasswordTooShort": "Wachtwoorden moeten uit minimaal {0} tekens bestaan.",
|
||||
"Identity.RoleNotFound": "Rol {0} bestaat niet.",
|
||||
"Identity.UserAlreadyHasPassword": "Gebruiker heeft al een wachtwoord ingesteld.",
|
||||
"Identity.UserAlreadyInRole": "Gebruiker al in rol '{0}'.",
|
||||
"Identity.UserLockedOut": "Gebruiker is geblokkeerd.",
|
||||
"Identity.UserLockoutNotEnabled": "Lockout is niet ingeschakeld voor deze gebruiker.",
|
||||
"Identity.UserNameNotFound": "Gebruiker {0} bestaat niet.",
|
||||
"Identity.UserNotInRole": "Gebruiker speelt geen rol '{0}'.",
|
||||
"Identity.PasswordConfirmationFailed": "Wachtwoord komt niet overeen met de wachtwoord bevestiging.",
|
||||
"Identity.StaticRoleRenamingErrorMessage": "Statische rollen kunnen niet worden hernoemd.",
|
||||
"Identity.StaticRoleDeletionErrorMessage": "Statische rollen kunnen niet worden verwijderd.",
|
||||
"Volo.Abp.Identity:010001": "U kunt uw eigen account niet verwijderen!",
|
||||
"Permission:IdentityManagement": "Identiteitsbeheer",
|
||||
"Permission:RoleManagement": "Rolbeheer",
|
||||
"Permission:Create": "Maak aan",
|
||||
"Permission:Edit": "Verander",
|
||||
"Permission:Delete": "Verwijder",
|
||||
"Permission:ChangePermissions": "Wijzig de rechten",
|
||||
"Permission:UserManagement": "Gebruikersbeheer",
|
||||
"Permission:UserLookup": "Gebruiker opzoeken",
|
||||
"DisplayName:Abp.Identity.Password.RequiredLength": "Vereiste lengte",
|
||||
"DisplayName:Abp.Identity.Password.RequiredUniqueChars": "Vereist aantal unieke tekens",
|
||||
"DisplayName:Abp.Identity.Password.RequireNonAlphanumeric": "Vereist niet-alfanumeriek teken",
|
||||
"DisplayName:Abp.Identity.Password.RequireLowercase": "Vereist kleine letter",
|
||||
"DisplayName:Abp.Identity.Password.RequireUppercase": "Vereist hoofdletter",
|
||||
"DisplayName:Abp.Identity.Password.RequireDigit": "Vereist cijfer",
|
||||
"DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Ingeschakeld voor nieuwe gebruikers",
|
||||
"DisplayName:Abp.Identity.Lockout.LockoutDuration": "Blokkeringsduur (seconden)",
|
||||
"DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max mislukte toegangspogingen",
|
||||
"DisplayName:Abp.Identity.SignIn.RequireConfirmedEmail": "Vereist bevestigde e-mail",
|
||||
"DisplayName:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "Schakel telefoonnummerbevestiging in",
|
||||
"DisplayName:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "Vereist bevestigd telefoonnummer",
|
||||
"DisplayName:Abp.Identity.User.IsUserNameUpdateEnabled": "Is gebruikersnaam aktualisering ingeschakeld",
|
||||
"DisplayName:Abp.Identity.User.IsEmailUpdateEnabled": "Is e-mail aktualisering ingeschakeld",
|
||||
"Description:Abp.Identity.Password.RequiredLength": "De minimale lengte die een wachtwoord moet hebben.",
|
||||
"Description:Abp.Identity.Password.RequiredUniqueChars": "Het minimumaantal unieke tekens dat een wachtwoord moet bevatten.",
|
||||
"Description:Abp.Identity.Password.RequireNonAlphanumeric": "Als wachtwoorden een niet-alfanumeriek teken moeten bevatten.",
|
||||
"Description:Abp.Identity.Password.RequireLowercase": "Als wachtwoorden een ASCII-teken in kleine letters moeten bevatten.",
|
||||
"Description:Abp.Identity.Password.RequireUppercase": "Als wachtwoorden een ASCII-teken in hoofdletters moeten bevatten.",
|
||||
"Description:Abp.Identity.Password.RequireDigit": "Als wachtwoorden een cijfer moeten bevatten.",
|
||||
"Description:Abp.Identity.Lockout.AllowedForNewUsers": "Of een nieuwe gebruiker kan worden geblokkeerd.",
|
||||
"Description:Abp.Identity.Lockout.LockoutDuration": "De duur dat een gebruiker wordt geblokkeerd wanneer een blokkering optreedt.",
|
||||
"Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Het aantal mislukte toegangspogingen dat is toegestaan voordat een gebruiker wordt geblokkeerd, ervan uitgaande dat blokkering is ingeschakeld.",
|
||||
"Description:Abp.Identity.SignIn.RequireConfirmedEmail": "Of een bevestigd e-mail adres vereist is om in te loggen.",
|
||||
"Description:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "Of het telefoonnummer kan worden bevestigd door de gebruiker.",
|
||||
"Description:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "Of een bevestigd telefoonnummer vereist is om in te loggen.",
|
||||
"Description:Abp.Identity.User.IsUserNameUpdateEnabled": "Of de gebruikersnaam kan worden bijgewerkt door de gebruiker.",
|
||||
"Description:Abp.Identity.User.IsEmailUpdateEnabled": "Of de e-mail door de gebruiker kan worden veranderd."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"Volo.IdentityServer:DuplicateIdentityResourceName": "Identität Ressourcenname existiert bereits: {Name}",
|
||||
"Volo.IdentityServer:DuplicateApiResourceName": "Api Ressourcenname existiert bereits: {Name}",
|
||||
"Volo.IdentityServer:DuplicateClientId": "ClientId bereits vorhanden: {ClientId}",
|
||||
"UserLockedOut": "Das Benutzerkonto wurde aufgrund ungültiger Anmeldeversuche ausgesperrt. Bitte warten Sie eine Weile und versuchen Sie es erneut.",
|
||||
"InvalidUserNameOrPassword": "Ungültiger Benutzername oder Passwort!",
|
||||
"LoginIsNotAllowed": "Sie dürfen sich nicht anmelden! Sie müssen Ihre E-Mail/Telefonnummer bestätigen.",
|
||||
"InvalidUsername": "Ungültiger Benutzername oder Passwort!"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"Permissions": "Berechtigungen",
|
||||
"OnlyProviderPermissons": "Nur dieser Anbieter",
|
||||
"All": "Alle",
|
||||
"SelectAllInAllTabs": "Alle Berechtigungen erteilen",
|
||||
"SelectAllInThisTab": "Alle auswählen"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"Permissions": "Rechten",
|
||||
"OnlyProviderPermissons": "Alleen deze provider",
|
||||
"All": "Alle",
|
||||
"SelectAllInAllTabs": "Verleen alle rechten",
|
||||
"SelectAllInThisTab": "Selecteer alles"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"Settings": "Einstellungen",
|
||||
"SuccessfullySaved": "Erfolgreich gespeichert"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"Settings": "Instellingen",
|
||||
"SuccessfullySaved": "Succesvol opgeslagen"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
{
|
||||
"culture": "de",
|
||||
"texts": {
|
||||
"Menu:TenantManagement": "Mandantenverwaltung",
|
||||
"Tenants": "Mandanten",
|
||||
"NewTenant": "Neuer Mandant",
|
||||
"TenantName": "Mandantenname",
|
||||
"DisplayName:TenantName": "Mandantenname",
|
||||
"TenantDeletionConfirmationMessage": "Der Mandant '{0}' wird gelöscht. Sind Sie sicher?",
|
||||
"ConnectionStrings": "Verbindungszeichenfolgen",
|
||||
"DisplayName:DefaultConnectionString": "Standard Verbindungszeichenfolge",
|
||||
"DisplayName:UseSharedDatabase": "Nutze die gemeinsame Datenbank",
|
||||
"Permission:TenantManagement": "Mandantenverwaltung",
|
||||
"Permission:Create": "Erstellen",
|
||||
"Permission:Edit": "Bearbeiten",
|
||||
"Permission:Delete": "Löschen",
|
||||
"Permission:ManageConnectionStrings": "Verbindungszeichenfolgen verwalten",
|
||||
"Permission:ManageFeatures": "Funktionen verwalten",
|
||||
"DisplayName:AdminEmailAddress": "Admin E-Mail-Adresse",
|
||||
"DisplayName:AdminPassword": "Admin Password"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
{
|
||||
"culture": "nl",
|
||||
"texts": {
|
||||
"Menu:TenantManagement": "Klanten beheer",
|
||||
"Tenants": "Klanten",
|
||||
"NewTenant": "Nieuwe klant",
|
||||
"TenantName": "Naam klant",
|
||||
"DisplayName:TenantName": "Naam klant",
|
||||
"TenantDeletionConfirmationMessage": "Klant '{0}' wordt verwijderd. Bevestigt u dat?",
|
||||
"ConnectionStrings": "Connection Strings",
|
||||
"DisplayName:DefaultConnectionString": "Standaard Connection String",
|
||||
"DisplayName:UseSharedDatabase": "Gebruik de gedeelde database",
|
||||
"Permission:TenantManagement": "Klanten beheer",
|
||||
"Permission:Create": "Maak aan",
|
||||
"Permission:Edit": "Bewerk",
|
||||
"Permission:Delete": "Verwijder",
|
||||
"Permission:ManageConnectionStrings": "Beheer connection strings",
|
||||
"Permission:ManageFeatures": "Beheer functies",
|
||||
"DisplayName:AdminEmailAddress": "Admin e-mail adres",
|
||||
"DisplayName:AdminPassword": "Admin wachtwoord"
|
||||
}
|
||||
}
|
||||
@ -1,51 +1,63 @@
|
||||
<div class="card shadow-sm rounded mb-3">
|
||||
<div class="card-body px-5">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<span style="font-size: 0.8em;" class="text-uppercase text-muted">{{
|
||||
'AbpUiMultiTenancy::Tenant' | abpLocalization
|
||||
}}</span
|
||||
><br />
|
||||
<h6 class="m-0 d-inline-block">
|
||||
<span>
|
||||
{{ tenantName || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}
|
||||
</span>
|
||||
</h6>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<a
|
||||
id="AbpTenantSwitchLink"
|
||||
href="javascript:void(0);"
|
||||
class="btn btn-sm mt-3 btn-outline-primary"
|
||||
(click)="onSwitch()"
|
||||
>{{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}</a
|
||||
>
|
||||
<ng-container *ngIf="(currentTenant$ | async) || {} as currentTenant">
|
||||
<div class="card shadow-sm rounded mb-3">
|
||||
<div class="card-body px-5">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<span style="font-size: 0.8em;" class="text-uppercase text-muted">{{
|
||||
'AbpUiMultiTenancy::Tenant' | abpLocalization
|
||||
}}</span
|
||||
><br />
|
||||
<h6 class="m-0 d-inline-block">
|
||||
<i>{{ currentTenant.name || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}</i>
|
||||
</h6>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<a
|
||||
id="AbpTenantSwitchLink"
|
||||
href="javascript:void(0);"
|
||||
class="btn btn-sm mt-3 btn-outline-primary"
|
||||
(click)="onSwitch()"
|
||||
>{{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<abp-modal size="md" [(visible)]="isModalVisible" [busy]="inProgress">
|
||||
<ng-template #abpHeader>
|
||||
<h5>Switch Tenant</h5>
|
||||
</ng-template>
|
||||
<ng-template #abpBody>
|
||||
<form (ngSubmit)="save()">
|
||||
<div class="mt-2">
|
||||
<div class="form-group">
|
||||
<label for="name">{{ 'AbpUiMultiTenancy::Name' | abpLocalization }}</label>
|
||||
<input [(ngModel)]="tenant.name" type="text" id="name" name="tenant" class="form-control" autofocus />
|
||||
<abp-modal size="md" [(visible)]="isModalVisible" [busy]="modalBusy">
|
||||
<ng-template #abpHeader>
|
||||
<h5>Switch Tenant</h5>
|
||||
</ng-template>
|
||||
<ng-template #abpBody>
|
||||
<form (ngSubmit)="save()">
|
||||
<div class="mt-2">
|
||||
<div class="form-group">
|
||||
<label for="name">{{ 'AbpUiMultiTenancy::Name' | abpLocalization }}</label>
|
||||
<input
|
||||
[(ngModel)]="name"
|
||||
type="text"
|
||||
id="name"
|
||||
name="tenant"
|
||||
class="form-control"
|
||||
autofocus
|
||||
/>
|
||||
</div>
|
||||
<p>{{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}</p>
|
||||
</div>
|
||||
<p>{{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}</p>
|
||||
</div>
|
||||
</form>
|
||||
</ng-template>
|
||||
<ng-template #abpFooter>
|
||||
<button #abpClose type="button" class="btn btn-secondary">
|
||||
{{ 'AbpTenantManagement::Cancel' | abpLocalization }}
|
||||
</button>
|
||||
<abp-button buttonType="button" buttonClass="btn btn-primary" (click)="save()">
|
||||
<i class="fa fa-check mr-1"></i> <span>{{ 'AbpTenantManagement::Save' | abpLocalization }}</span>
|
||||
</abp-button>
|
||||
</ng-template>
|
||||
</abp-modal>
|
||||
</form>
|
||||
</ng-template>
|
||||
<ng-template #abpFooter>
|
||||
<button #abpClose type="button" class="btn btn-secondary">
|
||||
{{ 'AbpTenantManagement::Cancel' | abpLocalization }}
|
||||
</button>
|
||||
<abp-button
|
||||
type="abp-button"
|
||||
iconClass="fa fa-check"
|
||||
(click)="save()"
|
||||
[disabled]="currentTenant?.name === name"
|
||||
>
|
||||
<span>{{ 'AbpTenantManagement::Save' | abpLocalization }}</span>
|
||||
</abp-button>
|
||||
</ng-template>
|
||||
</abp-modal>
|
||||
</ng-container>
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
export interface TenantIdResponse {
|
||||
success: boolean;
|
||||
tenantId: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
@ -1,4 +1,7 @@
|
||||
export * from './account-layout/account-layout.component';
|
||||
export * from './application-layout/application-layout.component';
|
||||
export * from './empty-layout/empty-layout.component';
|
||||
export * from './logo/logo.component';
|
||||
export * from './nav-items/nav-items.component';
|
||||
export * from './routes/routes.component';
|
||||
export * from './validation-error/validation-error.component';
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
import { Config, ConfigState } from '@abp/ng.core';
|
||||
import { Component } from '@angular/core';
|
||||
import { Store } from '@ngxs/store';
|
||||
|
||||
@Component({
|
||||
selector: 'abp-logo',
|
||||
template: `
|
||||
<a class="navbar-brand" routerLink="/">
|
||||
<img
|
||||
*ngIf="appInfo.logoUrl; else appName"
|
||||
[src]="appInfo.logoUrl"
|
||||
[alt]="appInfo.name"
|
||||
width="100%"
|
||||
height="auto"
|
||||
/>
|
||||
</a>
|
||||
|
||||
<ng-template #appName>
|
||||
{{ appInfo.name }}
|
||||
</ng-template>
|
||||
`,
|
||||
})
|
||||
export class LogoComponent {
|
||||
get appInfo(): Config.Application {
|
||||
return this.store.selectSnapshot(ConfigState.getApplicationInfo);
|
||||
}
|
||||
|
||||
constructor(private store: Store) {}
|
||||
}
|
||||
@ -0,0 +1,81 @@
|
||||
<ul class="navbar-nav">
|
||||
<ng-container
|
||||
*ngFor="let element of rightPartElements; trackBy: trackByFn"
|
||||
[ngTemplateOutlet]="element"
|
||||
[ngTemplateOutletContext]="{ smallScreen: smallScreen }"
|
||||
></ng-container>
|
||||
</ul>
|
||||
|
||||
<ng-template #language let-smallScreen="smallScreen">
|
||||
<li *ngIf="(dropdownLanguages$ | async)?.length > 0" class="nav-item">
|
||||
<div class="dropdown" ngbDropdown #languageDropdown="ngbDropdown" display="static">
|
||||
<a
|
||||
ngbDropdownToggle
|
||||
class="nav-link"
|
||||
href="javascript:void(0)"
|
||||
role="button"
|
||||
id="dropdownMenuLink"
|
||||
data-toggle="dropdown"
|
||||
aria-haspopup="true"
|
||||
aria-expanded="false"
|
||||
>
|
||||
{{ defaultLanguage$ | async }}
|
||||
</a>
|
||||
<div
|
||||
class="dropdown-menu dropdown-menu-right border-0 shadow-sm"
|
||||
aria-labelledby="dropdownMenuLink"
|
||||
[class.d-block]="smallScreen && languageDropdown.isOpen()"
|
||||
>
|
||||
<a
|
||||
*ngFor="let lang of dropdownLanguages$ | async"
|
||||
href="javascript:void(0)"
|
||||
class="dropdown-item"
|
||||
(click)="onChangeLang(lang.cultureName)"
|
||||
>{{ lang?.displayName }}</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #currentUser let-smallScreen="smallScreen">
|
||||
<li class="nav-item">
|
||||
<ng-template #loginBtn>
|
||||
<a role="button" class="nav-link" routerLink="/account/login">{{
|
||||
'AbpAccount::Login' | abpLocalization
|
||||
}}</a>
|
||||
</ng-template>
|
||||
<div
|
||||
*ngIf="(currentUser$ | async)?.isAuthenticated; else loginBtn"
|
||||
ngbDropdown
|
||||
class="dropdown"
|
||||
#currentUserDropdown="ngbDropdown"
|
||||
display="static"
|
||||
>
|
||||
<a
|
||||
ngbDropdownToggle
|
||||
class="nav-link"
|
||||
href="javascript:void(0)"
|
||||
role="button"
|
||||
id="dropdownMenuLink"
|
||||
data-toggle="dropdown"
|
||||
aria-haspopup="true"
|
||||
aria-expanded="false"
|
||||
>
|
||||
{{ (currentUser$ | async)?.userName }}
|
||||
</a>
|
||||
<div
|
||||
class="dropdown-menu dropdown-menu-right border-0 shadow-sm"
|
||||
aria-labelledby="dropdownMenuLink"
|
||||
[class.d-block]="smallScreen && currentUserDropdown.isOpen()"
|
||||
>
|
||||
<a class="dropdown-item" routerLink="/account/manage-profile"
|
||||
><i class="fa fa-cog mr-1"></i>{{ 'AbpAccount::ManageYourProfile' | abpLocalization }}</a
|
||||
>
|
||||
<a class="dropdown-item" href="javascript:void(0)" (click)="logout()"
|
||||
><i class="fa fa-power-off mr-1"></i>{{ 'AbpUi::Logout' | abpLocalization }}</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ng-template>
|
||||
@ -0,0 +1,125 @@
|
||||
import {
|
||||
Component,
|
||||
AfterViewInit,
|
||||
TrackByFunction,
|
||||
TemplateRef,
|
||||
ViewChild,
|
||||
OnDestroy,
|
||||
Input,
|
||||
} from '@angular/core';
|
||||
import {
|
||||
ABP,
|
||||
takeUntilDestroy,
|
||||
SetLanguage,
|
||||
AuthService,
|
||||
ConfigState,
|
||||
ApplicationConfiguration,
|
||||
SessionState,
|
||||
} from '@abp/ng.core';
|
||||
import { LayoutState } from '../../states/layout.state';
|
||||
import { Store, Select } from '@ngxs/store';
|
||||
import { eNavigationElementNames } from '../../enums/navigation-element-names';
|
||||
import { AddNavigationElement } from '../../actions/layout.actions';
|
||||
import { map, filter } from 'rxjs/operators';
|
||||
import { Observable } from 'rxjs';
|
||||
import { Layout } from '../../models/layout';
|
||||
import { Navigate, RouterState } from '@ngxs/router-plugin';
|
||||
import snq from 'snq';
|
||||
import compare from 'just-compare';
|
||||
|
||||
@Component({
|
||||
selector: 'abp-nav-items',
|
||||
templateUrl: 'nav-items.component.html',
|
||||
})
|
||||
export class NavItemsComponent implements AfterViewInit, OnDestroy {
|
||||
@Select(LayoutState.getNavigationElements)
|
||||
navElements$: Observable<Layout.NavigationElement[]>;
|
||||
|
||||
@Select(ConfigState.getOne('currentUser'))
|
||||
currentUser$: Observable<ApplicationConfiguration.CurrentUser>;
|
||||
|
||||
@Select(ConfigState.getDeep('localization.languages'))
|
||||
languages$: Observable<ApplicationConfiguration.Language[]>;
|
||||
|
||||
@ViewChild('currentUser', { static: false, read: TemplateRef })
|
||||
currentUserRef: TemplateRef<any>;
|
||||
|
||||
@ViewChild('language', { static: false, read: TemplateRef })
|
||||
languageRef: TemplateRef<any>;
|
||||
|
||||
@Input()
|
||||
smallScreen: boolean;
|
||||
|
||||
rightPartElements: TemplateRef<any>[] = [];
|
||||
|
||||
trackByFn: TrackByFunction<ABP.FullRoute> = (_, element) => element;
|
||||
|
||||
get defaultLanguage$(): Observable<string> {
|
||||
return this.languages$.pipe(
|
||||
map(
|
||||
languages =>
|
||||
snq(
|
||||
() => languages.find(lang => lang.cultureName === this.selectedLangCulture).displayName,
|
||||
),
|
||||
'',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
get dropdownLanguages$(): Observable<ApplicationConfiguration.Language[]> {
|
||||
return this.languages$.pipe(
|
||||
map(
|
||||
languages =>
|
||||
snq(() => languages.filter(lang => lang.cultureName !== this.selectedLangCulture)),
|
||||
[],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
get selectedLangCulture(): string {
|
||||
return this.store.selectSnapshot(SessionState.getLanguage);
|
||||
}
|
||||
|
||||
constructor(private store: Store, private authService: AuthService) {}
|
||||
|
||||
ngAfterViewInit() {
|
||||
const navigations = this.store
|
||||
.selectSnapshot(LayoutState.getNavigationElements)
|
||||
.map(({ name }) => name);
|
||||
|
||||
if (navigations.indexOf(eNavigationElementNames.Language) < 0) {
|
||||
this.store.dispatch(
|
||||
new AddNavigationElement([
|
||||
{ element: this.languageRef, order: 4, name: eNavigationElementNames.Language },
|
||||
{ element: this.currentUserRef, order: 5, name: eNavigationElementNames.User },
|
||||
]),
|
||||
);
|
||||
}
|
||||
|
||||
this.navElements$
|
||||
.pipe(
|
||||
map(elements => elements.map(({ element }) => element)),
|
||||
filter(elements => !compare(elements, this.rightPartElements)),
|
||||
takeUntilDestroy(this),
|
||||
)
|
||||
.subscribe(elements => {
|
||||
setTimeout(() => (this.rightPartElements = elements), 0);
|
||||
});
|
||||
}
|
||||
|
||||
ngOnDestroy() {}
|
||||
|
||||
onChangeLang(cultureName: string) {
|
||||
this.store.dispatch(new SetLanguage(cultureName));
|
||||
}
|
||||
|
||||
logout() {
|
||||
this.authService.logout().subscribe(() => {
|
||||
this.store.dispatch(
|
||||
new Navigate(['/'], null, {
|
||||
state: { redirectUrl: this.store.selectSnapshot(RouterState).state.url },
|
||||
}),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,111 @@
|
||||
<ul class="navbar-nav">
|
||||
<ng-container
|
||||
*ngFor="let route of visibleRoutes$ | async; trackBy: trackByFn"
|
||||
[ngTemplateOutlet]="route?.children?.length ? dropdownLink : defaultLink"
|
||||
[ngTemplateOutletContext]="{ $implicit: route }"
|
||||
>
|
||||
</ng-container>
|
||||
|
||||
<ng-template #defaultLink let-route>
|
||||
<li class="nav-item" *abpPermission="route.requiredPolicy">
|
||||
<a class="nav-link" [routerLink]="[route.url]"
|
||||
><i *ngIf="route.iconClass" [ngClass]="route.iconClass"></i>
|
||||
{{ route.name | abpLocalization }}</a
|
||||
>
|
||||
</li>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #dropdownLink let-route>
|
||||
<li
|
||||
#navbarRootDropdown
|
||||
*abpPermission="route.requiredPolicy"
|
||||
[abpVisibility]="routeContainer"
|
||||
class="nav-item dropdown"
|
||||
display="static"
|
||||
(click)="
|
||||
navbarRootDropdown.expand
|
||||
? (navbarRootDropdown.expand = false)
|
||||
: (navbarRootDropdown.expand = true)
|
||||
"
|
||||
>
|
||||
<a
|
||||
class="nav-link dropdown-toggle"
|
||||
data-toggle="dropdown"
|
||||
aria-haspopup="true"
|
||||
aria-expanded="false"
|
||||
href="javascript:void(0)"
|
||||
>
|
||||
<i *ngIf="route.iconClass" [ngClass]="route.iconClass"></i>
|
||||
{{ route.name | abpLocalization }}
|
||||
</a>
|
||||
<div
|
||||
#routeContainer
|
||||
class="dropdown-menu border-0 shadow-sm"
|
||||
(click)="$event.preventDefault(); $event.stopPropagation()"
|
||||
[class.d-block]="smallScreen && navbarRootDropdown.expand"
|
||||
>
|
||||
<ng-template
|
||||
#forTemplate
|
||||
ngFor
|
||||
[ngForOf]="route.children"
|
||||
[ngForTrackBy]="trackByFn"
|
||||
[ngForTemplate]="childWrapper"
|
||||
></ng-template>
|
||||
</div>
|
||||
</li>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #childWrapper let-child>
|
||||
<ng-template
|
||||
[ngTemplateOutlet]="child?.children?.length ? dropdownChild : defaultChild"
|
||||
[ngTemplateOutletContext]="{ $implicit: child }"
|
||||
></ng-template>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #defaultChild let-child>
|
||||
<div class="dropdown-submenu" *abpPermission="child.requiredPolicy">
|
||||
<a class="dropdown-item" [routerLink]="[child.url]">
|
||||
<i *ngIf="child.iconClass" [ngClass]="child.iconClass"></i>
|
||||
{{ child.name | abpLocalization }}</a
|
||||
>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #dropdownChild let-child>
|
||||
<div
|
||||
[abpVisibility]="childrenContainer"
|
||||
class="dropdown-submenu"
|
||||
ngbDropdown
|
||||
#dropdownSubmenu="ngbDropdown"
|
||||
[display]="isDropdownChildDynamic ? 'dynamic' : 'static'"
|
||||
placement="right-top"
|
||||
[autoClose]="true"
|
||||
*abpPermission="child.requiredPolicy"
|
||||
(openChange)="openChange($event, childrenContainer)"
|
||||
>
|
||||
<div ngbDropdownToggle [class.dropdown-toggle]="false">
|
||||
<a
|
||||
abpEllipsis="210px"
|
||||
[abpEllipsisEnabled]="isDropdownChildDynamic"
|
||||
role="button"
|
||||
class="btn d-block text-left dropdown-toggle"
|
||||
>
|
||||
<i *ngIf="child.iconClass" [ngClass]="child.iconClass"></i>
|
||||
{{ child.name | abpLocalization }}
|
||||
</a>
|
||||
</div>
|
||||
<div
|
||||
#childrenContainer
|
||||
class="dropdown-menu border-0 shadow-sm"
|
||||
[class.d-block]="smallScreen && dropdownSubmenu.isOpen()"
|
||||
>
|
||||
<ng-template
|
||||
ngFor
|
||||
[ngForOf]="child.children"
|
||||
[ngForTrackBy]="trackByFn"
|
||||
[ngForTemplate]="childWrapper"
|
||||
></ng-template>
|
||||
</div>
|
||||
</div>
|
||||
</ng-template>
|
||||
</ul>
|
||||
@ -0,0 +1,51 @@
|
||||
import { Component, OnInit, TrackByFunction, Input, Renderer2 } from '@angular/core';
|
||||
import { Observable } from 'rxjs';
|
||||
import { ABP, ConfigState } from '@abp/ng.core';
|
||||
import { map } from 'rxjs/operators';
|
||||
import { Select } from '@ngxs/store';
|
||||
|
||||
@Component({
|
||||
selector: 'abp-routes',
|
||||
templateUrl: 'routes.component.html',
|
||||
})
|
||||
export class RoutesComponent {
|
||||
@Select(ConfigState.getOne('routes'))
|
||||
routes$: Observable<ABP.FullRoute[]>;
|
||||
|
||||
@Input()
|
||||
smallScreen: boolean;
|
||||
|
||||
@Input()
|
||||
isDropdownChildDynamic: boolean;
|
||||
|
||||
get visibleRoutes$(): Observable<ABP.FullRoute[]> {
|
||||
return this.routes$.pipe(map(routes => getVisibleRoutes(routes)));
|
||||
}
|
||||
|
||||
trackByFn: TrackByFunction<ABP.FullRoute> = (_, item) => item.name;
|
||||
|
||||
constructor(private renderer: Renderer2) {}
|
||||
|
||||
openChange(event: boolean, childrenContainer: HTMLDivElement) {
|
||||
if (!event) {
|
||||
Object.keys(childrenContainer.style)
|
||||
.filter(key => Number.isInteger(+key))
|
||||
.forEach(key => {
|
||||
this.renderer.removeStyle(childrenContainer, childrenContainer.style[key]);
|
||||
});
|
||||
this.renderer.removeStyle(childrenContainer, 'left');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getVisibleRoutes(routes: ABP.FullRoute[]) {
|
||||
return routes.reduce((acc, val) => {
|
||||
if (val.invisible) return acc;
|
||||
|
||||
if (val.children && val.children.length) {
|
||||
val.children = getVisibleRoutes(val.children);
|
||||
}
|
||||
|
||||
return [...acc, val];
|
||||
}, []);
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue