Files
CT/src/View/translations.ts
T

1083 lines
30 KiB
TypeScript
Raw Normal View History

2024-07-19 23:45:07 +02:00
const englishTranslations = {
2026-04-01 08:29:39 +00:00
updater: {
2026-09-26 23:32:38 +02:00
migrated: "Migrated",
2024-07-20 01:14:21 +02:00
},
2026-04-01 08:29:39 +00:00
general: {
2026-09-26 23:32:38 +02:00
deleteItemButtonAudioLabel: "delete item",
searchButtonAudioLabel: "search",
searchButtonClearAudioLabel: "clear search query",
abortButton: "Abort",
applyButton: "Apply",
backButton: "Back",
cancelButton: "Cancel",
confirmButton: "Confirm",
continueButton: "Continue",
closeButton: "Close",
deleteButton: "Delete",
exitButton: "Exit",
fullscreenButton: "Fullscreen",
refreshButton: "Refresh",
saveButton: "Save",
setButton: "Set",
2026-09-30 13:55:04 +02:00
filterOrCreateLabel: (type: string) => `Search or create ${type}`,
2026-09-26 23:32:38 +02:00
createLabel: (query: string) => `Create "${query}"`,
reloadAppButton: "Reload App",
fileVersionLabel: "Version",
searchLabel: "Search",
searchSuggestionsLabel: "Recent searches",
waitingLabel: "Waiting...",
restoreConnection: "Restore connection",
noPageSelected: "No page selected",
2026-04-01 08:29:39 +00:00
},
2024-07-20 01:14:21 +02:00
2026-04-01 08:29:39 +00:00
regional: {
2026-09-26 23:32:38 +02:00
weekdays: {
full: [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
],
abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
},
2026-04-01 08:29:39 +00:00
},
2024-07-19 23:45:07 +02:00
2026-04-01 08:29:39 +00:00
homePage: {
2026-09-26 23:32:38 +02:00
appName: "Coordination Tool",
2026-09-30 15:34:42 +02:00
greeting: (name: string) => `Hi ${name}`,
2024-07-21 17:55:53 +02:00
2026-09-26 23:32:38 +02:00
///
2024-07-27 19:13:59 +02:00
2026-09-26 23:32:38 +02:00
serverAddress: "Server address",
serverAddressPlaceholder: "wss://192.168.0.69:3000",
connectAudioLabel: "connect to server",
disconnectAudioLabel: "disconnect from server",
manageConnectionsAudioLabel: "manage connections",
2024-07-19 23:45:07 +02:00
2026-09-26 23:32:38 +02:00
settingsButton: "Settings",
manageStorageButton: "Manage storage",
transferDataButton: "Transfer or export data",
2026-09-26 23:32:38 +02:00
updateButton: (version: string) => `Update to ${version}`,
2026-09-26 23:32:38 +02:00
///
2024-07-27 19:13:59 +02:00
2026-09-30 13:55:04 +02:00
typeChat: "chat",
2026-09-26 23:32:38 +02:00
addChatPlaceholder: "Add chat",
addChatButton: "Add chat",
2026-04-01 08:29:39 +00:00
},
2024-07-27 19:13:59 +02:00
2026-04-08 21:03:36 +00:00
settings: {
2026-09-26 23:32:38 +02:00
pages: {
appearance: "Appearance",
2026-09-28 15:21:50 +02:00
account: "Account",
2026-09-26 23:32:38 +02:00
regional: "Language & Region",
info: "About CT",
},
themes: {
dynamic: "Dynamic",
dark: "Dark",
light: "Light",
system: "Device theme",
black: "Black",
},
2026-09-28 15:21:50 +02:00
account: {
yourNameLabel: "Your name",
yourNamePlaceholder: "Jane Doe",
setNameButtonAudioLabel: "set name",
},
regional: {
language: "Language",
firstDayOfWeekLabel: "First day of week",
},
about: {
version: "Version",
checkUpdatesButton: "Check for updates",
},
2026-04-08 21:03:36 +00:00
},
2026-09-29 18:38:19 +02:00
onboarding: {
2026-09-29 21:15:11 +02:00
connectionHeadline: "Connect to UDN",
connectionDescription:
"To transfer files and send messages, connect to the Universal Decentralized Network (UDN).",
connectButton: "Connect",
connectionNextButton: (isConnected: boolean): string =>
isConnected ? "Continue" : "Set up without UDN",
///
transferOptionsHeadline: "Copy Your Data",
transferOptionsDescription:
"If you already use the Coordination Tool on another device, copy your identity here. You can use both devices at the same time.",
transferOptionTransfer: "Copy my data here",
transferOptionNew: "Set up as new device",
//
nameHeadline: "Your Name",
nameDescription:
"This is what others see when you send messages. You can always change your name in settings.",
//
transferHeadline: "Data Transfer",
transferDescription:
"On your other device, prepare to transfer your identity and personal data alongside any chats you wish to copy. Then, enter the displayed data here. You can find the data transfer on the home screen of the other device.",
transferButton: "Copy data",
2026-09-29 18:38:19 +02:00
},
2026-04-01 08:29:39 +00:00
connectionModal: {
2026-09-26 23:32:38 +02:00
connectionModalHeadline: "Manage Connections",
2024-07-27 19:13:59 +02:00
2026-09-26 23:32:38 +02:00
///
2024-07-27 19:13:59 +02:00
2026-09-26 23:32:38 +02:00
connectButtonAudioLabel: "connect",
2026-04-01 08:29:39 +00:00
},
2024-07-28 14:02:30 +02:00
2026-04-01 08:29:39 +00:00
dataTransferModal: {
2026-09-26 23:32:38 +02:00
transferDataHeadline: "Data Transfer",
sendHeadline: "Transfer to other device",
receiveHeadline: "Transfer to This Device",
exportHeadline: "Export Data",
importHeadline: "Import Data",
selectionDescription: "Select the data that you want to transfer.",
exportSelectionDescription: "Select the data that you want to export.",
dataEntryDescription: "Enter this data on the other device.",
dataEntryInputDescription:
"Enter the data displayed on the other device.",
2024-07-28 14:02:30 +02:00
2026-09-26 23:32:38 +02:00
///
2024-07-27 19:13:59 +02:00
2026-09-26 23:32:38 +02:00
fromThisDeviceButton: "Send to other device",
toThisDeviceButton: "Send to this device",
exportButton: "Export to file",
importButton: "Import from file",
2024-07-28 02:27:09 +02:00
2026-09-26 23:32:38 +02:00
///
2024-07-28 02:27:09 +02:00
2026-09-26 23:32:38 +02:00
generalHeadline: "General",
2024-07-28 02:27:09 +02:00
connectionData: "Connection data",
settingsData: "Identity & personal data",
2024-07-28 03:46:08 +02:00
2026-09-26 23:32:38 +02:00
chatsHeadline: "Chats",
2024-07-27 19:13:59 +02:00
2026-09-26 23:32:38 +02:00
///
2024-07-21 19:44:10 +02:00
2026-09-26 23:32:38 +02:00
transferChannelHeadline: "Transfer Chanel",
transferKeyHeadline: "Transfer Encryption Key",
2026-09-26 23:32:38 +02:00
sendButton: "Send",
sendAgainButton: "Send again",
2024-07-28 16:08:29 +02:00
2026-09-26 23:32:38 +02:00
///
2024-07-21 19:44:10 +02:00
2026-09-26 23:32:38 +02:00
filesSentCount: (count: number) => `Files sent: ${count}.`,
allFilesSent: "Done.",
2024-07-20 16:28:00 +02:00
2026-09-26 23:32:38 +02:00
filesReceivedCount: (count: number) => `Files processed: ${count}.`,
2026-08-29 23:51:38 +02:00
2026-09-26 23:32:38 +02:00
//
2026-08-30 22:24:55 +02:00
2026-09-26 23:32:38 +02:00
exportKey: "Encryption key",
exportKeyConfirmation: "Confirm",
downloadFileButton: "Download",
importFileButton: "Import",
decryptImportButton: "Decrypt",
incorrectPassphraseError: "The encryption key is incorrect",
2024-07-20 16:28:00 +02:00
},
2024-07-20 17:19:10 +02:00
2026-04-01 08:29:39 +00:00
storage: {
2026-09-26 23:32:38 +02:00
noItemSelected: "No item selected",
notAFile: "(not a file)",
contentEmpty: "(empty)",
2026-09-24 23:27:54 +02:00
2026-09-26 23:32:38 +02:00
usageLabel: "Usage",
usageVauleLabel: (used: number, max: number) => `${used} of ${max} MB`,
2024-07-20 18:49:05 +02:00
2026-09-26 23:32:38 +02:00
path: "Path",
content: "Content",
2024-07-20 19:18:19 +02:00
2026-09-26 23:32:38 +02:00
deleteItem: "Delete item",
2024-07-20 20:48:13 +02:00
2026-09-26 23:32:38 +02:00
removeJunkButton: "Delete junk files",
2024-07-20 19:18:19 +02:00
},
2026-04-01 08:29:39 +00:00
chatPage: {
2026-09-26 23:32:38 +02:00
closeChatAudioLabe: "close chat",
chatSettingsAudioLabel: "chat settings",
2026-09-24 23:27:54 +02:00
2026-09-26 23:32:38 +02:00
pages: {
settings: "Settings",
messages: "Messages",
tasks: "Tasks",
calendar: "Calendar",
},
2024-07-22 21:07:44 +02:00
2026-09-26 23:32:38 +02:00
settings: {
settingsHeadline: "Settings",
2024-07-23 13:09:46 +02:00
2026-09-26 23:32:38 +02:00
nameLabel: "Chat name",
setNameButtonAudioLabel: "set name",
2026-05-06 16:34:29 +00:00
2026-09-26 23:32:38 +02:00
newSecondaryChannelPlaceholder: "Add secondary channel",
newSecondaryChannelAudioLabel: "name of new secondary channel",
addSecondaryChannelButtonAudioLabel: "add secondary channel",
2024-07-23 13:09:46 +02:00
2026-09-26 23:32:38 +02:00
encryptionKeyLabel: "Encryption key",
setEncryptionKeyButtonAudioLabel: "set encryption key",
showEncryptionKey: "Show encryption key",
2024-07-21 13:13:41 +02:00
2026-09-26 23:32:38 +02:00
setColorButtonAudioLabel: "set color",
2026-09-26 15:27:39 +02:00
2026-09-26 23:32:38 +02:00
deleteChatButton: "Delete entire chat",
},
2024-07-21 13:13:41 +02:00
2026-09-26 23:32:38 +02:00
message: {
messagesHeadline: "Messages",
2026-04-11 21:01:23 +00:00
2026-09-26 23:32:38 +02:00
messageFilterHeadline: "Filter messages",
messageFilterReactionsHadline: "Reactions",
messageFilterAllReactionsButton: "Show all",
2024-07-22 19:50:57 +02:00
2026-09-26 23:32:38 +02:00
///
2024-07-23 02:57:20 +02:00
2026-09-26 23:32:38 +02:00
composerInputPlaceholder: "Type a message...",
sendMessageButtonAudioLabel: "send message",
filterMessagesButtonAudioLabel: "filter messages",
2024-07-24 15:57:02 +02:00
2026-09-26 23:32:38 +02:00
///
2024-07-23 13:09:46 +02:00
2026-09-26 23:32:38 +02:00
showMessageInfoButtonAudioLabel: "show message info",
messageInfoHeadline: "Message Info",
cancelReplyAudioLabel: "cancel reply",
2024-07-23 13:09:46 +02:00
2026-09-26 23:32:38 +02:00
sentBy: "Sent by",
timeSent: "Time sent",
channel: "Channel",
messageContent: "Message content",
2024-07-23 13:09:46 +02:00
2026-09-26 23:32:38 +02:00
copyMessageButton: "Copy message",
resendMessageButton: "Resend message",
decryptMessageButton: "Decrypt message",
replyToMessageButton: "Reply to message",
deleteMessageButton: "Delete message",
2026-04-07 18:39:55 +00:00
2026-09-26 23:32:38 +02:00
//
2026-04-07 18:39:55 +00:00
2026-09-26 23:32:38 +02:00
thumbsUpReaction: "Reaction: thumbs up",
checkReaction: "Reaction: check",
stopReaction: "Reaction: stop sign",
attentionReaction: "Reaction: exclamation mark",
doubleAttentionReaction: "Reaction: double exclamation mark",
questionReaction: "Reaction: question mark",
2026-09-23 14:44:34 +02:00
2026-09-26 23:32:38 +02:00
//
2026-09-24 23:27:54 +02:00
2026-09-26 23:32:38 +02:00
replyPrefixLabel: "Replies: ",
replyHeaderLabel: (message: string) => `Replies to "${message}"`,
},
2024-07-23 15:25:16 +02:00
2026-09-26 23:32:38 +02:00
task: {
noBoardSelected: "No board selected",
boardNotFound: "Board not found",
2024-07-24 03:36:21 +02:00
2026-09-30 13:55:04 +02:00
typeBoard: "board",
2026-09-26 23:32:38 +02:00
///
2024-07-24 03:36:21 +02:00
2026-09-26 23:32:38 +02:00
closeBoardButtonAudioLabel: "close board",
toggleBoardButtonAudioLabel: "toggle board list",
showBoardSettingsButtonAudioLabel: "show board settigns",
2024-07-24 13:59:42 +02:00
2026-09-26 23:32:38 +02:00
listViewButtonAudioLabel: "list view",
kanbanViewButtonAudioLabel: "kanban view",
statusViewButtonAudioLabel: "status grid view",
2024-07-24 03:36:21 +02:00
2026-09-26 23:32:38 +02:00
filterTasksButtonAudioLabel: "filter tasks",
createTaskButtonAudioLabel: "create new task",
2024-07-24 03:36:21 +02:00
2026-09-26 23:32:38 +02:00
///
2024-07-24 03:36:21 +02:00
2026-09-26 23:32:38 +02:00
boardSettingsHeadline: "Board Settings",
boardNameInputLabel: "Board name",
deleteBoardButton: "Delete board and all tasks",
2024-07-24 14:10:09 +02:00
2026-09-26 23:32:38 +02:00
///
2024-07-25 02:49:23 +02:00
2026-09-26 23:32:38 +02:00
taskSettingsHeadline: "Edit Task",
2024-07-25 02:49:23 +02:00
2026-09-26 23:32:38 +02:00
taskNameLabel: "Title",
taskBoardLabel: "Board",
2024-07-25 15:31:27 +02:00
2026-09-26 23:32:38 +02:00
taskCategoryLabel: "Category",
taskStatusLabel: "Status",
taskPriorityLabel: "Priority",
2024-07-25 15:31:27 +02:00
2026-09-26 23:32:38 +02:00
taskDescriptionLabel: "Description",
2026-04-01 08:29:39 +00:00
2026-09-26 23:32:38 +02:00
taskDateLabel: "Date",
taskTimeLabel: "Time",
2024-07-26 03:14:55 +02:00
2026-09-26 23:32:38 +02:00
deleteTaskButton: "Delete task",
2024-07-28 17:15:43 +02:00
2026-09-26 23:32:38 +02:00
///
2026-09-26 23:32:38 +02:00
filterTasksHeadline: "Filter Tasks",
2024-07-26 03:14:55 +02:00
2026-09-26 23:32:38 +02:00
///
2024-07-26 03:14:55 +02:00
2026-09-26 23:32:38 +02:00
renameCategoryInputPlaceholder: "Rename category",
renameStatusInputPlaceholder: "Rename status",
},
2024-07-26 03:14:55 +02:00
2026-09-26 23:32:38 +02:00
calendar: {
eventsBoard: "Events",
2024-07-26 03:38:46 +02:00
2026-09-26 23:32:38 +02:00
///
2024-07-26 03:38:46 +02:00
2026-09-26 23:32:38 +02:00
todayButtonAudioLabel: "go to today",
2024-07-26 06:56:34 +02:00
2026-09-26 23:32:38 +02:00
previousMonthButtonAudioLabel: "previous month",
nextMonthButtonAudioLabel: "next month",
2024-07-26 06:56:34 +02:00
2026-09-26 23:32:38 +02:00
yearInputAudioLabel: "year",
monthInputAudioLabel: "month",
2026-04-01 08:29:39 +00:00
2026-09-26 23:32:38 +02:00
yearInputPlaceholder: "2000",
monthInputPlaceholder: "01",
2026-04-01 08:29:39 +00:00
2026-09-26 23:32:38 +02:00
///
2026-04-01 08:29:39 +00:00
2026-09-26 23:32:38 +02:00
searchEventsHeadline: "Search Events",
2026-04-01 08:29:39 +00:00
2026-09-26 23:32:38 +02:00
///
2026-04-01 08:29:39 +00:00
2026-09-26 23:32:38 +02:00
events: "Events",
noEvents: "No events",
2026-09-26 23:32:38 +02:00
//
2026-09-26 23:32:38 +02:00
eventNext: "Up next",
},
2024-07-26 03:29:07 +02:00
},
2024-07-19 23:45:07 +02:00
};
export const allTranslations: {
[language: string]: typeof englishTranslations;
} = {
2026-04-01 08:29:39 +00:00
en: englishTranslations,
2024-07-28 14:02:30 +02:00
2026-04-01 08:29:39 +00:00
de: {
2026-09-26 23:32:38 +02:00
updater: {
migrated: "Migriert",
},
general: {
deleteItemButtonAudioLabel: "element löschen",
searchButtonAudioLabel: "suchen",
searchButtonClearAudioLabel: "suche zurücksetzen",
abortButton: "Abbrechen",
applyButton: "Anwenden",
backButton: "Zurück",
cancelButton: "Abbrechen",
continueButton: "Weiter",
confirmButton: "Bestätigen",
closeButton: "Schließen",
deleteButton: "Löschen",
exitButton: "Schließen",
fullscreenButton: "Vollbild",
refreshButton: "Aktualisieren",
saveButton: "Speichern",
setButton: "OK",
2026-09-30 13:55:04 +02:00
filterOrCreateLabel: (type: string) => `${type} suchen oder erstellen`,
2026-09-26 23:32:38 +02:00
createLabel: (query: string) => `"${query}" erstellen`,
reloadAppButton: "Neu laden",
fileVersionLabel: "Version",
searchLabel: "Suche",
searchSuggestionsLabel: "Vorherige Suchen",
waitingLabel: "Warten...",
restoreConnection: "Verbindung wiederherstellen",
noPageSelected: "Keine Seite ausgewählt",
},
regional: {
weekdays: {
full: [
"Sonntag",
"Montag",
"Dienstag",
"Mittwoch",
"Donnerstag",
"Freitag",
"Samstag",
],
abbreviated: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
},
},
homePage: {
2026-09-30 13:40:40 +02:00
appName: "Coordination Tool",
greeting: (name: string) => `Hi ${name}!`,
serverAddress: "Serveradresse",
serverAddressPlaceholder: "wss://192.168.0.69:3000",
connectAudioLabel: "mit Server verbinden",
disconnectAudioLabel: "vom Server trennen",
manageConnectionsAudioLabel: "Verbindungen verwalten",
settingsButton: "Einstellungen",
manageStorageButton: "Daten verwalten",
transferDataButton: "Daten übertragen",
updateButton: (version: string) => `Aktualisieren: ${version}`,
2026-09-30 13:55:04 +02:00
typeChat: "Chat",
2026-09-30 13:40:40 +02:00
addChatPlaceholder: "Chat hinzufügen",
addChatButton: "Chat hinzufügen",
},
settings: {
pages: {
appearance: "Erscheinungsbild",
account: "Konto",
regional: "Sprache & Region",
info: "Über CT",
},
themes: {
dynamic: "Dynamisch",
dark: "Dunkel",
light: "Hell",
system: "Geräteeinstellung",
black: "Schwarz",
},
account: {
yourNameLabel: "Dein Name",
yourNamePlaceholder: "Max Mustermann",
setNameButtonAudioLabel: "Namen festlegen",
},
regional: {
language: "Sprache",
firstDayOfWeekLabel: "Erster Wochentag",
},
about: {
version: "Version",
checkUpdatesButton: "Nach Updates suchen",
},
},
onboarding: {
connectionHeadline: "Mit UDN verbinden",
connectionDescription:
"Um Daten und Nachichten zu verschicken, verbinde dich mit dem Universellen Dezentralen Netzwerk (UDN).",
connectButton: "Verbinden",
connectionNextButton: (isConnected: boolean) =>
isConnected ? "Weiter" : "Ohne UDN einrichten",
///
transferOptionsHeadline: "Deine Daten kopieren",
transferOptionsDescription:
"Wenn du Coordination Tool bereits auf einem anderen Gerät verwendest, kopiere deine Kontodaten. Du kannst beide Geräte gleichzeitig verwenden.",
transferOptionTransfer: "Daten übertragen",
transferOptionNew: "Als neues Gerät enrichten",
//
nameHeadline: "Dein Name",
nameDescription:
"Diesen Namen sehen andere, wenn du Nachrichten versendest. Du kannst deinen Namen jederzeit in den Einstellungen ändern.",
//
transferHeadline: "Datenübertragung",
transferDescription:
"Verwende die Funktion zur Datenübertragung auf deinem anderen Getät, um deine Identität und persönlichen Daten zu kopieren. Gib die dazu angezeigten Daten unten ein. Du findest die Datenübertragung auf der Startseite des anderen Geräts.",
transferButton: "Daten kopieren",
},
connectionModal: {
connectionModalHeadline: "Verbindungen verwalten",
connectButtonAudioLabel: "verbinden",
},
dataTransferModal: {
transferDataHeadline: "Datenübertragung",
sendHeadline: "An anderes Gerät senden",
receiveHeadline: "An dieses Gerät senden",
exportHeadline: "Daten exportieren",
importHeadline: "Daten importieren",
selectionDescription:
"Wähle die Daten aus, die du übertragen möchtest.",
exportSelectionDescription:
"Wähle die Daten aus, die du exportieren möchtest.",
dataEntryDescription:
"Gib diese Informationen auf dem anderen Gerät ein.",
dataEntryInputDescription:
"Gib die auf dem anderen Gerät angezeigten Informationen ein.",
fromThisDeviceButton: "An anderes Gerät senden",
toThisDeviceButton: "An dieses Gerät senden",
exportButton: "Als Datei exportieren",
importButton: "Aus Datei importieren",
generalHeadline: "Allgemein",
connectionData: "Verbindungsdaten",
settingsData: "Identität und persönliche Daten",
chatsHeadline: "Chats",
transferChannelHeadline: "Übertragungskanal",
transferKeyHeadline: "Schlüssel",
sendButton: "Senden",
sendAgainButton: "Erneut senden",
filesSentCount: (count) => `Dateien gesendet: ${count}.`,
allFilesSent: "Fertig.",
filesReceivedCount: (count) => `Dateien empfangen: ${count}.`,
exportKey: "Schlüssel",
exportKeyConfirmation: "Schlüssel bestätigen",
downloadFileButton: "Herunterladen",
importFileButton: "Importieren",
decryptImportButton: "Entschlüsseln",
incorrectPassphraseError: "Der Schlüssel ist nicht korrekt",
},
storage: {
noItemSelected: "Kein Element ausgewählt",
notAFile: "(keine Datei)",
contentEmpty: "(leer)",
usageLabel: "Speicher",
usageVauleLabel: (used: number, max: number) =>
`${used} von ${max} MB belegt`,
path: "Pfad",
content: "Inhalt",
deleteItem: "Element löschen",
removeJunkButton: "Datenmüll löschen",
},
chatPage: {
closeChatAudioLabe: "Chat schließen",
chatSettingsAudioLabel: "Chateinstellungen",
2026-09-29 21:15:11 +02:00
2026-09-30 13:40:40 +02:00
pages: {
settings: "Einstellungen",
messages: "Nachrichten",
tasks: "Aufgaben",
calendar: "Kalender",
},
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
settings: {
settingsHeadline: "Einstellungen",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
nameLabel: "Name",
setNameButtonAudioLabel: "namen festlegen",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
newSecondaryChannelPlaceholder: "Sekundären Kanal hinzufügen",
newSecondaryChannelAudioLabel:
"Name des neuen sekundären Kanals",
addSecondaryChannelButtonAudioLabel:
"Sekundären Kanal hinzufügen",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
encryptionKeyLabel: "Schlüssel",
setEncryptionKeyButtonAudioLabel: "Schlüssel festlegen",
showEncryptionKey: "Schlüssel anzeigen",
2026-09-23 00:23:24 +02:00
2026-09-30 13:40:40 +02:00
setColorButtonAudioLabel: "Farbe festlegen",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
deleteChatButton: "Gesamten Chat löschen",
},
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
message: {
messagesHeadline: "Nachrichten",
2026-09-23 00:09:09 +02:00
2026-09-30 13:40:40 +02:00
messageFilterHeadline: "Nachrichten filtern",
messageFilterReactionsHadline: "Reaktionen",
messageFilterAllReactionsButton: "Alle anzeigen",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
composerInputPlaceholder: "Schreib eine Nachricht...",
sendMessageButtonAudioLabel: "nachricht senden",
filterMessagesButtonAudioLabel: "nachrichten filtern",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
showMessageInfoButtonAudioLabel: "nachrichteninfo anzeigen",
messageInfoHeadline: "Nachrichteninfo",
cancelReplyAudioLabel: "antwort abbrechen",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
sentBy: "Gesendet von",
timeSent: "Sendezeit",
channel: "Kanal",
messageContent: "Nachrichteninhalt",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
copyMessageButton: "Nachricht kopieren",
resendMessageButton: "Nachricht erneut senden",
decryptMessageButton: "Nachricht entschlüsseln",
replyToMessageButton: "Auf Nachricht antworten",
deleteMessageButton: "Nachricht löschen",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
//
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
thumbsUpReaction: "Reaktion: Daumen hoch",
checkReaction: "Reaktion: Haken",
stopReaction: "Reaktion: Stopp",
attentionReaction: "Reaktion: Ausrufezeichen",
doubleAttentionReaction: "Reaktion: doppeltes Ausrufezeichen",
questionReaction: "Reaktion: Fragezeichen",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
replyPrefixLabel: "Antworten: ",
replyHeaderLabel: (message: string) =>
`Antworten an "${message}"`,
},
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
task: {
noBoardSelected: "Kein Board ausgewählt",
boardNotFound: "Board nicht gefunden",
2026-09-30 13:55:04 +02:00
typeBoard: "Board",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
closeBoardButtonAudioLabel: "board schließen",
toggleBoardButtonAudioLabel: "board-liste ein/ausblenden",
showBoardSettingsButtonAudioLabel:
"Board-Einstellungen anzeigen",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
listViewButtonAudioLabel: "Listenansicht",
kanbanViewButtonAudioLabel: "Kanban-Ansicht",
statusViewButtonAudioLabel: "Statusrasteransicht",
2026-09-24 23:27:54 +02:00
2026-09-30 13:40:40 +02:00
filterTasksButtonAudioLabel: "Aufgaben filtern",
createTaskButtonAudioLabel: "Neue Aufgabe erstellen",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
boardSettingsHeadline: "Board-Einstellungen",
boardNameInputLabel: "Boardname",
deleteBoardButton: "Board und alle Aufgaben löschen",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
taskSettingsHeadline: "Aufgabe bearbeiten",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
taskNameLabel: "Titel",
taskBoardLabel: "Board",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
taskCategoryLabel: "Kategorie",
taskStatusLabel: "Status",
taskPriorityLabel: "Priorität",
2024-07-28 17:17:23 +02:00
2026-09-30 13:40:40 +02:00
taskDescriptionLabel: "Beschreibung",
2024-07-28 17:17:23 +02:00
2026-09-30 13:40:40 +02:00
taskDateLabel: "Datum",
taskTimeLabel: "Uhrzeit",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
deleteTaskButton: "Aufgabe löschen",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
filterTasksHeadline: "Aufgaben filtern",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
renameCategoryInputPlaceholder: "Kategorie umbenennen",
renameStatusInputPlaceholder: "Status umbenennen",
},
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
calendar: {
eventsBoard: "Ereignisse",
2024-07-28 14:02:30 +02:00
2026-09-30 13:40:40 +02:00
///
2026-09-23 00:09:09 +02:00
2026-09-30 13:40:40 +02:00
todayButtonAudioLabel: "gehe zu heute",
2026-09-23 00:09:09 +02:00
2026-09-30 13:40:40 +02:00
previousMonthButtonAudioLabel: "vorheriger monat",
nextMonthButtonAudioLabel: "nächster monat",
2026-09-23 00:09:09 +02:00
2026-09-30 13:40:40 +02:00
yearInputAudioLabel: "Jahr",
monthInputAudioLabel: "Monat",
2026-09-23 00:09:09 +02:00
2026-09-30 13:40:40 +02:00
yearInputPlaceholder: "2000",
monthInputPlaceholder: "01",
2026-09-23 00:09:09 +02:00
2026-09-30 13:40:40 +02:00
searchEventsHeadline: "Ereignisse suchen",
2026-09-23 00:09:09 +02:00
2026-09-30 13:40:40 +02:00
events: "Ereignisse",
noEvents: "Keine Ereignisse",
2026-09-23 00:09:09 +02:00
2026-09-30 13:40:40 +02:00
eventNext: "Als nächstes",
},
},
2024-07-28 14:02:30 +02:00
},
2026-04-01 08:29:39 +00:00
es: {
2026-09-30 13:40:40 +02:00
updater: {
migrated: "Migrado",
},
general: {
deleteItemButtonAudioLabel: "eliminar elemento",
searchButtonAudioLabel: "buscar",
searchButtonClearAudioLabel: "borrar büsqueda",
abortButton: "Abortar",
applyButton: "Guardar",
backButton: "Atrás",
cancelButton: "Cancelar",
continueButton: "Continuar",
confirmButton: "Confirmar",
closeButton: "Cerrar",
deleteButton: "Borrar",
exitButton: "Salir",
fullscreenButton: "Pantalla completa",
refreshButton: "Actualizar",
saveButton: "Guardar",
setButton: "OK",
2026-09-30 13:55:04 +02:00
filterOrCreateLabel: (type: string) => `Buscar o crear ${type}`,
2026-09-30 13:40:40 +02:00
createLabel: (query: string) => `Crear "${query}"`,
reloadAppButton: "Recargar app",
fileVersionLabel: "Versión",
searchLabel: "Buscar",
searchSuggestionsLabel: "Búsquedas anteriores",
waitingLabel: "Esperando...",
restoreConnection: "Conectar de nuevo",
noPageSelected: "No página seleccionada",
},
regional: {
weekdays: {
full: [
"Domingo",
"Lunes",
"Martes",
"Miércoles",
"Jueves",
"Viernes",
"Sábado",
],
abbreviated: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"],
},
},
homePage: {
appName: "Coordination Tool",
greeting: (name: string) => `Hola ${name}!`,
serverAddress: "Dirección del servidor",
serverAddressPlaceholder: "wss://192.168.0.69:3000",
connectAudioLabel: "conectar al servidor",
disconnectAudioLabel: "desconectar del servidor",
manageConnectionsAudioLabel: "gestionar conexiones",
settingsButton: "Ajustes",
manageStorageButton: "Gestionar almacenamiento",
transferDataButton: "Enviar o exportar archivos",
updateButton: (version: string) => `Actualizar a ${version}`,
2026-09-30 13:55:04 +02:00
typeChat: "chat",
2026-09-30 13:40:40 +02:00
addChatPlaceholder: "Añadir chat",
addChatButton: "Añadir chat",
},
settings: {
pages: {
appearance: "Aspecto",
account: "Cuenta",
regional: "Idioma y Región",
info: "Sobre CT",
},
themes: {
dynamic: "Dinámico",
dark: "Oscuro",
light: "Claro",
system: "Según dispositivo",
black: "Negro",
},
account: {
yourNameLabel: "Tu nombre",
yourNamePlaceholder: "Juan Pérez",
setNameButtonAudioLabel: "establecer nombre",
},
regional: {
language: "Idioma",
firstDayOfWeekLabel: "Primer día de la semana",
},
about: {
version: "Versión",
checkUpdatesButton: "Buscar actualisaciones",
},
},
onboarding: {
connectionHeadline: "Conectar al UDN",
connectionDescription:
"Para transferir datos y enviar mensajes, conéctate a la Red Descentralizada Universal (UDN).",
connectButton: "Conectar",
connectionNextButton: (isConnected: boolean): string =>
isConnected ? "Continuar" : "Configurar sin UDN",
///
transferOptionsHeadline: "Copiar tus datos",
transferOptionsDescription:
"Si ya usas el Coordination Tool en otro disposistivo, copia tu idantidad aquí. Puedes usar ambos dispositivos al mismo tiempo.",
transferOptionTransfer: "Copiar mis datos aquí",
transferOptionNew: "Configurar como dispositivo nuevo",
//
nameHeadline: "Tu nombre",
nameDescription:
"Esto es lo que ven otros cuando envías menajes. Siempre lo puedes cambiar en las ajustes.",
//
transferHeadline: "Transferencia de datos",
transferDescription:
"En el otro dispositivo, prepara la transferencia de tu identidad y datos personales. Ingresa los datos que se muestran a continuación. La opción de la transferencia de datos se encuentra en la pantalla inicial en el otro dispositivo.",
transferButton: "Copiar datos",
},
connectionModal: {
connectionModalHeadline: "Gestionar Conexiones",
connectButtonAudioLabel: "conectar",
},
dataTransferModal: {
transferDataHeadline: "Transferencia de datos",
sendHeadline: "Enviar a otro dispositivo",
receiveHeadline: "Enviar a este dispositivo",
exportHeadline: "Exportar archivo",
importHeadline: "Importar archivo",
selectionDescription:
"Selecciona los datos que quieres transferir.",
exportSelectionDescription:
"Selecciona los datos que quieres exportar.",
dataEntryDescription:
"Introduce estos datos en el otro dispositivo.",
dataEntryInputDescription:
"Introduce los datos mostrados en el otro dispositivo.",
fromThisDeviceButton: "Enviar a otro dispositivo",
toThisDeviceButton: "Enviar a este dispositivo",
exportButton: "Exportar archivo",
importButton: "Importar archivo",
generalHeadline: "General",
connectionData: "Datos de conexión",
settingsData: "Identidad y datos personales",
chatsHeadline: "Chats",
transferChannelHeadline: "Canal de Transferencia",
transferKeyHeadline: "Clave de encriptación de transferencia",
sendButton: "Enviar",
sendAgainButton: "Enviar otra vez",
filesSentCount: (count) => `Archivos enviados: ${count}.`,
allFilesSent: "Hecho.",
filesReceivedCount: (count) => `Archivos recibidos: ${count}.`,
exportKey: "Clave de encriptación",
exportKeyConfirmation: "Confirmar clave",
downloadFileButton: "Descargar",
importFileButton: "Importar",
decryptImportButton: "Descifrar",
incorrectPassphraseError: "La clave no es correcta",
},
storage: {
noItemSelected: "Ningún elemento seleccionado",
notAFile: "(no es un archivo)",
contentEmpty: "(vacío)",
usageLabel: "Almacenamiento",
usageVauleLabel: (used: number, max: number) =>
`${used} de ${max} MB en uso`,
path: "Ruta",
content: "Contenido",
deleteItem: "Eliminar elemento",
removeJunkButton: "Eliminar archivos basura",
},
chatPage: {
closeChatAudioLabe: "cerrar chat",
chatSettingsAudioLabel: "configuración del chat",
pages: {
settings: "Configuración",
messages: "Mensajes",
tasks: "Tareas",
calendar: "Calendario",
},
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
settings: {
settingsHeadline: "Configuración",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
nameLabel: "Nombre del chat",
setNameButtonAudioLabel: "establecer nombre",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
newSecondaryChannelPlaceholder: "Añadir canal secundario",
newSecondaryChannelAudioLabel:
"nombre del nuevo canal secundario",
addSecondaryChannelButtonAudioLabel: "añadir canal secundario",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
encryptionKeyLabel: "Clave de encriptación",
setEncryptionKeyButtonAudioLabel:
"establecer clave de encriptación",
showEncryptionKey: "Mostrar clave de encriptación",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
setColorButtonAudioLabel: "establecer color",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
deleteChatButton: "Eliminar todo el chat",
},
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
message: {
messagesHeadline: "Mensajes",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
messageFilterHeadline: "Filtrar mensajes",
messageFilterReactionsHadline: "Reacciones",
messageFilterAllReactionsButton: "Mostrar todas",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
composerInputPlaceholder: "Escribe un mensaje...",
sendMessageButtonAudioLabel: "enviar mensaje",
filterMessagesButtonAudioLabel: "filtrar mensajes",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
showMessageInfoButtonAudioLabel:
"mostrar información del mensaje",
messageInfoHeadline: "Información del Mensaje",
cancelReplyAudioLabel: "abortar la respuesta",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
sentBy: "Enviado por",
timeSent: "Hora de envío",
channel: "Canal",
messageContent: "Contenido del mensaje",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
copyMessageButton: "Copiar mensaje",
resendMessageButton: "Reenviar mensaje",
decryptMessageButton: "Desencriptar mensaje",
replyToMessageButton: "Responder al mensaje",
deleteMessageButton: "Eliminar mensaje",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
//
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
thumbsUpReaction: "Reacción: pulgar hacia arriba",
checkReaction: "Reacción: marca de verificación",
stopReaction: "Reacción: signo de parada",
attentionReaction: "Reaccion: signo de atención",
doubleAttentionReaction: "Reaccion: signo de atención doble",
questionReaction: "Reaccion: signo de interrogación",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
replyPrefixLabel: "Respuestas: ",
replyHeaderLabel: (message: string) =>
`Respuestas a "${message}"`,
},
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
task: {
noBoardSelected: "Ningún tablero seleccionado",
boardNotFound: "Tablero no encontrado",
2026-09-30 13:55:04 +02:00
typeBoard: "board",
2026-09-29 21:15:11 +02:00
2026-09-30 13:40:40 +02:00
closeBoardButtonAudioLabel: "cerrar tablero",
toggleBoardButtonAudioLabel:
"mostrar o ocultar lista de tableros",
showBoardSettingsButtonAudioLabel:
"mostrar configuración del tablero",
2026-09-29 21:15:11 +02:00
2026-09-30 13:40:40 +02:00
listViewButtonAudioLabel: "vista de lista",
kanbanViewButtonAudioLabel: "vista kanban",
statusViewButtonAudioLabel: "vista de cuadrícula de estado",
2026-09-29 21:15:11 +02:00
2026-09-30 13:40:40 +02:00
filterTasksButtonAudioLabel: "filtrar tareas",
createTaskButtonAudioLabel: "crear nueva tarea",
2026-09-29 21:15:11 +02:00
2026-09-30 13:40:40 +02:00
boardSettingsHeadline: "Configuración del Tablero",
boardNameInputLabel: "Nombre del tablero",
deleteBoardButton: "Eliminar tablero y todas las tareas",
2026-09-29 21:15:11 +02:00
2026-09-30 13:40:40 +02:00
taskSettingsHeadline: "Editar Tarea",
2026-09-29 21:15:11 +02:00
2026-09-30 13:40:40 +02:00
taskNameLabel: "Título",
taskBoardLabel: "Tablero",
2026-09-29 21:15:11 +02:00
2026-09-30 13:40:40 +02:00
taskCategoryLabel: "Categoría",
taskStatusLabel: "Estado",
taskPriorityLabel: "Prioridad",
2026-09-29 21:15:11 +02:00
2026-09-30 13:40:40 +02:00
taskDescriptionLabel: "Descripción",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
taskDateLabel: "Fecha",
taskTimeLabel: "Hora",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
deleteTaskButton: "Eliminar tarea",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
filterTasksHeadline: "Filtrar Tareas",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
renameCategoryInputPlaceholder: "Renombrar categoría",
renameStatusInputPlaceholder: "Renombrar estado",
},
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
calendar: {
eventsBoard: "Eventos",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
///
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
todayButtonAudioLabel: "ir a hoy",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
previousMonthButtonAudioLabel: "mes anterior",
nextMonthButtonAudioLabel: "mes siguiente",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
yearInputAudioLabel: "año",
monthInputAudioLabel: "mes",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
yearInputPlaceholder: "2000",
monthInputPlaceholder: "01",
2026-09-26 23:32:38 +02:00
2026-09-30 13:40:40 +02:00
searchEventsHeadline: "Buscar Eventos",
2026-09-23 00:09:09 +02:00
2026-09-30 13:40:40 +02:00
events: "Eventos",
noEvents: "No hay eventos",
2026-09-23 00:09:09 +02:00
2026-09-30 13:40:40 +02:00
eventNext: "A continuación",
},
},
2024-07-28 14:02:30 +02:00
},
2024-07-19 23:45:07 +02:00
};
2026-04-09 17:14:33 +00:00
export const languageNames = {
en: "English",
de: "Deutsch",
es: "Español",
2026-04-09 18:09:26 +00:00
};
2026-04-09 17:14:33 +00:00
2026-04-09 18:09:26 +00:00
export type Translations = typeof englishTranslations;