Übersetzungen in Front und Backend aufräumen #232 #237

Merged
edraft merged 5 commits from #232 into 1.0.0 2023-03-05 21:47:39 +01:00
21 changed files with 1064 additions and 985 deletions

View File

@ -1,51 +1,27 @@
{
"api": {
"api": {
"test_mail": {
"message": "Dies ist eine Test-Mail vom Krümelmonster Web Interface\nGesendet von {}-{}",
"subject": "Krümelmonster Web Interface Test-Mail"
}
},
"auth": {
"confirmation": {
"message": "Öffne den Link, um die E-Mail zu bestätigen:\n{}auth/register/{}",

Kommata fehlt zwischen "Link" und "um"
Hier zum kopieren:

"message": "Öffne den Link, um die E-Mail zu bestätigen:\n{}auth/register/{}",
Kommata fehlt zwischen "Link" und "um" Hier zum kopieren: ```json "message": "Öffne den Link, um die E-Mail zu bestätigen:\n{}auth/register/{}", ```
"subject": "E-Mail für {} {} bestätigen"
},
"forgot_password": {
"message": "Öffne den Link, um das Passwort zu ändern:\n{}auth/forgot-password/{}",

Auch hier fehlt ein Kommata zwischen "Link" und "um".
Hier zum Kopieren:

"message": "Öffne den Link um das Passwort zu ändern:\n{}auth/forgot-password/{}",
Auch hier fehlt ein Kommata zwischen "Link" und "um". Hier zum Kopieren: ```json "message": "Öffne den Link um das Passwort zu ändern:\n{}auth/forgot-password/{}", ```
"subject": "Passwort für {} {} zurücksetzen"
}
},
"mail": {
"automatic_mail": "\n\nDies ist eine automatische E-Mail.\nGesendet von {}-{}@{}"
}
},
"common": {
"hello_world": "Hallo Welt",
"bot_has_no_permission_message": "Ey!!!\nWas soll das?\nIch habe keine Berechtigungen :(\nScheiß System...",
"no_permission_message": "Nein!\nIch höre nicht auf dich ¯\\_(ツ)_/¯",
"not_implemented_yet": "Ey Alter, das kann ich noch nicht...",
"presence": {
"booting": "{} Ich fahre gerade hoch...",
"running": "{} Ich esse Kekse :D",
"restart": "{} Muss neue Kekse holen...",
"shutdown": "{} Ich werde bestimmt wieder kommen..."
},
"errors": {
"error": "Es gab einen Fehler. Meld dich bitte bei einem Admin.",
"command_error": "Es gab einen Fehler beim bearbeiten des Befehls. Meld dich bitte bei einem Admin.",
"missing_required_argument": "Fehler: Ein benötigter Parameter fehlt!",
"argument_parsing_error": "Fehler: Parameter konnte nicht gelesen werden!",
"unexpected_quote_error": "Fehler: Unerwarteter Zitat Fehler!",
"invalid_end_of_quoted_string_error": "Fehler: Ungültiges Zitatende!",
"expected_closing_quote_error": "Fehler: Erwarte Zitatende!",
"bad_argument": "Fehler: Ungültiger Parameter!",
"bad_union_argument": "Fehler: Ungültiger Union Parameter!",
"private_message_only": "Fehler: Nur private Nachrichten sind erlaubt!",
"no_private_message": "Fehler: Private Nachrichten sind nicht erlaubt!",
"check_failure": "Fehler: Du hast nicht die benötigte Berechtigung!",
"check_any_failure": "Fehler: Alle checks sind Fehlgeschlagen!",
"command_not_found": "Fehler: Befehl konnte nicht gefunden werden!",
"disabled_command": "Fehler: Befehl wurde deaktiviert!",
"command_invoke_error": "Fehler: Befehl konnte nicht aufgerufen werden!",
"too_many_arguments": "Fehler: Zu viele Parameter!",
"user_input_error": "Fehler: Eingabefehler!",
"command_on_cooldown": "Fehler: Befehl befindet sich im cooldown!",
"max_concurrency_reached": "Fehler: Maximale Parallelität erreicht!",
"not_owner": "Fehler: Du bist nicht mein besitzer!",
"missing_permissions": "Fehler: Berechtigungen fehlen!",
"bot_missing_permissions": "Fehler: Mir fehlen Berechtigungen!",
"missing_role": "Fehler: Benötigte Rolle fehlt!",
"bot_missing_role": "Fehler: Mir fehlt eine benötigte Rolle!",
"missing_any_role": "Fehler: Alle benötigten Rollen fehlen!",
"bot_missing_any_role": "Fehler: Mir fehlen alle benötigten Rollen!",
"nsfw_channel_required": "Fehler: NSFW Kanal benötigt!",
"extension_error": "Fehler: Erweiterungsfehler!",
"extension_already_loaded": "Fehler: Erweiterung wurde bereits geladen!",
"extension_not_loaded": "Fehler: Erweiterung wurde nicht geladen!",
"no_entry_point_error": "Fehler: Kein Eintrittspunkt!",
"extension_failed": "Fehler: Erweiterung ist fehlgeschlagen!",
"bot_not_ready_yet": "Ey Alter! Gedulde dich doch mal! ..."
},
"colors": {
"blue": "Blau",
"dark_blue": "Dunkelblau",
@ -69,257 +45,279 @@
"red": "Rot",
"teal": "Blaugrün",
"yellow": "Gelb"
},
"errors": {
"argument_parsing_error": "Fehler: Parameter konnte nicht gelesen werden!",
"bad_argument": "Fehler: Ungültiger Parameter!",
"bad_union_argument": "Fehler: Ungültiger Union Parameter!",
"bot_missing_any_role": "Fehler: Mir fehlen alle benötigten Rollen!",
"bot_missing_permissions": "Fehler: Mir fehlen Berechtigungen!",
edraft marked this conversation as resolved
Review

Wie wäre es mit:

"bot_missing_permissions": "Fehler: Mir fehlen die Berechtigungen!",

?

Wie wäre es mit: ```json "bot_missing_permissions": "Fehler: Mir fehlen die Berechtigungen!", ``` ?
"bot_missing_role": "Fehler: Mir fehlt eine benötigte Rolle!",
"bot_not_ready_yet": "Ey Alter! Gedulde dich doch mal! ...",
edraft marked this conversation as resolved
Review
"bot_not_ready_yet": "Ey Alter! Gedulde dich doch mal! ...",

Mir fällt hier ein, dass normale User es evtl. nicht verstehen, dass der Bot hier aktuell noch am initialisieren ist, was zu Missverständnisse führen könnte.

```json "bot_not_ready_yet": "Ey Alter! Gedulde dich doch mal! ...", ``` Mir fällt hier ein, dass normale User es evtl. nicht verstehen, dass der Bot hier aktuell noch am initialisieren ist, was zu Missverständnisse führen könnte.
Review

Stimmt schon aber es soll auch das "grimmige lass mich in ruhe rüber kommen"
Der Fall, dass ein user das tatsächlich mal bekommt ist zudem übelst gering

Stimmt schon aber es soll auch das "grimmige lass mich in ruhe rüber kommen" Der Fall, dass ein user das tatsächlich mal bekommt ist zudem übelst gering
"check_any_failure": "Fehler: Alle Checks sind Fehlgeschlagen!",

"Checks" ist ein Nomen.
Hier zum Kopieren:

"check_any_failure": "Fehler: Alle checks sind Fehlgeschlagen!",
"Checks" ist ein Nomen. Hier zum Kopieren: ```json "check_any_failure": "Fehler: Alle checks sind Fehlgeschlagen!", ```
"check_failure": "Fehler: Du hast nicht die benötigte Berechtigung!",
"command_error": "Es gab einen Fehler beim Bearbeiten des Befehls. Melde dich bitte bei einem Admin.",

"Bearbeiten" wäre in dem Fall ein Nomen und "Melde" ausgeschrieben.
Hier zum Kopieren:

"command_error": "Es gab einen Fehler beim Bearbeiten des Befehls. Melde dich bitte bei einem Admin.",
"Bearbeiten" wäre in dem Fall ein Nomen und "Melde" ausgeschrieben. Hier zum Kopieren: ```json "command_error": "Es gab einen Fehler beim Bearbeiten des Befehls. Melde dich bitte bei einem Admin.", ```
"command_invoke_error": "Fehler: Befehl konnte nicht aufgerufen werden!",
"command_not_found": "Fehler: Befehl konnte nicht gefunden werden!",
"command_on_cooldown": "Fehler: Befehl befindet sich im Cooldown!",

"Cooldown" ist ein Nomen.
Hier zum Kopieren:

"command_on_cooldown": "Fehler: Befehl befindet sich im Cooldown!",
"Cooldown" ist ein Nomen. Hier zum Kopieren: ```json "command_on_cooldown": "Fehler: Befehl befindet sich im Cooldown!", ```
"disabled_command": "Fehler: Befehl wurde deaktiviert!",
"error": "Es gab einen Fehler. Melde dich bitte bei einem Admin.",

"Melde" ausgeschrieben
Hier zum Kopieren:

"error": "Es gab einen Fehler. Melde dich bitte bei einem Admin.",
"Melde" ausgeschrieben Hier zum Kopieren: ```json "error": "Es gab einen Fehler. Melde dich bitte bei einem Admin.", ```
"expected_closing_quote_error": "Fehler: Erwarte Zitatende!",
"extension_already_loaded": "Fehler: Erweiterung wurde bereits geladen!",
"extension_error": "Fehler: Erweiterungsfehler!",
"extension_failed": "Fehler: Erweiterung ist fehlgeschlagen!",
"extension_not_loaded": "Fehler: Erweiterung wurde nicht geladen!",
"invalid_end_of_quoted_string_error": "Fehler: Ungültiges Zitatende!",
"max_concurrency_reached": "Fehler: Maximale Parallelität erreicht!",
"missing_any_role": "Fehler: Alle benötigten Rollen fehlen!",
"missing_permissions": "Fehler: Berechtigungen fehlen!",
"missing_required_argument": "Fehler: Ein benötigter Parameter fehlt!",
"missing_role": "Fehler: Benötigte Rolle fehlt!",
"no_entry_point_error": "Fehler: Kein Eintrittspunkt!",
"no_private_message": "Fehler: Private Nachrichten sind nicht erlaubt!",
"not_owner": "Fehler: Du bist nicht mein besitzer!",
"nsfw_channel_required": "Fehler: NSFW Kanal benötigt!",
edraft marked this conversation as resolved
Review

Ich würde "NSFW" und "Kanal" mit einem Bindestrich verbinden.
Hier zum Kopieren:

"nsfw_channel_required": "Fehler: NSFW-Kanal benötigt!",
Ich würde "NSFW" und "Kanal" mit einem Bindestrich verbinden. Hier zum Kopieren: ```json "nsfw_channel_required": "Fehler: NSFW-Kanal benötigt!", ```
"private_message_only": "Fehler: Nur private Nachrichten sind erlaubt!",
"too_many_arguments": "Fehler: Zu viele Parameter!",
"unexpected_quote_error": "Fehler: Unerwarteter Fehler beim Anführungszeichen!",
edraft marked this conversation as resolved Outdated

Zitatfehler sollte ein Wort sein.
Hier zum Kopieren:

"unexpected_quote_error": "Fehler: Unerwarteter Zitatfehler!",
Zitatfehler sollte ein Wort sein. Hier zum Kopieren: ```json "unexpected_quote_error": "Fehler: Unerwarteter Zitatfehler!", ```
"user_input_error": "Fehler: Eingabefehler!"
},
"hello_world": "Hallo Welt",
edraft marked this conversation as resolved
Review

JETZ MAL GANZ EHRLICH, WELCHER PROGRAMMIER ENDET "HELLO WORLD!" NICHT MIR EINEM AUSRUFEZEICHEN?!?!?!?!?!?!
DAS SOLLST DU REIN KOPIEREN:

"hello_world": "Hallo Welt!",
JETZ MAL GANZ EHRLICH, WELCHER PROGRAMMIER ENDET "HELLO WORLD!" NICHT MIR EINEM AUSRUFEZEICHEN?!?!?!?!?!?! DAS SOLLST DU REIN KOPIEREN: ```json "hello_world": "Hallo Welt!", ```
"no_permission_message": "Nein!\nIch höre nicht auf dich ¯\\_(ツ)_/¯",
"not_implemented_yet": "Ey Alter, das kann ich noch nicht...",
"presence": {
"booting": "{} Ich fahre gerade hoch...",
"restart": "{} Muss neue Kekse holen...",
"running": "{} Ich esse Kekse :D",
"shutdown": "{} Ich werde bestimmt wieder kommen..."
}
},
"modules": {
"auto_role": {
"list": {
"title": "Beobachtete Nachrichten:",
"description": "Von auto-role beobachtete Nachrichten:",
"auto_role_id": "auto-role Id",
"message_id": "Nachricht-Id"
},
"add": {
"success": "auto-role für die Nachricht {} wurde hinzugefügt :D",
"error": {
"not_found": "Nachricht {} in {} nicht gefunden!",
"already_exists": "auto-role für die Nachricht {} existiert bereits!"
}
},
"remove": {
"success": "auto-role {} wurde entfernt :D",
"error": {
"not_found": "auto-role {} nicht gefunden!"
}
"already_exists": "auto-role für die Nachricht {} existiert bereits!",
"not_found": "Nachricht {} in {} nicht gefunden!"
},
"success": "auto-role für die Nachricht {} wurde hinzugefügt :D"
},
"error": {
"nothing_found": "Keine auto-role Einträge gefunden."
},
"list": {
"auto_role_id": "auto-role Id",
"description": "Von auto-role beobachtete Nachrichten:",
"message_id": "Nachricht-Id",
"title": "Beobachtete Nachrichten:"
},
"remove": {
"error": {
"not_found": "auto-role {} nicht gefunden!"
},
"success": "auto-role {} wurde entfernt :D"
},
"rule": {
"list": {
"title": "auto-role Regeln:",
"description": "Von auto-role angewendete Regeln:",
"auto_role_rule_id": "auto-role Regel Id",
"emoji": "Emoji",
"role": "Rolle"
},
"add": {
"success": "Regel {} -> {} für auto-role {} wurde hinzugefügt :D",
"error": {
"not_found": "Regel für auto-role {} nicht gefunden!",
"already_exists": "Regel für auto-role {} existiert bereits!",
"emoji_not_found": "Emoji {} für auto-role Regel {} nicht gefunden!",
"role_not_found": "Rolle {} für auto-role Regel {} nicht gefunden!",
"already_exists": "Regel für auto-role {} existiert bereits!"
}
},
"remove": {
"success": "Regel für auto-role {} wurde entfernt :D",
"error": {
"not_found": "Regel für auto-role {} nicht gefunden!"
}
"not_found": "Regel für auto-role {} nicht gefunden!",
"role_not_found": "Rolle {} für auto-role Regel {} nicht gefunden!"
},
"success": "Regel {} -> {} für auto-role {} wurde hinzugefügt :D"
},
"error": {
"id_not_found": "Kein auto-role Eintrag mit der Id gefunden!"
},
"list": {
"auto_role_rule_id": "auto-role Regel Id",
"description": "Von auto-role angewendete Regeln:",
"emoji": "Emoji",
"role": "Rolle",
"title": "auto-role Regeln:"
},
"remove": {
"error": {
"not_found": "Regel für auto-role {} nicht gefunden!"
},
"success": "Regel für auto-role {} wurde entfernt :D"
}
}
},
"moderator": {
"purge_message": "Na gut..., ich lösche alle Nachrichten wenns sein muss."
},
"base": {
"technician_error_message": "Es gab ein Fehler mit dem Event: {}\nDatum und Zeit: {}\nSchau bitte ins log für Details.\nUUID: {}",
"technician_command_error_message": "Es gab ein Fehler mit dem Befehl: {} ausgelöst von {} -> {}\nDatum und Zeit: {}\nSchau bitte ins log für Details.\nUUID: {}",
"welcome_message": "Hello There!\nIch heiße dich bei {} herzlichst Willkommen!",
"welcome_message_for_team": "{} hat gerade das Irrenhaus betreten.",
"goodbye_message": "Schade, dass du uns so schnell verlässt :(",
"afk_command_channel_missing_message": "Zu unfähig einem Sprachkanal beizutreten?",
"afk_command_move_message": "Ich verschiebe dich ja schon... (◔_◔)",
"member_joined_help_voice_channel": "{} braucht hilfe, bitte kümmer dich drum :D",
"pong": "Pong",
"goodbye_message": "Schade, dass du uns so schnell verlässt :(",
"info": {
"title": "Krümmelmonster",
"description": "Informationen über mich",
"fields": {
"version": "Version",
"ontime": "Ontime",
"sent_message_count": "Gesendete Nachrichten",
"received_message_count": "Empfangene Nachrichten",
"deleted_message_count": "Gelöschte Nachrichten",
"received_command_count": "Empfangene Befehle",
"modules": "Module",
"moved_users_count": "Verschobene Benutzer",
"modules": "Module"
"ontime": "Ontime",
"received_command_count": "Empfangene Befehle",
"received_message_count": "Empfangene Nachrichten",
"sent_message_count": "Gesendete Nachrichten",
"version": "Version"
},
"footer": ""
"footer": "",
"title": "Krümelmonster"
},
"mass_move": {
"moved": "Alle Personen aus {} wurden nach {} verschoben.",
"channel_from_error": "Du musst dich in einem Voicechannel befinden oder die Option \"channel_from\" mit angeben."
"channel_from_error": "Du musst dich in einem Voicechannel befinden oder die Option \"channel_from\" mit angeben.",
"moved": "Alle Personen aus {} wurden nach {} verschoben."
},
"member_joined_help_voice_channel": "{} braucht Hilfe, bitte kümmere dich drum :D",

"Hilfe" ist in dem Fall ein Nomen und "kümmer" wäre besser ausgeschrieben.
Hier zum Kopieren:

"member_joined_help_voice_channel": "{} braucht Hilfe, bitte kümmere dich drum :D",
"Hilfe" ist in dem Fall ein Nomen und "kümmer" wäre besser ausgeschrieben. Hier zum Kopieren: ```json "member_joined_help_voice_channel": "{} braucht Hilfe, bitte kümmere dich drum :D", ```
"pong": "Pong",
"presence": {
"changed": "Presence wurde geändert.",
"removed": "Presence wurde entfernt.",
"max_char_count_exceeded": "Der Text darf nicht mehr als 128 Zeichen lang sein!"
"max_char_count_exceeded": "Der Text darf nicht mehr als 128 Zeichen lang sein!",
"removed": "Presence wurde entfernt."
},
"register": {
"not_found": "Benutzer konnte nicht gefunden werden!",

Wie wäre es mit:

"not_found": "Benutzer wurde nicht gefunden!",

?

Wie wäre es mit: ```json "not_found": "Benutzer wurde nicht gefunden!", ``` ?

Benutzer konnte nicht gefunden werden!

Ganz oder gar nicht.
Also echt....

Benutzer konnte nicht gefunden werden! Ganz oder gar nicht. Also echt....
"success": "Spieler wurde mit dem Mitglied verlinkt :D"
},
"technician_command_error_message": "Es gab ein Fehler mit dem Befehl: {} ausgelöst von {} -> {}\nDatum und Zeit: {}\nSchau bitte ins Log für Details.\nUUID: {}",

"Log" ist ein Nomen
Hier zum Kopieren:

"technician_command_error_message": "Es gab ein Fehler mit dem Befehl: {} ausgelöst von {} -> {}\nDatum und Zeit: {}\nSchau bitte ins Log für Details.\nUUID: {}",
"Log" ist ein Nomen Hier zum Kopieren: ```json "technician_command_error_message": "Es gab ein Fehler mit dem Befehl: {} ausgelöst von {} -> {}\nDatum und Zeit: {}\nSchau bitte ins Log für Details.\nUUID: {}", ```
"technician_error_message": "Es gab ein Fehler mit dem Event: {}\nDatum und Zeit: {}\nSchau bitte ins Log für Details.\nUUID: {}",

Auch hier "Log" groß schreiben.
Hier zum Kopieren:

"technician_error_message": "Es gab ein Fehler mit dem Event: {}\nDatum und Zeit: {}\nSchau bitte ins Log für Details.\nUUID: {}",
Auch hier "Log" groß schreiben. Hier zum Kopieren: ```json "technician_error_message": "Es gab ein Fehler mit dem Event: {}\nDatum und Zeit: {}\nSchau bitte ins Log für Details.\nUUID: {}", ```
"unregister": {
"success": "Verlinkung wurde entfernt :D"
},
"user": {
"add": {
"xp": "Die {} von {} wurden um {} erhöht"
},
"atr": {
"id": "Id",
"name": "Name",
"discord_join": "Discord beigetreten am",
"id": "Id",
"joins": "Beitritte",
"last_join": "Server beigetreten am",
"xp": "XP",
"lefts": "Abgänge",
"name": "Name",
"ontime": "Ontime",
"roles": "Rollen",
"joins": "Beitritte",
"lefts": "Abgänge",
"warnings": "Verwarnungen"
"warnings": "Verwarnungen",
"xp": "XP"
},
"error": {
"atr_not_found": "Das Attribut {} konnte nicht gefunden werden :("
},
"get": {
"ontime": "{} war insgesamt {} Stunden aktiv in einem Sprachkanal",
"xp": "{} hat {} xp"
},
"info": {
"footer": ""
},
"get": {
"xp": "{} hat {} xp",
"ontime": "{} war insgesamt {} Stunden aktiv in einem Sprachkanal"
},
"set": {
"xp": "{} hat nun {} xp",
"error": {
"value_type_not_numeric": "Der angegebende Wert ist keine Ganzzahl! :(",
"type_error": "Der angegebene Wert ist keine Zahl! :("
}
},
"add": {
"xp": "Die {} von {} wurden um {} erhöht"
},
"remove": {
"xp": "Die {} von {} wurden um {} verringert"
},
"reset": {
"xp": "Die {} von {} wurden entfernt",
"ontime": "Die {} von {} wurden entfernt"
"ontime": "Die {} von {} wurden entfernt",
"xp": "Die {} von {} wurden entfernt"
},
"error": {
"atr_not_found": "Das Attribut {} konnte nicht gefunden werden :("
"set": {
"error": {
"type_error": "Der angegebene Wert ist keine Zahl! :(",
edraft marked this conversation as resolved
Review

Eigentlich kann die Fehlermeldung

"type_error": "Der angegebene Wert ist keine Zahl! :(",

entfernt werden und im Code stattdessen auf

"value_type_not_numeric": "Der angegebende Wert ist keine Ganzzahl! :("

zeigen.

Wäre aber eine Sache für den nächsten sprint.

Eigentlich kann die Fehlermeldung ```json "type_error": "Der angegebene Wert ist keine Zahl! :(", ``` entfernt werden und im Code stattdessen auf ```json "value_type_not_numeric": "Der angegebende Wert ist keine Ganzzahl! :(" ``` zeigen. Wäre aber eine Sache für den nächsten sprint.
"value_type_not_numeric": "Der angegebende Wert ist keine Ganzzahl! :("
},
"xp": "{} hat nun {} xp"
}
},
"register": {
"success": "Spieler wurde mit dem Mitglied verlinkt :D",
"not_found": "Benutzer nicht gefunden!"
},
"unregister": {
"success": "Verlinkung wurde entfernt :D"
},
"warnings": {
"warned": "Du wurdest verwarnt. Der Grund ist: {}",
"team_warned": "{} wurde verwarnt. Der Grund ist: {}",
"removed": "Die Verwarnung '{}' wurde entfernt.",
"team_removed": "Die Verwarnung '{}' an {} wurde entfernt.",
"first": "Bei der nächsten verwarnung, wirst du auf das vorherige Level zurückgesetzt!",
"second": "Bei der nächsten verwarnung, wirst du auf das erste Level zurückgesetzt!",
"third": "Bei der nächsten verwarnung, wirst du gekickt und zurückgesetzt!",
"kick": "Ich musste {} aufgrund zu vieler Verwarnungen kicken",
"show": {
"id": "Id",
"description": "Beschreibung"
},
"add": {
"success": "Verwarnung wurde hinzugefügt :)",
"failed": "Verwarnung konnte nicht hinzugefügt werden :("
"failed": "Verwarnung konnte nicht hinzugefügt werden :(",
"success": "Verwarnung wurde hinzugefügt :)"
},
"first": "Bei der nächsten Verwarnung wirst du auf das vorherige Level zurückgesetzt!",

"Verwarnung" groß und Kommata weg.
Hier zum Kopieren:

"first": "Bei der nächsten Verwarnung wirst du auf das vorherige Level zurückgesetzt!",
"Verwarnung" groß und Kommata weg. Hier zum Kopieren: ```json "first": "Bei der nächsten Verwarnung wirst du auf das vorherige Level zurückgesetzt!", ```
"kick": "Ich musste {} aufgrund zu vieler Verwarnungen kicken",
"remove": {
"success": "Verwarnung wurde entfernt :)",
"failed": "Verwarnung konnte nicht entfernt werden :("
}
}
"failed": "Verwarnung konnte nicht entfernt werden :(",
"success": "Verwarnung wurde entfernt :)"
},
"removed": "Die Verwarnung '{}' wurde entfernt.",
"second": "Bei der nächsten verwarnung wirst du auf das erste Level zurückgesetzt!",

"Verwarnung" groß und Kommata weg.
Hier zum Kopieren:

"second": "Bei der nächsten Verwarnung wirst du auf das erste Level zurückgesetzt!",
"Verwarnung" groß und Kommata weg. Hier zum Kopieren: ```json "second": "Bei der nächsten Verwarnung wirst du auf das erste Level zurückgesetzt!", ```
"show": {
"description": "Beschreibung",
"id": "Id"
},
"team_removed": "Die Verwarnung '{}' an {} wurde entfernt.",
"team_warned": "{} wurde verwarnt. Der Grund ist: {}",
"third": "Bei der nächsten verwarnung wirst du gekickt und zurückgesetzt!",

"Verwarnung" groß und Kommata weg.
Hier zum Kopieren:

"third": "Bei der nächsten Verwarnung wirst du gekickt und zurückgesetzt!",
"Verwarnung" groß und Kommata weg. Hier zum Kopieren: ```json "third": "Bei der nächsten Verwarnung wirst du gekickt und zurückgesetzt!", ```
"warned": "Du wurdest verwarnt. Der Grund ist: {}"
},
"welcome_message": "Hello There!\nIch heiße dich bei {} herzlichst Willkommen!",
"welcome_message_for_team": "{} hat gerade das Irrenhaus betreten."
edraft marked this conversation as resolved
Review

Hier wäre es eigentlich praktisch, wenn der Servername mit ausgegeben wird. Sollte der Bot auf mehreren Discordservern laufen, kann ein Moderator unterscheiden, welcher Server dies betrifft.

Wäre auch etwas für einen zukünftigen Sprint.

Hier wäre es eigentlich praktisch, wenn der Servername mit ausgegeben wird. Sollte der Bot auf mehreren Discordservern laufen, kann ein Moderator unterscheiden, welcher Server dies betrifft. Wäre auch etwas für einen zukünftigen Sprint.
Review

bitte ticket anlegen

bitte ticket anlegen
},
"boot_log": {
"login_message": "Ich bin on the line :D\nDer Scheiß hat {} Sekunden gedauert"
},
"level": {
"new_level_message": "{} ist nun Level {}",
"seeding_started": "Levelsystem wird neu geladen...",
"seeding_failed": "Levelsystem konnte nicht neu geladen werden :(",
"seeding_finished": "Levelsystem wurde Erfolgreich neu geladen :)",
"error": {
"nothing_found": "Keine Level Einträge gefunden.",
"level_with_name_already_exists": "Ein Level mit dem Namen {} existiert bereits!",
"level_with_xp_already_exists": "Das Level {} hat bereits die Mindest-XP {}!"
},
"list": {
"title": "Level:",
"description": "Konfigurierte Level:",
"name": "Name",
"min_xp": "Mindest-XP",
"permission_int": "Berechtigungen"
},
"create": {
"created": "Level {} mit Berechtigungen {} wurde erstellt :D"
},
"edit": {
"edited": "Level {} wurde bearbeitet :D",
"color_invalid": "Die Farbe {} ist ungültig!",
"permission_invalid": "Der Berechtigungswert {} ist ungültig!",
"not_found": "Level {} nicht gefunden!"
},
"remove": {
"success": "Level {} wurde entfernt :D",
"error": {
"not_found": "Level {} nicht gefunden!"
}
},
"down": {
"already_first": "{} hat bereits das erste Level.",
"success": "{} wurde auf Level {} runtergesetzt :)",
"failed": "{} konnte nicht runtergesetzt werden :("
"failed": "{} konnte nicht runtergesetzt werden :(",
"success": "{} wurde auf Level {} runtergesetzt :)"
},
"edit": {
"color_invalid": "Die Farbe {} ist ungültig!",
"edited": "Level {} wurde bearbeitet :D",
"not_found": "Level {} nicht gefunden!",
"permission_invalid": "Der Berechtigungswert {} ist ungültig!"
},
"error": {
"level_with_name_already_exists": "Ein Level mit dem Namen {} existiert bereits!",
"level_with_xp_already_exists": "Das Level {} hat bereits die Mindest-XP {}!",
"nothing_found": "Keine Einträge gefunden."

"Leveleinträge" wäre in dem Fall ein Wort.
Hier zum Kopieren:

"nothing_found": "Keine Leveleinträge gefunden."
"Leveleinträge" wäre in dem Fall ein Wort. Hier zum Kopieren: ```json "nothing_found": "Keine Leveleinträge gefunden." ```
},
"list": {
"description": "Konfigurierte Level:",
"min_xp": "Mindest-XP",
"name": "Name",
"permission_int": "Berechtigungen",
"title": "Level:"
},
"new_level_message": "{} ist nun Level {}",
"remove": {
"error": {
"not_found": "Level {} nicht gefunden!"
},
"success": "Level {} wurde entfernt :D"
},
"seeding_failed": "Levelsystem konnte nicht neu geladen werden :(",
"seeding_finished": "Levelsystem wurde erfolgreich neu geladen :)",

"erfolgreich" wäre in dem fall Adjektiv.
Hier zum Kopieren:

"seeding_finished": "Levelsystem wurde erfolgreich neu geladen :)",
"erfolgreich" wäre in dem fall Adjektiv. Hier zum Kopieren: ```json "seeding_finished": "Levelsystem wurde erfolgreich neu geladen :)", ```
"seeding_started": "Levelsystem wird neu geladen...",
"set": {
"already_level": "{} hat bereits das Level {} :/",
"failed": "Das Level von {} konnte nicht auf {} gesetzt werden :(",
"not_found": "Das Level {} konnte nicht gefunden werden :(",
"success": "{} ist nun Level {} :)"
},
"up": {
"already_last": "{} hat bereits das höchste Level.",
"success": "{} wurde auf Level {} hochgesetzt :)",
"failed": "{} konnte nicht hochgesetzt werden :("
},
"set": {
"already_level": "{} hat bereits das Level {} :/",
"success": "{} ist nun Level {} :)",
"failed": "Das Level von {} konnte nicht auf {} gesetzt werden :(",
"not_found": "Das Level {} konnte nicht gefunden werden :("
"failed": "{} konnte nicht hochgesetzt werden :(",
"success": "{} wurde auf Level {} hochgesetzt :)"
}
},
"database": {},
"permission": {},
"moderator": {
"purge_message": "Na gut..., ich lösche alle Nachrichten wenns sein muss."
edraft marked this conversation as resolved
Review

"wenns" setzt sich aus "wenn" und "es" zusammen. Deswegen mit einem einfachen Anführungszeichen kürzen "wenn's".
Hier zum Kopieren:

"purge_message": "Na gut..., ich lösche alle Nachrichten wenn's sein muss."

Sollte das Zeichen Probleme bereiten, dann entsprechen escapen oder:

"purge_message": "Na gut..., ich lösche alle Nachrichten wenn es sein muss."
"wenns" setzt sich aus "wenn" und "es" zusammen. Deswegen mit einem einfachen Anführungszeichen kürzen "wenn's". Hier zum Kopieren: ```json "purge_message": "Na gut..., ich lösche alle Nachrichten wenn's sein muss." ``` Sollte das Zeichen Probleme bereiten, dann entsprechen escapen oder: ```json "purge_message": "Na gut..., ich lösche alle Nachrichten wenn es sein muss." ```
},
"technician": {
"restart_message": "Bin gleich wieder da :D",
"shutdown_message": "Trauert nicht um mich, es war eine logische Entscheidung. Das Wohl von Vielen, es wiegt schwerer als das Wohl von Wenigen oder eines Einzelnen. Ich war es und ich werde es immer sein, Euer Freund. Lebt lange und in Frieden :)",
"log_message": "Hier sind deine Logdateien! :)",
"api_key": {
"get": "API-Schlüssel für {}: {}",
"add": {
"success": "API-Schlüssel für {} wurde erstellt: {}"
},
"get": "API-Schlüssel für {}: {}",
"remove": {
"not_found": "API-Schlüssel konnte nicht gefunden werden!",
"success": "API-Schlüssel wurde entfernt :D"
}
}
}
},
"api": {
"mail": {
"automatic_mail": "\n\nDies ist eine automatische E-Mail.\nGesendet von {}-{}@{}"
},
"api": {
"test_mail": {
"subject": "Krümmelmonster Web Interface Test-Mail",
"message": "Dies ist eine Test-Mail vom Krümmelmonster Web Interface\nGesendet von {}-{}"
}
},
"auth": {
"confirmation": {
"subject": "E-Mail für {} {} bestätigen",
"message": "Öffne den Link um die E-Mail zu bestätigen:\n{}auth/register/{}"
},
"forgot_password": {
"subject": "Passwort für {} {} zurücksetzen",
"message": "Öffne den Link um das Passwort zu ändern:\n{}auth/forgot-password/{}"
}
"log_message": "Hier sind deine Logdateien! :)",
"restart_message": "Bin gleich wieder da :D",
"shutdown_message": "Trauert nicht um mich, es war eine logische Entscheidung. Das Wohl von Vielen, es wiegt schwerer als das Wohl von Wenigen oder eines Einzelnen. Ich war es und ich werde es immer sein, euer Freund. Lebt lange und in Frieden :)"

"euer" in dem Fall klein.
Hier zum Kopieren:

"shutdown_message": "Trauert nicht um mich, es war eine logische Entscheidung. Das Wohl von Vielen, es wiegt schwerer als das Wohl von Wenigen oder eines Einzelnen. Ich war es und ich werde es immer sein, euer Freund. Lebt lange und in Frieden :)"
"euer" in dem Fall klein. Hier zum Kopieren: ```json "shutdown_message": "Trauert nicht um mich, es war eine logische Entscheidung. Das Wohl von Vielen, es wiegt schwerer als das Wohl von Wenigen oder eines Einzelnen. Ich war es und ich werde es immer sein, euer Freund. Lebt lange und in Frieden :)" ```
}
}
}

View File

@ -1,6 +1,6 @@
{
"name": "kdb-web",
"version": "1.0.dev220",
"version": "1.0.dev232",
"scripts": {
"ng": "ng",
"update-version": "ts-node-esm update-version.ts",

View File

@ -33,7 +33,6 @@ export class FooterComponent implements OnInit {
}))
.subscribe(version => {
this.spinnerService.hideSpinner();
console.log('V', version)
this.backendVersion = new SoftwareVersion(
version.major,
version.minor,

View File

@ -10,17 +10,17 @@
<ng-template pTemplate="caption">
<div class="table-caption">
<div class="table-caption-text">
<ng-container *ngIf="!loading">{{users.length}} {{'admin.auth_users.of' | translate}}
<ng-container *ngIf="!loading">{{users.length}} {{'common.of' | translate}}
{{dt.totalRecords}}
</ng-container>
{{'admin.auth_users.users' | translate}}
</div>
<div class="table-caption-btn-wrapper btn-wrapper">
<button pButton label="{{'admin.auth_users.add' | translate}}" class="icon-btn btn"
<button pButton label="{{'common.add' | translate}}" class="icon-btn btn"
icon="pi pi-user-plus" (click)="addUser(dt)" [disabled]="isEditingNew">
</button>
<button pButton label="{{'admin.auth_users.reset_filters' | translate}}" icon="pi pi-undo"
<button pButton label="{{'common.reset_filters' | translate}}" icon="pi pi-undo"
class="icon-btn btn" (click)="resetFilters()">
</button>
</div>
@ -45,7 +45,7 @@
<th pSortableColumn="email">
<div class="table-header-label">
<div class="table-header-text">{{'admin.auth_users.headers.e_mail' | translate}}</div>
<div class="table-header-text">{{'common.email' | translate}}</div>
<p-sortIcon field="email" class="table-header-icon"></p-sortIcon>
</div>
</th>
@ -84,7 +84,7 @@
<th class="table-header-actions">
<div class="table-header-label">
<div class="table-header-text">{{'admin.auth_users.headers.actions' | translate}}</div>
<div class="table-header-text">{{'common.actions' | translate}}</div>
</div>
</th>
</tr>
@ -101,7 +101,7 @@
</th>
<th>
<form [formGroup]="filterForm">
<input type="email" pInputText formControlName="email" placeholder="{{'admin.auth_users.headers.e_mail' | translate}}">
<input type="email" pInputText formControlName="email" placeholder="{{'common.email' | translate}}">
</form>
</th>
<th></th>
@ -224,7 +224,7 @@
<ng-template pTemplate="emptymessage">
<tr>
<td colspan="9">{{'admin.auth_users.no_entries_found' | translate}}</td>
<td colspan="9">{{'common.no_entries_found' | translate}}</td>
</tr>
</ng-template>

View File

@ -65,42 +65,42 @@
<div class="content-wrapper">
<div class="content-header">
<h2>
{{'admin.settings.e_mail.header' | translate}}
{{'admin.settings.email.header' | translate}}
</h2>
</div>
<div class="content">
<div class="content-row">
<div class="content-column">
<div class="content-data-name">{{'admin.settings.e_mail.user' | translate}}:</div>
<div class="content-data-name">{{'admin.settings.email.user' | translate}}:</div>
<div class="content-data-value">{{data.mailUser}}</div>
</div>
</div>
<div class="content-row">
<div class="content-column">
<div class="content-data-name">{{'admin.settings.e_mail.host' | translate}}:</div>
<div class="content-data-name">{{'admin.settings.email.host' | translate}}:</div>
<div class="content-data-value">{{data.mailHost}}</div>
</div>
</div>
<div class="content-row">
<div class="content-column">
<div class="content-data-name">{{'admin.settings.e_mail.port' | translate}}:</div>
<div class="content-data-name">{{'admin.settings.email.port' | translate}}:</div>
<div class="content-data-value">{{data.mailPort}}</div>
</div>
</div>
<div class="content-row">
<div class="content-column">
<div class="content-data-name">{{'admin.settings.e_mail.transceiver' | translate}}:</div>
<div class="content-data-name">{{'admin.settings.email.transceiver' | translate}}:</div>
<div class="content-data-value">{{data.mailTransceiver}}</div>
</div>
</div>
<div class="content-row">
<div class="content-column">
<div class="content-data-name">{{'admin.settings.e_mail.e_mail_address' | translate}}:</div>
<div class="content-data-name">{{'admin.settings.email.email_address' | translate}}:</div>
<div class="content-data-value">{{data.mailTransceiverAddress}}</div>
</div>
</div>
@ -109,17 +109,17 @@
<form [formGroup]="testMailForm" class="content-column">
<div class="content-data-name">
<div class="input-field content-input-field">
<input type="email" pInputText formControlName="mail" placeholder="{{'admin.settings.e_mail.e_mail' | translate}}" autocomplete="email">
<input type="email" pInputText formControlName="mail" placeholder="{{'common.email' | translate}}" autocomplete="email">
</div>
</div>
<div class="content-data-value">
<div class="login-form-submit">
<button pButton icon="pi pi-save" label="{{'admin.settings.e_mail.send_e_mail' | translate}}" class="btn login-form-submit-btn"
<button pButton icon="pi pi-save" label="{{'common.email' | translate}}" class="btn login-form-submit-btn"
(click)="testMail()" [disabled]="testMailForm.invalid"></button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>

View File

@ -6,7 +6,7 @@
<h1>{{'auth.header' | translate}}</h1>
<div *ngIf="!ready" class="input-field">
<input type="email" pInputText formControlName="email"
placeholder="{{'auth.forgot_password.e_mail' | translate}}" autocomplete="username email">
placeholder="{{'common.email' | translate}}" autocomplete="username email">
</div>
<div *ngIf="ready" class="input-field-info-text">
{{'auth.forgot_password.send_confirmation_url' | translate}}
@ -60,4 +60,4 @@
</div>
<app-auth-header></app-auth-header>
</section>
</section>

View File

@ -37,7 +37,6 @@ export class ForgetPasswordComponent implements OnInit {
) { }
ngOnInit(): void {
console.log('test');
this.spinnerService.showSpinner();
this.authService.isUserLoggedInAsync().then(result => {
if (result) {

View File

@ -4,7 +4,7 @@
<form [formGroup]="loginForm">
<h1>{{'auth.header' | translate}}</h1>
<div class="input-field">
<input type="email" pInputText formControlName="email" placeholder="{{'auth.login.e_mail' | translate}}" [ngClass]="{ 'invalid-feedback-input': submitted && (
<input type="email" pInputText formControlName="email" placeholder="{{'common.email' | translate}}" [ngClass]="{ 'invalid-feedback-input': submitted && (
(loginForm.controls.email.errors && loginForm.controls.email.errors['required'] || authUserAtrErrors.email.required) ||
(authUserAtrErrors.email.wrongData) ||
(authUserAtrErrors.email.notConfirmed)
@ -12,9 +12,9 @@
<div *ngIf="submitted" class="invalid-feedback">
<div
*ngIf="loginForm.controls.email.errors && loginForm.controls.email.errors['required'] || authUserAtrErrors.email.required">
{{'auth.login.e_mail_required' | translate}}</div>
{{'auth.login.email_required' | translate}}</div>
<div *ngIf="authUserAtrErrors.email.wrongData">{{'auth.login.user_not_found' | translate}}</div>
<div *ngIf="authUserAtrErrors.email.notConfirmed">{{'auth.login.e_mail_not_confirmed' | translate}}</div>
<div *ngIf="authUserAtrErrors.email.notConfirmed">{{'auth.login.email_not_confirmed' | translate}}</div>
</div>
</div>
<div class="input-field">
@ -24,10 +24,10 @@
styleClass="p-password p-component p-inputwrapper p-input-icon-right"
Remove after update!
-->
<p-password type="password" formControlName="password" placeholder="{{'auth.login.password' | translate}}" [ngClass]="{ 'invalid-feedback-input': submitted && (
<p-password formControlName="password" placeholder="{{'auth.login.password' | translate}}" [ngClass]="{ 'invalid-feedback-input': submitted && (
(loginForm.controls.password.errors && loginForm.controls.password.errors['required'] || authUserAtrErrors.password.required) ||
(authUserAtrErrors.password.wrongData)
)}" autocomplete="current-password" [toggleMask]="true" [feedback]="false"
)}" [toggleMask]="true" [feedback]="false"
styleClass="p-password p-component p-inputwrapper p-input-icon-right"
></p-password>
<div *ngIf="submitted" class="invalid-feedback">

View File

@ -83,7 +83,6 @@ export class LoginComponent implements OnInit {
return throwError(() => err);
})).subscribe(token => {
if (token.firstLogin) {
console.log(1, this.authService.getEMailFromDecodedToken(this.authService.getDecodedToken(token)))
this.confirmDialog.confirmDialog(
this.translate.instant(
"auth.login.message.confirm_email"),

View File

@ -26,29 +26,29 @@
</div>
<div class="input-field">
<input type="email" pInputText formControlName="email" placeholder="{{'auth.register.e_mail' | translate}}"
<input type="email" pInputText formControlName="email" placeholder="{{'common.email' | translate}}"
[ngClass]="{ 'invalid-feedback-input': submitted && (authUserAtrErrors.email.wrongData || loginForm.controls.email.errors && loginForm.controls.email.errors['required'] || authUserAtrErrors.email.required)}"
autocomplete="username email">
<div *ngIf="submitted" class="invalid-feedback">
<div
*ngIf="loginForm.controls.email.errors && loginForm.controls.email.errors['required'] || authUserAtrErrors.email.required">
{{'auth.register.e_mail_required' | translate}}</div>
{{'auth.register.email_required' | translate}}</div>
<div *ngIf="authUserAtrErrors.email.wrongData">{{'auth.register.user_already_exists' | translate}}</div>
</div>
</div>
<div class="input-field">
<input type="email" pInputText formControlName="emailRepeat" placeholder="{{'auth.register.repeat_e_mail' | translate}}"
<input type="email" pInputText formControlName="emailRepeat" placeholder="{{'common.email' | translate}}"
[ngClass]="{ 'invalid-feedback-input': submitted && repeatErrors.email}">
<div *ngIf="submitted" class="invalid-feedback">
<div *ngIf="repeatErrors.email">{{'auth.register.e_mails_not_match' | translate}}</div>
<div *ngIf="repeatErrors.email">{{'auth.register.emails_not_match' | translate}}</div>
</div>
</div>
<div class="input-field">
<p-password type="password" formControlName="password" placeholder="{{'auth.register.password' | translate}}"
ngClass="{ 'invalid-feedback': submitted && loginForm.controls.password.errors && loginForm.controls.password.errors['required'] || authUserAtrErrors.password.required}"
autocomplete="new-password" [toggleMask]="true" [feedback]="false"
<!--ngClass="{ 'invalid-feedback': submitted && loginForm.controls.password.errors && loginForm.controls.password.errors['required'] || authUserAtrErrors.password.required}"-->
<p-password formControlName="password" placeholder="{{'auth.register.password' | translate}}"
[toggleMask]="true" [feedback]="false"
styleClass="p-password p-component p-inputwrapper p-input-icon-right"></p-password>
<div *ngIf="submitted" class="invalid-feedback">
<div
@ -58,7 +58,7 @@
</div>
<div class="input-field">
<p-password type="password" formControlName="passwordRepeat" placeholder="{{'auth.register.repeat_password' | translate}}"
<p-password formControlName="passwordRepeat" placeholder="{{'auth.register.repeat_password' | translate}}"
[ngClass]="{ 'invalid-feedback-input': submitted && repeatErrors.password}" [toggleMask]="true"
[feedback]="false" styleClass="p-password p-component p-inputwrapper p-input-icon-right">
</p-password>

View File

@ -21,14 +21,14 @@
</div>
<div class="server-count">
{{servers.length}} {{'view.dashboard.of' | translate}} {{totalRecords}} {{'view.dashboard.servers' | translate}}:
{{servers.length}} {{'common.of' | translate}} {{totalRecords}} {{'view.dashboard.servers' | translate}}:
<hr>
</div>
<div class="server-list">
<div class="server" *ngFor="let server of servers" (click)="selectServer(server)">
<div class="logo">
<img *ngIf="server.iconURL" [src]="server.iconURL">
<img *ngIf="server.iconURL" [src]="server.iconURL" alt="">
edraft marked this conversation as resolved
Review

Kam hier das "alt" automatisch rein oder war hier was geplant?

Kam hier das "alt" automatisch rein oder war hier was geplant?
</div>
<div class="info">

View File

@ -10,17 +10,17 @@
<ng-template pTemplate="caption">
<div class="table-caption">
<div class="table-caption-text">
<ng-container *ngIf="!loading">{{rules.length}} {{'view.server.auto_roles.rules.of' | translate}}
<ng-container *ngIf="!loading">{{rules.length}} {{'common.of' | translate}}
{{dt.totalRecords}}
</ng-container>
{{'view.server.auto_roles.rules.auto_roles' | translate}}
</div>
<div class="table-caption-btn-wrapper btn-wrapper">
<button pButton label="{{'admin.auth_users.add' | translate}}" class="icon-btn btn"
<button pButton label="{{'common.add' | translate}}" class="icon-btn btn"
icon="pi pi-user-plus" (click)="addAutoRoleRule(dt)" [disabled]="isEditingNew">
</button>
<button pButton label="{{'view.server.auto_roles.rules.reset_filters' | translate}}" icon="pi pi-undo"
<button pButton label="{{'common.reset_filters' | translate}}" icon="pi pi-undo"
class="icon-btn btn" (click)="resetFilters()">
</button>
</div>
@ -31,7 +31,7 @@
<tr>
<th pSortableColumn="id">
<div class="table-header-label">
<div class="table-header-text">{{'view.server.auto_roles.rules.headers.id' | translate}}</div>
<div class="table-header-text">{{'common.id' | translate}}</div>
<p-sortIcon field="id" class="table-header-icon"></p-sortIcon>
</div>
</th>
@ -63,7 +63,7 @@
<th>
<div class="table-header-label">
<div class="table-header-text">{{'view.server.auto_roles.rules.headers.actions' | translate}}</div>
<div class="table-header-text">{{'common.actions' | translate}}</div>
</div>
</th>
</tr>
@ -71,7 +71,7 @@
<tr>
<th class="table-header-small">
<form [formGroup]="filterForm">
<input type="text" pInputText formControlName="id" placeholder="{{'view.server.auto_roles.rules.headers.id' | translate}}">
<input type="text" pInputText formControlName="id" placeholder="{{'common.id' | translate}}">
</form>
</th>
<th>
@ -176,7 +176,7 @@
<ng-template pTemplate="emptymessage">
<tr></tr>
<tr>
<td colspan="10">{{'view.server.auto_roles.rules.no_entries_found' | translate}}</td>
<td colspan="10">{{'common.no_entries_found' | translate}}</td>
</tr>
<tr></tr>
</ng-template>

View File

@ -10,17 +10,17 @@
<ng-template pTemplate="caption">
<div class="table-caption">
<div class="table-caption-text">
<ng-container *ngIf="!loading">{{auto_roles.length}} {{'view.server.auto_roles.of' | translate}}
<ng-container *ngIf="!loading">{{auto_roles.length}} {{'common.of' | translate}}
{{dt.totalRecords}}
</ng-container>
{{'view.server.auto_roles.auto_roles' | translate}}
</div>
<div class="table-caption-btn-wrapper btn-wrapper">
<button pButton label="{{'admin.auth_users.add' | translate}}" class="icon-btn btn"
<button pButton label="{{'common.add' | translate}}" class="icon-btn btn"
icon="pi pi-user-plus" (click)="addAutoRole(dt)" [disabled]="isEditingNew">
</button>
<button pButton label="{{'view.server.auto_roles.reset_filters' | translate}}" icon="pi pi-undo"
<button pButton label="{{'common.reset_filters' | translate}}" icon="pi pi-undo"
class="icon-btn btn" (click)="resetFilters()">
</button>
</div>
@ -31,7 +31,7 @@
<tr>
<th pSortableColumn="id">
<div class="table-header-label">
<div class="table-header-text">{{'view.server.auto_roles.headers.id' | translate}}</div>
<div class="table-header-text">{{'common.id' | translate}}</div>
<p-sortIcon field="id" class="table-header-icon"></p-sortIcon>
</div>
</th>
@ -77,7 +77,7 @@
<th>
<div class="table-header-label">
<div class="table-header-text">{{'view.server.auto_roles.headers.actions' | translate}}</div>
<div class="table-header-text">{{'common.actions' | translate}}</div>
</div>
</th>
</tr>
@ -85,7 +85,7 @@
<tr>
<th class="table-header-small">
<form [formGroup]="filterForm">
<input type="text" pInputText formControlName="id" placeholder="{{'view.server.auto_roles.headers.id' | translate}}">
<input type="text" pInputText formControlName="id" placeholder="{{'common.id' | translate}}">
</form>
</th>
<th>
@ -209,7 +209,7 @@
<ng-template pTemplate="emptymessage">
<tr></tr>
<tr>
<td colspan="10">{{'view.server.auto_roles.no_entries_found' | translate}}</td>
<td colspan="10">{{'common.no_entries_found' | translate}}</td>
</tr>
<tr></tr>
</ng-template>

View File

@ -10,17 +10,17 @@
<ng-template pTemplate="caption">
<div class="table-caption">
<div class="table-caption-text">
<ng-container *ngIf="!loading">{{levels.length}} {{'view.server.levels.of' | translate}}
<ng-container *ngIf="!loading">{{levels.length}} {{'common.of' | translate}}
{{dt.totalRecords}}
</ng-container>
{{'view.server.levels.levels' | translate}}
</div>
<div class="table-caption-btn-wrapper btn-wrapper">
<button pButton label="{{'admin.auth_users.add' | translate}}" class="icon-btn btn"
<button pButton label="{{'common.add' | translate}}" class="icon-btn btn"
icon="pi pi-user-plus" (click)="addLevel(dt)" [disabled]="isEditingNew">
</button>
<button pButton label="{{'view.server.levels.reset_filters' | translate}}" icon="pi pi-undo"
<button pButton label="{{'common.reset_filters' | translate}}" icon="pi pi-undo"
class="icon-btn btn" (click)="resetFilters()">
</button>
</div>
@ -31,7 +31,7 @@
<tr>
<th pSortableColumn="id">
<div class="table-header-label">
<div class="table-header-text">{{'view.server.levels.headers.id' | translate}}</div>
<div class="table-header-text">{{'common.id' | translate}}</div>
<p-sortIcon field="id" class="table-header-icon"></p-sortIcon>
</div>
</th>
@ -78,7 +78,7 @@
<th>
<div class="table-header-label">
<div class="table-header-text">{{'view.server.levels.headers.actions' | translate}}</div>
<div class="table-header-text">{{'common.actions' | translate}}</div>
</div>
</th>
</tr>
@ -87,7 +87,7 @@
<th class="table-header-small">
<form [formGroup]="filterForm">
<input type="text" pInputText formControlName="id"
placeholder="{{'view.server.levels.headers.id' | translate}}">
placeholder="{{'common.id' | translate}}">
</form>
</th>
<th>
@ -201,7 +201,7 @@
<ng-template pTemplate="emptymessage">
<tr></tr>
<tr>
<td colspan="10">{{'view.server.levels.no_entries_found' | translate}}</td>
<td colspan="10">{{'common.no_entries_found' | translate}}</td>
</tr>
<tr></tr>
</ng-template>

View File

@ -10,14 +10,14 @@
<ng-template pTemplate="caption">
<div class="table-caption">
<div class="table-caption-text">
<ng-container *ngIf="!loading">{{members.length}} {{'view.server.members.of' | translate}}
<ng-container *ngIf="!loading">{{members.length}} {{'common.of' | translate}}
{{dt.totalRecords}}
</ng-container>
{{'view.server.members.members' | translate}}
</div>
<div class="table-caption-btn-wrapper btn-wrapper">
<button pButton label="{{'view.server.members.reset_filters' | translate}}" icon="pi pi-undo"
<button pButton label="{{'common.reset_filters' | translate}}" icon="pi pi-undo"
class="icon-btn btn" (click)="resetFilters()">
</button>
</div>
@ -28,14 +28,14 @@
<tr>
<th pSortableColumn="id">
<div class="table-header-label">
<div class="table-header-text">{{'view.server.members.headers.id' | translate}}</div>
<div class="table-header-text">{{'common.id' | translate}}</div>
<p-sortIcon field="id" class="table-header-icon"></p-sortIcon>
</div>
</th>
<th pSortableColumn="discordId">
<div class="table-header-label">
<div class="table-header-text">{{'view.server.members.headers.discord_id' | translate}}</div>
<div class="table-header-text">{{'common.discord_id' | translate}}</div>
<p-sortIcon field="discordId" class="table-header-icon"></p-sortIcon>
</div>
</th>
@ -89,7 +89,7 @@
<th>
<div class="table-header-label">
<div class="table-header-text">{{'view.server.members.headers.actions' | translate}}</div>
<div class="table-header-text">{{'common.actions' | translate}}</div>
</div>
</th>
</tr>
@ -97,12 +97,12 @@
<tr>
<th class="table-header-small">
<form [formGroup]="filterForm">
<input type="text" pInputText formControlName="id" placeholder="{{'view.server.members.headers.id' | translate}}">
<input type="text" pInputText formControlName="id" placeholder="{{'common.id' | translate}}">
</form>
</th>
<th class="table-header-medium">
<form [formGroup]="filterForm">
<input type="text" pInputText formControlName="discordId" placeholder="{{'view.server.members.headers.discord_id' | translate}}">
<input type="text" pInputText formControlName="discordId" placeholder="{{'common.discord_id' | translate}}">
</form>
</th>
<th>
@ -241,7 +241,7 @@
<ng-template pTemplate="emptymessage">
<tr></tr>
<tr>
<td colspan="10">{{'view.server.members.no_entries_found' | translate}}</td>
<td colspan="10">{{'common.no_entries_found' | translate}}</td>
</tr>
<tr></tr>
</ng-template>

View File

@ -11,11 +11,11 @@
<div class="content">
<div class="content-row">
<div class="content-column">
<div class="content-data-name">{{'view.server.profile.id' | translate}}:</div>
<div class="content-data-name">{{'common.id' | translate}}:</div>
<div class="content-data-value">{{user.id}}</div>
</div>
<div class="content-column">
<div class="content-data-name">{{'view.server.profile.discord_id' | translate}}:</div>
<div class="content-data-name">{{'common.discord_id' | translate}}:</div>
<div class="content-data-value">{{user.discordId}}</div>
</div>
</div>

View File

@ -1,10 +1,10 @@
<div class="client">
<div class="client-info">
<label class="client-info-header">{{'view.server.dashboard.id' | translate}}</label>
<label class="client-info-header">{{'common.id' | translate}}</label>
<label class="client-info-value">{{client.id}}</label>
</div>
<div class="client-info">
<label class="client-info-header">{{'view.server.dashboard.discord_id' | translate}}</label>
<label class="client-info-header">{{'common.discord_id' | translate}}</label>
<label class="client-info-value">{{client.discordId}}</label>
</div>
<div class="client-info">

View File

@ -17,10 +17,10 @@
</div>
<div class="input-field">
<input type="email" pInputText formControlName="email" placeholder="{{'view.user_settings.e_mail' | translate}}"
<input type="email" pInputText formControlName="email" placeholder="{{'common.email' | translate}}"
autocomplete="username email" [ngClass]="{ 'invalid-feedback-input': submitted && errors.email}">
<div *ngIf="submitted" class="invalid-feedback">
<div *ngIf="errors.email">{{'view.user_settings.e_mail_already_exists' | translate}}</div>
<div *ngIf="errors.email">{{'view.user_settings.email_already_exists' | translate}}</div>
</div>
</div>
@ -38,4 +38,4 @@
</div>
</form>
</div>
</div>
</div>

View File

@ -3,7 +3,7 @@
"WebVersion": {
"Major": "1",
"Minor": "0",
"Micro": "dev220"
"Micro": "dev232"
},
"Themes": [
{

View File

@ -1,410 +1,171 @@
{
"header": {
"change_password": "Passwort ändern",
"settings": "Einstellungen",
"logout": "Ausloggen",
"header": "Krümmelmonster WI"
},
"sidebar": {
"dashboard": "Dashboard",
"server": {
"dashboard": "Dashboard",
"profile": "Dein Profil",
"members": "Mitglieder",
"levels": "Level",
"auto_roles": "Auto Rollen"
},
"server_empty": "Kein Server ausgewählt",
"members": "Mitglieder",
"settings": "Einstellungen",
"administration": "Administration",
"config": "Konfiguration",
"auth_user_list": "Benutzer"
},
"admin": {
"settings": {
"header": "Konfiguration",
"website": {
"header": "Webseite",
"frontend_version": "Webseite Version",
"backend_version": "Server Version",
"config_path": "Konfigurations-Dateipfad",
"frontend_base_url": "Webseite Basis-URL",
"backend_base_url": "Server Basis-URL",
"token_expire_time": "Token Ablaufzeit",
"refresh_token_expire_time": "Refresh Token Ablaufzeit"
},
"e_mail": {
"header": "E-Mail",
"user": "Benutzer",
"host": "Host",
"port": "Port",
"transceiver": "Absender",
"e_mail_address": "E-Mail Adresse",
"e_mail": "E-Mail",
"send_e_mail": "E-Mail senden"
},
"message": {
"error": "Fehler",
"could_not_send_mail": "E-Mail konte nicht gesendet werden!",
"connection_failed": "Verbindung fehlgeschlagen",
"connection_to_mail_failed": "Die Verbindung zum Mailserver konnte nicht hergestellt werden!",
"mail_login_failed": "Die Anmeldung am Mailserver ist fehlgeschlagen!",
"send_failed": "Senden fehlgeschlagen",
"test_mail_not_send": "Die Test E-Mail konnte nicht gesendet werden!",
"success": "Erfolg",
"send_mail": "E-Mail wurde erfolgreich gesendet"
}
},
"auth_users": {
"header": "Benutzer",
"of": "von",
"add": "Hinzufügen",
"reset_filters": "Filter zurücksetzen",
"users": "Benutzer",
"headers": {
"users": "Benutzer",
"active": "Aktiv",
"auth_role": "Rolle",
"first_name": "Vorname",
"last_name": "Nachname",
"e_mail": "E-Mail",
"auth_role": "Rolle",
"active": "Aktiv",
"role": "Rolle",
"password": "Passwort",
"actions": "Aktionen"
"role": "Rolle",
"users": "Benutzer"
},
"no_entries_found": "Keine Einträge gefunden",
"message": {
"cannot_delete_user": "Benutzer kann nicht gelöscht werden",
"invalid_email": "Ungültige E-Mail",
"invalid_email_d": "Die E-Mail {{email}} ist nicht gültig!",
"user_already_exists": "Benutzer existiert bereits",
"user_already_exists_d": "Der Benutzer {{email}} existiert bereits!",
"logon_with_another_user": "Loggen Sie sich mit einem anderen Benutzer ein, um diesen Benutzer zu löschen!",
"user_added": "Benutzer hinzugefügt",
"user_added_d": "Benutzer {{email}} erfolgreich hinzugefügt",
"user_change_failed": "Benutzer änderung fehlgeschlagen",
"user_already_exists": "Benutzer existiert bereits",
"user_already_exists_d": "Der Benutzer {{email}} existiert bereits!",
"user_change_failed": "Benutzeränderung fehlgeschlagen",

"Benutzeränderung"
Hier zum Kopieren:

"user_change_failed": "Benutzeränderung fehlgeschlagen",
"Benutzeränderung" Hier zum Kopieren: ```json "user_change_failed": "Benutzeränderung fehlgeschlagen", ```
"user_change_failed_d": "Benutzer {{email}} konnte nicht geändert werden!",
"user_changed": "Benutzer geändert",
"user_changed_d": "Benutzer {{email}} erfolgreich geändert",
"cannot_delete_user": "Benutzer kann nicht gelöscht werden",
"logon_with_another_user": "Loggen Sie sich mit einem anderen Benutzer ein, um diesen Benutzer zu löschen!",
"user_delete": "Benutzer löschen",
"user_delete_q": "Sind Sie sich sicher, dass Sie {{email}} löschen möchten?",
"user_deleted": "Benutzer gelöscht",
"user_deleted_d": "Benutzer {{email}} erfolgreich gelöscht"
},
"users": "Benutzer"
},
"settings": {
"email": {
"email_address": "E-Mail-Adresse",
Ebola-Chan marked this conversation as resolved Outdated

"E-Mail-Adresse"
Hier zum Kopieren:

"email_address": "E-Mail-Adresse",
"E-Mail-Adresse" Hier zum Kopieren: ```json "email_address": "E-Mail-Adresse", ```

"E-Mail-Adresse" damit es ein Wort ist

"E-Mail-Adresse" damit es ein Wort ist
"header": "E-Mail",
"host": "Host",
"port": "Port",
"send_email": "E-Mail senden",
"transceiver": "Absender",
"user": "Benutzer"
},
"header": "Konfiguration",
"message": {
"connection_failed": "Verbindung fehlgeschlagen",
"connection_to_mail_failed": "Die Verbindung zum Mailserver konnte nicht hergestellt werden!",
"could_not_send_mail": "E-Mail konte nicht gesendet werden!",
"error": "Fehler",
"mail_login_failed": "Die Anmeldung am Mailserver ist fehlgeschlagen!",
"send_failed": "Senden fehlgeschlagen",
"send_mail": "E-Mail wurde erfolgreich gesendet",
"success": "Erfolg",
"test_mail_not_send": "Die Test E-Mail konnte nicht gesendet werden!"
},
"website": {
"backend_base_url": "Server Basis-URL",
"backend_version": "Server Version",
edraft marked this conversation as resolved
Review

"Serverversion"
Hier zum Kopieren:

"backend_version": "Serverversion",
"Serverversion" Hier zum Kopieren: ```json "backend_version": "Serverversion", ```
"config_path": "Konfigurations-Dateipfad",
edraft marked this conversation as resolved
Review

"Konfigurationsdateipfad"
Hier zum Kopieren:

"config_path": "Konfigurationsdateipfad",
"Konfigurationsdateipfad" Hier zum Kopieren: ```json "config_path": "Konfigurationsdateipfad", ```
"frontend_base_url": "Webseite Basis-URL",
"frontend_version": "Webseite Version",
edraft marked this conversation as resolved
Review

"Webseitenversion"
Hier zum Kopieren:

"frontend_version": "Webseitenversion",
"Webseitenversion" Hier zum Kopieren: ```json "frontend_version": "Webseitenversion", ```
"header": "Webseite",
"refresh_token_expire_time": "Refresh Token Ablaufzeit",
"token_expire_time": "Token Ablaufzeit"
edraft marked this conversation as resolved
Review

Die Wörter in

"refresh_token_expire_time": "Refresh Token Ablaufzeit",
"token_expire_time": "Token Ablaufzeit"

könnten auch zusammengeschrieben werden, aber ich lasse dich das entscheiden.

Die Wörter in ```json "refresh_token_expire_time": "Refresh Token Ablaufzeit", "token_expire_time": "Token Ablaufzeit" ``` könnten auch zusammengeschrieben werden, aber ich lasse dich das entscheiden.
}
}
},
"auth": {
"header": "Krümmelmonster WI",
"login": {
"e_mail": "E-Mail",
"password": "Passwort",
"login": "Einloggen",
"login_with_discord": "Mit Discord Einloggen",
"register": "Registrieren",
"forgot_password": "Passwort vergessen?",
"e_mail_required": "E-Mail benötigt",
"user_not_found": "Benutzer nicht gefunden",
"e_mail_not_confirmed": "E-Mail nicht bestätigt",
"password_required": "Passwort benötigt",
"wrong_password": "Falsches passwort",
"message": {
"confirm_email": "E-Mail Bestätigen",
"confirm_email_d": "Du musst deine E-Mail {{email}} Bestätigen, in dem du den Link öffnest, den wir dir geschickt haben."
}
},
"register": {
"first_name": "Vorname",
"last_name": "Nachname",
"e_mail": "E-Mail",
"repeat_e_mail": "E-mail wiederholen",
"password": "Password",
"repeat_password": "Password wiederholen",
"register": "Registrieren",
"register_with_discord": "Mit Discord Registrieren",
"login": "Einloggen",
"user_already_exists": "Benutzer existiert bereits",
"passwords_not_match": "Passwörter sitmmen nicht überein",
"e_mails_not_match": "E-Mails sitmmen nicht überein",
"first_name_required": "Vorname benötigt",
"last_name_required": "Nachname benötigt",
"e_mail_required": "E-Mail benötigt",
"password_required": "Passwort benötigt",
"first_name_invalid": "Vorname ungültig",
"last_name_invalid": "Nachname ungültig"
},
"forgot_password": {
"e_mail": "E-Mail",
"send_confirmation_url": "Falls ein Benutzer mit der E-Mail gefunden wurde, wurde Betstätigungslink versendet",
"reset_password": "Passwort zurücksetzen",
"login": "Anmelden",
"register": "Registrieren",
"repeat_password": "Passwort wiederholen",
"passwords_do_not_match": "Die Passwörter stimmen nicht überein",
"password": "Passwort",
"message": {
"reset_password": "Passwort zurückgesetzt",
"reset_password_d": "Dein Passwort wurde zurückgesetzt"
}
}
},
"view": {
"dashboard": {
"header": "Dashboard",
"of": "von",
"servers": "Server",
"server": {
"header": "Server",
"member_count": "Mitglied(er)"
"reset_password_d": "Ihr Passwort wurde zurückgesetzt"

In den vorherigen Texten wurde der User in der Höflichkeitsform angesprochen. Soll dies hier evtl auch fortgesetzt werden?
Hier zum Kopieren:

"reset_password_d": "Ihr Passwort wurde zurückgesetzt"
In den vorherigen Texten wurde der User in der Höflichkeitsform angesprochen. Soll dies hier evtl auch fortgesetzt werden? Hier zum Kopieren: ```json "reset_password_d": "Ihr Passwort wurde zurückgesetzt" ```
},
"filter": {
"name": "Name"
}
},
"server": {
"header": "Server",
"dashboard": {
"header": "Server dashboard",
"id": "Id",
"discord_id": "Discord Id",
"name": "Name",
"sent_message_count": "Gesendete Nachrichten",
"received_message_count": "Empfangene Nachrichten",
"deleted_message_count": "Gelöschte Nachrichten",
"received_command_count": "Empfangene Befehle",
"moved_users_count": "Verschobene Benutzer"
},
"profile": {
"header": "Dein Profil",
"id": "Id",
"discord_id": "Discord Id",
"name": "Name",
"xp": "XP",
"ontime": "Ontime",
"minecraft_id": "Minecraft Id",
"level": "Level",
"left_server": "Hat Server verlassen",
"joined_voice_channel": {
"header": "Sprachkanal-beitritte",
"time": "Zeit",
"channel": "Sprachkanal"
},
"joined_game_server": {
"header": "Gameserver-beitritte",
"time": "Spielzeit",
"name": "Gameserver"
},
"joined_server": {
"header": "Server-beitritte",
"time": "Zeit"
},
"permission_denied": "Zugriff Verweigert!",
"permission_denied_d": "Du musst Moderator sein, um andere Profile sehen zu können!"
},
"members": {
"header": "Mitglieder",
"of": "von",
"add": "Hinzufügen",
"reset_filters": "Filter zurücksetzen",
"members": "Mitgliedern",
"headers": {
"id": "Id",
"discord_id": "Discord Id",
"name": "Name",
"xp": "XP",
"ontime": "Ontime",
"left_server": "Aktiv",
"level": "Level",
"actions": "Aktionen"
},
"no_entries_found": "Keine Einträge gefunden",
"message": {
"user_changed": "Benutzer geändert",
"user_changed_d": "Benutzer {{name}} erfolgreich geändert",
"user_change_failed": "Benutzer Änderung fehlgeschlagen",
"user_change_failed_d": "Benutzer {{name}} konnte nicht geändert werden!"
}
},
"auto_roles": {
"header": "Auto Rollen",
"of": "von",
"add": "Hinzufügen",
"reset_filters": "Filter zurücksetzen",
"auto_roles": "Auto Rollen",
"headers": {
"id": "Id",
"channel_id": "Kanal Id",
"channel_name": "Kanal",
"message_id": "Nachricht Id",
"role_count": "Regeln",
"actions": "Aktionen"
},
"no_entries_found": "Keine Einträge gefunden",
"message": {
"auto_role_create": "Auto Rolle erstellt",
"auto_role_create_d": "Auto Rolle {{id}} erfolgreich erstellt",
"auto_role_create_failed": "Auto Rolle Erstellung fehlgeschlagen",
"auto_role_create_failed_d": "Die Erstellung der Auto Rolle ist fehlgeschlagen!",
"auto_role_delete": "Auto Rolle löschen",
"auto_role_delete_q": "Sind Sie sich sicher, dass Sie die Auto Rolle {{id}} löschen möchten?",
"auto_role_deleted": "Auto Rolle gelöscht",
"auto_role_deleted_d": "Auto Rolle {{id}} erfolgreich gelöscht",
"auto_role_delete_failed": "Auto Rolle Löschung fehlgeschlagen",
"auto_role_delete_failed_d": "Die Löschung der Auto Rolle {{id}} ist fehlgeschlagen!"
},
"rules": {
"header": "Auto Rollen Regeln",
"of": "von",
"add": "Hinzufügen",
"reset_filters": "Filter zurücksetzen",
"auto_roles": "Auto Rollen Regeln",
"headers": {
"id": "Id",
"emoji": "Emoji",
"role": "Rolle",
"actions": "Aktionen"
},
"no_entries_found": "Keine Einträge gefunden",
"message": {
"auto_role_rule_create": "Auto Rollen Regel erstellt",
"auto_role_rule_create_d": "Auto Rollen Regel {{id}} erfolgreich erstellt",
"auto_role_rule_create_failed": "Auto Rollen Regel Erstellung fehlgeschlagen",
"auto_role_rule_create_failed_d": "Die Erstellung der Auto Rollen Regel ist fehlgeschlagen!",
"auto_role_rule_update": "Auto Rollen Regel bearbeitet",
"auto_role_rule_update_d": "Auto Rollen Regel {{id}} erfolgreich bearbeitet",
"auto_role_rule_update_failed": "Auto Rollen Regel Bearbeitung fehlgeschlagen",
"auto_role_rule_update_failed_d": "Die Bearbeitung der Auto Rollen Regel ist fehlgeschlagen!",
"auto_role_rule_delete": "Auto Rollen Regel löschen",
"auto_role_rule_delete_q": "Sind Sie sich sicher, dass Sie die Auto Rollen Regel {{id}} löschen möchten?",
"auto_role_rule_deleted": "Auto Rollen Regel gelöscht",
"auto_role_rule_deleted_d": "Auto Rollen Regel {{id}} erfolgreich gelöscht",
"auto_role_rule_delete_failed": "Auto Rollen Regel Löschung fehlgeschlagen",
"auto_role_rule_delete_failed_d": "Die Löschung der Auto Rollen Regel {{id}} ist fehlgeschlagen!"
}
}
},
"levels": {
"header": "Level",
"reset_filters": "Filter zurücksetzen",
"of": "von",
"add": "Hinzufügen",
"levels": "Level",
"headers": {
"id": "Id",
"name": "Name",
"color": "Farbe",
"min_xp": "Min. XP",
"permissions": "Rechte",
"actions": "Aktionen"
},
"no_entries_found": "Keine Einträge gefunden",
"message": {
"level_create": "Level erstellt",
"level_create_d": "Level {{name}} erfolgreich erstellt",
"level_create_failed": "Level Erstellung fehlgeschlagen",
"level_create_failed_d": "Die Erstellung des Levels ist fehlgeschlagen!",
"level_update": "Level bearbeitet",
"level_update_d": "Level {{name}} erfolgreich bearbeitet",
"level_update_failed": "Level Bearbeitung fehlgeschlagen",
"level_update_failed_d": "Die Bearbeitung des Levels ist fehlgeschlagen!",
"level_delete": "Level löschen",
"level_delete_q": "Sind Sie sich sicher, dass Sie das Level {{name}} löschen möchten?",
"level_deleted": "Level gelöscht",
"level_deleted_d": "Level {{name}} erfolgreich gelöscht",
"level_delete_failed": "Level Löschung fehlgeschlagen",
"level_delete_failed_d": "Die Löschung des Levels {{name}} ist fehlgeschlagen!"
}
}
},
"user-list": {},
"change-password": {
"header": "Passwort ändern",
"wrong_password": "Falsches Passwort",
"password": "Passwort",
"passwords_do_not_match": "Die Passwörter stimmen nicht überein",
"password": "Passwort",
"active_password": "Aktuelles Passwort",
"new_password": "Neues Passwort",
"repeat_new_password": "Neues Passwort wiederholen",
"save": "Speichern",
"message": {
"error": "Fehler",
"password_cannot_be_changed": "Dein Passwort konnte nicht geändert werden!",
"change_password": "Passwort geändert",
"changed_password": "Dein Passwort wurde geändert"
}
"register": "Registrieren",
"repeat_password": "Passwort wiederholen",
"reset_password": "Passwort zurücksetzen",
"send_confirmation_url": "Eine Bestätigungsmail wird versendet, wenn ein Benutzer mit der E-Mail vorhanden ist"

Neben dem Rechtschreibfehler, kann der Satz anders formuliert werden.
Statt:

"send_confirmation_url": "Falls ein Benutzer mit der E-Mail gefunden wurde, wurde Betstätigungslink versendet"

Hier:

"send_confirmation_url": "Eine Bestätigungsmail wird versendet, wenn ein Benutzer mit der E-Mail-Adresse vorhanden ist"
Neben dem Rechtschreibfehler, kann der Satz anders formuliert werden. Statt: ```json "send_confirmation_url": "Falls ein Benutzer mit der E-Mail gefunden wurde, wurde Betstätigungslink versendet" ``` Hier: ```json "send_confirmation_url": "Eine Bestätigungsmail wird versendet, wenn ein Benutzer mit der E-Mail-Adresse vorhanden ist" ```
},
"user_settings": {
"header": "Einstellungen",
"first_name": "Vorname",
"last_name": "Nachname",
"e_mail": "E-Mail",
"password": "Passwort",
"e_mail_already_exists": "Die E-Mail wurde bereits vergeben",
"wrong_password": "Falsches Passwort",
"save": "Speichern",
"header": "Krümelmonster WI",

"Krümelmonster WI"
Hier zum Kopieren:

"header": "Krümelmonster WI",
"Krümelmonster WI" Hier zum Kopieren: ```json "header": "Krümelmonster WI", ```
"login": {
"email_not_confirmed": "E-Mail nicht bestätigt",
edraft marked this conversation as resolved
Review

Evtl.:

"email_not_confirmed": "Die E-Mail wurde nicht bestätigt",

oder:

"email_not_confirmed": "Die E-Mail-Adresse wurde nicht bestätigt",

?

Evtl.: ```json "email_not_confirmed": "Die E-Mail wurde nicht bestätigt", ``` oder: ```json "email_not_confirmed": "Die E-Mail-Adresse wurde nicht bestätigt", ``` ?
"email_required": "E-Mail benötigt",
edraft marked this conversation as resolved
Review

Evtl.:

"email_required": "E-Mail wird benötigt",

oder

"email_required": "Eine gültige E-Mail-Adresse wird benötigt",

?

Evtl.: ```json "email_required": "E-Mail wird benötigt", ``` oder ```json "email_required": "Eine gültige E-Mail-Adresse wird benötigt", ``` ?
"forgot_password": "Passwort vergessen?",
"login": "Einloggen",
"login_with_discord": "Mit Discord einloggen",

"einloggen" ist ein Verb.
Hier zum Kopieren:

"login_with_discord": "Mit Discord einloggen",
"einloggen" ist ein Verb. Hier zum Kopieren: ```json "login_with_discord": "Mit Discord einloggen", ```
"message": {
"user_not_found": "Benutzer nicht gefunden",
"user_not_found_d": "Der Benutzer konnte nicht gefunden werden!",
"error": "Fehler",
"could_not_change_settings": "Die Einstellungen konnten nicht geändert werden!",
"changed_settings": "Die Einstellungen wurden geändert",
"success": "Erfolg"
}
"confirm_email": "E-Mail Bestätigen",
edraft marked this conversation as resolved
Review

Evtl.:

"confirm_email": "E-Mail-Adresse Bestätigen",
Evtl.: ```json "confirm_email": "E-Mail-Adresse Bestätigen", ```
"confirm_email_d": "Sie müssen die E-Mail {{email}} Bestätigen, in dem Sie den Link öffnen, welchen wir Ihnen zugesendet haben."

Evtl.:

"confirm_email_d": "Du musst deine E-Mail-Adresse {{email}} Bestätigen, in dem du den Link öffnest, welchen wir Ihnen zugesendet haben."

Hier auch wieder ein Thema der Höflichkeitsform.

Evtl.: ```json "confirm_email_d": "Du musst deine E-Mail-Adresse {{email}} Bestätigen, in dem du den Link öffnest, welchen wir Ihnen zugesendet haben." ``` Hier auch wieder ein Thema der Höflichkeitsform.
},
"password": "Passwort",
"password_required": "Passwort benötigt",
edraft marked this conversation as resolved
Review

Evtl.:

"password_required": "Passwort wird benötigt",
Evtl.: ```json "password_required": "Passwort wird benötigt", ```
"register": "Registrieren",
"user_not_found": "Benutzer nicht gefunden",
"wrong_password": "Falsches Passwort"

"Passwort" groß.
Hier zum Kopieren:

"wrong_password": "Falsches Passwort"
"Passwort" groß. Hier zum Kopieren: ```json "wrong_password": "Falsches Passwort" ```
},
"register": {
"email_required": "E-Mail benötigt",
edraft marked this conversation as resolved
Review

Evtl hier auch wieder

"email_required": "E-Mail-Adresse benötigt",
Evtl hier auch wieder ```json "email_required": "E-Mail-Adresse benötigt", ```
"emails_not_match": "E-Mails stimmen nicht überein",
edraft marked this conversation as resolved Outdated

"stimmen" falsch.

Evtl. hier auch wieder

"emails_not_match": "E-Mails-Adressen stimmen nicht überein",
"stimmen" falsch. Evtl. hier auch wieder ```json "emails_not_match": "E-Mails-Adressen stimmen nicht überein", ```
"first_name": "Vorname",
"first_name_invalid": "Vorname ungültig",
"first_name_required": "Vorname benötigt",
"last_name": "Nachname",
"last_name_invalid": "Nachname ungültig",
"last_name_required": "Nachname benötigt",
"login": "Einloggen",
"password": "Passwort",
"password_required": "Passwort benötigt",
"passwords_not_match": "Passwörter stimmen nicht überein",

"stimmen" wieder falsch. Classic Copy&Paste.

"passwords_not_match": "Passwörter stimmen nicht überein",

Evtl. auch:

"passwords_not_match": "Die Passwörter stimmen nicht überein",
"stimmen" wieder falsch. Classic Copy&Paste. ```json "passwords_not_match": "Passwörter stimmen nicht überein", ``` Evtl. auch: ```json "passwords_not_match": "Die Passwörter stimmen nicht überein", ```
"register": "Registrieren",
"register_with_discord": "Mit Discord Registrieren",
"repeat_email": "E-Mail wiederholen",

Evtl. auch wieder:

"repeat_email": "E-mail-Adrsse wiederholen",
Evtl. auch wieder: ```json "repeat_email": "E-mail-Adrsse wiederholen", ```

E-Mail

E-Mail
"repeat_password": "Passwort wiederholen",

"Passwort" statt " Password"
Hier zum Kopieren:

"repeat_password": "Passwort wiederholen",
"Passwor**t**" statt " Passwor**d**" Hier zum Kopieren: ```json "repeat_password": "Passwort wiederholen", ```
"user_already_exists": "Benutzer existiert bereits"
}
},
"footer": {
"imprint": "Impressum",
"backend": "API",
"frontend": "Webseite"
"common": {
"404": "404 - Der Eintrag konnte nicht gefunden werden",
"actions": "Aktionen",
"add": "Hinzufügen",
"bool_as_string": {
"false": "Nein",
"true": "Ja"
},
"created_at": "Erstellt am",
"discord_id": "Discord Id",
"email": "E-Mail",
edraft marked this conversation as resolved
Review

Wenn hier von der E-Mail-Adresse die rde ist, dann auch so ausschreiben.

Wenn hier von der E-Mail-Adresse die rde ist, dann auch so ausschreiben.
"error": "Fehler",
"id": "Id",
"joined_at": "Beigetreten am",
"leaved_at": "Verlassen am",
"modified_at": "Bearbeitet am",
"no_entries_found": "Keine Einträge gefunden",
"of": "von",
"reset_filters": "Filter zurücksetzen"
},
"dialog": {
"confirm": "Bestätigen",
"abort": "Abbrechen"
"abort": "Abbrechen",
"confirm": "Bestätigen"
},
"footer": {
"backend": "API",
"frontend": "Webseite",
"imprint": "Impressum"
},
"general": {
"days": "Tage",
"minutes": "Minuten",
"hours": "Stunden"
"hours": "Stunden",
"minutes": "Minuten"
},
"common": {
"created_at": "Erstellt am",
"modified_at": "Bearbeitet am",
"joined_at": "Beigetreten am",
"leaved_at": "Verlassen am",
"bool_as_string": {
"true": "Ja",
"false": "Nein"
},
"error": "Fehler",
"404": "404 - Der Eintrag konnte nicht gefunden werden"
"header": {
"change_password": "Passwort ändern",
"header": "Krümelmonster WI",
"logout": "Ausloggen",
"settings": "Einstellungen"
},
"primeng": {
"startsWith": "Startet mit",
"contains": "Enthält",
"notContains": "Enthält nicht",
"endsWith": "Ended mit",
"equals": "Gleich",
"notEquals": "Nicht gleich",
"noFilter": "Kein Filter",
"lt": "Weniger als",
"lte": "Weniger als oder gleich",
"gt": "Größer als",
"gte": "Größer als doer gleich",
"is": "Ist",
"isNot": "Ist nicht",
"before": "Vorher",
"after": "Nachher",
"clear": "Zurücksetzen",
"apply": "Anwenden",
"matchAll": "Passend zu allem",
"matchAny": "Passend zu jedem",
"addRule": "Regel hinzufügen",
"removeRule": "Regel entfernen",
"accept": "Ja",
"reject": "Nein",
"choose": "Wählen",
"upload": "Hochladen",
"addRule": "Regel hinzufügen",
"after": "Nachher",
"apply": "Anwenden",
"before": "Vorher",
"cancel": "Abbrechen",
"choose": "Wählen",
"clear": "Zurücksetzen",
"contains": "Enthält",
"dayNames": [
"Sonntag",
"Montag",
@ -414,15 +175,6 @@
"Freitag",
"Samstag"
],
"dayNamesShort": [
"Son",
"Mon",
"Die",
"Mit",
"Don",
"Fre",
"Sam"
],
"dayNamesMin": [
"So",
"Mo",
@ -432,6 +184,28 @@
"Fr",
"Sa"
],
"dayNamesShort": [
"Son",
"Mon",
"Die",
"Mit",
"Don",
"Fre",
"Sam"
],
"emptyFilterMessage": "Keine Ergebnisse gefunden",
"emptyMessage": "Keine Ergebnisse gefunden",
"endsWith": "Ended mit",
"equals": "Gleich",
"gt": "Größer als",
"gte": "Größer als oder gleich",

"oder" ist falsch.

Evtl. auch:

"gte": "Größer gleich",

oder

"gte": "Größer oder gleich",
"oder" ist falsch. Evtl. auch: ```json "gte": "Größer gleich", ``` oder ```json "gte": "Größer oder gleich", ```
"is": "Ist",
"isNot": "Ist nicht",
"lt": "Kleiner als",
"lte": "Kleiner als oder gleich",

Evtl. auch.

"lte": "Kleiner gleich",

oder

"lte": "Kleiner oder gleich",
Evtl. auch. ```json "lte": "Kleiner gleich", ``` oder ```json "lte": "Kleiner oder gleich", ```
"matchAll": "Passend zu allem",
"matchAny": "Passend zu jedem",
"medium": "Mittel",
"monthNames": [
"Januar",
"Februar",
@ -460,13 +234,206 @@
"Nov",
"Dez"
],
"today": "Heute",
"weekHeader": "Wk",
"weak": "Woche",
"medium": "Mittel",
"strong": "Stark",
"noFilter": "Kein Filter",
edraft marked this conversation as resolved
Review

Evtl.:

"noFilter": "Keine Filter",
Evtl.: ```json "noFilter": "Keine Filter", ```
"notContains": "Enthält nicht",
"notEquals": "Ungleich",

Evtl.:

"notEquals": "Ungleich",
Evtl.: ```json "notEquals": "Ungleich", ```
"passwordPrompt": "Passwort eingeben",
"emptyMessage": "Keine Ergebnisse gefunden",
"emptyFilterMessage": "Keine Ergebnisse gefunden"
"reject": "Nein",
"removeRule": "Regel entfernen",
"startsWith": "Beginnt mit",

Evtl.:

"startsWith": "Beginnt mit",
Evtl.: ```json "startsWith": "Beginnt mit", ```
"strong": "Stark",
"today": "Heute",
"upload": "Hochladen",
"weak": "Woche",
"weekHeader": "Wk"
},
"sidebar": {
"administration": "Administration",
"auth_user_list": "Benutzer",
"config": "Konfiguration",
"dashboard": "Dashboard",
"members": "Mitglieder",
"server": {
"auto_roles": "Auto Rollen",
"dashboard": "Dashboard",
"levels": "Level",
"members": "Mitglieder",
"profile": "Dein Profil"
},
"server_empty": "Kein Server ausgewählt",
"settings": "Einstellungen",
"user_list": "Benutzer"
},
"view": {
"change-password": {
"active_password": "Aktuelles Passwort",
"header": "Passwort ändern",
"message": {
"change_password": "Passwort geändert",
"changed_password": "Ihr Passwort wurde geändert",

Hier auch wieder das Thema mit der Höflichkeitsform.

Hier auch wieder das Thema mit der Höflichkeitsform.
"error": "Fehler",
"password_cannot_be_changed": "Ihr Passwort konnte nicht geändert werden!"

Hier auch wieder das Thema mit der Höflichkeitsform.

Hier auch wieder das Thema mit der Höflichkeitsform.
},
"new_password": "Neues Passwort",
"password": "Passwort",
"passwords_do_not_match": "Die Passwörter stimmen nicht überein",
"repeat_new_password": "Neues Passwort wiederholen",
"save": "Speichern",
"wrong_password": "Falsches Passwort"
},
"dashboard": {
"filter": {
"name": "Name"
},
"header": "Dashboard",
"server": {
"header": "Server",
"member_count": "Mitglied(er)"
},
"servers": "Server"
},
"server": {
"auto_roles": {
"auto_roles": "Auto Rollen",
"header": "Auto Rollen",
"headers": {
"channel_id": "Kanal Id",
edraft marked this conversation as resolved
Review

Evtl. "Kanal-Id"

Evtl. "Kanal-Id"
"channel_name": "Kanal",
"message_id": "Nachricht Id",
edraft marked this conversation as resolved
Review

Evtl. "Nachricht-Id"

Evtl. "Nachricht-Id"
"role_count": "Regeln"
},
"message": {
"auto_role_create": "Auto Rolle erstellt",
"auto_role_create_d": "Auto Rolle {{id}} erfolgreich erstellt",
"auto_role_create_failed": "Auto Rolle Erstellung fehlgeschlagen",
"auto_role_create_failed_d": "Die Erstellung der Auto Rolle ist fehlgeschlagen!",
"auto_role_delete": "Auto Rolle löschen",
"auto_role_delete_failed": "Auto Rolle Löschung fehlgeschlagen",
edraft marked this conversation as resolved
Review

Evtl.:

"auto_role_delete_failed": "Auto Rolle Löschung ist fehlgeschlagen",
Evtl.: ```json "auto_role_delete_failed": "Auto Rolle Löschung ist fehlgeschlagen", ```
"auto_role_delete_failed_d": "Die Löschung der Auto Rolle {{id}} ist fehlgeschlagen!",
"auto_role_delete_q": "Sind Sie sich sicher, dass Sie die Auto Rolle {{id}} löschen möchten?",
"auto_role_deleted": "Auto Rolle gelöscht",
"auto_role_deleted_d": "Auto Rolle {{id}} erfolgreich gelöscht"
},
"rules": {
"auto_roles": "Auto Rollen Regeln",
"header": "Auto Rollen Regeln",
"headers": {
"emoji": "Emoji",
"role": "Rolle"
},
"message": {
"auto_role_rule_create": "Auto Rollen Regel erstellt",
"auto_role_rule_create_d": "Auto Rollen Regel {{id}} erfolgreich erstellt",
"auto_role_rule_create_failed": "Auto Rollen Regel Erstellung fehlgeschlagen",
edraft marked this conversation as resolved
Review

Evtl.:

"auto_role_rule_create_failed": "Auto Rollen Regel Erstellung ist fehlgeschlagen",
Evtl.: ```json "auto_role_rule_create_failed": "Auto Rollen Regel Erstellung ist fehlgeschlagen", ```
"auto_role_rule_create_failed_d": "Die Erstellung der Auto Rollen Regel ist fehlgeschlagen!",
"auto_role_rule_delete": "Auto Rollen Regel löschen",
"auto_role_rule_delete_failed": "Auto Rollen Regel Löschung fehlgeschlagen",
edraft marked this conversation as resolved
Review

Evtl.:

"auto_role_rule_delete_failed": "Auto Rollen Regel Löschung ist fehlgeschlagen",
Evtl.: ```json "auto_role_rule_delete_failed": "Auto Rollen Regel Löschung ist fehlgeschlagen", ```
"auto_role_rule_delete_failed_d": "Die Löschung der Auto Rollen Regel {{id}} ist fehlgeschlagen!",
"auto_role_rule_delete_q": "Sind Sie sich sicher, dass Sie die Auto Rollen Regel {{id}} löschen möchten?",
"auto_role_rule_deleted": "Auto Rollen Regel gelöscht",
"auto_role_rule_deleted_d": "Auto Rollen Regel {{id}} erfolgreich gelöscht",
edraft marked this conversation as resolved
Review

Evtl.:

"auto_role_rule_deleted_d": "Auto Rollen Regel {{id}} wurde erfolgreich gelöscht",
Evtl.: ```json "auto_role_rule_deleted_d": "Auto Rollen Regel {{id}} wurde erfolgreich gelöscht", ```
"auto_role_rule_update": "Auto Rollen Regel bearbeitet",
edraft marked this conversation as resolved
Review

Evtl.:

"auto_role_rule_update": "Auto Rollen Regel wurde bearbeitet",
Evtl.: ```json "auto_role_rule_update": "Auto Rollen Regel wurde bearbeitet", ```
"auto_role_rule_update_d": "Auto Rollen Regel {{id}} erfolgreich bearbeitet",
"auto_role_rule_update_failed": "Auto Rollen Regel Bearbeitung fehlgeschlagen",
edraft marked this conversation as resolved
Review

Evtl.:

"auto_role_rule_update_failed": "Auto Rollen Regel Bearbeitung ist fehlgeschlagen",
Evtl.: ```json "auto_role_rule_update_failed": "Auto Rollen Regel Bearbeitung ist fehlgeschlagen", ```
"auto_role_rule_update_failed_d": "Die Bearbeitung der Auto Rollen Regel ist fehlgeschlagen!"
}
}
},
"dashboard": {
"deleted_message_count": "Gelöschte Nachrichten",
"header": "Server dashboard",
"moved_users_count": "Verschobene Benutzer",
"name": "Name",
"received_command_count": "Empfangene Befehle",
"received_message_count": "Empfangene Nachrichten",
"sent_message_count": "Gesendete Nachrichten"
},
"header": "Server",
"levels": {
"header": "Level",
"headers": {
"color": "Farbe",
"min_xp": "Min. XP",
"name": "Name",
"permissions": "Rechte"
},
"levels": "Level",
"message": {
"level_create": "Level erstellt",
edraft marked this conversation as resolved
Review

Evtl.:

"level_create": "Level wurde erstellt",
Evtl.: ```json "level_create": "Level wurde erstellt", ```
"level_create_d": "Level {{name}} erfolgreich erstellt",
"level_create_failed": "Level Erstellung fehlgeschlagen",
edraft marked this conversation as resolved
Review

"Levelerstellung" müsste in dem Fall zusammengeschrieben werden.
Evtl. auch mit "ist" im Text

"level_create_failed": "Levelerstellung ist fehlgeschlagen",
"Levelerstellung" müsste in dem Fall zusammengeschrieben werden. Evtl. auch mit "ist" im Text ```json "level_create_failed": "Levelerstellung ist fehlgeschlagen", ```
"level_create_failed_d": "Die Erstellung des Levels ist fehlgeschlagen!",
"level_delete": "Level löschen",
"level_delete_failed": "Level Löschung fehlgeschlagen",
edraft marked this conversation as resolved
Review

Evtl.:

"level_delete_failed": "Level Löschung ist fehlgeschlagen",
Evtl.: ```json "level_delete_failed": "Level Löschung ist fehlgeschlagen", ```
"level_delete_failed_d": "Die Löschung des Levels {{name}} ist fehlgeschlagen!",
"level_delete_q": "Sind Sie sich sicher, dass Sie das Level {{name}} löschen möchten?",
"level_deleted": "Level gelöscht",
edraft marked this conversation as resolved
Review

Evtl.:

"level_deleted": "Level wurde gelöscht",
Evtl.: ```json "level_deleted": "Level wurde gelöscht", ```
"level_deleted_d": "Level {{name}} erfolgreich gelöscht",
"level_update": "Level bearbeitet",
edraft marked this conversation as resolved
Review

Evtl.:

"level_update": "Level wurde bearbeitet",
Evtl.: ```json "level_update": "Level wurde bearbeitet", ```
"level_update_d": "Level {{name}} erfolgreich bearbeitet",
edraft marked this conversation as resolved
Review

Evtl.:

"level_update_d": "Level {{name}} wurde erfolgreich bearbeitet",
Evtl.: ```json "level_update_d": "Level {{name}} wurde erfolgreich bearbeitet", ```
"level_update_failed": "Level Bearbeitung fehlgeschlagen",
edraft marked this conversation as resolved
Review

Evtl.:

"level_update_failed": "Level Bearbeitung ist fehlgeschlagen",
Evtl.: ```json "level_update_failed": "Level Bearbeitung ist fehlgeschlagen", ```
"level_update_failed_d": "Die Bearbeitung des Levels ist fehlgeschlagen!"
}
},
"members": {
"header": "Mitglieder",
"headers": {
"left_server": "Aktiv",
"level": "Level",
"name": "Name",
"ontime": "Ontime",
"xp": "XP"
},
"members": "Mitgliedern",
"message": {
"user_change_failed": "Benutzeränderung fehlgeschlagen",

"Benutzeränderung" in dem Fall zusammengeschrieben.

"user_change_failed": "Benutzeränderung fehlgeschlagen",
"Benutzeränderung" in dem Fall zusammengeschrieben. ```json "user_change_failed": "Benutzeränderung fehlgeschlagen", ```
"user_change_failed_d": "Benutzer {{name}} konnte nicht geändert werden!",
"user_changed": "Benutzer geändert",
edraft marked this conversation as resolved
Review

Evtl.:

"user_changed": "Benutzer wurde geändert",
Evtl.: ```json "user_changed": "Benutzer wurde geändert", ```
"user_changed_d": "Benutzer {{name}} erfolgreich geändert"
edraft marked this conversation as resolved
Review

Evtl.:

"user_changed_d": "Benutzer {{name}} wurde erfolgreich geändert"
Evtl.: ```json "user_changed_d": "Benutzer {{name}} wurde erfolgreich geändert" ```
}
},
"profile": {
"header": "Dein Profil",
"joined_game_server": {
"header": "Gameserver-beitritte",
edraft marked this conversation as resolved
Review

"Gameserverbeitritte"

"header": "Gameserverbeitritte",
"Gameserverbeitritte" ```json "header": "Gameserverbeitritte", ```
"name": "Gameserver",
"time": "Spielzeit"
},
"joined_server": {
"header": "Server-beitritte",
edraft marked this conversation as resolved
Review

"Serverbeitritte"

"header": "Serverbeitritte",
"Serverbeitritte" ```json "header": "Serverbeitritte", ```
"time": "Zeit"
},
"joined_voice_channel": {
"channel": "Sprachkanal",
"header": "Sprachkanal-beitritte",
edraft marked this conversation as resolved
Review

"Sprachkanalbeitritte"

"header": "Sprachkanalbeitritte",
"Sprachkanalbeitritte" ```json "header": "Sprachkanalbeitritte", ```
"time": "Zeit"
},
"left_server": "Hat Server verlassen",
"level": "Level",
"minecraft_id": "Minecraft Id",
edraft marked this conversation as resolved
Review

Evtl.:

"minecraft_id": "Minecraft-Id",
Evtl.: ```json "minecraft_id": "Minecraft-Id", ```
"name": "Name",
"ontime": "Ontime",
"permission_denied": "Zugriff verweigert!",

"verweigert" im dem Fall klein.

"permission_denied": "Zugriff verweigert!",
"verweigert" im dem Fall klein. ```json "permission_denied": "Zugriff verweigert!", ```
"permission_denied_d": "Du musst Moderator sein, um andere Profile sehen zu können!",
"xp": "XP"
}
},
"user_settings": {
"email_already_exists": "Die E-Mail wurde bereits vergeben",
edraft marked this conversation as resolved
Review

"Vergeben" passt eher, wenn man ein Mailprovider ist.

"email_already_exists": "Die E-Mail-Adresse wird bereits benutzt",
"Vergeben" passt eher, wenn man ein Mailprovider ist. ```json "email_already_exists": "Die E-Mail-Adresse wird bereits benutzt", ```
"first_name": "Vorname",
"header": "Einstellungen",
"last_name": "Nachname",
"message": {
"changed_settings": "Die Einstellungen wurden geändert",
"could_not_change_settings": "Die Einstellungen konnten nicht geändert werden!",
"error": "Fehler",
"success": "Erfolg",
"user_not_found": "Benutzer nicht gefunden",
edraft marked this conversation as resolved
Review

Evtl.:

"user_not_found": "Benutzer wurde nicht gefunden",
Evtl.: ```json "user_not_found": "Benutzer wurde nicht gefunden", ```
"user_not_found_d": "Der Benutzer konnte nicht gefunden werden!"
},
"password": "Passwort",
"save": "Speichern",
"wrong_password": "Falsches Passwort"
}
}
}

View File

@ -1,322 +1,439 @@
{
"header": {
"change_password": "Change Password",
"settings": "Settings",
"logout": "Logout"
"admin": {
"auth_users": {
"header": "User",
"headers": {
"active": "Active",
"auth_role": "Role",
"first_name": "First name",

SIEHE UNTEN.

"first_name": "First name",
SIEHE UNTEN. ```json "first_name": "First name", ```
"last_name": "Last name",

DU HAST DA DOCH LEGIT DAS RICHTIGE MIT LAST NAME STEHEN

"last_name": "Last name",
DU HAST DA DOCH LEGIT DAS RICHTIGE MIT LAST NAME STEHEN ```json "last_name": "Last name", ```
"password": "Password",
"role": "Role",
"users": "User"
},
"message": {
"cannot_delete_user": "User cannot be deleted",
"invalid_email": "Invalid E-Mail",
"invalid_email_d": "E-Mail {{email}} is not valid!",
edraft marked this conversation as resolved Outdated

Klingt besser:

"invalid_email_d": "The entered email {{email}} is not valid!",
Klingt besser: ```json "invalid_email_d": "The entered email {{email}} is not valid!", ```
"logon_with_another_user": "Change to another account to delete this user!",

Satz liest sich komisch, doppeltes User. Evtl.:

"logon_with_another_user": "Change to another account to delete this user!",
Satz liest sich komisch, doppeltes User. Evtl.: ```json "logon_with_another_user": "Change to another account to delete this user!", ```
"user_added": "User added",
"user_added_d": "User {{email}} successfully added",
"user_already_exists": "User already exists",
"user_already_exists_d": "User {{email}} already exists!",
"user_change_failed": "User change failed",
"user_change_failed_d": "User {{email}} could not be changed!",
"user_changed": "User changed",
"user_changed_d": "User {{email}} changed successfully",
"user_delete": "Delete user",
"user_delete_q": "Are you sure you want to delete {{email}}?",
"user_deleted": "User deleted",
"user_deleted_d": "User {{email}} successfully deleted"
},
"users": "User"
},
"sidebar": {
"dashboard": "Dashboard",
"domain_list": "Domains",
"host_list": "Hosts",
"user_list": "Users",
"login_list": "Logins",
"config": "Configuration",
"auth_user_list": "User"
},
"admin": {
"settings": {
"header": "Configuration",
"website": {
"header": "Website",
"frontend_version": "Website version",
"backend_version": "Server version",
"config_path": "Configuration-Path",
"frontend_base_url": "Website Base-URL",
"backend_base_url": "Server Base-URL",
"token_expire_time": "Token expire time",
"refresh_token_expire_time": "Refresh Token expire time"
},
"e_mail": {
"header": "E-Mail",
"user": "User",
"host": "Host",
"port": "Port",
"transceiver": "Sender",
"e_mail_address": "E-Mail address",
"e_mail": "E-Mail",
"send_e_mail": "Send E-Mail"
},
"message": {
"error": "Error",
"could_not_send_mail": "E-mail could not be sent!",
"connection_failed": "Connection Failed",
"connection_to_mail_failed": "The connection to the mail server could not be established!",
"mail_login_failed": "The registration at the mail server failed!",
"send_failed": "Sending failed",
"test_mail_not_send": "The test email could not be sent!",
"success": "Success",
"send_mail": "Email was sent successfully"
}
},
"auth_users": {
"header": "User",
"of": "of",
"add": "Add",
"reset_filters": "Reset filters",
"users": "User",
"headers": {
"users": "User",
"first_name": "Forename",
"last_name": "Surname",
"e_mail": "E-Mail",
"active": "Active",
"role": "Role",
"password": "Password",
"actions": "Actions"
},
"no_entries_found": "No entries found",
"message": {
"invalid_email": "Invalid E-Mail",
"invalid_email_d": "The e-mail {{email}} is not valid!",
"user_already_exists": "User already exists",
"user_already_exists_d": "The user {{email}} already exists!",
"user_added": "User added",
"user_added_d": "User {{email}} successfully added",
"user_change_failed": "User change failed",
"user_change_failed_d": "User {{email}} could not be changed!",
"user_changed": "User changed",
"user_changed_d": "User {{email}} changed successfully",
"cannot_delete_user": "User cannot be deleted",
"logon_with_another_user": "Log in with another user to delete this user!",
"user_delete": "Delete user",
"user_delete_q": "Are you sure you want to delete {{email}}?",
"user_deleted": "User deleted",
"user_deleted_d": "User {{email}} successfully deleted"
}
}
},
"auth": {
"header": "Login counter",
"login": {
"e_mail": "E-Mail",
"password": "Password",
"login": "Login",
"register": "Register",
"forgot_password": "Forgot password?",
"e_mail_required": "E-Mail required",
"user_not_found": "User not found",
"e_mail_not_confirmed": "Email was not confirmed",
"password_required": "Passwort required",
"wrong_password": "Wrong password"
},
"register": {
"first_name": "Forename",
"last_name": "Surname",
"e_mail": "E-Mail",
"repeat_e_mail": "Repeat E-mail",
"password": "Password",
"repeat_password": "Repeat password",
"register": "Register",
"login": "Login",
"user_already_exists": "User already exists",
"passwords_not_match": "The passwords do not match",
"e_mails_not_match": "The emails do not match",
"first_name_required": "Forename required",
"last_name_required": "Surname required",
"e_mail_required": "E-Mail required",
"password_required": "Password required",
"first_name_invalid": "Forename invalid",
"last_name_invalid": "Surname invalid"
},
"forgot_password": {
"e_mail": "E-Mail",
"send_confirmation_url": "If a user was found with the email, a confirmation link was sent",
"reset_password": "Reset password",
"login": "Login",
"register": "Register",
"repeat_password": "Repeat password",
"passwords_do_not_match": "The passwords do not match",
"password": "Password",
"message": {
"reset_password": "Password reset",
"reset_password_d": "Your password has been reset"
}
}
},
"view": {
"dashboard": {},
"user-list": {},
"change-password": {
"header": "Change Password",
"wrong_password": "Wrong password",
"passwords_do_not_match": "The passwords do not match",
"password": "Password",
"active_password": "Current Password",
"new_password": "New password",
"repeat_new_password": "Repeat new password",
"save": "Save",
"message": {
"error": "Error",
"password_cannot_be_changed": "Your password could not be changed!",
"change_password": "Changed password",
"changed_password": "Your password has been changed"
}
},
"user_settings": {
"header": "Settings",
"first_name": "Forename",
"last_name": "Surname",
"e_mail": "E-Mail",
"password": "Password",
"e_mail_already_exists": "The email has already been taken",
"wrong_password": "Wrong password",
"save": "Save",
"message": {
"user_not_found": "User not found",
"user_not_found_d": "The user could not be found!",
"error": "Error",
"could_not_change_settings": "The settings could not be changed!",
"changed_settings": "Settings changed",
"success": "Success"
}
}
},
"footer": {
"imprint": "Imprint",
"backend": "Website",
"frontend": "API"
},
"dialog": {
"confirm": "Confirm",
"abort": "Abort"
},
"general": {
"days": "Days",
"minutes": "Minutes"
},
"login_models": {
"domain": {
"header": "Domain",
"name": "Name",
"users": "User",
"hosts": "Hosts",
"notify_when_login": "Notification after login",
"not_found": "Domain not found!"
},
"host": {
"header": "Host",
"name": "Name",
"ip_address": "IP Address",
"users": "User",
"domain": "Domain",
"os": "Operating system",
"notify_when_login": "Notification after login",
"not_found": "Host not found!"
},
"user": {
"header": "User",
"name": "Name",
"host": "Host",
"domain": "Domain",
"notify_when_login": "Notification after login",
"not_found": "User not found!"
},
"login": {
"header": "Login",
"time": "Time",
"user": "User",
"host": "Host",
"notify_when_login": "Notification after login",
"not_found": "Login not found!"
}
},
"common": {
"bool_as_string": {
"true": "Yes",
"false": "No"
},
"settings": {
"email": {
"email_address": "E-Mail address",
"header": "E-Mail",
"host": "Host",
"port": "Port",
"send_email": "Send E-Mail",
"transceiver": "Sender",
"user": "User"
},
"header": "Configuration",
"message": {
"connection_failed": "Connection Failed",
"connection_to_mail_failed": "The connection to the mail server could not be established!",
edraft marked this conversation as resolved
Review

Nicht direkt falsch, aber das liest sich besser:

"connection_to_mail_failed": "A connection to the mail server could not be established!",
Nicht direkt falsch, aber das liest sich besser: ```json "connection_to_mail_failed": "A connection to the mail server could not be established!", ```
"could_not_send_mail": "E-mail could not be sent!",
"error": "Error",
"404": "404 - Entry not found!"
},
"primeng": {
"startsWith": "Starts with",
"contains": "Contains",
"notContains": "Not contains",
"endsWith": "Ends with",
"equals": "Equals",
"notEquals": "Not equals",
"noFilter": "No Filter",
"lt": "Less than",
"lte": "Less than or equal to",
"gt": "Greater than",
"gte": "Great then or equals",
"is": "Is",
"isNot": "Is not",
"before": "Before",
"after": "After",
"clear": "Clear",
"apply": "Apply",
"matchAll": "Match All",
"matchAny": "Match Any",
"addRule": "Add Rule",
"removeRule": "Remove Rule",
"accept": "Yes",
"reject": "No",
"choose": "Choose",
"upload": "Upload",
"cancel": "Cancel",
"dayNames": [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"dayNamesShort": [
"Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat"
],
"dayNamesMin": [
"Su",
"Mo",
"Tu",
"We",
"Th",
"Fr",
"Sa"
],
"monthNames": [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
"monthNamesShort": [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
],
"today": "Today",
"weekHeader": "Wk",
"weak": "Weak",
"medium": "Medium",
"strong": "Strong",
"passwordPrompt": "Enter a password",
"emptyMessage": "No results found",
"emptyFilterMessage": "No results found"
"mail_login_failed": "Registration at the mail server failed!",

unten

"mail_login_failed": "Registration at the mail server failed!",
unten ```json "mail_login_failed": "Registration at the mail server failed!", ```
"send_failed": "Sending failed",
"send_mail": "Email was sent successfully",
"success": "Success",
"test_mail_not_send": "Test email could not be sent!"

unten.

"test_mail_not_send": "Test email could not be sent!"
unten. ```json "test_mail_not_send": "Test email could not be sent!" ```
},
"website": {
"backend_base_url": "Server Base-URL",
"backend_version": "Server version",
"config_path": "Configuration-Path",
"frontend_base_url": "Website Base-URL",
"frontend_version": "Website version",
"header": "Website",
"refresh_token_expire_time": "Refresh Token expire time",
"token_expire_time": "Token expire time"
}
}
}
},
"auth": {
"forgot_password": {
"login": "Login",
"message": {
"reset_password": "Password reset",
"reset_password_d": "Your password has been reseted"

Zeitfehler:

"reset_password_d": "Your password has been reseted"
Zeitfehler: ```json "reset_password_d": "Your password has been reseted" ```
},
"password": "Password",
"passwords_do_not_match": "Passwords do not match",
"register": "Register",
"repeat_password": "Repeat password",
"reset_password": "Reset password",
"send_confirmation_url": "A confirmation email will be sent if a user match with the email address"

Es liest sich als hätte man ein stroke.

"send_confirmation_url": "A confirmation email will be sent if a user match with the email address"
Es liest sich als hätte man ein stroke. ```json "send_confirmation_url": "A confirmation email will be sent if a user match with the email address" ```
},
"header": "Login counter",
"login": {
"email_not_confirmed": "Email was not confirmed",
"email_required": "E-Mail required",
"forgot_password": "Forgot password?",
"login": "Login",
"login_with_discord": "Login with discord",
"message": {
"confirm_email": "Confirm E-Mail",
Ebola-Chan marked this conversation as resolved
Review

Höflicher,

"confirm_email": "Please confirm your E-Mail",
Höflicher, ```json "confirm_email": "Please confirm your E-Mail", ```
"confirm_email_d": "You have to confirm your email {{email}} Please confirm your account through the link in the email."

Höflicher:

 "confirm_email_d": "You have to confirm your email {{email}} Please confirm your account through the link in email."
Höflicher: ```json "confirm_email_d": "You have to confirm your email {{email}} Please confirm your account through the link in email." ```

ein the vergessen

"confirm_email_d": "You have to confirm your email {{email}} Please confirm your account through the link in the email."
ein the vergessen ```json "confirm_email_d": "You have to confirm your email {{email}} Please confirm your account through the link in the email." ```
},
"password": "Password",
"password_required": "Passwort required",
"register": "Register",
"user_not_found": "User not found",
"wrong_password": "Wrong password"
},
"register": {
"email_required": "E-Mail required",
"emails_not_match": "E-Mails do not match",
"first_name": "First name",
"first_name_invalid": "First name invalid",
"first_name_required": "First name required",
"last_name": "Last name",
"last_name_invalid": "Last name invalid",
"last_name_required": "Last name required",
"login": "Login",
"password": "Password",
"password_required": "Password required",
"passwords_not_match": "Passwords do not match",
"register": "Register",
"register_with_discord": "Register with discord",
"repeat_email": "Repeat E-mail",
"repeat_password": "Repeat password",
"user_already_exists": "User already exists"
}
},
"common": {
"404": "404 - Entry not found!",
"actions": "Actions",
"add": "Add",
"bool_as_string": {
"false": "No",
"true": "Yes"
},
"created_at": "Created at",
"discord_id": "Discord Id",
"email": "E-Mail",
"error": "Error",
"id": "Id",
"joined_at": "Joined at",
"leaved_at": "Leaved at",
"modified_at": "Modified at",
"no_entries_found": "No entries found",
"of": "of",
"reset_filters": "Reset filters"
},
"dialog": {
"abort": "Abort",
"confirm": "Confirm"
},
"footer": {
"backend": "Website",
"frontend": "API",
"imprint": "Imprint"
},
"general": {
"days": "Days",
"hours": "Hours",
"minutes": "Minutes"
},
"header": {
"change_password": "Change Password",
"header": "Cookie Monster WI",
"logout": "Logout",
"settings": "Settings"
},
"primeng": {
"accept": "Yes",
"addRule": "Add Rule",
"after": "After",
"apply": "Apply",
"before": "Before",
"cancel": "Cancel",
"choose": "Choose",
"clear": "Clear",
"contains": "Contains",
"dayNames": [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"dayNamesMin": [
"Su",
"Mo",
"Tu",
"We",
"Th",
"Fr",
"Sa"
],
"dayNamesShort": [
"Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat"
],
"emptyFilterMessage": "No results found",
"emptyMessage": "No results found",
"endsWith": "Ends with",
"equals": "Equals",
"gt": "Greater than",
"gte": "Great then or equals",
"is": "Is",
"isNot": "Is not",
"lt": "Less than",
"lte": "Less than or equal to",
"matchAll": "Match All",
"matchAny": "Match Any",
"medium": "Medium",
"monthNames": [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
"monthNamesShort": [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
],
"noFilter": "No Filter",
"notContains": "Not contains",
"notEquals": "Not equals",
"passwordPrompt": "Enter a password",
"reject": "No",
"removeRule": "Remove Rule",
"startsWith": "Starts with",
"strong": "Strong",
"today": "Today",
"upload": "Upload",
"weak": "Weak",
"weekHeader": "Wk"
},
"sidebar": {
"administration": "Administration",
"auth_user_list": "User",
"config": "Configuration",
"dashboard": "Dashboard",
"members": "Members",
"server": {
"auto_roles": "Auto role",
"dashboard": "Dashboard",
"levels": "Level",
"members": "Members",
"profile": "Your profile"
},
"server_empty": "No server selected",
"settings": "Settings",
"user_list": "Users"
},
"view": {
"change-password": {
"active_password": "Current Password",
"header": "Change Password",
"message": {
"change_password": "Changed password",
"changed_password": "Your password has been changed",
"error": "Error",
"password_cannot_be_changed": "Your password could not be changed!"
},
"new_password": "New password",
"password": "Password",
"passwords_do_not_match": "Passwords do not match",
"repeat_new_password": "Repeat new password",
"save": "Save",
"wrong_password": "Wrong password"
},
"dashboard": {
"filter": {
"name": "Name"
},
"header": "Dashboard",
"server": {
"header": "Server",
"member_count": "Member(s)"
},
"servers": "Server"
},
"server": {
"auto_roles": {
"auto_roles": "Auto roles",
"header": "Auto roles",
"headers": {
"channel_id": "Channel Id",
"channel_name": "Channel",
"message_id": "Message Id",
"role_count": "Rules"
},
"message": {
"auto_role_create": "Auto role created",
"auto_role_create_d": "Auto role {{id}} created successfully",
"auto_role_create_failed": "Auto role creation failed",
"auto_role_create_failed_d": "Creation of the Auto Role has failed!",

unten

"auto_role_create_failed_d": "Creation of the Auto Role has failed!",
unten ```json "auto_role_create_failed_d": "Creation of the Auto Role has failed!", ```
"auto_role_delete": "Delete auto role",
"auto_role_delete_failed": "Auto role deletion failed",
"auto_role_delete_failed_d": "Deletion of the car role {{id}} failed!",

unten.

"auto_role_create_failed_d": "Creation of the Auto Role has failed!",
unten. ```json "auto_role_create_failed_d": "Creation of the Auto Role has failed!", ```
"auto_role_delete_q": "Are you sure you want to delete the {{id}} car role?",
"auto_role_deleted": "Auto role deleted",
"auto_role_deleted_d": "Auto role {{id}} deleted successfully"
},
"rules": {
"auto_roles": "Auto role rules",
"header": "Auto role rules",
"headers": {
"emoji": "Emoji",
"role": "Role"
},
"message": {
"auto_role_rule_create": "Auto role rules created",
"auto_role_rule_create_d": "Auto role rule {{id}} successfully created",
"auto_role_rule_create_failed": "Auto role rule creation failed",
"auto_role_rule_create_failed_d": "Creation of the Auto role rule failed!",

siehe unten.

"auto_role_rule_create_failed_d": "Creation of the Auto role rule failed!",
siehe unten. ```json "auto_role_rule_create_failed_d": "Creation of the Auto role rule failed!", ```
"auto_role_rule_delete": "Auto role rule delete",
"auto_role_rule_delete_failed": "Auto role rule deletion failed",
"auto_role_rule_delete_failed_d": "Deletion of the auto role rule {{id}} failed!",

siehe unten.

"auto_role_rule_delete_failed_d": "Deletion of the auto role rule {{id}} failed!",
siehe unten. ```json "auto_role_rule_delete_failed_d": "Deletion of the auto role rule {{id}} failed!", ```
"auto_role_rule_delete_q": "Are you sure you want to delete the auto role rule {{id}}?",
"auto_role_rule_deleted": "Auto role rule deleted",
"auto_role_rule_deleted_d": "Auto role rule {{id}} successfully deleted",
"auto_role_rule_update": "Auto role rule edited",
"auto_role_rule_update_d": "Auto role rule {{id}} successfully processed",
"auto_role_rule_update_failed": "Auto role rule processing failed",
"auto_role_rule_update_failed_d": "Processing of auto role rule has failed!"

siehe unten.

"auto_role_rule_update_failed_d": "Processing of the Auto role rule has failed!"
siehe unten. ```json "auto_role_rule_update_failed_d": "Processing of the Auto role rule has failed!" ```
}
}
},
"dashboard": {
"deleted_message_count": "Deleted messages",
"header": "Server dashboard",
"moved_users_count": "Moved users",
"name": "Name",
"received_command_count": "Received commands",
"received_message_count": "Received messages",
"sent_message_count": "Sent messages"
},
"header": "Server",
"levels": {
"header": "Level",
"headers": {
"color": "Color",
"min_xp": "Min. XP",
"name": "Name",
"permissions": "Permissions"
},
"levels": "Level",
"message": {
"level_create": "Level created",
"level_create_d": "Level {{name}} successfully created",
"level_create_failed": "Level creation failed",
"level_create_failed_d": "Creation of level failed!",

siehe level_delete_failed_d

"level_create_failed_d": "Creation of the level has failed!",
siehe level_delete_failed_d ```json "level_create_failed_d": "Creation of the level has failed!", ```
"level_delete": "Delete level",
"level_delete_failed": "Level deletion failed",
"level_delete_failed_d": "Deletion of level {{name}} failed!",

Der Artikel ist unnötig

"level_delete_failed_d": "Deletion of the {{name}} level failed!",
Der Artikel ist unnötig ```json "level_delete_failed_d": "Deletion of the {{name}} level failed!", ```
"level_delete_q": "Are you sure you want to delete the {{name}} level?",
"level_deleted": "Level deleted",
"level_deleted_d": "Level {{name}} successfully deleted\t",
"level_update": "Level edited",
"level_update_d": "Level {{name}} edited successfully",
"level_update_failed": "Level editing failed",
"level_update_failed_d": "Level editing failed!"
}
},
"members": {
"header": "Members",
"headers": {
"left_server": "Active",
"level": "Level",
"name": "Name",
"ontime": "Ontime",
"xp": "XP"
},
"members": "Members",
"message": {
"user_change_failed": "User change failed",
"user_change_failed_d": "User {{name}} could not be changed!",
"user_changed": "User changed",
"user_changed_d": "User {{name}} changed successfully"
}
},
"profile": {
"header": "Profile",
"joined_game_server": {
"header": "Game server accessions",
"name": "Game server",
"time": "Game time"
},
"joined_server": {
"header": "Server joins",
"time": "Time"
},
"joined_voice_channel": {
"channel": "Voice channel",
"header": "Voice channel joins",
"time": "Time"
},
"left_server": "Leaved server",
"level": "Level",
"minecraft_id": "Minecraft Id",
"name": "Name",
"ontime": "Ontime",
"permission_denied": "Access denied!",
"permission_denied_d": "You have to be moderator to see other profiles!",
"xp": "Xp"
}
},
"user_settings": {
"email_already_exists": "This email is already been taken",

KLingt runder:

"email_already_exists": "This email is already been taken",
KLingt runder: ```json "email_already_exists": "This email is already been taken", ```
"first_name": "First name",

FORENAME?!

"first_name": "First Name",
FORENAME?! ```json "first_name": "First Name", ```
"header": "Settings",
"last_name": "Last name",

technisch gesehen nicht falsch ABER

"last_name": "Last Name",
technisch gesehen nicht falsch ABER ```json "last_name": "Last Name", ```
"message": {
"changed_settings": "Settings changed",
"could_not_change_settings": "Settings could not be changed!",

klingt runder:

"could_not_change_settings": "Settings could not be changed!",
klingt runder: ```json "could_not_change_settings": "Settings could not be changed!", ```
"error": "Error",
"success": "Success",
"user_not_found": "User not found",
"user_not_found_d": "This user cannot be found!"

klingt runder

"user_not_found_d": "This user cannot be found!"
klingt runder ```json "user_not_found_d": "This user cannot be found!" ```
},
"password": "Password",
"save": "Save",
"wrong_password": "Wrong password"
}
}
}