Translate to German

This commit is contained in:
Leon Georgi 2019-06-09 14:48:56 +02:00
parent 3187f472fc
commit f5b937a293
Signed by: leon
GPG key ID: D97C549071D39393
15 changed files with 185 additions and 180 deletions

View file

@ -1,5 +1,10 @@
package de.kif.common.model
enum class Permission {
USER, SCHEDULE, WORK_GROUP, ROOM, POST, ADMIN
enum class Permission(val germanInfo: String) {
USER("Nutzer"),
SCHEDULE("Scheduling"),
WORK_GROUP("Arbeitskreise"),
ROOM("Räume"),
POST("Beiträge"),
ADMIN("Admin")
}

View file

@ -34,11 +34,11 @@ fun initWorkGroupConstraints() {
}
}
addList.textView("Add only on day") {
addList.textView("Nur an Tag x") {
onClick {
constraints.appendChild(View.wrap(createHtmlView<HTMLDivElement>()) {
classList += "input-group"
html.appendChild(TextView("On day").apply {
html.appendChild(TextView("An Tag").apply {
classList += "form-btn"
onClick { this@wrap.html.remove() }
}.html)
@ -51,11 +51,11 @@ fun initWorkGroupConstraints() {
}.html)
}
}
addList.textView("Add not on day") {
addList.textView("Nicht an Tag x") {
onClick {
constraints.appendChild(View.wrap(createHtmlView<HTMLDivElement>()) {
classList += "input-group"
html.appendChild(TextView("Not day").apply {
html.appendChild(TextView("Nicht an Tag").apply {
classList += "form-btn"
onClick { this@wrap.html.remove() }
}.html)
@ -68,11 +68,11 @@ fun initWorkGroupConstraints() {
}.html)
}
}
addList.textView("Add only before time") {
addList.textView("Wenn an Tag x, dann vor Zeit t") {
onClick {
constraints.appendChild(View.wrap(createHtmlView<HTMLDivElement>()) {
classList += "input-group"
html.appendChild(TextView("Before time").apply {
html.appendChild(TextView("Vor Zeit").apply {
classList += "form-btn"
onClick { this@wrap.html.remove() }
}.html)
@ -89,11 +89,11 @@ fun initWorkGroupConstraints() {
}.html)
}
}
addList.textView("Add only after time") {
addList.textView("Wenn an Tag x, dann ab Zeit t") {
onClick {
constraints.appendChild(View.wrap(createHtmlView<HTMLDivElement>()) {
classList += "input-group"
html.appendChild(TextView("After time").apply {
html.appendChild(TextView("Nach Zeit").apply {
classList += "form-btn"
onClick { this@wrap.html.remove() }
}.html)
@ -110,11 +110,11 @@ fun initWorkGroupConstraints() {
}.html)
}
}
addList.textView("Add not at same time") {
addList.textView("Nicht zur selben Zeit wie AK x") {
onClick {
constraints.appendChild(View.wrap(createHtmlView<HTMLDivElement>()) {
classList += "input-group"
html.appendChild(TextView("Not with").apply {
html.appendChild(TextView("Nicht parallel").apply {
classList += "form-btn"
onClick { this@wrap.html.remove() }
}.html)
@ -138,11 +138,11 @@ fun initWorkGroupConstraints() {
}.html)
}
}
addList.textView("Add only after work group") {
addList.textView("Nachdem AK x stattgefunden hat") {
onClick {
constraints.appendChild(View.wrap(createHtmlView<HTMLDivElement>()) {
classList += "input-group"
html.appendChild(TextView("After AK").apply {
html.appendChild(TextView("Nach AK").apply {
classList += "form-btn"
onClick { this@wrap.html.remove() }
}.html)

View file

@ -98,7 +98,7 @@
overflow: hidden;
&:hover::after {
content: 'DELETE';
content: 'LÖSCHEN';
position: absolute;
top: 0;
left: 0;

View file

@ -34,26 +34,26 @@ fun Route.account() {
authenticateOrRedirect { user ->
respondMain {
content {
h1 { +"Account" }
h1 { +"Konto" }
div {
+"Welcome ${user.username}!"
+"Hallo ${user.username}!"
br {}
+"You have the following rights: ${user.permissions}"
+"Du hast folgende Rechte: ${user.permissions.joinToString(", ") { it.germanInfo }}"
br {}
a("/logout") {
button(classes = "form-btn") {
+"Logout"
+"Ausloggen"
}
}
}
a(href = "/account/backup", classes = "form-btn") {
+"Backup"
+"Sicherung"
}
if (user.checkPermission(Permission.ADMIN)) {
a(href = "/account/import", classes = "form-btn") {
+"Import wiki"
+"Aus Wiki importieren"
}
}
}
@ -65,31 +65,31 @@ fun Route.account() {
authenticateOrRedirect { user ->
respondMain {
content {
h1 { +"Backup" }
h1 { +"Sicherung" }
div("account-backup") {
if (user.checkPermission(Permission.ROOM)) {
a("/account/backup/rooms.json", classes = "form-btn") {
attributes["download"] = "rooms-backup.json"
+"Create room backup"
+"Räume sichern"
}
}
if (user.checkPermission(Permission.USER)) {
a("/account/backup/users.json", classes = "form-btn") {
attributes["download"] = "users-backup.json"
+"Create user backup"
+"Nutzer sichern"
}
}
if (user.checkPermission(Permission.POST)) {
a("/account/backup/posts.json", classes = "form-btn") {
attributes["download"] = "posts-backup.json"
+"Create post backup"
+"Beiträge sichern"
}
}
if (user.checkPermission(Permission.WORK_GROUP)) {
a("/account/backup/work-groups.json", classes = "form-btn") {
attributes["download"] = "work-groups-backup.json"
+"Create work group backup"
+"Arbeitskreise sichern"
}
}
if (
@ -99,20 +99,20 @@ fun Route.account() {
) {
a("/account/backup/schedules.json", classes = "form-btn") {
attributes["download"] = "schedules-backup.json"
+"Create schedule backup"
+"Zeitplan sichern"
}
}
if (user.checkPermission(Permission.ADMIN)) {
a("/account/backup.json", classes = "form-btn") {
attributes["download"] = "backup.json"
+"Create backup"
+"Alles sichern" // TODO: richtiger Text?
}
}
}
if (user.checkPermission(Permission.ADMIN)) {
h1 { +"Restore" }
h1 { +"Wiederherstellen" }
div("account-import") {
form(
@ -123,7 +123,7 @@ fun Route.account() {
div("form-group") {
label {
htmlFor = "backup"
+"Backup image"
+"Aus Datei (JSON)"
}
input(
name = "backup",
@ -148,14 +148,14 @@ fun Route.account() {
}
label {
htmlFor = "reset"
+"Reset"
+"Zurücksetzen" // TODO: unverständlich
}
}
}
div("form-group") {
button(type = ButtonType.submit, classes = "form-btn btn-primary") {
+"Import"
+"Wiederherstellen"
}
}
}
@ -173,11 +173,11 @@ fun Route.account() {
respondMain {
content {
h1 { +"Import wiki" }
h1 { +"Aus Wiki importieren" }
if (user.checkPermission(Permission.ADMIN)) {
div("account-import-wiki") {
span { +"Import work group data from the kif wiki" }
span { +"Arbeitskreise aus dem KIF-Wiki importieren" }
form(action = "/account/import", method = FormMethod.post) {
for ((index, section) in wikiSections.withIndex()) {
@ -194,12 +194,12 @@ fun Route.account() {
option {
selected = false
value = "-1"
+"Do not import"
+"Nicht importieren"
}
option {
selected = true
value = "null"
+"None"
+"Importieren"
}
for (track in tracks) {
option {
@ -227,7 +227,7 @@ fun Route.account() {
}
label {
htmlFor = "skip-existing"
+"Skip existing work groups"
+"Existierende Arbeitskreise überspringen"
}
}
div("form-group form-switch") {
@ -241,13 +241,13 @@ fun Route.account() {
}
label {
htmlFor = "delete-existing"
+"Delete existing work groups"
+"Existierende Arbeitskreise löschen"
}
}
}
button(type = ButtonType.submit, classes = "form-btn btn-primary") {
+"Import wiki"
+"Importieren"
}
}
}

View file

@ -29,12 +29,12 @@ fun Route.board() {
attributes["data-reference"] = referenceTime.toString()
div("board-header") {
+"AKs"
+"Arbeitskreise"
}
div("board-card board-schedule-box") {
div("board-card-header") {
+"Running"
+"Aktuell"
}
table {
for ((schedule, time) in scheduleList) {
@ -45,7 +45,7 @@ fun Route.board() {
div("board-card board-schedule-box") {
div("board-card-header") {
+"Upcoming"
+"Später"
}
table {
for ((schedule, time) in scheduleList) {
@ -57,7 +57,7 @@ fun Route.board() {
div("board-posts") {
div("board-header") {
+"News"
+"Neuigkeiten"
}
for (post in postList) {
createPost(post, false, "board-card board-post")
@ -66,7 +66,7 @@ fun Route.board() {
div("board-twitter") {
div("board-header") {
+"Tweets"
+"Twitter"
}
div("board-card") {
unsafe {

View file

@ -76,7 +76,7 @@ private fun DIV.renderCalendar(
div("calendar-header") {
div("calendar-cell") {
span {
+"Room"
+"Raum"
}
}
@ -241,19 +241,19 @@ fun Route.calendar() {
}
div("header-right") {
a("/calendar/$day/rtt", classes = "form-btn") {
+"Room to time"
+"Vertikal"
}
a("/calendar/$day/ttr", classes = "form-btn") {
+"Time to room"
+"Horizontal"
}
if (editable) {
button(classes = "form-btn") {
id = "calendar-check-constraints"
+"Check constraints"
+"Constraints überprüfen"
}
button(classes = "form-btn") {
id = "calendar-edit-button"
+"Edit"
+"Bearbeiten"
}
}
}

View file

@ -40,20 +40,20 @@ fun Route.login() {
div("form-group") {
label {
htmlFor = "username"
+"Username"
+"Name"
}
input(
name = "username",
classes = "form-control"
) {
id = "username"
placeholder = "Username"
placeholder = "Name"
}
}
div("form-group") {
label {
htmlFor = "password"
+"Password"
+"Passwort"
}
input(
name = "password",
@ -61,7 +61,7 @@ fun Route.login() {
type = InputType.password
) {
id = "password"
placeholder = "Password"
placeholder = "Passwort"
}
}
input(
@ -71,14 +71,14 @@ fun Route.login() {
value = call.parameters["redirect"] ?: "/"
}
button(type = ButtonType.submit, classes = "form-btn btn-primary") {
+"Login"
+"Einloggen"
}
}
if ("onFailure" in call.parameters) {
br { }
div("alert alert-danger") {
+"Username or password incorrect!"
+"Ungültige Kombination aus Name und Passwort"
}
}
}

View file

@ -89,7 +89,7 @@ fun Route.overview() {
if (editable) {
div("overview-new") {
a("post/new", classes = "form-btn") {
+"New"
+"Neuer Eintrag"
}
}
}
@ -142,7 +142,7 @@ fun Route.overview() {
val editPost = PostRepository.get(postId) ?: return@get
respondMain {
content {
h1 { +"Edit post" }
h1 { +"Beitrag bearbeiten" }
div("post-edit-container") {
div("post-edit-left") {
form(method = FormMethod.post, encType = FormEncType.multipartFormData) {
@ -164,7 +164,7 @@ fun Route.overview() {
div("form-group") {
label {
htmlFor = "url"
+"Url"
+"URL"
}
input(
name = "url",
@ -178,7 +178,7 @@ fun Route.overview() {
label {
htmlFor = "image"
+"Image"
+"Bild"
}
div("post-edit-image-box") {
div {
@ -197,7 +197,7 @@ fun Route.overview() {
type = InputType.file
) {
id = "image"
value = "Upload image"
value = "Bild hochladen"
accept =
Configuration.General
.allowedUploadExtensionSet
@ -218,7 +218,7 @@ fun Route.overview() {
}
label {
htmlFor = "image-delete"
+"Delete image"
+"Bild löschen"
}
}
}
@ -236,7 +236,7 @@ fun Route.overview() {
}
label {
htmlFor = "pinned"
+"Pinned"
+"Anpinnen"
}
}
div("form-group form-switch") {
@ -250,7 +250,7 @@ fun Route.overview() {
}
label {
htmlFor = "hide-on-projector"
+"Hide on projector"
+"Auf Beamer verstecken"
}
}
}
@ -258,7 +258,7 @@ fun Route.overview() {
div("form-group") {
label {
htmlFor = "content"
+"Content"
+"Text"
}
textArea(rows = "10", classes = "form-control") {
name = "content"
@ -271,17 +271,17 @@ fun Route.overview() {
div("form-group") {
a("/") {
button(classes = "form-btn") {
+"Cancel"
+"Abbrechen"
}
}
button(type = ButtonType.submit, classes = "form-btn btn-primary") {
+"Save"
+"Speichern"
}
}
}
a("/post/${editPost.id}/delete") {
button(classes = "form-btn btn-danger") {
+"Delete"
+"Löschen"
}
}
}
@ -368,7 +368,7 @@ fun Route.overview() {
authenticateOrRedirect(Permission.POST) { user ->
respondMain {
content {
h1 { +"Create post" }
h1 { +"Beitrag erstellen" }
div("post-edit-container") {
div("post-edit-left") {
form(method = FormMethod.post, encType = FormEncType.multipartFormData) {
@ -389,7 +389,7 @@ fun Route.overview() {
div("form-group") {
label {
htmlFor = "url"
+"Url"
+"URL"
}
input(
name = "url",
@ -403,7 +403,7 @@ fun Route.overview() {
label {
htmlFor = "image"
+"Image"
+"Bild"
}
div("post-edit-image-box") {
div {
@ -417,7 +417,7 @@ fun Route.overview() {
type = InputType.file
) {
id = "image"
value = "Upload image"
value = "Bild hochladen"
accept =
Configuration.General
.allowedUploadExtensionSet
@ -441,7 +441,7 @@ fun Route.overview() {
}
label {
htmlFor = "pinned"
+"Pinned"
+"Anpinnen"
}
}
div("form-group form-switch") {
@ -455,7 +455,7 @@ fun Route.overview() {
}
label {
htmlFor = "hide-on-projector"
+"Hide on projector"
+"Auf Beamer verstecken"
}
}
}
@ -463,7 +463,7 @@ fun Route.overview() {
div("form-group") {
label {
htmlFor = "content"
+"Content"
+"Text"
}
textArea(rows = "10", classes = "form-control") {
name = "content"
@ -476,11 +476,11 @@ fun Route.overview() {
div("form-group") {
a("/") {
button(classes = "form-btn") {
+"Cancel"
+"Abbrechen"
}
}
button(type = ButtonType.submit, classes = "form-btn btn-primary") {
+"Create"
+"Erstellen"
}
}
}

View file

@ -40,7 +40,7 @@ fun Route.room() {
action {
a("/room/new") {
button(classes = "form-btn btn-primary") {
+"Add room"
+"Raum hinzufügen"
}
}
}
@ -50,13 +50,13 @@ fun Route.room() {
+"Name"
}
th {
+"Places"
+"Kapazität"
}
th {
+"Projector"
+"Beamer"
}
th(classes = "action") {
+"Action"
+"Aktion"
}
}
@ -110,7 +110,7 @@ fun Route.room() {
val editRoom = RoomRepository.get(roomId) ?: return@get
respondMain {
content {
h1 { +"Edit room" }
h1 { +"Raum bearbeiten" }
form(method = FormMethod.post) {
div("form-group") {
label {
@ -129,7 +129,7 @@ fun Route.room() {
div("form-group") {
label {
htmlFor = "places"
+"Places"
+"Kapazität"
}
input(
name = "places",
@ -137,7 +137,7 @@ fun Route.room() {
type = InputType.number
) {
id = "places"
placeholder = "Places"
placeholder = "Kapazität"
value = editRoom.places.toString()
min = "0"
@ -157,7 +157,7 @@ fun Route.room() {
}
label {
htmlFor = "projector"
+"Projector"
+"Beamer"
}
}
@ -202,7 +202,7 @@ fun Route.room() {
}
label {
htmlFor = "blackboard"
+"Blackboard"
+"Tafel"
}
}
@ -217,7 +217,7 @@ fun Route.room() {
}
label {
htmlFor = "accessible"
+"Accessible"
+"Barrierefreier Zugang"
}
}
}
@ -225,17 +225,17 @@ fun Route.room() {
div("form-group") {
a("/room") {
button(classes = "form-btn") {
+"Cancel"
+"Abbrechen"
}
}
button(type = ButtonType.submit, classes = "form-btn btn-primary") {
+"Save"
+"Speichern"
}
}
}
a("/room/${editRoom.id}/delete") {
button(classes = "form-btn btn-danger") {
+"Delete"
+"Löschen"
}
}
}
@ -269,7 +269,7 @@ fun Route.room() {
authenticateOrRedirect(Permission.ROOM) { user ->
respondMain {
content {
h1 { +"Create room" }
h1 { +"Raum erstellen" }
form(method = FormMethod.post) {
div("form-group") {
label {
@ -288,7 +288,7 @@ fun Route.room() {
div("form-group") {
label {
htmlFor = "places"
+"Places"
+"Kapazität"
}
input(
name = "places",
@ -296,7 +296,7 @@ fun Route.room() {
type = InputType.number
) {
id = "places"
placeholder = "Places"
placeholder = "Kapazität"
value = "0"
min = "0"
@ -316,7 +316,7 @@ fun Route.room() {
}
label {
htmlFor = "projector"
+"Projector"
+"Beamer"
}
}
@ -361,7 +361,7 @@ fun Route.room() {
}
label {
htmlFor = "blackboard"
+"Blackboard"
+"Tafel"
}
}
@ -376,7 +376,7 @@ fun Route.room() {
}
label {
htmlFor = "accessible"
+"Accessible"
+"Barrierefreier Zugang"
}
}
}
@ -384,11 +384,11 @@ fun Route.room() {
div("form-group") {
a("/room") {
button(classes = "form-btn") {
+"Cancel"
+"Abbrechen"
}
}
button(type = ButtonType.submit, classes = "form-btn btn-primary") {
+"Create"
+"Erstellen"
}
}
}

View file

@ -70,7 +70,7 @@ fun DIV.colorPicker(color: Color?) {
}
}
label {
title = "Custom"
title = "Andere Farbe"
htmlFor = "color-custom"
input(
@ -97,7 +97,7 @@ fun Route.track() {
action {
a("/track/new") {
button(classes = "form-btn btn-primary") {
+"Add track"
+"Track hinzufügen"
}
}
}
@ -107,10 +107,10 @@ fun Route.track() {
+"Name"
}
th {
+"Color"
+"Farbe"
}
th(classes = "action") {
+"Action"
+"Aktion"
}
}
@ -147,7 +147,7 @@ fun Route.track() {
val editTrack = TrackRepository.get(trackId) ?: return@get
respondMain {
content {
h1 { +"Edit track" }
h1 { +"Track bearbeiten" }
form(method = FormMethod.post) {
div("form-group") {
label {
@ -174,13 +174,13 @@ fun Route.track() {
}
}
button(type = ButtonType.submit, classes = "form-btn btn-primary") {
+"Save"
+"Speichern"
}
}
}
a("/track/${editTrack.id}/delete") {
button(classes = "form-btn btn-danger") {
+"Delete"
+"Löschen"
}
}
}
@ -212,7 +212,7 @@ fun Route.track() {
authenticateOrRedirect(Permission.WORK_GROUP) { user ->
respondMain {
content {
h1 { +"Create track" }
h1 { +"Track erstellen" }
form(method = FormMethod.post) {
div("form-group") {
label {
@ -234,11 +234,11 @@ fun Route.track() {
div("form-group") {
a("/track") {
button(classes = "form-btn") {
+"Cancel"
+"Abbrechen"
}
}
button(type = ButtonType.submit, classes = "form-btn btn-primary") {
+"Create"
+"Erstellen"
}
}
}

View file

@ -40,20 +40,20 @@ fun Route.user() {
action {
a("/user/new") {
button(classes = "form-btn btn-primary") {
+"Add user"
+"Nutzer hinzufügen"
}
}
}
header {
th {
+"Username"
+"Name"
}
th {
+"Permissions"
+"Rechte"
}
th(classes = "action") {
+"Action"
+"Aktion"
}
}
@ -89,26 +89,26 @@ fun Route.user() {
val editUser = UserRepository.get(userId) ?: return@get
respondMain {
content {
h1 { +"Edit user" }
h1 { +"Nutzer bearbeiten" }
form(method = FormMethod.post) {
div("form-group") {
label {
htmlFor = "username"
+"Username"
+"Name"
}
input(
name = "username",
classes = "form-control"
) {
id = "username"
placeholder = "Username"
placeholder = "Name"
value = editUser.username
}
}
div("form-switch-group") {
for (permission in Permission.values()) {
val name = permission.toString().toLowerCase()
val name = permission.germanInfo.toLowerCase()
div("form-group form-switch") {
input(
name = "permission-$name",
@ -133,17 +133,17 @@ fun Route.user() {
div("form-group") {
a("/user") {
button(classes = "form-btn") {
+"Cancel"
+"Abbrechen"
}
}
button(type = ButtonType.submit, classes = "form-btn btn-primary") {
+"Save"
+"Speichern"
}
}
}
a("/user/${editUser.id}/delete") {
button(classes = "form-btn btn-danger") {
+"Delete"
+"Löschen"
}
}
}
@ -178,26 +178,26 @@ fun Route.user() {
authenticateOrRedirect(Permission.USER) { user ->
respondMain {
content {
h1 { +"Create user" }
h1 { +"Nutzer erstellen" }
form(method = FormMethod.post) {
div("form-group") {
label {
htmlFor = "username"
+"Username"
+"Name"
}
input(
name = "username",
classes = "form-control"
) {
id = "username"
placeholder = "Username"
placeholder = "Name"
value = ""
}
}
div("form-group") {
label {
htmlFor = "password"
+"Password"
+"Passwort"
}
input(
name = "password",
@ -205,14 +205,14 @@ fun Route.user() {
type = InputType.password
) {
id = "password"
placeholder = "Password"
placeholder = "Passwort"
value = ""
}
}
div("form-switch-group") {
for (permission in Permission.values()) {
val name = permission.toString().toLowerCase()
val name = permission.germanInfo.toLowerCase()
div("form-group form-switch") {
input(
name = "permission-$name",
@ -237,11 +237,11 @@ fun Route.user() {
div("form-group") {
a("/user") {
button(classes = "form-btn") {
+"Cancel"
+"Abbrechen"
}
}
button(type = ButtonType.submit, classes = "form-btn btn-primary") {
+"Create"
+"Erstellen"
}
}
}

View file

@ -35,12 +35,12 @@ fun Route.workGroup() {
action {
a("/tracks") {
button(classes = "form-btn") {
+"Edit tracks"
+"Tracks bearbeiten"
}
}
a("/workgroup/new") {
button(classes = "form-btn btn-primary") {
+"Add work group"
+"Arbeitskreis hinzufügen"
}
}
}
@ -50,25 +50,25 @@ fun Route.workGroup() {
+"Name"
}
th {
+"Length"
+"Dauer"
}
th {
+"Interested"
+"Interessierte"
}
th {
+"Track"
}
th {
+"Projector"
+"Beamer"
}
th {
+"Resolution"
}
th {
+"Language"
+"Sprache"
}
th(classes = "action") {
+"Action"
+"Aktion"
}
}
@ -158,7 +158,7 @@ fun Route.workGroup() {
respondMain {
content {
h1 { +"Edit work group" }
h1 { +"Arbeitskreis bearbeiten" }
form(method = FormMethod.post) {
div("form-group") {
label {
@ -177,7 +177,7 @@ fun Route.workGroup() {
div("form-group") {
label {
htmlFor = "description"
+"Description"
+"Beschreibung"
}
textArea(rows = "10", classes = "form-control") {
name = "description"
@ -189,7 +189,7 @@ fun Route.workGroup() {
div("form-group") {
label {
htmlFor = "interested"
+"Interested"
+"Interessierte"
}
input(
name = "interested",
@ -230,7 +230,7 @@ fun Route.workGroup() {
div("form-group") {
label {
htmlFor = "length"
+"Length"
+"Dauer in Minuten"
}
input(
name = "length",
@ -248,7 +248,7 @@ fun Route.workGroup() {
div("form-group") {
label {
htmlFor = "language"
+"Language"
+"Sprache"
}
select(
classes = "form-control"
@ -270,14 +270,14 @@ fun Route.workGroup() {
label {
htmlFor = "leader"
+"Leader"
+"Leiter"
}
input(
name = "leader",
classes = "form-control"
) {
id = "leader"
placeholder = "Leader"
placeholder = "Leiter"
value = editWorkGroup.leader.joinToString(" $separator ")
}
@ -295,7 +295,7 @@ fun Route.workGroup() {
}
label {
htmlFor = "projector"
+"Projector"
+"Beamer"
}
}
div("form-group form-switch") {
@ -354,7 +354,7 @@ fun Route.workGroup() {
}
label {
htmlFor = "blackboard"
+"Blackboard"
+"Tafel"
}
}
@ -369,7 +369,7 @@ fun Route.workGroup() {
}
label {
htmlFor = "accessible"
+"Accessible"
+"Barrierefreier Zugang"
}
}
}
@ -389,7 +389,7 @@ fun Route.workGroup() {
when (constraint.type) {
ConstraintType.OnlyOnDay -> {
span("form-btn") {
+"On day"
+"An Tag"
}
input(
name = "constraint-only-on-day-$index",
@ -404,7 +404,7 @@ fun Route.workGroup() {
}
ConstraintType.NotOnDay -> {
span("form-btn") {
+"Not day"
+"Nicht an Tag"
}
input(
name = "constraint-not-on-day-$index",
@ -419,7 +419,7 @@ fun Route.workGroup() {
}
ConstraintType.OnlyBeforeTime -> {
span("form-btn") {
+"Before time"
+"Vor Zeit"
}
input(
name = "constraint-only-before-time-day-$index",
@ -441,7 +441,7 @@ fun Route.workGroup() {
}
ConstraintType.OnlyAfterTime -> {
span("form-btn") {
+"After time"
+"Nach Zeit"
}
input(
name = "constraint-only-after-time-day-$index",
@ -463,7 +463,7 @@ fun Route.workGroup() {
}
ConstraintType.NotAtSameTime -> {
span("form-btn") {
+"Not with"
+"Nicht parallel"
}
select(
classes = "form-control"
@ -479,7 +479,7 @@ fun Route.workGroup() {
}
ConstraintType.OnlyAfterWorkGroup -> {
span("form-btn") {
+"After AK"
+"Nach AK"
}
select(
classes = "form-control"
@ -502,17 +502,17 @@ fun Route.workGroup() {
div("form-group") {
a("/workgroup") {
button(classes = "form-btn") {
+"Cancel"
+"Abbrechen"
}
}
button(type = ButtonType.submit, classes = "form-btn btn-primary") {
+"Save"
+"Speichern"
}
}
}
a("/workgroup/${editWorkGroup.id}/delete") {
button(classes = "form-btn btn-danger") {
+"Delete"
+"Löschen"
}
}
}
@ -567,7 +567,7 @@ fun Route.workGroup() {
val tracks = TrackRepository.all()
respondMain {
content {
h1 { +"Create work group" }
h1 { +"Arbeitskreis erstellen" }
form(method = FormMethod.post) {
div("form-group") {
label {
@ -586,7 +586,7 @@ fun Route.workGroup() {
div("form-group") {
label {
htmlFor = "description"
+"Description"
+"Beschreibung"
}
textArea(rows = "10", classes = "form-control") {
name = "description"
@ -598,7 +598,7 @@ fun Route.workGroup() {
div("form-group") {
label {
htmlFor = "interested"
+"Interested"
+"Interessierte"
}
input(
name = "interested",
@ -638,7 +638,7 @@ fun Route.workGroup() {
div("form-group") {
label {
htmlFor = "length"
+"Length"
+"Dauer"
}
input(
name = "length",
@ -656,7 +656,7 @@ fun Route.workGroup() {
div("form-group") {
label {
htmlFor = "language"
+"Language"
+"Sprache"
}
select(
classes = "form-control"
@ -678,14 +678,14 @@ fun Route.workGroup() {
label {
htmlFor = "leader"
+"Leader"
+"Leiter"
}
input(
name = "leader",
classes = "form-control"
) {
id = "leader"
placeholder = "Leader"
placeholder = "Leiter"
value = ""
}
@ -704,7 +704,7 @@ fun Route.workGroup() {
}
label {
htmlFor = "projector"
+"Projector"
+"Beamer"
}
}
div("form-group form-switch") {
@ -763,7 +763,7 @@ fun Route.workGroup() {
}
label {
htmlFor = "blackboard"
+"Blackboard"
+"Tafel"
}
}
@ -778,7 +778,7 @@ fun Route.workGroup() {
}
label {
htmlFor = "accessible"
+"Accessible"
+"Barrierefreier Zugang"
}
}
}
@ -798,11 +798,11 @@ fun Route.workGroup() {
div("form-group") {
a("/workgroup") {
button(classes = "form-btn") {
+"Cancel"
+"Abbrechen"
}
}
button(type = ButtonType.submit, classes = "form-btn btn-primary") {
+"Create"
+"Erstellen"
}
}
}

View file

@ -81,10 +81,10 @@ class MainTemplate(
div("footer-credit") {
}
div("footer-theme") {
for ((it, name) in Theme.displayThemes) {
for ((it, text) in Theme.displayThemes) {
a("?theme=${it.name}", classes = if (theme == it) "selected" else "") {
id = "theme-$name"
+name.capitalize()
id = "theme-${it.name.toLowerCase()}"
+text.capitalize()
}
}
}
@ -95,16 +95,16 @@ class MainTemplate(
}
}
enum class Theme(val display: Boolean, val dark: Boolean, val primaryColor: String) {
LIGHT(true, false, "#B11D33"),
DARK(true, true, "#ef5350"),
PRINCESS(true, false, "#B11D33"),
BRETT(false, false, "#B11D33");
enum class Theme(val text: String, val display: Boolean, val dark: Boolean, val primaryColor: String) {
LIGHT("Hell",true, false, "#B11D33"),
DARK("Dunkel",true, true, "#ef5350"),
PRINCESS("Barbie",true, false, "#B11D33"),
BRETT("Brett",false, false, "#B11D33");
companion object {
private val lookup = values().toList().associateBy { it.name }
val displayThemes = values().filter { it.display }.map { it to it.name.toLowerCase() }
val displayThemes = values().filter { it.display }.map { it to it.text.toLowerCase() }
fun lookup(name: String?): Theme {
return lookup[(name ?: return LIGHT).toUpperCase()] ?: LIGHT

View file

@ -17,10 +17,10 @@ class MenuTemplate(
div("container") {
div("menu-left") {
a("/", classes = if (tab == null) "active" else null) {
+"News"
+"Neuigkeiten"
}
a("/calendar", classes = if (tab == Tab.CALENDAR) "active" else null) {
+"Calendar"
+"Zeitplan"
}
}
div("menu-right") {
@ -31,22 +31,22 @@ class MenuTemplate(
div("menu-content") {
if (user == null) {
a("/account", classes = if (tab == Tab.LOGIN) "active" else null) {
+"Login"
+"Einloggen"
}
} else {
if (user.checkPermission(Permission.WORK_GROUP)) {
a("/workgroups", classes = if (tab == Tab.WORK_GROUP) "active" else null) {
+"Work groups"
+"Arbeitskreise"
}
}
if (user.checkPermission(Permission.ROOM)) {
a("/rooms", classes = if (tab == Tab.ROOM) "active" else null) {
+"Rooms"
+"Räume"
}
}
if (user.checkPermission(Permission.USER)) {
a("/users", classes = if (tab == Tab.USER) "active" else null) {
+"Users"
+"Nutzer"
}
}
a("/account", classes = if (tab == Tab.ACCOUNT) "active" else null) {

View file

@ -18,7 +18,7 @@ class TableTemplate(private val classes: String = "") : Template<FlowContent> {
form(classes = "form-group table-layout-search") {
div("input-group") {
input(InputType.search, name = "search", classes = "form-control") {
placeholder = "Search"
placeholder = "Suchen"
value = searchValue
}
button(type = ButtonType.submit, classes = "form-btn btn-search") {