mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-22 10:28:27 +00:00
Manage notification channels separately and migrate
It's more convenient to manage notification channels separately, as it is done with email settings. Notification hook and other forms are adopted to only select channels. Hooks can now use more than one channel.
This commit is contained in:
@ -0,0 +1,41 @@
|
||||
{-
|
||||
Copyright 2020 Eike K. & Contributors
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
-}
|
||||
|
||||
|
||||
module Messages.Comp.ChannelRefInput exposing
|
||||
( Texts
|
||||
, de
|
||||
, gb
|
||||
)
|
||||
|
||||
import Messages.Basics
|
||||
import Messages.Data.ChannelType
|
||||
|
||||
|
||||
type alias Texts =
|
||||
{ basics : Messages.Basics.Texts
|
||||
, channelType : Messages.Data.ChannelType.Texts
|
||||
, placeholder : String
|
||||
, noCategory : String
|
||||
}
|
||||
|
||||
|
||||
gb : Texts
|
||||
gb =
|
||||
{ basics = Messages.Basics.gb
|
||||
, channelType = Messages.Data.ChannelType.gb
|
||||
, placeholder = "Choose…"
|
||||
, noCategory = "No channel"
|
||||
}
|
||||
|
||||
|
||||
de : Texts
|
||||
de =
|
||||
{ basics = Messages.Basics.de
|
||||
, channelType = Messages.Data.ChannelType.de
|
||||
, placeholder = "Wähle…"
|
||||
, noCategory = "Kein Kanal"
|
||||
}
|
@ -15,6 +15,7 @@ import Http
|
||||
import Messages.Basics
|
||||
import Messages.Comp.CalEventInput
|
||||
import Messages.Comp.ChannelForm
|
||||
import Messages.Comp.ChannelRefInput
|
||||
import Messages.Comp.HttpError
|
||||
import Messages.Comp.TagDropdown
|
||||
import Messages.Data.ChannelType
|
||||
@ -26,6 +27,8 @@ type alias Texts =
|
||||
, httpError : Http.Error -> String
|
||||
, channelForm : Messages.Comp.ChannelForm.Texts
|
||||
, tagDropdown : Messages.Comp.TagDropdown.Texts
|
||||
, channelType : Messages.Data.ChannelType.Texts
|
||||
, channelRef : Messages.Comp.ChannelRefInput.Texts
|
||||
, reallyDeleteTask : String
|
||||
, startOnce : String
|
||||
, startTaskNow : String
|
||||
@ -50,7 +53,7 @@ type alias Texts =
|
||||
, recipientsRequired : String
|
||||
, queryLabel : String
|
||||
, channelRequired : String
|
||||
, channelHeader : Messages.Data.ChannelType.Texts
|
||||
, channelHeader : String
|
||||
}
|
||||
|
||||
|
||||
@ -61,6 +64,8 @@ gb =
|
||||
, httpError = Messages.Comp.HttpError.gb
|
||||
, channelForm = Messages.Comp.ChannelForm.gb
|
||||
, tagDropdown = Messages.Comp.TagDropdown.gb
|
||||
, channelType = Messages.Data.ChannelType.gb
|
||||
, channelRef = Messages.Comp.ChannelRefInput.gb
|
||||
, reallyDeleteTask = "Really delete this notification task?"
|
||||
, startOnce = "Start Once"
|
||||
, startTaskNow = "Start this task now"
|
||||
@ -89,7 +94,7 @@ gb =
|
||||
, recipientsRequired = "At least one recipient is required."
|
||||
, queryLabel = "Query"
|
||||
, channelRequired = "A valid channel must be given."
|
||||
, channelHeader = \ct -> "Connection details for " ++ Messages.Data.ChannelType.gb ct
|
||||
, channelHeader = "Channels"
|
||||
}
|
||||
|
||||
|
||||
@ -98,8 +103,10 @@ de =
|
||||
{ basics = Messages.Basics.de
|
||||
, calEventInput = Messages.Comp.CalEventInput.de
|
||||
, httpError = Messages.Comp.HttpError.de
|
||||
, channelForm = Messages.Comp.ChannelForm.gb
|
||||
, tagDropdown = Messages.Comp.TagDropdown.gb
|
||||
, channelForm = Messages.Comp.ChannelForm.de
|
||||
, tagDropdown = Messages.Comp.TagDropdown.de
|
||||
, channelType = Messages.Data.ChannelType.de
|
||||
, channelRef = Messages.Comp.ChannelRefInput.de
|
||||
, reallyDeleteTask = "Diesen Benachrichtigungsauftrag wirklich löschen?"
|
||||
, startOnce = "Jetzt starten"
|
||||
, startTaskNow = "Starte den Auftrag sofort"
|
||||
@ -128,5 +135,5 @@ de =
|
||||
, recipientsRequired = "Mindestens ein Empfänger muss angegeben werden."
|
||||
, queryLabel = "Abfrage"
|
||||
, channelRequired = "Ein Versandkanal muss angegeben werden."
|
||||
, channelHeader = \ct -> "Details für " ++ Messages.Data.ChannelType.de ct
|
||||
, channelHeader = "Kanäle"
|
||||
}
|
||||
|
@ -12,32 +12,33 @@ module Messages.Comp.DueItemsTaskList exposing
|
||||
)
|
||||
|
||||
import Messages.Basics
|
||||
import Messages.Data.ChannelType
|
||||
|
||||
|
||||
type alias Texts =
|
||||
{ basics : Messages.Basics.Texts
|
||||
, channelType : Messages.Data.ChannelType.Texts
|
||||
, summary : String
|
||||
, schedule : String
|
||||
, connection : String
|
||||
, recipients : String
|
||||
}
|
||||
|
||||
|
||||
gb : Texts
|
||||
gb =
|
||||
{ basics = Messages.Basics.gb
|
||||
, channelType = Messages.Data.ChannelType.gb
|
||||
, summary = "Summary"
|
||||
, schedule = "Schedule"
|
||||
, connection = "Connection"
|
||||
, recipients = "Recipients"
|
||||
, connection = "Channel"
|
||||
}
|
||||
|
||||
|
||||
de : Texts
|
||||
de =
|
||||
{ basics = Messages.Basics.de
|
||||
, channelType = Messages.Data.ChannelType.de
|
||||
, summary = "Kurzbeschreibung"
|
||||
, schedule = "Zeitplan"
|
||||
, connection = "Verbindung"
|
||||
, recipients = "Empfänger"
|
||||
, connection = "Kanal"
|
||||
}
|
||||
|
@ -0,0 +1,83 @@
|
||||
{-
|
||||
Copyright 2020 Eike K. & Contributors
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
-}
|
||||
|
||||
|
||||
module Messages.Comp.NotificationChannelManage exposing (Texts, de, gb)
|
||||
|
||||
import Http
|
||||
import Messages.Basics
|
||||
import Messages.Comp.ChannelForm
|
||||
import Messages.Comp.HttpError
|
||||
import Messages.Comp.NotificationChannelTable
|
||||
import Messages.Data.ChannelType
|
||||
|
||||
|
||||
type alias Texts =
|
||||
{ basics : Messages.Basics.Texts
|
||||
, notificationForm : Messages.Comp.ChannelForm.Texts
|
||||
, notificationTable : Messages.Comp.NotificationChannelTable.Texts
|
||||
, httpError : Http.Error -> String
|
||||
, channelType : Messages.Data.ChannelType.Texts
|
||||
, newChannel : String
|
||||
, channelCreated : String
|
||||
, channelUpdated : String
|
||||
, channelDeleted : String
|
||||
, formInvalid : String
|
||||
, integrate : String
|
||||
, intoDocspell : String
|
||||
, postRequestInfo : String
|
||||
, notifyEmailInfo : String
|
||||
, addChannel : String
|
||||
, updateChannel : String
|
||||
, deleteThisChannel : String
|
||||
, reallyDeleteChannel : String
|
||||
}
|
||||
|
||||
|
||||
gb : Texts
|
||||
gb =
|
||||
{ basics = Messages.Basics.gb
|
||||
, notificationForm = Messages.Comp.ChannelForm.gb
|
||||
, notificationTable = Messages.Comp.NotificationChannelTable.gb
|
||||
, httpError = Messages.Comp.HttpError.gb
|
||||
, channelType = Messages.Data.ChannelType.gb
|
||||
, newChannel = "New Channel"
|
||||
, channelCreated = "Channel created"
|
||||
, channelUpdated = "Channel updated"
|
||||
, channelDeleted = "Channel deleted"
|
||||
, formInvalid = "Please fill in all required fields"
|
||||
, integrate = "Integrate"
|
||||
, intoDocspell = "into Docspell"
|
||||
, postRequestInfo = "Docspell will send POST requests with JSON payload."
|
||||
, notifyEmailInfo = "Get notified via e-mail."
|
||||
, addChannel = "Add new channel"
|
||||
, updateChannel = "Update channel"
|
||||
, deleteThisChannel = "Kanal löschen"
|
||||
, reallyDeleteChannel = "Really delete this channel?"
|
||||
}
|
||||
|
||||
|
||||
de : Texts
|
||||
de =
|
||||
{ basics = Messages.Basics.de
|
||||
, notificationForm = Messages.Comp.ChannelForm.de
|
||||
, notificationTable = Messages.Comp.NotificationChannelTable.de
|
||||
, httpError = Messages.Comp.HttpError.de
|
||||
, channelType = Messages.Data.ChannelType.de
|
||||
, newChannel = "Neuer Kanal"
|
||||
, channelCreated = "Kanal wurde angelegt."
|
||||
, channelUpdated = "Kanal wurde aktualisiert."
|
||||
, channelDeleted = "Kanal wurde entfernt."
|
||||
, formInvalid = "Bitte alle erforderlichen Felder ausfüllen"
|
||||
, integrate = "Integriere"
|
||||
, intoDocspell = "in Docspell"
|
||||
, postRequestInfo = "Docspell wird JSON POST requests senden."
|
||||
, notifyEmailInfo = "Werde per E-Mail benachrichtigt."
|
||||
, addChannel = "Neuen Kanal hinzufügen"
|
||||
, updateChannel = "Kanal aktualisieren"
|
||||
, deleteThisChannel = "Kanal löschen"
|
||||
, reallyDeleteChannel = "Den Kanal wirklich löschen?"
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
{-
|
||||
Copyright 2020 Eike K. & Contributors
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
-}
|
||||
|
||||
|
||||
module Messages.Comp.NotificationChannelTable exposing (..)
|
||||
|
||||
import Data.EventType exposing (EventType)
|
||||
import Messages.Basics
|
||||
import Messages.Data.EventType
|
||||
|
||||
|
||||
type alias Texts =
|
||||
{ basics : Messages.Basics.Texts
|
||||
, eventType : EventType -> Messages.Data.EventType.Texts
|
||||
, channelType : String
|
||||
}
|
||||
|
||||
|
||||
gb : Texts
|
||||
gb =
|
||||
{ basics = Messages.Basics.gb
|
||||
, eventType = Messages.Data.EventType.gb
|
||||
, channelType = "Channel type"
|
||||
}
|
||||
|
||||
|
||||
de : Texts
|
||||
de =
|
||||
{ basics = Messages.Basics.de
|
||||
, eventType = Messages.Data.EventType.de
|
||||
, channelType = "Kanaltyp"
|
||||
}
|
@ -13,18 +13,17 @@ module Messages.Comp.NotificationHookForm exposing
|
||||
|
||||
import Data.EventType exposing (EventType)
|
||||
import Messages.Basics
|
||||
import Messages.Comp.ChannelForm
|
||||
import Messages.Comp.ChannelRefInput
|
||||
import Messages.Comp.EventSample
|
||||
import Messages.Data.ChannelType
|
||||
import Messages.Data.EventType
|
||||
|
||||
|
||||
type alias Texts =
|
||||
{ basics : Messages.Basics.Texts
|
||||
, channelForm : Messages.Comp.ChannelForm.Texts
|
||||
, channelRef : Messages.Comp.ChannelRefInput.Texts
|
||||
, eventType : EventType -> Messages.Data.EventType.Texts
|
||||
, eventSample : Messages.Comp.EventSample.Texts
|
||||
, channelHeader : Messages.Data.ChannelType.Texts
|
||||
, channelHeader : String
|
||||
, enableDisable : String
|
||||
, eventsInfo : String
|
||||
, selectEvents : String
|
||||
@ -34,16 +33,19 @@ type alias Texts =
|
||||
, eventFilter : String
|
||||
, eventFilterInfo : String
|
||||
, eventFilterClickForHelp : String
|
||||
, jsonPayload : String
|
||||
, messagePayload : String
|
||||
, payloadInfo : String
|
||||
}
|
||||
|
||||
|
||||
gb : Texts
|
||||
gb =
|
||||
{ basics = Messages.Basics.gb
|
||||
, channelForm = Messages.Comp.ChannelForm.gb
|
||||
, channelRef = Messages.Comp.ChannelRefInput.gb
|
||||
, eventType = Messages.Data.EventType.gb
|
||||
, eventSample = Messages.Comp.EventSample.gb
|
||||
, channelHeader = Messages.Data.ChannelType.gb
|
||||
, channelHeader = "Select channels"
|
||||
, enableDisable = "Enabled / Disabled"
|
||||
, eventsInfo = "Select events that trigger this webhook"
|
||||
, selectEvents = "Select…"
|
||||
@ -53,16 +55,19 @@ gb =
|
||||
, eventFilter = "Event Filter Expression"
|
||||
, eventFilterInfo = "Optional specify an expression to filter events based on their JSON structure."
|
||||
, eventFilterClickForHelp = "Click here for help"
|
||||
, jsonPayload = "JSON"
|
||||
, messagePayload = "Message"
|
||||
, payloadInfo = "Message payloads are sent to gotify, email and matrix. The JSON is sent to http channel."
|
||||
}
|
||||
|
||||
|
||||
de : Texts
|
||||
de =
|
||||
{ basics = Messages.Basics.de
|
||||
, channelForm = Messages.Comp.ChannelForm.de
|
||||
, channelRef = Messages.Comp.ChannelRefInput.de
|
||||
, eventType = Messages.Data.EventType.de
|
||||
, eventSample = Messages.Comp.EventSample.de
|
||||
, channelHeader = Messages.Data.ChannelType.de
|
||||
, channelHeader = "Kanäle"
|
||||
, enableDisable = "Aktiviert / Deaktivert"
|
||||
, eventsInfo = "Wähle die Ereignisse, die diesen webhook auslösen"
|
||||
, selectEvents = "Wähle…"
|
||||
@ -72,4 +77,7 @@ de =
|
||||
, eventFilter = "Ereignisfilter"
|
||||
, eventFilterInfo = "Optionaler Ausdruck zum filtern von Ereignissen auf Basis ihrer JSON Struktur."
|
||||
, eventFilterClickForHelp = "Klicke für Hilfe"
|
||||
, jsonPayload = "JSON"
|
||||
, messagePayload = "Nachricht"
|
||||
, payloadInfo = "Es werden abhängig vom Kanal JSON oder Nachricht-Formate versendet. Der HTTP Kanal empfängt nur JSON, an die anderen wird das Nachrichtformat gesendet."
|
||||
}
|
||||
|
@ -11,7 +11,6 @@ module Messages.Comp.NotificationHookManage exposing
|
||||
, gb
|
||||
)
|
||||
|
||||
import Html exposing (Html, text)
|
||||
import Http
|
||||
import Messages.Basics
|
||||
import Messages.Comp.HttpError
|
||||
@ -27,9 +26,6 @@ type alias Texts =
|
||||
, httpError : Http.Error -> String
|
||||
, channelType : Messages.Data.ChannelType.Texts
|
||||
, newHook : String
|
||||
, matrix : String
|
||||
, gotify : String
|
||||
, email : String
|
||||
, httpRequest : String
|
||||
, hookCreated : String
|
||||
, hookUpdated : String
|
||||
@ -39,12 +35,8 @@ type alias Texts =
|
||||
, reallyDeleteHook : String
|
||||
, formInvalid : String
|
||||
, invalidJsonFilter : String -> String
|
||||
, integrate : String
|
||||
, intoDocspell : String
|
||||
, postRequestInfo : String
|
||||
, updateWebhook : String
|
||||
, addWebhook : String
|
||||
, notifyEmailInfo : String
|
||||
}
|
||||
|
||||
|
||||
@ -56,9 +48,6 @@ gb =
|
||||
, httpError = Messages.Comp.HttpError.gb
|
||||
, channelType = Messages.Data.ChannelType.gb
|
||||
, newHook = "New Webhook"
|
||||
, matrix = "Matrix"
|
||||
, gotify = "Gotify"
|
||||
, email = "E-Mail"
|
||||
, httpRequest = "HTTP Request"
|
||||
, hookCreated = "Webhook created"
|
||||
, hookUpdated = "Webhook updated"
|
||||
@ -68,12 +57,8 @@ gb =
|
||||
, reallyDeleteHook = "Really delete this webhook?"
|
||||
, formInvalid = "Please fill in all required fields"
|
||||
, invalidJsonFilter = \m -> "Event filter invalid: " ++ m
|
||||
, integrate = "Integrate"
|
||||
, intoDocspell = "into Docspell"
|
||||
, postRequestInfo = "Docspell will send POST requests with JSON payload."
|
||||
, updateWebhook = "Update webhook"
|
||||
, addWebhook = "Add new webhook"
|
||||
, notifyEmailInfo = "Get notified via e-mail."
|
||||
}
|
||||
|
||||
|
||||
@ -85,9 +70,6 @@ de =
|
||||
, httpError = Messages.Comp.HttpError.de
|
||||
, channelType = Messages.Data.ChannelType.de
|
||||
, newHook = "Neuer Webhook"
|
||||
, matrix = "Matrix"
|
||||
, gotify = "Gotify"
|
||||
, email = "E-Mail"
|
||||
, httpRequest = "HTTP Request"
|
||||
, hookCreated = "Webhook erstellt"
|
||||
, hookUpdated = "Webhook aktualisiert"
|
||||
@ -97,10 +79,6 @@ de =
|
||||
, reallyDeleteHook = "Den webhook wirklich löschen?"
|
||||
, formInvalid = "Bitte alle erforderlichen Felder ausfüllen"
|
||||
, invalidJsonFilter = \m -> "Ereignisfilter ist falsch: " ++ m
|
||||
, integrate = "Integriere"
|
||||
, intoDocspell = "in Docspell"
|
||||
, postRequestInfo = "Docspell wird JSON POST requests senden."
|
||||
, updateWebhook = "Webhook aktualisieren"
|
||||
, addWebhook = "Neuen Webhook hinzufügen"
|
||||
, notifyEmailInfo = "Werde per E-Mail benachrichtigt."
|
||||
}
|
||||
|
@ -13,15 +13,18 @@ module Messages.Comp.NotificationHookTable exposing
|
||||
|
||||
import Data.EventType exposing (EventType)
|
||||
import Messages.Basics
|
||||
import Messages.Data.ChannelType
|
||||
import Messages.Data.EventType
|
||||
|
||||
|
||||
type alias Texts =
|
||||
{ basics : Messages.Basics.Texts
|
||||
, eventType : EventType -> Messages.Data.EventType.Texts
|
||||
, channelType : Messages.Data.ChannelType.Texts
|
||||
, enabled : String
|
||||
, channel : String
|
||||
, events : String
|
||||
, allEvents : String
|
||||
}
|
||||
|
||||
|
||||
@ -29,9 +32,11 @@ gb : Texts
|
||||
gb =
|
||||
{ basics = Messages.Basics.gb
|
||||
, eventType = Messages.Data.EventType.gb
|
||||
, channelType = Messages.Data.ChannelType.gb
|
||||
, enabled = "Enabled"
|
||||
, channel = "Channel"
|
||||
, events = "Events"
|
||||
, allEvents = "All"
|
||||
}
|
||||
|
||||
|
||||
@ -39,7 +44,9 @@ de : Texts
|
||||
de =
|
||||
{ basics = Messages.Basics.de
|
||||
, eventType = Messages.Data.EventType.de
|
||||
, channelType = Messages.Data.ChannelType.de
|
||||
, enabled = "Aktiv"
|
||||
, channel = "Kanal"
|
||||
, events = "Ereignisse"
|
||||
, allEvents = "Alle"
|
||||
}
|
||||
|
@ -11,14 +11,13 @@ module Messages.Comp.PeriodicQueryTaskForm exposing
|
||||
, gb
|
||||
)
|
||||
|
||||
import Data.ChannelType exposing (ChannelType)
|
||||
import Http
|
||||
import Messages.Basics
|
||||
import Messages.Comp.BookmarkDropdown
|
||||
import Messages.Comp.CalEventInput
|
||||
import Messages.Comp.ChannelForm
|
||||
import Messages.Comp.ChannelRefInput
|
||||
import Messages.Comp.HttpError
|
||||
import Messages.Data.ChannelType
|
||||
|
||||
|
||||
type alias Texts =
|
||||
@ -26,6 +25,7 @@ type alias Texts =
|
||||
, calEventInput : Messages.Comp.CalEventInput.Texts
|
||||
, channelForm : Messages.Comp.ChannelForm.Texts
|
||||
, bookmarkDropdown : Messages.Comp.BookmarkDropdown.Texts
|
||||
, channelRef : Messages.Comp.ChannelRefInput.Texts
|
||||
, httpError : Http.Error -> String
|
||||
, reallyDeleteTask : String
|
||||
, startOnce : String
|
||||
@ -41,7 +41,7 @@ type alias Texts =
|
||||
, invalidCalEvent : String
|
||||
, channelRequired : String
|
||||
, queryStringRequired : String
|
||||
, channelHeader : ChannelType -> String
|
||||
, channelHeader : String
|
||||
, messageContentTitle : String
|
||||
, messageContentLabel : String
|
||||
, messageContentInfo : String
|
||||
@ -56,6 +56,7 @@ gb =
|
||||
, channelForm = Messages.Comp.ChannelForm.gb
|
||||
, httpError = Messages.Comp.HttpError.gb
|
||||
, bookmarkDropdown = Messages.Comp.BookmarkDropdown.gb
|
||||
, channelRef = Messages.Comp.ChannelRefInput.gb
|
||||
, reallyDeleteTask = "Really delete this notification task?"
|
||||
, startOnce = "Start Once"
|
||||
, startTaskNow = "Start this task now"
|
||||
@ -74,7 +75,7 @@ gb =
|
||||
, queryLabel = "Query"
|
||||
, channelRequired = "A valid channel must be given."
|
||||
, queryStringRequired = "A query string and/or bookmark must be supplied"
|
||||
, channelHeader = \ct -> "Connection details for " ++ Messages.Data.ChannelType.gb ct
|
||||
, channelHeader = "Channels"
|
||||
, messageContentTitle = "Customize message"
|
||||
, messageContentLabel = "Beginning of message"
|
||||
, messageContentInfo = "Insert text that is prependend to the generated message."
|
||||
@ -89,6 +90,7 @@ de =
|
||||
, channelForm = Messages.Comp.ChannelForm.de
|
||||
, httpError = Messages.Comp.HttpError.de
|
||||
, bookmarkDropdown = Messages.Comp.BookmarkDropdown.de
|
||||
, channelRef = Messages.Comp.ChannelRefInput.de
|
||||
, reallyDeleteTask = "Diesen Benachrichtigungsauftrag wirklich löschen?"
|
||||
, startOnce = "Jetzt starten"
|
||||
, startTaskNow = "Starte den Auftrag sofort"
|
||||
@ -107,7 +109,7 @@ de =
|
||||
, queryLabel = "Abfrage"
|
||||
, channelRequired = "Ein Versandkanal muss angegeben werden."
|
||||
, queryStringRequired = "Eine Suchabfrage und/oder ein Bookmark muss angegeben werden."
|
||||
, channelHeader = \ct -> "Details für " ++ Messages.Data.ChannelType.de ct
|
||||
, channelHeader = "Kanäle"
|
||||
, messageContentTitle = "Nachricht anpassen"
|
||||
, messageContentLabel = "Anfang der Nachricht"
|
||||
, messageContentInfo = "Dieser Text wird an den Anfang der generierten Nachricht angefügt."
|
||||
|
@ -12,32 +12,33 @@ module Messages.Comp.PeriodicQueryTaskList exposing
|
||||
)
|
||||
|
||||
import Messages.Basics
|
||||
import Messages.Data.ChannelType
|
||||
|
||||
|
||||
type alias Texts =
|
||||
{ basics : Messages.Basics.Texts
|
||||
, channelType : Messages.Data.ChannelType.Texts
|
||||
, summary : String
|
||||
, schedule : String
|
||||
, connection : String
|
||||
, recipients : String
|
||||
}
|
||||
|
||||
|
||||
gb : Texts
|
||||
gb =
|
||||
{ basics = Messages.Basics.gb
|
||||
, channelType = Messages.Data.ChannelType.gb
|
||||
, summary = "Summary"
|
||||
, schedule = "Schedule"
|
||||
, connection = "Connection"
|
||||
, recipients = "Recipients"
|
||||
, connection = "Channel"
|
||||
}
|
||||
|
||||
|
||||
de : Texts
|
||||
de =
|
||||
{ basics = Messages.Basics.de
|
||||
, channelType = Messages.Data.ChannelType.de
|
||||
, summary = "Kurzbeschreibung"
|
||||
, schedule = "Zeitplan"
|
||||
, connection = "Verbindung"
|
||||
, recipients = "Empfänger"
|
||||
, connection = "Kanal"
|
||||
}
|
||||
|
Reference in New Issue
Block a user