add beta german translation copy pasted from android

This commit is contained in:
Audric Ackermann 2020-08-05 16:57:21 +10:00
parent 80946c0ea5
commit 3e56eb6133
No known key found for this signature in database
GPG key ID: 999F434D76324AD4
14 changed files with 225 additions and 72 deletions

View file

@ -83,10 +83,20 @@
"message": "Löschen",
"description": "Edit menu command to remove the selected text"
},
"editProfileModalTitle": {
"message": "Profil",
"description": "Title for the Edit Profile modal"
},
"editMenuSelectAll": {
"message": "Alles auswählen",
"description": "Edit menu comand to select all of the text in selected text box"
},
"newSession": {
"message": "Neue Session"
},
"addContact": {
"message": "Kontakt hinzufügen"
},
"editMenuStartSpeaking": {
"message": "Sprachausgabe starten",
"description": "Edit menu item under 'speech' to start dictation"
@ -147,6 +157,9 @@
"message": "Wird geladen …",
"description": "Message shown on the loading screen before we've loaded any messages"
},
"or": {
"message": "oder"
},
"optimizingApplication": {
"message": "Anwendung wird optimiert …",
"description": "Message shown on the loading screen while we are doing application optimizations"
@ -549,10 +562,90 @@
}
}
},
"copiedPublicKey": {
"message": "In Zwischenablage kopiert",
"description": "A toast message telling the user that the key was copied"
},
"copiedChatId": {
"message": "In Zwischenablage kopiert",
"description": "A toast message telling the user that the key was copied"
},
"sessionResetOngoing": {
"message": "Verschlüsselung neu gestartet",
"description": "your secure session is currently being reset, waiting for the reset acknowledgment."
},
"blockUser": {
"message": "Blockieren"
},
"unblockUser": {
"message": "Freigeben"
},
"members": {
"message": "$count$ mitglied",
"placeholders": {
"count": {
"content": "$1",
"example": "26"
}
}
},
"noContactsForGroup": {
"message": "Sie haben noch keine Kontakte."
},
"getStarted": {
"message": "Loslegen"
},
"createAccount": {
"message": "Konto Erstellen"
},
"signIn": {
"message": "Einloggen"
},
"beginYourSession": {
"message": "Beginnen<br />Sie<br />Ihre<br />Session."
},
"continue": {
"message": "Fortsetzen"
},
"welcomeToYourSession": {
"message": "Willkommen bei Session"
},
"generateSessionID": {
"message": "Session ID erstellen"
},
"yourUniqueSessionID": {
"message": "Das ist Ihre Session ID."
},
"allUsersAreRandomly...": {
"message": "Ihre Session ID ist die eindeutige Adresse, unter der Personen Sie über Session kontaktieren können. Ihre Session ID ist nicht mit Ihrer realen Identität verbunden, völlig anonym und von Natur aus privat."
},
"leaveOpenGroupConfirmation": {
"message": "Möchtest du wirklich diese Gruppe verlassen??",
"description": "Confirmation dialog text that tells the user what will happen if they leave the public channel."
},
"leaveClosedGroupConfirmation": {
"message": "Möchtest du wirklich diese Gruppe verlassen?",
"description": "Confirmation dialog text that tells the user what will happen if they leave the closed group."
},
"copyPublicKey": {
"message": "Kopieren",
"description": "Button action that the user can click to copy their public keys"
},
"copyChatId": {
"message": "Kopieren"
},
"deleteContact": {
"message": "Kontakt löschen",
"description": "Confirmation dialog title that asks the user if they really wish to delete the contact. Answer buttons use the strings 'ok' and 'cancel'. The deletion is permanent, i.e. it cannot be undone."
},
"oneNonImageAtATimeToast": {
"message": "Mehrere Anhänge je Nachricht sind ausschließlich bei Bildern erlaubt.",
"description": "An error popup when the user has attempted to add an attachment"
},
"editGroupName": {
"message": "Gruppe bearbeiten",
"description": "Button action that the user can click to edit a group name (closed)"
},
"cannotMixImageAndNonImageAttachments": {
"message": "Du kannst Bilder nicht gemeinsam mit anderen Anhängen in einer Nachricht kombinieren.",
"description": "An error popup when the user has attempted to add an attachment"
@ -739,6 +832,24 @@
"message": "Auf Nachricht antworten",
"description": "Shown in triple-dot menu next to message to allow user to start crafting a message with a quotation"
},
"enterOpenGroupURL": {
"message": "Gruppen-URL öffnen"
},
"newClosedGroup": {
"message": "Neue geschlossene Gruppe"
},
"createClosedGroupNamePrompt": {
"message": "Gruppenname"
},
"createClosedGroupPlaceholder": {
"message": "Geben Sie einen Gruppennamen ein."
},
"addChannelDescription": {
"message": "Geben Sie eine offene Gruppen-URL ein."
},
"next": {
"message": "Weiter"
},
"originalMessageNotFound": {
"message": "Originalnachricht nicht gefunden",
"description": "Shown in quote if reference message was not found as message was initially downloaded and processed"
@ -802,7 +913,7 @@
"description": "Shown on MacOS if running on a read-only volume and we cannot update"
},
"ok": {
"message": "Okay",
"message": "Ok",
"description": ""
},
"cancel": {
@ -907,6 +1018,14 @@
"message": "Soll diese Unterhaltung unwiderruflich gelöscht werden?",
"description": "Confirmation dialog text that asks the user if they really wish to delete the conversation. Answer buttons use the strings 'ok' and 'cancel'. The deletion is permanent, i.e. it cannot be undone."
},
"deleteAccount": {
"message": "Alle Daten löschen",
"description": "Text for button in settings view to delete account"
},
"deleteAccountWarningSub": {
"message": "Dadurch werden Ihre Nachrichten, Sessions und Kontakte dauerhaft gelöscht.",
"description": "Warning for account deletion in settings view"
},
"sessionEnded": {
"message": "Verschlüsselung zurückgesetzt",
"description": "This is a past tense, informational message. In other words, your secure session has been reset."
@ -1117,10 +1236,60 @@
"message": "Erfahre mehr über das Verifizieren von Sicherheitsnummern",
"description": "Text that links to a support article on verifying safety numbers"
},
"appearanceSettingsTitle": {
"message": "Darstellung"
},
"privacySettingsTitle": {
"message": "Datenschutz"
},
"notificationsSettingsTitle": {
"message": "Benachrichtigungen"
},
"devicesSettingsTitle": {
"message": "Geräte"
},
"linkPreviewsTitle": {
"message": "Link-Vorschauen senden",
"description": "Option to control creation and send of link previews in setting screen"
},
"linkPreviewDescription": {
"message": "Vorschauen werden unterstützt für Links von Imgur, Instagram, Pinterest, Reddit und YouTube",
"description": "Description shown for the Link Preview option "
},
"expiredWarning": {
"message": "Diese Version von Signal Desktop ist veraltet. Bitte führe eine Aktualisierung auf die aktuellste Version durch, um weiterhin Nachrichten austauschen zu können.",
"description": "Warning notification that this version of the app has expired"
},
"readReceiptSettingDescription": {
"message": "Lesebestätigungen aktivieren",
"description": "Description of the read receipts setting"
},
"readReceiptSettingTitle": {
"message": "Lesebestätigungen",
"description": "Title of the read receipts setting"
},
"typingIndicatorsSettingDescription": {
"message": "sehen und teilen, wann Nachrichten eingetippt werden",
"description": "Description of the typing indicators setting"
},
"typingIndicatorsSettingTitle": {
"message": "Tipp-Indikatoren",
"description": "Title of the typing indicators setting"
},
"inviteContacts": {
"message": "Freunde einladen"
},
"settingsHeader": {
"message": "Einstellungen"
},
"leaveOpenGroup": {
"message": "Gruppe öffnen verlassen",
"description": "Button action that the user can click to leave the group"
},
"leaveClosedGroup": {
"message": "Geschlossene Gruppe verlassen",
"description": "Button action that the user can click to leave the group"
},
"upgrade": {
"message": "Aktualisieren",
"description": "Label text for button to upgrade the app to the latest version"
@ -1513,6 +1682,24 @@
}
}
},
"joinOpenGroup": {
"message": "Offener Gruppe beitreten"
},
"yourSessionID": {
"message": "Ihre Session ID"
},
"createClosedGroup": {
"message": "Neue geschlossene Gruppe"
},
"searchForAKeyPhrase": {
"message": "Nach Unterhaltungen, Kontakten und Nachrichten suchen"
},
"enterSessionID": {
"message": "Session ID eingeben"
},
"usersCanShareTheir...": {
"message": "Benutzer können ihre Session ID freigeben, indem sie in ihren Einstellungen auf \"Session ID freigeben\" tippen oder ihren QR-Code freigeben."
},
"joinedTheGroup": {
"message": "$name$ ist der Gruppe beigetreten",
"description": "Shown in the conversation history when a single person joins the group",

View file

@ -596,8 +596,7 @@
"description": "Shown to separate the types of search results"
},
"settingsHeader": {
"message": "Settings",
"description": "Shown to separate the types of search results"
"message": "Settings"
},
"welcomeToSession": {
"message": "Welcome to Session"
@ -723,9 +722,6 @@
"cancel": {
"message": "Cancel"
},
"copy": {
"message": "Copy"
},
"close": {
"message": "Close"
},
@ -913,11 +909,7 @@
"message": "Permanently delete the messages in this conversation?",
"description": "Confirmation dialog text that asks the user if they really wish to delete the conversation. Answer buttons use the strings 'ok' and 'cancel'. The deletion is permanent, i.e. it cannot be undone."
},
"deletePublicChannel": {
"message": "Leave Channel",
"description": "Confirmation dialog title that asks the user if they really wish to delete a public channel. Answer buttons use the strings 'ok' and 'cancel'. The deletion is permanent, i.e. it cannot be undone."
},
"deletePublicChannelConfirmation": {
"leaveOpenGroupConfirmation": {
"message": "Leave this Open Group?",
"description": "Confirmation dialog text that tells the user what will happen if they leave the public channel."
},
@ -1051,7 +1043,7 @@
"description": "Header for general options on the settings screen"
},
"linkPreviewsTitle": {
"message": "Link Previews",
"message": "Send Link Previews",
"description": "Option to control creation and send of link previews in setting screen"
},
"linkPreviewDescription": {
@ -1591,10 +1583,6 @@
"copyChatId": {
"message": "Copy Chat ID"
},
"leaveGroup": {
"message": "Leave Group",
"description": "Button action that the user can click to leave the group"
},
"leaveOpenGroup": {
"message": "Leave Open Group",
"description": "Button action that the user can click to leave the group"
@ -1800,7 +1788,7 @@
"message": "Connecting to server..."
},
"connectToServerSuccess": {
"message": "Successfully connected to open group"
"message": "Successfully connected to open group"
},
"setPasswordFail": {
"message": "Failed to set password"
@ -1993,15 +1981,9 @@
"enterSessionID": {
"message": "Enter Session ID"
},
"pasteSessionIDRecipient": {
"message": "Enter a Session ID"
},
"usersCanShareTheir...": {
"message": "Users can share their Session ID from their account settings, or by sharing their QR code."
},
"searchByIDOrDisplayName": {
"message": "Search by ID # or Display Name"
},
"message": {
"message": "Message"
},
@ -2014,9 +1996,6 @@
"createGroup": {
"message": "Create Group"
},
"yourPublicKey": {
"message": "Your Session ID"
},
"appearanceSettingsTitle": {
"message": "Appearance"
},
@ -2026,7 +2005,7 @@
"privacySettingsTitle": {
"message": "Privacy"
},
"notificationSettingsTitle": {
"notificationsSettingsTitle": {
"message": "Notifications"
},
"devicesSettingsTitle": {
@ -2047,9 +2026,6 @@
}
}
},
"addChannel": {
"message": "Join Open Group"
},
"joinOpenGroup": {
"message": "Join Open Group"
},
@ -2071,7 +2047,7 @@
"closedGroupCreatedToastTitle": {
"message": "Group created successfully"
},
"enterChannelURL": {
"enterOpenGroupURL": {
"message": "Enter Open Group URL"
},
"channelUrlPlaceholder": {

View file

@ -2327,8 +2327,8 @@
let message = i18n('deleteContactConfirmation');
if (this.isPublic()) {
title = i18n('deletePublicChannel');
message = i18n('deletePublicChannelConfirmation');
title = i18n('leaveOpenGroup');
message = i18n('leaveOpenGroupConfirmation');
} else if (this.isClosedGroup()) {
title = i18n('leaveClosedGroup');
message = i18n('leaveClosedGroupConfirmation');

View file

@ -238,8 +238,8 @@
let message = i18n('deleteContactConfirmation');
if (groupConvo.isPublic()) {
title = i18n('deletePublicChannel');
message = i18n('deletePublicChannelConfirmation');
title = i18n('leaveOpenGroup');
message = i18n('leaveOpenGroupConfirmation');
} else if (groupConvo.isClosedGroup()) {
title = i18n('leaveClosedGroup');
message = i18n('leaveClosedGroupConfirmation');

View file

@ -209,7 +209,7 @@ textarea {
border-radius: 2px;
height: 33px;
padding: 0px 18px;
line-height: 33px;
// line-height: 33px;
font-size: $session-font-sm;
}

View file

@ -273,10 +273,6 @@ $session-compose-margin: 20px;
}
}
h4 {
text-transform: uppercase;
}
.white-border {
width: $session-left-pane-width;
position: relative;
@ -339,6 +335,12 @@ $session-compose-margin: 20px;
display: flex;
flex-direction: column;
flex-grow: 1;
.left-pane-contact-bottom-buttons .session-button {
vertical-align: middle;
white-space: normal;
text-align: center;
}
}
.session-left-pane-section-content {
@ -382,6 +384,7 @@ $session-compose-margin: 20px;
flex-grow: 1;
font-size: $session-font-sm;
font-family: $session-font-default;
text-overflow: ellipsis;
&:focus {
outline: none !important;
@ -424,7 +427,7 @@ $session-compose-margin: 20px;
.session-button.square-outline.square.danger {
flex-grow: 1;
height: 50px;
line-height: 50px;
// line-height: 50px;
@at-root .light-theme #{&} {
border: 1px solid $session-shade-15;
@ -609,7 +612,7 @@ $session-compose-margin: 20px;
flex-grow: 1;
border: 1px solid $session-shade-8;
height: 50px;
line-height: 50px;
// line-height: 50px;
}
}
}

View file

@ -122,7 +122,7 @@ export class EditProfileDialog extends React.Component<Props, State> {
{viewDefault || viewQR ? (
<SessionButton
text={window.i18n('copy')}
text={window.i18n('editMenuCopy')}
buttonType={SessionButtonType.BrandOutline}
buttonColor={SessionButtonColor.Green}
onClick={() => {

View file

@ -2,12 +2,7 @@ import React from 'react';
import { Avatar } from '../Avatar';
import { Colors, LocalizerType } from '../../types/Util';
import {
ContextMenu,
ContextMenuTrigger,
MenuItem,
SubMenu,
} from 'react-contextmenu';
import { ContextMenu, ContextMenuTrigger, MenuItem } from 'react-contextmenu';
import {
SessionIconButton,

View file

@ -65,13 +65,13 @@ export class MediaGallery extends React.Component<Props, State> {
<div className="module-media-gallery">
<div className="module-media-gallery__tab-container">
<Tab
label="Media"
label={window.i18n('media')}
type="media"
isSelected={selectedTab === 'media'}
onSelect={this.handleTabSelect}
/>
<Tab
label="Documents"
label={window.i18n('documents')}
type="documents"
isSelected={selectedTab === 'documents'}
onSelect={this.handleTabSelect}

View file

@ -219,7 +219,7 @@ export class LeftPaneSettingSection extends React.Component<Props, State> {
},
{
id: SessionSettingCategory.Notifications,
title: window.i18n('notificationSettingsTitle'),
title: window.i18n('notificationsSettingsTitle'),
hidden: false,
},
{

View file

@ -134,20 +134,20 @@ export class SessionClosableOverlay extends React.Component<Props, State> {
buttonText = window.i18n('next');
descriptionLong = window.i18n('usersCanShareTheir...');
subtitle = window.i18n('enterSessionID');
placeholder = window.i18n('pasteSessionIDRecipient');
placeholder = window.i18n('enterSessionID');
break;
case 'contact':
title = window.i18n('addContact');
buttonText = window.i18n('next');
descriptionLong = window.i18n('usersCanShareTheir...');
subtitle = window.i18n('enterSessionID');
placeholder = window.i18n('pasteSessionIDRecipient');
placeholder = window.i18n('enterSessionID');
break;
case 'open-group':
title = window.i18n('addChannel');
buttonText = window.i18n('joinChannel');
title = window.i18n('joinOpenGroup');
buttonText = window.i18n('joinOpenGroup');
descriptionLong = window.i18n('addChannelDescription');
subtitle = window.i18n('enterChannelURL');
subtitle = window.i18n('enterOpenGroupURL');
placeholder = window.i18n('channelUrlPlaceholder');
break;
case 'closed-group':
@ -239,13 +239,13 @@ export class SessionClosableOverlay extends React.Component<Props, State> {
<UserSearchDropdown
searchTerm={searchTerm || ''}
updateSearch={updateSearch}
placeholder={window.i18n('searchByIDOrDisplayName')}
placeholder={window.i18n('searchForAKeyPhrase')}
searchResults={searchResults}
/>
)}
{isAddContactView && (
<PillDivider text={window.i18n('yourPublicKey')} />
<PillDivider text={window.i18n('yourSessionID')} />
)}
{isAddContactView && (

View file

@ -238,6 +238,7 @@ export class SettingsView extends React.Component<SettingsViewProps, State> {
showLinkDeviceButton={!shouldRenderPasswordLock}
category={category}
isSecondaryDevice={isSecondaryDevice}
categoryTitle={window.i18n(`${category}SettingsTitle`)}
/>
<div className="session-settings-view">

View file

@ -12,6 +12,7 @@ interface Props extends SettingsViewProps {
showLinkDeviceButton: boolean | null;
// isSecondaryDevice is used to just disable the linkDeviceButton when we are already a secondary device
isSecondaryDevice: boolean;
categoryTitle: string;
}
export class SettingsHeader extends React.Component<Props, any> {
@ -63,16 +64,8 @@ export class SettingsHeader extends React.Component<Props, any> {
}
public render() {
const { category } = this.props;
const { category, categoryTitle } = this.props;
const { disableLinkDeviceButton } = this.state;
const categoryString = String(category);
const categoryTitlePrefix =
categoryString[0].toUpperCase() + categoryString.substr(1);
// Remove 's' on the end to keep words in singular form
const categoryTitle =
categoryTitlePrefix[categoryTitlePrefix.length - 1] === 's'
? `${categoryTitlePrefix.slice(0, -1)} Settings`
: `${categoryTitlePrefix} Settings`;
const showSearch = false;
const showAddDevice =
category === SessionSettingCategory.Devices &&

View file

@ -141,9 +141,7 @@ export function getDeleteContactMenuItem(
): JSX.Element | null {
if (showDeleteContact(isMe, isClosable, isGroup, isPublic, isRss)) {
if (isPublic) {
return (
<MenuItem onClick={action}>{i18n('deletePublicChannel')}</MenuItem>
);
return <MenuItem onClick={action}>{i18n('leaveOpenGroup')}</MenuItem>;
}
return <MenuItem onClick={action}>{i18n('deleteContact')}</MenuItem>;
}
@ -159,7 +157,7 @@ export function getLeaveGroupMenuItem(
i18n: LocalizerType
): JSX.Element | null {
if (showLeaveGroup(isKickedFromGroup, isGroup, isPublic, isRss)) {
return <MenuItem onClick={action}>{i18n('leaveGroup')}</MenuItem>;
return <MenuItem onClick={action}>{i18n('leaveClosedGroup')}</MenuItem>;
}
return null;
}