From e16f5115276466256c223502a04eb2ee451ca868 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 24 Apr 2020 15:07:39 +0100 Subject: [PATCH 001/203] Redesign redactions Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- res/css/_components.scss | 2 +- .../{_UnknownBody.scss => _RedactedBody.scss} | 23 +++++++++- res/css/views/rooms/_EventTile.scss | 28 ------------ res/img/feather-customised/trash (custom).svg | 7 +++ .../views/messages/EditHistoryMessage.js | 4 +- src/components/views/messages/MessageEvent.js | 5 +-- .../views/messages/RedactedBody.tsx | 45 +++++++++++++++++++ src/components/views/messages/UnknownBody.js | 40 ----------------- src/i18n/strings/en_EN.json | 5 +-- 9 files changed, 80 insertions(+), 79 deletions(-) rename res/css/views/messages/{_UnknownBody.scss => _RedactedBody.scss} (52%) create mode 100644 res/img/feather-customised/trash (custom).svg create mode 100644 src/components/views/messages/RedactedBody.tsx delete mode 100644 src/components/views/messages/UnknownBody.js diff --git a/res/css/_components.scss b/res/css/_components.scss index 0ba2b609e8..0344074369 100644 --- a/res/css/_components.scss +++ b/res/css/_components.scss @@ -140,10 +140,10 @@ @import "./views/messages/_ReactionsRow.scss"; @import "./views/messages/_ReactionsRowButton.scss"; @import "./views/messages/_ReactionsRowButtonTooltip.scss"; +@import "./views/messages/_RedactedBody.scss"; @import "./views/messages/_RoomAvatarEvent.scss"; @import "./views/messages/_SenderProfile.scss"; @import "./views/messages/_TextualEvent.scss"; -@import "./views/messages/_UnknownBody.scss"; @import "./views/messages/_ViewSourceEvent.scss"; @import "./views/messages/_common_CryptoEvent.scss"; @import "./views/right_panel/_EncryptionInfo.scss"; diff --git a/res/css/views/messages/_UnknownBody.scss b/res/css/views/messages/_RedactedBody.scss similarity index 52% rename from res/css/views/messages/_UnknownBody.scss rename to res/css/views/messages/_RedactedBody.scss index 9036e12bf0..c0001db5d3 100644 --- a/res/css/views/messages/_UnknownBody.scss +++ b/res/css/views/messages/_RedactedBody.scss @@ -1,5 +1,6 @@ /* -Copyright 2015, 2016 OpenMarket Ltd +Copyright 2020 The Matrix.org Foundation C.I.C. + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -11,6 +12,24 @@ See the License for the specific language governing permissions and limitations under the License. */ -.mx_UnknownBody { +.mx_RedactedBody { white-space: pre-wrap; + color: $muted-fg-color; + + padding-left: 16px; + position: relative; + + &::before { + height: 14px; + width: 14px; + background-color: $muted-fg-color; + mask-image: url('$(res)/img/feather-customised/trash (custom).svg'); + mask-repeat: no-repeat; + mask-position: center; + mask-size: contain; + content: ''; + position: absolute; + top: 2px; + left: 0; + } } diff --git a/res/css/views/rooms/_EventTile.scss b/res/css/views/rooms/_EventTile.scss index 0dc60226b8..3f5f039005 100644 --- a/res/css/views/rooms/_EventTile.scss +++ b/res/css/views/rooms/_EventTile.scss @@ -242,34 +242,6 @@ limitations under the License. color: $event-notsent-color; } -.mx_EventTile_redacted .mx_EventTile_line .mx_UnknownBody, -.mx_EventTile_redacted .mx_EventTile_reply .mx_UnknownBody { - --lozenge-color: $event-redacted-fg-color; - --lozenge-border-color: $event-redacted-border-color; - display: block; - height: 22px; - width: 250px; - border-radius: 11px; - background: - repeating-linear-gradient( - -45deg, - var(--lozenge-color), - var(--lozenge-color) 3px, - transparent 3px, - transparent 6px - ); - box-shadow: 0px 0px 3px var(--lozenge-border-color) inset; -} - -.mx_EventTile_sending.mx_EventTile_redacted .mx_UnknownBody { - opacity: 0.4; -} - -div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody { - --lozenge-color: $event-notsent-color; - --lozenge-border-color: $event-notsent-color; -} - .mx_EventTile_contextual { opacity: 0.4; } diff --git a/res/img/feather-customised/trash (custom).svg b/res/img/feather-customised/trash (custom).svg new file mode 100644 index 0000000000..dc1985ddb2 --- /dev/null +++ b/res/img/feather-customised/trash (custom).svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/components/views/messages/EditHistoryMessage.js b/src/components/views/messages/EditHistoryMessage.js index 679a8f7471..e0ca23d244 100644 --- a/src/components/views/messages/EditHistoryMessage.js +++ b/src/components/views/messages/EditHistoryMessage.js @@ -26,6 +26,7 @@ import * as sdk from '../../../index'; import {MatrixClientPeg} from '../../../MatrixClientPeg'; import Modal from '../../../Modal'; import classNames from 'classnames'; +import RedactedBody from "./RedactedBody"; function getReplacedContent(event) { const originalContent = event.getOriginalContent(); @@ -132,8 +133,7 @@ export default class EditHistoryMessage extends React.PureComponent { const content = getReplacedContent(mxEvent); let contentContainer; if (mxEvent.isRedacted()) { - const UnknownBody = sdk.getComponent('messages.UnknownBody'); - contentContainer = ; + contentContainer = ; } else { let contentElements; if (this.props.previousEdit) { diff --git a/src/components/views/messages/MessageEvent.js b/src/components/views/messages/MessageEvent.js index beba986104..f8bd23cbe3 100644 --- a/src/components/views/messages/MessageEvent.js +++ b/src/components/views/messages/MessageEvent.js @@ -20,6 +20,7 @@ import createReactClass from 'create-react-class'; import * as sdk from '../../../index'; import SettingsStore from "../../../settings/SettingsStore"; import {Mjolnir} from "../../../mjolnir/Mjolnir"; +import RedactedBody from "./RedactedBody"; export default createReactClass({ displayName: 'MessageEvent', @@ -61,8 +62,6 @@ export default createReactClass({ }, render: function() { - const UnknownBody = sdk.getComponent('messages.UnknownBody'); - const bodyTypes = { 'm.text': sdk.getComponent('messages.TextualBody'), 'm.notice': sdk.getComponent('messages.TextualBody'), @@ -79,7 +78,7 @@ export default createReactClass({ const content = this.props.mxEvent.getContent(); const type = this.props.mxEvent.getType(); const msgtype = content.msgtype; - let BodyType = UnknownBody; + let BodyType = RedactedBody; if (!this.props.mxEvent.isRedacted()) { // only resolve BodyType if event is not redacted if (type && evTypes[type]) { diff --git a/src/components/views/messages/RedactedBody.tsx b/src/components/views/messages/RedactedBody.tsx new file mode 100644 index 0000000000..f219e3bd91 --- /dev/null +++ b/src/components/views/messages/RedactedBody.tsx @@ -0,0 +1,45 @@ +/* +Copyright 2020 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import React, {useContext} from "react"; +import {MatrixClient} from "matrix-js-sdk/src/client"; +import {MatrixEvent} from "matrix-js-sdk/src/models/event"; +import { _t } from "../../../languageHandler"; +import MatrixClientContext from "../../../contexts/MatrixClientContext"; + +interface IProps { + mxEvent: MatrixEvent; +} + +const RedactedBody = React.forwardRef(({mxEvent}, ref) => { + const cli: MatrixClient = useContext(MatrixClientContext); + + let text = _t("Message deleted"); + const redactedBecauseUserId = mxEvent.getUnsigned().redacted_because.sender; + if (redactedBecauseUserId !== cli.getUserId()) { + const room = cli.getRoom(mxEvent.getRoomId()); + const sender = room && room.getMember(redactedBecauseUserId); + text = _t("Message deleted by %(user)s", { user: sender.name || redactedBecauseUserId }); + } + + return ( + + { text } + + ); +}); + +export default RedactedBody; diff --git a/src/components/views/messages/UnknownBody.js b/src/components/views/messages/UnknownBody.js deleted file mode 100644 index 2a19f324e8..0000000000 --- a/src/components/views/messages/UnknownBody.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright 2015, 2016 OpenMarket Ltd - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -import React from 'react'; -import createReactClass from 'create-react-class'; -import { _t } from '../../../languageHandler'; - -export default createReactClass({ - displayName: 'UnknownBody', - - render: function() { - let tooltip = _t("Removed or unknown message type"); - if (this.props.mxEvent.isRedacted()) { - const redactedBecauseUserId = this.props.mxEvent.getUnsigned().redacted_because.sender; - tooltip = redactedBecauseUserId ? - _t("Message removed by %(userId)s", { userId: redactedBecauseUserId }) : - _t("Message removed"); - } - - const text = this.props.mxEvent.getContent().body; - return ( - - { text } - - ); - }, -}); diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 3eac055054..356e80afcf 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1328,6 +1328,8 @@ "Reactions": "Reactions", " reacted with %(content)s": " reacted with %(content)s", "reacted with %(shortName)s": "reacted with %(shortName)s", + "Message deleted": "Message deleted", + "Message deleted by %(user)s": "Message deleted by %(user)s", "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s changed the avatar for %(roomName)s", "%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s removed the room avatar.", "%(senderDisplayName)s changed the room avatar to ": "%(senderDisplayName)s changed the room avatar to ", @@ -1341,9 +1343,6 @@ "edited": "edited", "Can't load this message": "Can't load this message", "Submit logs": "Submit logs", - "Removed or unknown message type": "Removed or unknown message type", - "Message removed by %(userId)s": "Message removed by %(userId)s", - "Message removed": "Message removed", "Failed to load group members": "Failed to load group members", "Filter community members": "Filter community members", "Invite to this community": "Invite to this community", From d3b0e008c1b80acecd537c728c20cb9894d9f550 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 24 Apr 2020 15:39:23 +0100 Subject: [PATCH 002/203] first draft of Redaction ELS Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- res/css/views/messages/_RedactedBody.scss | 1 + src/components/structures/MessagePanel.js | 100 +++++++++++++++++- .../elements/RedactionEventListSummary.tsx | 81 ++++++++++++++ .../views/messages/RedactedBody.tsx | 2 +- src/i18n/strings/en_EN.json | 4 +- 5 files changed, 185 insertions(+), 3 deletions(-) create mode 100644 src/components/views/elements/RedactionEventListSummary.tsx diff --git a/res/css/views/messages/_RedactedBody.scss b/res/css/views/messages/_RedactedBody.scss index c0001db5d3..c0e5be2c89 100644 --- a/res/css/views/messages/_RedactedBody.scss +++ b/res/css/views/messages/_RedactedBody.scss @@ -15,6 +15,7 @@ limitations under the License. .mx_RedactedBody { white-space: pre-wrap; color: $muted-fg-color; + vertical-align: middle; padding-left: 16px; position: relative; diff --git a/src/components/structures/MessagePanel.js b/src/components/structures/MessagePanel.js index 6fbfdb504b..30c139d440 100644 --- a/src/components/structures/MessagePanel.js +++ b/src/components/structures/MessagePanel.js @@ -29,6 +29,7 @@ import SettingsStore from '../../settings/SettingsStore'; import {_t} from "../../languageHandler"; import {haveTileForEvent} from "../views/rooms/EventTile"; import {textForEvent} from "../../TextForEvent"; +import RedactionEventListSummary from "../views/elements/RedactionEventListSummary"; const CONTINUATION_MAX_INTERVAL = 5 * 60 * 1000; // 5 minutes const continuedTypes = ['m.sticker', 'm.room.message']; @@ -1062,5 +1063,102 @@ class MemberGrouper { } } +// Wrap consecutive redactions by the same user in a ListSummary, ignore if redacted +class RedactionGrouper { + static canStartGroup = function(panel, ev) { + return panel._shouldShowEvent(ev) && ev.isRedacted(); + } + + constructor(panel, ev, prevEvent, lastShownEvent) { + this.panel = panel; + this.readMarker = panel._readMarkerForEvent( + ev.getId(), + ev === lastShownEvent, + ); + this.events = [ev]; + this.prevEvent = prevEvent; + this.lastShownEvent = lastShownEvent; + } + + shouldGroup(ev) { + if (this.panel._wantsDateSeparator(this.events[0], ev.getDate())) return false; + if (ev.getType() === "m.room.redaction") return true; // for show-hidden-events users + return ev.isRedacted() && ev.sender === this.events[0].sender && + ev.getUnsigned().redacted_because.sender === this.events[0].getUnsigned().redacted_because.sender; + } + + add(ev) { + if (ev.getType() === "m.room.redaction") return; // for show-hidden-events users + this.readMarker = this.readMarker || this.panel._readMarkerForEvent( + ev.getId(), + ev === this.lastShownEvent, + ); + this.events.push(ev); + } + + getTiles() { + // If we don't have any events to group, don't even try to group them. The logic + // below assumes that we have a group of events to deal with, but we might not if + // the events we were supposed to group were redacted. + if (!this.events || !this.events.length) return []; + + const DateSeparator = sdk.getComponent('messages.DateSeparator'); + + const panel = this.panel; + const lastShownEvent = this.lastShownEvent; + const ret = []; + + if (panel._wantsDateSeparator(this.prevEvent, this.events[0].getDate())) { + const ts = this.events[0].getTs(); + ret.push( +
  • , + ); + } + + // Ensure that the key of the MemberEventListSummary does not change with new + // member events. This will prevent it from being re-created unnecessarily, and + // instead will allow new props to be provided. In turn, the shouldComponentUpdate + // method on ELS can be used to prevent unnecessary renderings. + const key = "redactioneventlistsummary-" + (this.prevEvent ? this.events[0].getId() : "initial"); + + let highlightInMels = false; + let eventTiles = this.events.map((e) => { + if (e.getId() === panel.props.highlightedEventId) { + highlightInMels = true; + } + // In order to prevent DateSeparators from appearing in the expanded form + // of MemberEventListSummary, render each member event as if the previous + // one was itself. This way, the timestamp of the previous event === the + // timestamp of the current event, and no DateSeparator is inserted. + return panel._getTilesForEvent(e, e, e === lastShownEvent); + }).reduce((a, b) => a.concat(b), []); + + if (eventTiles.length === 0) { + eventTiles = null; + } + + ret.push( + + { eventTiles } + , + ); + + if (this.readMarker) { + ret.push(this.readMarker); + } + + return ret; + } + + getNewPrevEvent() { + return this.events[0]; + } +} + // all the grouper classes that we use -const groupers = [CreationGrouper, MemberGrouper]; +const groupers = [CreationGrouper, MemberGrouper, RedactionGrouper]; diff --git a/src/components/views/elements/RedactionEventListSummary.tsx b/src/components/views/elements/RedactionEventListSummary.tsx new file mode 100644 index 0000000000..55538ca236 --- /dev/null +++ b/src/components/views/elements/RedactionEventListSummary.tsx @@ -0,0 +1,81 @@ +/* +Copyright 2020 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import React from "react"; +import {MatrixClient} from "matrix-js-sdk/src/client"; +import {MatrixEvent} from "matrix-js-sdk/src/models/event"; + +import { _t } from "../../../languageHandler"; +import * as sdk from "../../../index"; +import MatrixClientContext from "../../../contexts/MatrixClientContext"; + +interface IProps { + // An array of member events to summarise + events: MatrixEvent[]; + // An array of EventTiles to render when expanded + children: React.ReactChildren; + // The minimum number of events needed to trigger summarisation + threshold?: number; + // Called when the ELS expansion is toggled + onToggle: () => void; + // Whether or not to begin with state.expanded=true + startExpanded?: boolean; +} + +export default class RedactionEventListSummary extends React.Component { + static displayName = "RedactionEventListSummary"; + + static defaultProps = { + threshold: 2, + }; + + static contextType = MatrixClientContext; + + shouldComponentUpdate(nextProps) { + // Update if + // - The number of summarised events has changed + // - or if the summary is about to toggle to become collapsed + // - or if there are fewEvents, meaning the child eventTiles are shown as-is + return ( + nextProps.events.length !== this.props.events.length || + nextProps.events.length < this.props.threshold + ); + } + + render() { + const count = this.props.events.length; + const redactionSender = this.props.events[0].getUnsigned().redacted_because.sender; + + let avatarMember = this.props.events[0].sender; + let summaryText = _t("%(count)s messages deleted", { count }); + if (redactionSender !== this.context.getUserId()) { + const room = (this.context as MatrixClient).getRoom(redactionSender || this.props.events[0].getSender()); + avatarMember = room && room.getMember(redactionSender); + const name = avatarMember ? avatarMember.name : redactionSender; + summaryText = _t("%(count)s messages deleted by %(name)s", { count, name }); + } + + const EventListSummary = sdk.getComponent("views.elements.EventListSummary"); + return ; + } +} diff --git a/src/components/views/messages/RedactedBody.tsx b/src/components/views/messages/RedactedBody.tsx index f219e3bd91..654f1622b1 100644 --- a/src/components/views/messages/RedactedBody.tsx +++ b/src/components/views/messages/RedactedBody.tsx @@ -32,7 +32,7 @@ const RedactedBody = React.forwardRef(({mxEvent}, ref) => { if (redactedBecauseUserId !== cli.getUserId()) { const room = cli.getRoom(mxEvent.getRoomId()); const sender = room && room.getMember(redactedBecauseUserId); - text = _t("Message deleted by %(user)s", { user: sender.name || redactedBecauseUserId }); + text = _t("Message deleted by %(name)s", { name: sender ? sender.name : redactedBecauseUserId }); } return ( diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 356e80afcf..53818d4747 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1329,7 +1329,7 @@ " reacted with %(content)s": " reacted with %(content)s", "reacted with %(shortName)s": "reacted with %(shortName)s", "Message deleted": "Message deleted", - "Message deleted by %(user)s": "Message deleted by %(user)s", + "Message deleted by %(name)s": "Message deleted by %(name)s", "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s changed the avatar for %(roomName)s", "%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s removed the room avatar.", "%(senderDisplayName)s changed the room avatar to ": "%(senderDisplayName)s changed the room avatar to ", @@ -1487,6 +1487,8 @@ "%(oneUser)smade no changes %(count)s times|one": "%(oneUser)smade no changes", "Power level": "Power level", "Custom level": "Custom level", + "%(count)s messages deleted|other": "%(count)s messages deleted", + "%(count)s messages deleted by %(name)s|other": "%(count)s messages deleted by %(name)s", "Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Unable to load event that was replied to, it either does not exist or you do not have permission to view it.", "In reply to ": "In reply to ", "Room alias": "Room alias", From a399b1018ae1aa18e815dcbccdf35222ec1571ed Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 27 Apr 2020 23:16:08 +0100 Subject: [PATCH 003/203] fix flashing `by ""` Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/messages/RedactedBody.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/messages/RedactedBody.tsx b/src/components/views/messages/RedactedBody.tsx index 654f1622b1..e347e879a3 100644 --- a/src/components/views/messages/RedactedBody.tsx +++ b/src/components/views/messages/RedactedBody.tsx @@ -29,7 +29,7 @@ const RedactedBody = React.forwardRef(({mxEvent}, ref) => { let text = _t("Message deleted"); const redactedBecauseUserId = mxEvent.getUnsigned().redacted_because.sender; - if (redactedBecauseUserId !== cli.getUserId()) { + if (redactedBecauseUserId && redactedBecauseUserId !== cli.getUserId()) { const room = cli.getRoom(mxEvent.getRoomId()); const sender = room && room.getMember(redactedBecauseUserId); text = _t("Message deleted by %(name)s", { name: sender ? sender.name : redactedBecauseUserId }); From 83a4558d49021b58f30a47637ce69beb5d6b1fd3 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 27 Apr 2020 23:27:46 +0100 Subject: [PATCH 004/203] remove RedactedGrouper for now Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/MessagePanel.js | 99 +------------------ .../views/elements/EventListSummary.js | 18 ++-- .../elements/RedactionEventListSummary.tsx | 81 --------------- 3 files changed, 13 insertions(+), 185 deletions(-) delete mode 100644 src/components/views/elements/RedactionEventListSummary.tsx diff --git a/src/components/structures/MessagePanel.js b/src/components/structures/MessagePanel.js index 30c139d440..a83529e055 100644 --- a/src/components/structures/MessagePanel.js +++ b/src/components/structures/MessagePanel.js @@ -1063,102 +1063,5 @@ class MemberGrouper { } } -// Wrap consecutive redactions by the same user in a ListSummary, ignore if redacted -class RedactionGrouper { - static canStartGroup = function(panel, ev) { - return panel._shouldShowEvent(ev) && ev.isRedacted(); - } - - constructor(panel, ev, prevEvent, lastShownEvent) { - this.panel = panel; - this.readMarker = panel._readMarkerForEvent( - ev.getId(), - ev === lastShownEvent, - ); - this.events = [ev]; - this.prevEvent = prevEvent; - this.lastShownEvent = lastShownEvent; - } - - shouldGroup(ev) { - if (this.panel._wantsDateSeparator(this.events[0], ev.getDate())) return false; - if (ev.getType() === "m.room.redaction") return true; // for show-hidden-events users - return ev.isRedacted() && ev.sender === this.events[0].sender && - ev.getUnsigned().redacted_because.sender === this.events[0].getUnsigned().redacted_because.sender; - } - - add(ev) { - if (ev.getType() === "m.room.redaction") return; // for show-hidden-events users - this.readMarker = this.readMarker || this.panel._readMarkerForEvent( - ev.getId(), - ev === this.lastShownEvent, - ); - this.events.push(ev); - } - - getTiles() { - // If we don't have any events to group, don't even try to group them. The logic - // below assumes that we have a group of events to deal with, but we might not if - // the events we were supposed to group were redacted. - if (!this.events || !this.events.length) return []; - - const DateSeparator = sdk.getComponent('messages.DateSeparator'); - - const panel = this.panel; - const lastShownEvent = this.lastShownEvent; - const ret = []; - - if (panel._wantsDateSeparator(this.prevEvent, this.events[0].getDate())) { - const ts = this.events[0].getTs(); - ret.push( -
  • , - ); - } - - // Ensure that the key of the MemberEventListSummary does not change with new - // member events. This will prevent it from being re-created unnecessarily, and - // instead will allow new props to be provided. In turn, the shouldComponentUpdate - // method on ELS can be used to prevent unnecessary renderings. - const key = "redactioneventlistsummary-" + (this.prevEvent ? this.events[0].getId() : "initial"); - - let highlightInMels = false; - let eventTiles = this.events.map((e) => { - if (e.getId() === panel.props.highlightedEventId) { - highlightInMels = true; - } - // In order to prevent DateSeparators from appearing in the expanded form - // of MemberEventListSummary, render each member event as if the previous - // one was itself. This way, the timestamp of the previous event === the - // timestamp of the current event, and no DateSeparator is inserted. - return panel._getTilesForEvent(e, e, e === lastShownEvent); - }).reduce((a, b) => a.concat(b), []); - - if (eventTiles.length === 0) { - eventTiles = null; - } - - ret.push( - - { eventTiles } - , - ); - - if (this.readMarker) { - ret.push(this.readMarker); - } - - return ret; - } - - getNewPrevEvent() { - return this.events[0]; - } -} - // all the grouper classes that we use -const groupers = [CreationGrouper, MemberGrouper, RedactionGrouper]; +const groupers = [CreationGrouper, MemberGrouper]; diff --git a/src/components/views/elements/EventListSummary.js b/src/components/views/elements/EventListSummary.js index 79c84293c2..707b9e79b0 100644 --- a/src/components/views/elements/EventListSummary.js +++ b/src/components/views/elements/EventListSummary.js @@ -22,7 +22,8 @@ import {MatrixEvent, RoomMember} from "matrix-js-sdk"; import {useStateToggle} from "../../../hooks/useStateToggle"; import AccessibleButton from "./AccessibleButton"; -const EventListSummary = ({events, children, threshold=3, onToggle, startExpanded, summaryMembers=[], summaryText}) => { +const EventListSummary = (props) => { + const {events, children, threshold=3, onToggle, startExpanded, summaryMembers=[], summaryText, summary} = props; const [expanded, toggleExpanded] = useStateToggle(startExpanded); // Whenever expanded changes call onToggle @@ -49,6 +50,8 @@ const EventListSummary = ({events, children, threshold=3, onToggle, startExpande
     
    { children } ; + } else if (summary) { + body = summary; } else { const avatars = summaryMembers.map((m) => ); body = ( @@ -66,12 +69,12 @@ const EventListSummary = ({events, children, threshold=3, onToggle, startExpande } return ( -
    +
  • { expanded ? _t('collapse') : _t('expand') } { body } -
  • + ); }; @@ -87,10 +90,13 @@ EventListSummary.propTypes = { // Whether or not to begin with state.expanded=true startExpanded: PropTypes.bool, - // The list of room members for which to show avatars next to the summary + // The node to render as a summary when the summary is not collapsed, + // alternately summaryMembers and summaryText can be provided. + summary: PropTypes.node, + // The list of room members for which to show avatars next to the summary, ignored if summary is provided summaryMembers: PropTypes.arrayOf(PropTypes.instanceOf(RoomMember)), - // The text to show as the summary of this event list - summaryText: PropTypes.string.isRequired, + // The text to show as the summary of this event list, ignored if summary is provided + summaryText: PropTypes.string, }; export default EventListSummary; diff --git a/src/components/views/elements/RedactionEventListSummary.tsx b/src/components/views/elements/RedactionEventListSummary.tsx deleted file mode 100644 index 55538ca236..0000000000 --- a/src/components/views/elements/RedactionEventListSummary.tsx +++ /dev/null @@ -1,81 +0,0 @@ -/* -Copyright 2020 The Matrix.org Foundation C.I.C. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -import React from "react"; -import {MatrixClient} from "matrix-js-sdk/src/client"; -import {MatrixEvent} from "matrix-js-sdk/src/models/event"; - -import { _t } from "../../../languageHandler"; -import * as sdk from "../../../index"; -import MatrixClientContext from "../../../contexts/MatrixClientContext"; - -interface IProps { - // An array of member events to summarise - events: MatrixEvent[]; - // An array of EventTiles to render when expanded - children: React.ReactChildren; - // The minimum number of events needed to trigger summarisation - threshold?: number; - // Called when the ELS expansion is toggled - onToggle: () => void; - // Whether or not to begin with state.expanded=true - startExpanded?: boolean; -} - -export default class RedactionEventListSummary extends React.Component { - static displayName = "RedactionEventListSummary"; - - static defaultProps = { - threshold: 2, - }; - - static contextType = MatrixClientContext; - - shouldComponentUpdate(nextProps) { - // Update if - // - The number of summarised events has changed - // - or if the summary is about to toggle to become collapsed - // - or if there are fewEvents, meaning the child eventTiles are shown as-is - return ( - nextProps.events.length !== this.props.events.length || - nextProps.events.length < this.props.threshold - ); - } - - render() { - const count = this.props.events.length; - const redactionSender = this.props.events[0].getUnsigned().redacted_because.sender; - - let avatarMember = this.props.events[0].sender; - let summaryText = _t("%(count)s messages deleted", { count }); - if (redactionSender !== this.context.getUserId()) { - const room = (this.context as MatrixClient).getRoom(redactionSender || this.props.events[0].getSender()); - avatarMember = room && room.getMember(redactionSender); - const name = avatarMember ? avatarMember.name : redactionSender; - summaryText = _t("%(count)s messages deleted by %(name)s", { count, name }); - } - - const EventListSummary = sdk.getComponent("views.elements.EventListSummary"); - return ; - } -} From c7870090f8466bff4f40ea074c36c56b68469f28 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 27 Apr 2020 23:29:38 +0100 Subject: [PATCH 005/203] clean ups Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/MessagePanel.js | 1 - src/components/views/elements/EventListSummary.js | 8 +------- src/i18n/strings/en_EN.json | 2 -- 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/src/components/structures/MessagePanel.js b/src/components/structures/MessagePanel.js index a83529e055..6fbfdb504b 100644 --- a/src/components/structures/MessagePanel.js +++ b/src/components/structures/MessagePanel.js @@ -29,7 +29,6 @@ import SettingsStore from '../../settings/SettingsStore'; import {_t} from "../../languageHandler"; import {haveTileForEvent} from "../views/rooms/EventTile"; import {textForEvent} from "../../TextForEvent"; -import RedactionEventListSummary from "../views/elements/RedactionEventListSummary"; const CONTINUATION_MAX_INTERVAL = 5 * 60 * 1000; // 5 minutes const continuedTypes = ['m.sticker', 'm.room.message']; diff --git a/src/components/views/elements/EventListSummary.js b/src/components/views/elements/EventListSummary.js index 707b9e79b0..bf0f8ea133 100644 --- a/src/components/views/elements/EventListSummary.js +++ b/src/components/views/elements/EventListSummary.js @@ -22,8 +22,7 @@ import {MatrixEvent, RoomMember} from "matrix-js-sdk"; import {useStateToggle} from "../../../hooks/useStateToggle"; import AccessibleButton from "./AccessibleButton"; -const EventListSummary = (props) => { - const {events, children, threshold=3, onToggle, startExpanded, summaryMembers=[], summaryText, summary} = props; +const EventListSummary = ({events, children, threshold=3, onToggle, startExpanded, summaryMembers=[], summaryText}) => { const [expanded, toggleExpanded] = useStateToggle(startExpanded); // Whenever expanded changes call onToggle @@ -50,8 +49,6 @@ const EventListSummary = (props) => {
     
    { children } ; - } else if (summary) { - body = summary; } else { const avatars = summaryMembers.map((m) => ); body = ( @@ -90,9 +87,6 @@ EventListSummary.propTypes = { // Whether or not to begin with state.expanded=true startExpanded: PropTypes.bool, - // The node to render as a summary when the summary is not collapsed, - // alternately summaryMembers and summaryText can be provided. - summary: PropTypes.node, // The list of room members for which to show avatars next to the summary, ignored if summary is provided summaryMembers: PropTypes.arrayOf(PropTypes.instanceOf(RoomMember)), // The text to show as the summary of this event list, ignored if summary is provided diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index de3f88c244..8785b5e244 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1488,8 +1488,6 @@ "%(oneUser)smade no changes %(count)s times|one": "%(oneUser)smade no changes", "Power level": "Power level", "Custom level": "Custom level", - "%(count)s messages deleted|other": "%(count)s messages deleted", - "%(count)s messages deleted by %(name)s|other": "%(count)s messages deleted by %(name)s", "Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Unable to load event that was replied to, it either does not exist or you do not have permission to view it.", "In reply to ": "In reply to ", "Room alias": "Room alias", From a5830c229ec62448cb014d3552955552be0f3ec6 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 27 Apr 2020 23:30:40 +0100 Subject: [PATCH 006/203] more tidying Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/elements/EventListSummary.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/views/elements/EventListSummary.js b/src/components/views/elements/EventListSummary.js index bf0f8ea133..5a4a6e4f5a 100644 --- a/src/components/views/elements/EventListSummary.js +++ b/src/components/views/elements/EventListSummary.js @@ -87,9 +87,9 @@ EventListSummary.propTypes = { // Whether or not to begin with state.expanded=true startExpanded: PropTypes.bool, - // The list of room members for which to show avatars next to the summary, ignored if summary is provided + // The list of room members for which to show avatars next to the summary summaryMembers: PropTypes.arrayOf(PropTypes.instanceOf(RoomMember)), - // The text to show as the summary of this event list, ignored if summary is provided + // The text to show as the summary of this event list summaryText: PropTypes.string, }; From 3e35cffae7ffb4ab6447f75464b84df82176a84d Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 27 Apr 2020 23:53:32 +0100 Subject: [PATCH 007/203] null-guards Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/messages/RedactedBody.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/views/messages/RedactedBody.tsx b/src/components/views/messages/RedactedBody.tsx index e347e879a3..5dada64b52 100644 --- a/src/components/views/messages/RedactedBody.tsx +++ b/src/components/views/messages/RedactedBody.tsx @@ -28,8 +28,9 @@ const RedactedBody = React.forwardRef(({mxEvent}, ref) => { const cli: MatrixClient = useContext(MatrixClientContext); let text = _t("Message deleted"); - const redactedBecauseUserId = mxEvent.getUnsigned().redacted_because.sender; - if (redactedBecauseUserId && redactedBecauseUserId !== cli.getUserId()) { + const unsigned = mxEvent.getUnsigned(); + const redactedBecauseUserId = unsigned && unsigned.redacted_because && unsigned.redacted_because.sender; + if (redactedBecauseUserId && redactedBecauseUserId !== mxEvent.getSender()) { const room = cli.getRoom(mxEvent.getRoomId()); const sender = room && room.getMember(redactedBecauseUserId); text = _t("Message deleted by %(name)s", { name: sender ? sender.name : redactedBecauseUserId }); From eaf8cf9170fb67cc00b86f3965cd6c5e490c23ec Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Mon, 4 May 2020 12:57:37 +0000 Subject: [PATCH 008/203] Translated using Weblate (German) Currently translated at 78.2% (1801 of 2302 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 083ca396fc..e69aadcb39 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1862,5 +1862,14 @@ "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "Gibt den per SMS an +%(msisdn)s gesendeten Bestätigungscode ein.", "Someone is using an unknown session": "Jemand verwendet eine unbekannte Sitzung", "This room is end-to-end encrypted": "Dieser Raum ist Ende-zu-Ende verschlüsselt", - "You are not subscribed to any lists": "Du hast keine Listen abonniert" + "You are not subscribed to any lists": "Du hast keine Listen abonniert", + "Error adding ignored user/server": "Fehler beim Hinzufügen eines ignorierten Nutzers/Servers", + "None": "Keine", + "Ban list rules - %(roomName)s": "Verbotslistenregeln - %(roomName)s", + "Add users and servers you want to ignore here. Use asterisks to have Riot match any characters. For example, @bot:* would ignore all users that have the name 'bot' on any server.": "Füge hier Benutzer!nnen und Server hinzu, die du ignorieren willst. Verwende Sternchen, damit Riot mit beliebigen Zeichen übereinstimmt. Bspw. würde @bot: * alle Benutzer!nnen ignorieren, die auf einem Server den Namen 'bot' haben.", + "Ignoring people is done through ban lists which contain rules for who to ban. Subscribing to a ban list means the users/servers blocked by that list will be hidden from you.": "Ignorieren von Personen erfolgt über Sperrlisten. Wenn eine Sperrliste abonniert wird, werden die von dieser Liste blockierten Benutzer!nnen/Server ausgeblendet.", + "Personal ban list": "Persönliche Sperrliste", + "Your personal ban list holds all the users/servers you personally don't want to see messages from. After ignoring your first user/server, a new room will show up in your room list named 'My Ban List' - stay in this room to keep the ban list in effect.": "Deine persönliche Sperrliste enthält alle Benutzer!nnen/Server, von denen du persönlich keine Nachrichten sehen willst. Nachdem du den ersten Benutzer/Server ignoriert hast, wird in der Raumliste \"Meine Sperrliste\" angezeigt - bleibe in diesem Raum, um die Sperrliste aufrecht zu halten.", + "Server or user ID to ignore": "Zu ignorierende Server- oder Benutzer-ID", + "eg: @bot:* or example.org": "z.B. @bot:* oder example.org" } From 7dfc01eed114f2084b6e15e8297dd19633fa2b39 Mon Sep 17 00:00:00 2001 From: Max Klenk Date: Mon, 4 May 2020 13:01:56 +0000 Subject: [PATCH 009/203] Translated using Weblate (German) Currently translated at 78.4% (1805 of 2302 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index e69aadcb39..b1e91c2cec 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1871,5 +1871,5 @@ "Personal ban list": "Persönliche Sperrliste", "Your personal ban list holds all the users/servers you personally don't want to see messages from. After ignoring your first user/server, a new room will show up in your room list named 'My Ban List' - stay in this room to keep the ban list in effect.": "Deine persönliche Sperrliste enthält alle Benutzer!nnen/Server, von denen du persönlich keine Nachrichten sehen willst. Nachdem du den ersten Benutzer/Server ignoriert hast, wird in der Raumliste \"Meine Sperrliste\" angezeigt - bleibe in diesem Raum, um die Sperrliste aufrecht zu halten.", "Server or user ID to ignore": "Zu ignorierende Server- oder Benutzer-ID", - "eg: @bot:* or example.org": "z.B. @bot:* oder example.org" + "eg: @bot:* or example.org": "z.B. @bot:* oder example.org" } From 3327b9e298dd4d1e94048e49a2a0fe7f56367efb Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Mon, 4 May 2020 13:02:03 +0000 Subject: [PATCH 010/203] Translated using Weblate (German) Currently translated at 78.4% (1805 of 2302 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index b1e91c2cec..3ff8feaccb 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1871,5 +1871,9 @@ "Personal ban list": "Persönliche Sperrliste", "Your personal ban list holds all the users/servers you personally don't want to see messages from. After ignoring your first user/server, a new room will show up in your room list named 'My Ban List' - stay in this room to keep the ban list in effect.": "Deine persönliche Sperrliste enthält alle Benutzer!nnen/Server, von denen du persönlich keine Nachrichten sehen willst. Nachdem du den ersten Benutzer/Server ignoriert hast, wird in der Raumliste \"Meine Sperrliste\" angezeigt - bleibe in diesem Raum, um die Sperrliste aufrecht zu halten.", "Server or user ID to ignore": "Zu ignorierende Server- oder Benutzer-ID", - "eg: @bot:* or example.org": "z.B. @bot:* oder example.org" + "eg: @bot:* or example.org": "z.B. @bot:* oder example.org", + "Subscribed lists": "Abonnierte Listen", + "Subscribing to a ban list will cause you to join it!": "Eine Verbotsliste abonnieren bedeutet ihr beizutreten!", + "If this isn't what you want, please use a different tool to ignore users.": "Wenn dies nicht das ist, was du willst, verwende ein anderes Tool, um Benutzer!nnen zu ignorieren.", + "Room ID or alias of ban list": "Raum-ID oder Alias ​​der Sperrliste" } From ae1fe0d625089241e2f24924de23ae0bc23ed6a6 Mon Sep 17 00:00:00 2001 From: Max Klenk Date: Mon, 4 May 2020 13:03:24 +0000 Subject: [PATCH 011/203] Translated using Weblate (German) Currently translated at 78.5% (1808 of 2302 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 3ff8feaccb..97e2bbfae7 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1875,5 +1875,5 @@ "Subscribed lists": "Abonnierte Listen", "Subscribing to a ban list will cause you to join it!": "Eine Verbotsliste abonnieren bedeutet ihr beizutreten!", "If this isn't what you want, please use a different tool to ignore users.": "Wenn dies nicht das ist, was du willst, verwende ein anderes Tool, um Benutzer!nnen zu ignorieren.", - "Room ID or alias of ban list": "Raum-ID oder Alias ​​der Sperrliste" + "Room ID or alias of ban list": "Raum-ID oder -Alias der Sperrliste" } From bcf0a5268e4fb50f235108b208ef4fbd0aa1408a Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Mon, 4 May 2020 13:03:29 +0000 Subject: [PATCH 012/203] Translated using Weblate (German) Currently translated at 78.5% (1808 of 2302 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 97e2bbfae7..237c56fba7 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1875,5 +1875,8 @@ "Subscribed lists": "Abonnierte Listen", "Subscribing to a ban list will cause you to join it!": "Eine Verbotsliste abonnieren bedeutet ihr beizutreten!", "If this isn't what you want, please use a different tool to ignore users.": "Wenn dies nicht das ist, was du willst, verwende ein anderes Tool, um Benutzer!nnen zu ignorieren.", - "Room ID or alias of ban list": "Raum-ID oder -Alias der Sperrliste" + "Room ID or alias of ban list": "Raum-ID oder -Alias der Sperrliste", + "Subscribe": "Abonnieren", + "Always show the window menu bar": "Fenstermenüleiste immer anzeigen", + "Show tray icon and minimize window to it on close": "Tray-Symbol anzeigen und Fenster beim Schließen minimieren" } From 9a14417a037933204a6676fa858524bf9f93cb22 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 4 May 2020 15:41:26 -0600 Subject: [PATCH 013/203] Don't try to reload profile information when closing the user panel Fixes https://github.com/vector-im/riot-web/issues/13479 This looks to have been caused by something to do with the app load order, though where is a mystery. The view change seems to fire for the same page type despite a dispatch that says to change the view type. Instead of debugging it too much further, we'll just patch around it. This commit also makes the settings link use a more safe approach to viewing the user info - not going through the dispatcher means we are at the mercy of browser behaviour when we already have a loop which deals with this. --- src/components/structures/RightPanel.js | 2 +- src/components/structures/UserView.js | 5 ++++- .../views/settings/tabs/user/SecurityUserSettingsTab.js | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/components/structures/RightPanel.js b/src/components/structures/RightPanel.js index 3fec5aa25f..34652098b3 100644 --- a/src/components/structures/RightPanel.js +++ b/src/components/structures/RightPanel.js @@ -227,7 +227,7 @@ export default class RightPanel extends React.Component { if (this.props.user) { // If we have a user prop then we're displaying a user from the 'user' page type // in LoggedInView, so need to change the page type to close the panel (we switch - // to the home page which is not obviosuly the correct thing to do, but I'm not sure + // to the home page which is not obviously the correct thing to do, but I'm not sure // anything else is - we could hide the close button altogether?) dis.dispatch({ action: "view_home_page", diff --git a/src/components/structures/UserView.js b/src/components/structures/UserView.js index c4fba137cc..493cc136d1 100644 --- a/src/components/structures/UserView.js +++ b/src/components/structures/UserView.js @@ -42,7 +42,10 @@ export default class UserView extends React.Component { } componentDidUpdate(prevProps) { - if (prevProps.userId !== this.props.userId) { + // XXX: We shouldn't need to null check the userId here, but we declare + // it as optional and MatrixChat sometimes fires in a way which results + // in an NPE when we try to update the profile info. + if (prevProps.userId !== this.props.userId && this.props.userId) { this._loadProfileInfo(); } } diff --git a/src/components/views/settings/tabs/user/SecurityUserSettingsTab.js b/src/components/views/settings/tabs/user/SecurityUserSettingsTab.js index a4336a81f3..5dd6475e6e 100644 --- a/src/components/views/settings/tabs/user/SecurityUserSettingsTab.js +++ b/src/components/views/settings/tabs/user/SecurityUserSettingsTab.js @@ -112,7 +112,10 @@ export default class SecurityUserSettingsTab extends React.Component { }; _onGoToUserProfileClick = () => { - window.location.href = "#/user/" + MatrixClientPeg.get().getUserId(); + dis.dispatch({ + action: 'view_user_info', + userId: MatrixClientPeg.get().getUserId(), + }); this.props.closeSettingsFn(); } From 9b291e51a782687976fb97318691ba44f63fb2c1 Mon Sep 17 00:00:00 2001 From: Max Klenk Date: Mon, 4 May 2020 13:05:58 +0000 Subject: [PATCH 014/203] Translated using Weblate (German) Currently translated at 79.1% (1820 of 2302 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 237c56fba7..74247bbf6b 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -783,7 +783,7 @@ "Explore Account Data": "Konto-Daten erkunden", "All messages (noisy)": "Alle Nachrichten (laut)", "Saturday": "Samstag", - "I understand the risks and wish to continue": "Ich verstehe das Risiko und möchte fortfahren", + "I understand the risks and wish to continue": "Ich verstehe die Risiken und möchte fortfahren", "Direct Chat": "Direkt-Chat", "The server may be unavailable or overloaded": "Der Server ist vermutlich nicht erreichbar oder überlastet", "Reject": "Ablehnen", @@ -1348,7 +1348,7 @@ "Share Permalink": "Teile permanenten Link", "Sign in to your Matrix account on %(serverName)s": "Melde dich mit deinem Matrixkonto auf %(serverName)s an", "Create your Matrix account on %(serverName)s": "Erstelle ein Matrixkonto auf %(serverName)s", - "Please install Chrome, Firefox, or Safari for the best experience.": "Bitte installiere Chrome, Firefox, oder Safari für die beste Erfahrung.", + "Please install Chrome, Firefox, or Safari for the best experience.": " Bitte installiere Chrome, Firefox, oder Safari für das beste Erlebnis.", "Want more than a community? Get your own server": "Du möchtest mehr als eine Community? Hol dir deinen eigenen Server", "Could not load user profile": "Konnte Nutzerprofil nicht laden", "Your Matrix account on %(serverName)s": "Dein Matrixkonto auf %(serverName)s", @@ -1878,5 +1878,5 @@ "Room ID or alias of ban list": "Raum-ID oder -Alias der Sperrliste", "Subscribe": "Abonnieren", "Always show the window menu bar": "Fenstermenüleiste immer anzeigen", - "Show tray icon and minimize window to it on close": "Tray-Symbol anzeigen und Fenster beim Schließen minimieren" + "Show tray icon and minimize window to it on close": "Taskleistensymbol anzeigen und Fenster beim Schließen dorthin minimieren" } From 74fdbcd02f31bb1ba1feec6160475cee82df4957 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Mon, 4 May 2020 13:07:02 +0000 Subject: [PATCH 015/203] Translated using Weblate (German) Currently translated at 79.1% (1820 of 2302 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 74247bbf6b..bea4ab51c8 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1751,7 +1751,7 @@ "Read Marker lifetime (ms)": "Gültigkeitsdauer der Gelesen-Markierung (ms)", "Read Marker off-screen lifetime (ms)": "Gültigkeitsdauer der Gelesen-Markierung außerhalb des Bildschirms (ms)", "Session key:": "Sitzungsschlüssel:", - "A session's public name is visible to people you communicate with": "Der Sitzungsname ist sichtbar für die Personen mit denen du kommunizierst", + "A session's public name is visible to people you communicate with": "Der öffentliche Sitzungsname ist sichtbar für Personen, mit denen du kommunizierst", "Sounds": "Töne", "Upgrade the room": "Raum hochstufen", "Enable room encryption": "Verschlüsselung aktivieren", @@ -1878,5 +1878,12 @@ "Room ID or alias of ban list": "Raum-ID oder -Alias der Sperrliste", "Subscribe": "Abonnieren", "Always show the window menu bar": "Fenstermenüleiste immer anzeigen", - "Show tray icon and minimize window to it on close": "Taskleistensymbol anzeigen und Fenster beim Schließen dorthin minimieren" + "Show tray icon and minimize window to it on close": "Taskleistensymbol anzeigen und Fenster beim Schließen dorthin minimieren", + "Session ID:": "Sitzungs-ID:", + "Message search": "Nachrichtensuche", + "Cross-signing": "Cross-Signing", + "This room is bridging messages to the following platforms. Learn more.": "Dieser Raum verbindet Nachrichten mit den folgenden Plattformen. Mehr erfahren.", + "This room isn’t bridging messages to any platforms. Learn more.": "Dieser Raum verbindet keine Nachrichten mit Plattformen. Mehr erfahren.", + "Bridges": "Bridges", + "Uploaded sound": "Hochgeladener Ton" } From 07a4503e350789b1ee8c6d18aa49a0766718bbf1 Mon Sep 17 00:00:00 2001 From: Luca Corbatto Date: Mon, 4 May 2020 13:08:15 +0000 Subject: [PATCH 016/203] Translated using Weblate (German) Currently translated at 79.1% (1820 of 2302 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index bea4ab51c8..c63cce305a 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1235,7 +1235,7 @@ "Confirm your passphrase": "Bestätige deine Passphrase", "Secure your backup with a passphrase": "Sichere dein Backup mit einer Passphrase", "Your keys are being backed up (the first backup could take a few minutes).": "Deine Schlüssel werden gesichert (Das erste Backup könnte ein paar Minuten in Anspruch nehmen).", - "Voice & Video": "Sprache & Video", + "Voice & Video": "Sprach- & Videoanruf", "Never lose encrypted messages": "Verliere niemals verschlüsselte Nachrichten", "Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Nachrichten in diesem Raum sind mit einer Ende-zu-Ende-Verschlüsselung gesichert. Nur du und dein(e) Gesprächspartner haben die Schlüssel, um die Nachrichten zu lesen.", "Securely back up your keys to avoid losing them. Learn more.": "Speichere deine Schlüssel an einem sicheren Ort, um diese nicht zu verlieren. Lerne wie.", From b298d27c21c37b0734b2a9983cb1d511962bed9f Mon Sep 17 00:00:00 2001 From: BenjaminVettori Date: Mon, 4 May 2020 13:08:26 +0000 Subject: [PATCH 017/203] Translated using Weblate (German) Currently translated at 79.1% (1820 of 2302 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index c63cce305a..3668b08bca 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1885,5 +1885,8 @@ "This room is bridging messages to the following platforms. Learn more.": "Dieser Raum verbindet Nachrichten mit den folgenden Plattformen. Mehr erfahren.", "This room isn’t bridging messages to any platforms. Learn more.": "Dieser Raum verbindet keine Nachrichten mit Plattformen. Mehr erfahren.", "Bridges": "Bridges", - "Uploaded sound": "Hochgeladener Ton" + "Uploaded sound": "Hochgeladener Ton", + "Upgrade this room to the recommended room version": "Aktualisiere diesen Raum auf die empfohlene Raumversion", + "this room": "Dieser Raum", + "View older messages in %(roomName)s.": "Zeige alte Nachrichten in %(roomName)s." } From 0b089858ede64c2cb2df2086a72c1444e5210dd0 Mon Sep 17 00:00:00 2001 From: code-surfer <1703github@rainbow.in-berlin.de> Date: Mon, 4 May 2020 13:20:38 +0000 Subject: [PATCH 018/203] Translated using Weblate (German) Currently translated at 79.1% (1820 of 2302 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 3668b08bca..4500a678e6 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1888,5 +1888,7 @@ "Uploaded sound": "Hochgeladener Ton", "Upgrade this room to the recommended room version": "Aktualisiere diesen Raum auf die empfohlene Raumversion", "this room": "Dieser Raum", - "View older messages in %(roomName)s.": "Zeige alte Nachrichten in %(roomName)s." + "View older messages in %(roomName)s.": "Zeige alte Nachrichten in %(roomName)s.", + "Send a bug report with logs": "Sende Fehlermeldung mit Protokoll", + "Verify all your sessions to ensure your account & messages are safe": "Verifiziere alle deine Sitzungen, um dein Konto und deine Nachrichten zu schützen" } From 26a42ce62e085795e025ac5d4d8656774089e3c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Mesk=C3=B3?= Date: Tue, 5 May 2020 14:46:01 +0000 Subject: [PATCH 019/203] Translated using Weblate (Hungarian) Currently translated at 100.0% (2304 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/hu/ --- src/i18n/strings/hu.json | 188 ++++++++++++++++++++------------------- 1 file changed, 95 insertions(+), 93 deletions(-) diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 8bf5e28f7f..5eebbe8478 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -2,7 +2,7 @@ "Cancel": "Mégse", "Search": "Keresés", "OK": "Rendben", - "Custom Server Options": "Egyedi szerverbeállítások", + "Custom Server Options": "Egyéni kiszolgálóbeállítások", "Dismiss": "Eltüntetés", "Error": "Hiba", "Failed to forget room %(errCode)s": "Nem sikerült elfelejteni a szobát: %(errCode)s", @@ -10,7 +10,7 @@ "Mute": "Elnémít", "Notifications": "Értesítések", "Operation failed": "Sikertelen művelet", - "powered by Matrix": "Matrix hajtja", + "powered by Matrix": "a gépházban: Matrix", "Remove": "Kitakarás", "Settings": "Beállítások", "unknown error code": "ismeretlen hibakód", @@ -70,7 +70,7 @@ "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s megváltoztatta a szoba nevét erre: %(roomName)s.", "%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s törölte a szoba nevét.", "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s megváltoztatta a témát erre \"%(topic)s\".", - "Changes your display nickname": "Becenév megváltoztatása", + "Changes your display nickname": "Megváltoztatja a becenevedet", "Claimed Ed25519 fingerprint key": "Igényelt Ed25519 ujjlenyomat kulcs", "Click here to fix": "A javításhoz kattints ide", "Click to mute audio": "Hang némításhoz kattints ide", @@ -88,7 +88,7 @@ "Curve25519 identity key": "Curve25519 azonosítási kulcs", "Custom": "Egyedi", "Custom level": "Egyedi szint", - "/ddg is not a command": "/ddg nem egy parancs", + "/ddg is not a command": "A /ddg nem egy parancs", "Deactivate Account": "Fiók bezárása", "Decline": "Elutasít", "Decrypt %(text)s": "%(text)s visszafejtése", @@ -159,7 +159,7 @@ "%(senderName)s invited %(targetName)s.": "%(senderName)s meghívta: %(targetName)s.", "Invited": "Meghívva", "Invites": "Meghívók", - "Invites user with given id to current room": "Felhasználó meghívása ebbe a szobába megadott azonosítóval", + "Invites user with given id to current room": "A megadott azonosítójú felhasználó meghívása a jelenlegi szobába", "Sign in with": "Belépés ezzel:", "Join as voice or video.": "Csatlakozás hanggal vagy videóval.", "Join Room": "Belépés a szobába", @@ -182,8 +182,8 @@ "%(senderName)s made future room history visible to anyone.": "%(senderName)s elérhetővé tette a szoba új üzeneteit nekik bárki.", "%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s elérhetővé tette a szoba új üzeneteit nekik ismeretlen (%(visibility)s).", "Manage Integrations": "Integrációk kezelése", - "Missing room_id in request": "Hiányzó room_id a kérésben", - "Missing user_id in request": "Hiányzó user_id a kérésben", + "Missing room_id in request": "A kérésből hiányzik a room_id", + "Missing user_id in request": "A kérésből hiányzik a user_id", "Moderator": "Moderátor", "Name": "Név", "New address (e.g. #foo:%(localDomain)s)": "Új cím (e.g. #foo:%(localDomain)s)", @@ -240,7 +240,7 @@ "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s meghívót küldött %(targetDisplayName)s felhasználónak, hogy lépjen be a szobába.", "Server error": "Szerver hiba", "Server may be unavailable, overloaded, or search timed out :(": "A szerver elérhetetlen, túlterhelt vagy a keresés túllépte az időkorlátot :(", - "Server may be unavailable, overloaded, or you hit a bug.": "A szerver elérhetetlen, túlterhelt vagy hibára futott.", + "Server may be unavailable, overloaded, or you hit a bug.": "A kiszolgáló elérhetetlen, túlterhelt vagy hibára futott.", "Server unavailable, overloaded, or something else went wrong.": "A szerver elérhetetlen, túlterhelt vagy valami más probléma van.", "Session ID": "Kapcsolat azonosító", "%(senderName)s set a profile picture.": "%(senderName)s profil képet állított be.", @@ -266,7 +266,7 @@ "This phone number is already in use": "Ez a telefonszám már használatban van", "This room": "Ebben a szobában", "This room is not accessible by remote Matrix servers": "Ez a szoba távoli Matrix szerverről nem érhető el", - "To use it, just wait for autocomplete results to load and tab through them.": "A használatához csak várd meg az automatikus kiegészítéshez a találatok betöltését és TAB-bal választhatsz közülük.", + "To use it, just wait for autocomplete results to load and tab through them.": "A használatához csak várd meg az automatikus kiegészítési találatok betöltését, majd Tabbal választhatsz közülük.", "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Megpróbáltam betölteni a szoba megadott időpontjának megfelelő adatait, de nincs jogod a kérdéses üzenetek megjelenítéséhez.", "Tried to load a specific point in this room's timeline, but was unable to find it.": "Megpróbáltam betölteni a szoba megadott időpontjának megfelelő adatait, de nem találom.", "Unable to add email address": "Az e-mail címet nem sikerült hozzáadni", @@ -304,7 +304,7 @@ "Voice call": "Hang hívás", "VoIP conference finished.": "VoIP konferencia befejeződött.", "VoIP conference started.": "VoIP konferencia elkezdődött.", - "VoIP is unsupported": "VoIP nem támogatott", + "VoIP is unsupported": "A VoIP nem támogatott", "(could not connect media)": "(média kapcsolat nem hozható létre)", "(no answer)": "(nincs válasz)", "(unknown failure: %(reason)s)": "(ismeretlen hiba: %(reason)s)", @@ -320,33 +320,33 @@ "You have enabled URL previews by default.": "Az URL előnézet alapból engedélyezve van.", "You have no visible notifications": "Nincsenek látható értesítéseid", "You must register to use this functionality": "Regisztrálnod kell hogy ezt használhasd", - "You need to be able to invite users to do that.": "Hogy ezt csinálhasd meg kell tudnod hívni felhasználókat.", + "You need to be able to invite users to do that.": "Hogy ezt tehesd, meg kell tudnod hívni felhasználókat.", "You need to be logged in.": "Be kell jelentkezz.", - "Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Ez az e-mail cím, úgy néz ki, nincs összekötve a Matrix azonosítóval ezen a Matrix szerveren.", + "Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Ez az e-mail cím, úgy néz ki, nincs összekötve a Matrix azonosítóval ezen a Matrix-kiszolgálón.", "You seem to be in a call, are you sure you want to quit?": "Úgy tűnik hívásban vagy, biztosan kilépsz?", "You seem to be uploading files, are you sure you want to quit?": "Úgy tűnik fájlokat töltesz fel, biztosan kilépsz?", "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Nem leszel képes visszavonni ezt a változtatást mivel a felhasználót ugyanarra a szintre emeled amin te vagy.", - "Sun": "vas", - "Mon": "hé", + "Sun": "v", + "Mon": "h", "Tue": "k", "Wed": "sze", - "Thu": "csü", - "Fri": "pé", + "Thu": "cs", + "Fri": "p", "Sat": "szo", - "Jan": "jan", - "Feb": "feb", - "Mar": "már", - "Apr": "ápr", - "May": "máj", - "Jun": "jún", - "Jul": "júl", - "Aug": "aug", - "Sep": "szept", - "Oct": "okt", - "Nov": "nov", - "Dec": "dec", - "%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(time)s", - "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s", + "Jan": "jan.", + "Feb": "feb.", + "Mar": "már.", + "Apr": "ápr.", + "May": "máj.", + "Jun": "jún.", + "Jul": "júl.", + "Aug": "aug.", + "Sep": "szept.", + "Oct": "okt.", + "Nov": "nov.", + "Dec": "dec.", + "%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(monthName)s %(day)s, %(weekDayName)s %(time)s", + "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(fullYear)s. %(monthName)s %(day)s, %(weekDayName)s %(time)s", "%(weekDayName)s %(time)s": "%(weekDayName)s %(time)s", "Set a display name:": "Megjelenítési név beállítása:", "Upload an avatar:": "Avatar kép feltöltése:", @@ -438,8 +438,8 @@ "Define the power level of a user": "A felhasználó szintjének meghatározása", "Edit": "Szerkeszt", "Enable automatic language detection for syntax highlighting": "Nyelv automatikus felismerése szintaxis kiemeléshez", - "AM": "de", - "PM": "du", + "AM": "de.", + "PM": "du.", "To get started, please pick a username!": "Az induláshoz válassz egy felhasználói nevet!", "Unable to create widget.": "Nem lehet kisalkalmazást létrehozni.", "You are not in this room.": "Nem vagy ebben a szobában.", @@ -465,15 +465,15 @@ "You are no longer ignoring %(userId)s": "Ismét figyelembe veszed: %(userId)s", "Unignored user": "Figyelembe vett felhasználó", "Ignored user": "Figyelmen kívül hagyott felhasználó", - "Stops ignoring a user, showing their messages going forward": "Felhasználót újra figyelembe vesszük és megmutatjuk az új üzeneteit", - "Ignores a user, hiding their messages from you": "Felhasználó figyelmen kívül hagyásával elrejtheted az üzeneteit magad elől", + "Stops ignoring a user, showing their messages going forward": "A felhasználó újbóli figyelembe vétele, és az üzenetei megjelenítése a jövőben", + "Ignores a user, hiding their messages from you": "Figyelmen kívül hagy egy felhasználót, elrejtve előled az üzeneteit", "Banned by %(displayName)s": "Kitiltotta: %(displayName)s", "Message removed by %(userId)s": "Üzenetet törölte: %(userId)s", "Description": "Leírás", "Unable to accept invite": "A meghívót nem lehet elfogadni", "Leave": "Elhagy", - "Failed to invite the following users to %(groupId)s:": "Az alábbi felhasználókat nem sikerült meghívni a(z) %(groupId)s:", - "Failed to invite users to %(groupId)s": "Nem sikerült meghívni a felhasználókat ebbe a csoportba: %(groupId)s", + "Failed to invite the following users to %(groupId)s:": "A következő felhasználókat nem sikerült meghívni a(z) %(groupId)s csoportba:", + "Failed to invite users to %(groupId)s": "A felhasználók meghívása a(z) %(groupId)s csoportba sikertelen", "Unable to reject invite": "Nem sikerül elutasítani a meghívót", "Leave %(groupName)s?": "Elhagyod a csoportot: %(groupName)s?", "Add a Room": "Szoba hozzáadása", @@ -491,7 +491,7 @@ "Light theme": "Világos téma", "Dark theme": "Sötét téma", "Unknown": "Ismeretlen", - "Failed to add the following rooms to %(groupId)s:": "Az alábbi szobákat nem sikerült hozzáadni a(z) %(groupId)s csoporthoz:", + "Failed to add the following rooms to %(groupId)s:": "A következő szobák hozzáadása a(z) %(groupId)s csoporthoz sikertelen:", "Matrix ID": "Matrix azonosító", "Matrix Room ID": "Szoba Matrix azonosító", "email address": "E-mail cím", @@ -504,13 +504,13 @@ "Pinned Messages": "Kitűzött üzenetek", "%(senderName)s changed the pinned messages for the room.": "%(senderName)s megváltoztatta a szoba kitűzött szövegeit.", "Who would you like to add to this community?": "Kit szeretnél hozzáadni ehhez a közösséghez?", - "Warning: any person you add to a community will be publicly visible to anyone who knows the community ID": "Figyelem: minden személy akit hozzáadsz a közösséghez mindenki számára látható lesz aki ismeri a közösség azonosítóját", + "Warning: any person you add to a community will be publicly visible to anyone who knows the community ID": "Figyelem: minden személy akit hozzáadsz a közösséghez mindenki számára látható lesz, aki ismeri a közösség azonosítóját", "Invite new community members": "Új tagok meghívása a közösségbe", "Invite to Community": "Meghívás a közösségbe", "Which rooms would you like to add to this community?": "Melyik szobákat szeretnéd hozzáadni a közösséghez?", "Add rooms to the community": "Szobák hozzáadása a közösséghez", "Add to community": "Hozzáadás a közösséghez", - "Failed to invite users to community": "Nem sikerült tagokat meghívni a közösségbe", + "Failed to invite users to community": "A felhasználók meghívása a közösségbe sikertelen", "Communities": "Közösségek", "Unpin Message": "Üzenet levétele", "Jump to message": "Üzenetre ugrás", @@ -636,7 +636,7 @@ "Your community hasn't got a Long Description, a HTML page to show to community members.
    Click here to open settings and give it one!": "A közösségednek nincs bő leírása, HTML oldala ami megjelenik a közösség tagjainak.
    A létrehozáshoz kattints ide!", "Notify the whole room": "Az egész szoba értesítése", "Room Notification": "Szoba értesítések", - "Show these rooms to non-members on the community page and room list?": "Mutassuk meg ezeket a szobákat kívülállóknak a közösségi oldalon és a szobák listájában?", + "Show these rooms to non-members on the community page and room list?": "Megjelenjenek ezek a szobák kívülállóknak a közösségi oldalon és a szobalistában?", "Please note you are logging into the %(hs)s server, not matrix.org.": "Figyelem, a %(hs)s szerverre jelentkezel be és nem a matrix.org szerverre.", "Restricted": "Korlátozott", "Enable inline URL previews by default": "Beágyazott URL előnézetek alapértelmezett engedélyezése", @@ -667,7 +667,7 @@ "Answer Anyway": "Felvétel mindenképpen", "Call": "Hívás", "Answer": "Felvétel", - "Send": "Elküld", + "Send": "Elküldés", "Old cryptography data detected": "Régi titkosítási adatot találhatók", "Data from an older version of Riot has been detected. This will have caused end-to-end cryptography to malfunction in the older version. End-to-end encrypted messages exchanged recently whilst using the older version may not be decryptable in this version. This may also cause messages exchanged with this version to fail. If you experience problems, log out and back in again. To retain message history, export and re-import your keys.": "Régebbi Riot verzióból származó adatok találhatók. Ezek hibás működéshez vezethettek a végponttól-végpontig titkosításban régebbi verzióknál. A nemrég küldött/fogadott titkosított üzenetek ha a régi adatokat használták lehetséges hogy nem lesznek visszafejthetők ebben a verzióban. Ha problémákba ütközöl jelentkezz ki és vissza. A régi üzenetek elérésének biztosításához mentsd ki a kulcsokat és töltsd be újra.", "Warning": "Figyelmeztetés", @@ -684,13 +684,13 @@ "Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "A személyes adatok védelme fontos számunkra, így mi nem gyűjtünk személyes és személyhez köthető adatokat az analitikánkhoz.", "Learn more about how we use analytics.": "Tudj meg többet arról hogyan használjuk az analitikai adatokat.", "The information being sent to us to help make Riot.im better includes:": "Az adatok amiket a Riot.im javításához felhasználunk az alábbiak:", - "Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Minden azonosításra alkalmas adatot mint a szoba, felhasználó vagy csoport azonosítót mielőtt az adatokat elküldenénk eltávolításra kerülnek.", + "Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Minden azonosításra alkalmas adat, mint a szoba-, felhasználó- vagy csoportazonosítók, eltávolításra kerülnek, mielőtt elküldenénk a kiszolgálónak.", "The platform you're on": "A platform amit használsz", "The version of Riot.im": "Riot.im verziója", "Your language of choice": "A használt nyelv", - "Which officially provided instance you are using, if any": "Milyen hivatalosan nyújtott verziót használsz", + "Which officially provided instance you are using, if any": "Melyik hivatalosan nyújtott példányt használod", "Whether or not you're using the Richtext mode of the Rich Text Editor": "Használod-e a Richtext módot a szerkesztőben vagy nem", - "Your homeserver's URL": "A Matrix szerver URL-t", + "Your homeserver's URL": "A Matrix kiszolgálód URL-je", "Your identity server's URL": "Az azonosítási szerver URL-t", "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s": "%(fullYear)s. %(monthName)s %(day)s, %(weekDayName)s", "This room is not public. You will not be able to rejoin without an invite.": "Ez a szoba nem nyilvános. Kilépés után csak újabb meghívóval tudsz újra belépni a szobába.", @@ -848,7 +848,7 @@ "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Ebben a böngészőben az alkalmazás felülete tele lehet hibával, és az is lehet, hogy egyáltalán nem működik. Ha így is ki szeretnéd próbálni, megteheted, de ha valami gondod van, nem tudunk segíteni!", "Checking for an update...": "Frissítés keresése...", "There are advanced notifications which are not shown here": "Vannak itt nem látható, haladó értesítések", - "Missing roomId.": "Hiányzó szoba azonosító.", + "Missing roomId.": "Hiányzó szobaazonosító.", "Popout widget": "Kiugró kisalkalmazás", "Every page you use in the app": "Minden oldal, amit az alkalmazásban használsz", "e.g. ": "pl.: ", @@ -902,7 +902,7 @@ "Demote yourself?": "Lefokozod magad?", "Demote": "Lefokozás", "This event could not be displayed": "Az eseményt nem lehet megjeleníteni", - "Permission Required": "Engedély szükséges", + "Permission Required": "Jogosultság szükséges", "You do not have permission to start a conference call in this room": "Nincs jogosultságod konferencia hívást kezdeményezni ebben a szobában", "A call is currently being placed!": "A hívás indítás alatt!", "Failed to remove widget": "A kisalkalmazás törlése sikertelen", @@ -1028,7 +1028,7 @@ "Great! This passphrase looks strong enough.": "Szuper! Ez a jelmondat elég erősnek látszik.", "As a safety net, you can use it to restore your encrypted message history.": "Használhatod egy biztonsági hálóként a titkosított üzenetek visszaállításához.", "Failed to load group members": "A közösség tagságokat nem sikerült betölteni", - "Failed to invite users to the room:": "Felhasználókat nem sikerült meghívni a szobába:", + "Failed to invite users to the room:": "A felhasználók meghívása a szobába sikertelen:", "You do not have permission to invite people to this room.": "Nincs jogosultságod embereket meghívni ebbe a szobába.", "User %(user_id)s does not exist": "%(user_id)s felhasználó nem létezik", "Unknown server error": "Ismeretlen szerver hiba", @@ -1063,7 +1063,7 @@ "Unable to find profiles for the Matrix IDs listed below - would you like to invite them anyway?": "Az alábbi Matrix ID-koz nem sikerül megtalálni a profilokat - így is meghívod őket?", "Invite anyway and never warn me again": "Mindenképpen meghív és ne figyelmeztess többet", "Invite anyway": "Mindenképpen meghív", - "Whether or not you're logged in (we don't record your username)": "Se akkor ha bejelentkezel se akkor ha nem; mi nem tároljuk a felhasználói nevedet", + "Whether or not you're logged in (we don't record your username)": "Akár be vagy jelentkezve, akár nem; nem tároljuk a felhasználónevedet", "Upgrades a room to a new version": "Szoba fejlesztése új verzióra", "Sets the room name": "Szobanév beállítása", "%(senderDisplayName)s upgraded this room.": "%(senderDisplayName)s fejlesztette a szobát.", @@ -1167,7 +1167,7 @@ "Create your account": "Felhasználói fiók létrehozása", "Email (optional)": "E-mail (nem kötelező)", "Phone (optional)": "Telefonszám (nem kötelező)", - "Confirm": "Megerősít", + "Confirm": "Megerősítés", "Other servers": "Más szerverek", "Homeserver URL": "Matrixszerver URL", "Identity Server URL": "Azonosítási Szerver URL", @@ -1187,7 +1187,7 @@ "Recovery Method Removed": "Visszaállítási eljárás törölve", "If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Ha nem te törölted a visszaállítási eljárást, akkor egy támadó hozzá akar férni a fiókodhoz. Azonnal változtasd meg a jelszavadat és állíts be egy visszaállítási eljárást a Beállításokban.", "Chat with Riot Bot": "Csevegés a Riot Robottal", - "The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "'%(fileName)s' mérete nagyobb mint amekkorát a Matrix szerver megenged feltölteni", + "The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "A(z) „%(fileName)s” mérete nagyobb mint amekkorát a Matrix-kiszolgáló enged feltölteni", "Gets or sets the room topic": "Lekérdezi vagy beállítja a szoba témáját", "This room has no topic.": "A szobának nincs témája.", "%(senderDisplayName)s made the room public to whoever knows the link.": "%(senderDisplayName)s hozzáférhetővé tette a szobát bárkinek, aki ismeri a linket.", @@ -1303,7 +1303,7 @@ "Allow Peer-to-Peer for 1:1 calls": "Ponttól-pontig kapcsolat engedélyezése az 1:1 hívásokban", "Credits": "Közreműködők", "If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "Ha bármilyen hibába botlasz vagy szeretnél visszajelzést küldeni nekünk, kérjük oszd meg velünk a GitHub-on.", - "Changes your display nickname in the current room only": "Csak ebben a szobában változtatod meg a becenevedet", + "Changes your display nickname in the current room only": "Csak ebben a szobában változtatja meg a becenevedet", "%(senderDisplayName)s enabled flair for %(groups)s in this room.": "%(senderDisplayName)s engedélyezte a kitűzőket ebben a szobában az alábbi közösséghez: %(groups)s.", "%(senderDisplayName)s disabled flair for %(groups)s in this room.": "%(senderDisplayName)s letiltotta a kitűzőket ebben a szobában az alábbi közösséghez: %(groups)s.", "%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)s engedélyezte a kitűzőket ebben a szobában az alábbi közösséghez: %(newGroups)s és letiltotta ehhez a közösséghez: %(oldGroups)s.", @@ -1325,7 +1325,7 @@ "Create your Matrix account on %(serverName)s": "Készíts egy Matrix fiókot itt: %(serverName)s", "Could not load user profile": "A felhasználói profil nem tölthető be", "Your Matrix account on %(serverName)s": "A Matrix fiókod itt: %(serverName)s", - "Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Hozzáteszi a sima szöveges üzenethez ezt: ¯\\_(ツ)_/¯", + "Prepends ¯\\_(ツ)_/¯ to a plain-text message": "A sima szöveges üzenet elé teszi ezt: ¯\\_(ツ)_/¯", "User %(userId)s is already in the room": "%(userId)s felhasználó már a szobában van", "The user must be unbanned before they can be invited.": "A felhasználó kitiltását először vissza kell vonni mielőtt újra meghívható lesz.", "Upgrade to your own domain": "Frissíts a saját domain-re", @@ -1353,9 +1353,9 @@ "Want more than a community? Get your own server": "Többet szeretnél, mint egy közösség? Szerezz saját szervert", "Please install Chrome, Firefox, or Safari for the best experience.": "A legjobb élmény eléréséhez kérlek telepíts Chrome-ot, Firefoxot vagy Safarit.", "Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Figyelmeztetés: A szoba frissítése nem fogja automatikusan átvinni a szoba résztvevőit az új verziójú szobába. A régi szobába bekerül egy link az új szobához - a tagoknak rá kell kattintani a linkre az új szobába való belépéshez.", - "Adds a custom widget by URL to the room": "Egyedi kisalkalmazás hozzáadása a szobához URL-lel", - "Please supply a https:// or http:// widget URL": "Kérlek add meg a https:// vagy http:// kisalkalmazás URL-t", - "You cannot modify widgets in this room.": "A kisalkalmazásokat nem módosíthatod a szobában.", + "Adds a custom widget by URL to the room": "Egyéni kisalkalmazás hozzáadása a szobához URL alapján", + "Please supply a https:// or http:// widget URL": "Add meg a kisalkalmazás https:// vagy http:// URL-jét", + "You cannot modify widgets in this room.": "Nem módosíthatod a kisalkalmazásokat a szobában.", "%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s visszavonta %(targetDisplayName)s a szobába való belépéséhez szükséges meghívóját.", "Upgrade this room to the recommended room version": "A szoba fejlesztése a javasolt verzióra", "This room is running room version , which this homeserver has marked as unstable.": "A szoba verziója: , amit a Matrix szerver instabilnak tekint.", @@ -1376,8 +1376,8 @@ "You have %(count)s unread notifications in a prior version of this room.|one": "%(count)s olvasatlan értesítésed van a régi verziójú szobában.", "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Használsz-e „morzsákat” (profilképek a szobalista felett)", "Replying With Files": "Válasz fájlokkal", - "At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Egyenlőre nem lehet fájlal válaszolni. Szeretnéd feltölteni a fájlt úgy, hogy az nem egy válasz lesz?", - "The file '%(fileName)s' failed to upload.": "A %(fileName)s fájlt nem sikerült feltölteni.", + "At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Egyelőre nem lehet fájllal válaszolni. Szeretnéd feltölteni a fájlt úgy, hogy az nem egy válasz lesz?", + "The file '%(fileName)s' failed to upload.": "A(z) „%(fileName)s” fájl feltöltése sikertelen.", "Rotate counter-clockwise": "Óramutató járásával ellentétesen fordít", "Rotate clockwise": "Óramutató járásával megegyező irányba fordít", "GitHub issue": "GitHub hibajegy", @@ -1398,8 +1398,8 @@ "Upload %(count)s other files|one": "Feltölt %(count)s másik fájlt", "Cancel All": "Mindent megszakít", "Upload Error": "Feltöltési hiba", - "The server does not support the room version specified.": "A szerver nem támogatja a megadott szoba verziót.", - "Changes your avatar in this current room only": "A profilképedet csak ebben a szobában változtatja meg", + "The server does not support the room version specified.": "A kiszolgáló nem támogatja a megadott szobaverziót.", + "Changes your avatar in this current room only": "Csak ebben a szobában változtatja meg a profilképedet", "Sends the given message coloured as a rainbow": "A megadott üzenetet szivárvány színben küldi el", "Sends the given emote coloured as a rainbow": "A megadott hangulatjelet szivárvány színben küldi el", "The user's homeserver does not support the version of the room.": "A felhasználó matrix szervere nem támogatja a megadott szoba verziót.", @@ -1452,7 +1452,7 @@ "Invalid base_url for m.identity_server": "Érvénytelen base_url az m.identity_server -hez", "Identity server URL does not appear to be a valid identity server": "Az Azonosító szerver URL nem tűnik érvényesnek", "A conference call could not be started because the integrations server is not available": "A konferencia hívást nem lehet elkezdeni mert az integrációs szerver nem érhető el", - "Name or Matrix ID": "Név vagy Matrix azon.", + "Name or Matrix ID": "Név vagy Matrix azonosító", "Unbans user with given ID": "Visszaengedi a megadott azonosítójú felhasználót", "reacted with %(shortName)s": "ezzel reagált: %(shortName)s", "edited": "szerkesztve", @@ -1500,7 +1500,7 @@ "%(severalUsers)smade no changes %(count)s times|one": "%(severalUsers)s nem változtattak semmit", "%(oneUser)smade no changes %(count)s times|other": "%(oneUser)s %(count)s alkalommal nem változtatott semmit", "%(oneUser)smade no changes %(count)s times|one": "%(oneUser)snem változtatott semmit", - "Changes your avatar in all rooms": "A profilképed megváltozik minden szobában", + "Changes your avatar in all rooms": "Megváltoztatja a profilképed az összes szobában", "Removing…": "Eltávolítás…", "Clear all data": "Minden adat törlése", "Your homeserver doesn't seem to support this feature.": "A matrix szervered úgy tűnik nem támogatja ezt a szolgáltatást.", @@ -1523,10 +1523,10 @@ "Terms of Service": "Felhasználási feltételek", "Service": "Szolgáltatás", "Summary": "Összefoglaló", - "Call failed due to misconfigured server": "A hívás meghiúsult a helytelenül beállított szerver miatt", - "Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Kérd meg a matrix szerver (%(homeserverDomain)s) adminisztrátorát, hogy a hívások megfelelő működéséhez állítson be egy TURN szervert.", - "Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Másik lehetőségként használhatod a nyilvános szervert: turn.matrix.org, de ez nem lesz annyira megbízható és megosztja az IP címedet a szerverrel. A Beállításokban állíthatod be.", - "Try using turn.matrix.org": "Próbáld meg használni a turn.matrix.org-ot", + "Call failed due to misconfigured server": "A hívás a helytelenül beállított kiszolgáló miatt sikertelen", + "Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Kérd meg a Matrix-kiszolgálód (%(homeserverDomain)s) adminisztrátorát, hogy a hívások megfelelő működéséhez állítson be egy TURN-kiszolgálót.", + "Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Másik lehetőségként használhatod a turn.matrix.org nyilvános kiszolgálót, de ez nem lesz annyira megbízható, és megosztja az IP-címedet a kiszolgálóval. A Beállításokban állíthatod be.", + "Try using turn.matrix.org": "A turn.matrix.org használatának kipróbálása", "Messages": "Üzenetek", "Actions": "Műveletek", "Displays list of commands with usages and descriptions": "Parancsok megjelenítése példával és leírással", @@ -1539,9 +1539,9 @@ "Could not connect to Identity Server": "Az Azonosítási Szerverhez nem lehet csatlakozni", "Checking server": "Szerver ellenőrzése", "Terms of service not accepted or the identity server is invalid.": "A felhasználási feltételek nincsenek elfogadva vagy az azonosítási szerver nem érvényes.", - "Identity server has no terms of service": "Az azonosítási szerverhez nincsenek felhasználási feltételek", + "Identity server has no terms of service": "Az azonosítási kiszolgálónak nincsenek felhasználási feltételei", "The identity server you have chosen does not have any terms of service.": "Az általad választott azonosítási szerverhez nincsenek felhasználási feltételek.", - "Only continue if you trust the owner of the server.": "Csak akkor lépj tovább ha megbízol a szerver tulajdonosában.", + "Only continue if you trust the owner of the server.": "Csak akkor lépj tovább, ha megbízol a kiszolgáló tulajdonosában.", "Disconnect from the identity server ?": "Bontod a kapcsolatot ezzel az azonosítási szerverrel: ?", "Disconnect": "Kapcsolat bontása", "Identity Server (%(server)s)": "Azonosítás Szerver (%(server)s)", @@ -1582,13 +1582,13 @@ "Use an identity server to invite by email. Use the default (%(defaultIdentityServerName)s) or manage in Settings.": "Használj azonosítási szervert e-mail címmel való meghíváshoz. Használd az alapértelmezett szervert (%(defaultIdentityServerName)s) vagy adj meg mást a Beállításokban.", "Use an identity server to invite by email. Manage in Settings.": "Használj azonosítási szervert e-mail címmel való meghíváshoz. Megadása a Beállításokban.", "Enable room encryption": "Szoba titkosításának bekapcsolása", - "Use an identity server": "Azonosítási szerver használata", - "Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "Azonosítási szerver használata e-maillel való meghíváshoz. Kattints a folytatáshoz az alapértelmezett (%(defaultIdentityServerName)s) azonosítási szerverrel vagy változtasd meg a Beállításokban.", - "Use an identity server to invite by email. Manage in Settings.": "Az e-maillel való meghíváshoz használj azonosítási szervert. Módosítsd a Beállításokban.", + "Use an identity server": "Azonosítási kiszolgáló használata", + "Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "Egy azonosítási kiszolgáló használata az e-maillel történő meghíváshoz. Kattints a folytatáshoz az alapértelmezett azonosítási kiszolgáló (%(defaultIdentityServerName)s) használatához, vagy állítsd be a Beállításokban.", + "Use an identity server to invite by email. Manage in Settings.": "Egy azonosítási kiszolgáló használata az e-maillel történő meghíváshoz. Módosítás a Beállításokban.", "Deactivate user?": "Felhasználó felfüggesztése?", "Deactivating this user will log them out and prevent them from logging back in. Additionally, they will leave all the rooms they are in. This action cannot be reversed. Are you sure you want to deactivate this user?": "A felhasználó felfüggesztése a felhasználót kijelentkezteti és megakadályozza, hogy vissza tudjon lépni. Továbbá kilép minden szobából aminek tagja volt. Ezt nem lehet visszavonni. Biztos, hogy felfüggeszted ezt a felhasználót?", "Deactivate user": "Felhasználó felfüggesztése", - "Sends a message as plain text, without interpreting it as markdown": "Az üzenet elküldése sima szövegként anélkül, hogy „markdown” formázás lenne", + "Sends a message as plain text, without interpreting it as markdown": "Az üzenet elküldése sima szövegként anélkül, hogy „markdown” formázásként értelmezné", "An error (%(errcode)s) was returned while trying to validate your invite. You could try to pass this information on to a room admin.": "A meghívód ellenőrzésekor az alábbi hibát kaptuk: %(errcode)s. Ezt az információt megpróbálhatod eljuttatni a szoba gazdájának.", "This invite to %(roomName)s was sent to %(email)s which is not associated with your account": "A meghívó ehhez a szobához: %(roomName)s erre az e-mail címre lett elküldve: %(email)s ami nincs társítva a fiókodhoz", "Link this email with your account in Settings to receive invites directly in Riot.": "Kösd össze a Beállításokban ezt az e-mail címet a fiókoddal, hogy közvetlenül a Riotba kaphassa meghívókat.", @@ -1604,7 +1604,7 @@ "Change identity server": "Azonosítási szerver kicserélése", "Disconnect from the identity server and connect to instead?": " azonosítási szerverről lecsatlakozás és csatlakozás ehhez: ?", "Disconnect identity server": "Az azonosítási szerverről lecsatlakozás", - "You are still sharing your personal data on the identity server .": "Az azonosítási szerverrel () továbbra is megosztasz személyes adatokat.", + "You are still sharing your personal data on the identity server .": "Továbbra is megosztasz személyes adatokat a(z) azonosítási kiszolgálón.", "We recommend that you remove your email addresses and phone numbers from the identity server before disconnecting.": "Javasoljuk, hogy mielőtt az azonosítási szerverről lecsatlakozol töröld az e-mail címedet és telefonszámodat.", "Disconnect anyway": "Mindenképpen lecsatlakozás", "No recent messages by %(user)s found": "Nincs friss üzenet ettől a felhasználótól: %(user)s", @@ -1635,7 +1635,7 @@ "Report Content": "Tartalom jelentése", "Read Marker lifetime (ms)": "Olvasás visszajelzés érvényesség (ms)", "Read Marker off-screen lifetime (ms)": "Olvasás visszajelzés érvényessége képernyőn kívül (ms)", - "Changes the avatar of the current room": "Profilkép megváltoztatása az adott szobában", + "Changes the avatar of the current room": "Megváltoztatja a profilképed a jelenlegi szobában", "Room alias": "Szoba álnév", "e.g. my-room": "pl.: szobam", "Please provide a room alias": "Kérlek adj meg egy álnevet a szobához", @@ -1705,7 +1705,7 @@ "%(count)s unread messages.|one": "1 olvasatlan üzenet.", "Unread messages.": "Olvasatlan üzenetek.", "Show tray icon and minimize window to it on close": "Tálcaikon mutatása és az ablak összecsukása bezáráskor", - "This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "Ez a művelet az e-mail cím vagy telefonszám ellenőrzése miatt hozzáférést igényel az alapértelmezett azonosítási szerverhez (), de a szervernek nincsen semmilyen felhasználási feltétele.", + "This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "Ez a művelet az e-mail cím vagy telefonszám ellenőrzése miatt hozzáférést igényel a(z) alapértelmezett azonosítási kiszolgálóhoz, de a kiszolgálónak nincsenek felhasználási feltételei.", "Trust": "Megbízom benne", "Message Actions": "Üzenet Műveletek", "%(name)s (%(userId)s)": "%(name)s (%(userId)s)", @@ -1752,7 +1752,7 @@ "Room ID or alias of ban list": "Tiltó lista szoba azonosítója vagy alternatív neve", "Subscribe": "Feliratkozás", "You have ignored this user, so their message is hidden. Show anyways.": "Ezt a felhasználót figyelmen kívül hagyod, így az üzenetei el lesznek rejtve. Mindenképpen megmutat.", - "Custom (%(level)s)": "Egyedi (%(level)s)", + "Custom (%(level)s)": "Egyéni (%(level)s)", "Trusted": "Megbízható", "Not trusted": "Megbízhatatlan", "Direct message": "Közvetlen beszélgetés", @@ -1767,7 +1767,7 @@ "Your theme": "Témád", "Riot URL": "Riot URL", "Room ID": "Szoba azonosító", - "Widget ID": "Kisalkalmazás azon.", + "Widget ID": "Kisalkalmazás azonosító", "Using this widget may share data with %(widgetDomain)s & your Integration Manager.": "Ennek a kisalkalmazásnak a használata adatot oszthat meg %(widgetDomain)s domain-nel és az Integrációs Menedzserrel.", "Using this widget may share data with %(widgetDomain)s.": "Ennek a kisalkalmazásnak a használata adatot oszthat meg %(widgetDomain)s domain-nel.", "Widget added by": "A kisalkalmazást hozzáadta", @@ -1801,8 +1801,8 @@ "Match system theme": "A rendszer témájához megfelelő", "Clear notifications": "Értesítések törlése", "Customise your experience with experimental labs features. Learn more.": "Kísérleti labor tulajdonságokkal egyénre szabhatod az élményt. Tudj meg többet.", - "Error upgrading room": "A szoba verziófrissítésénél hiba történt", - "Double check that your server supports the room version chosen and try again.": "Ellenőrizd még egyszer, hogy a szervered támogatja-e a szoba verzióját és próbáld újra.", + "Error upgrading room": "Hiba a szoba verziófrissítésekor", + "Double check that your server supports the room version chosen and try again.": "Ellenőrizd még egyszer, hogy a kiszolgálód támogatja-e kiválasztott szobaverziót, és próbáld újra.", "This message cannot be decrypted": "Ezt az üzenetet nem lehet visszafejteni", "Unencrypted": "Titkosítatlan", "Automatically invite users": "Felhasználók automatikus meghívása", @@ -1845,7 +1845,7 @@ "Unable to set up secret storage": "A biztonsági tárolót nem sikerült beállítani", "%(senderName)s removed the rule banning users matching %(glob)s": "%(senderName)s törölte azt a szabályt amivel ilyen felhasználók voltak kitiltva: %(glob)s", "%(senderName)s removed the rule banning rooms matching %(glob)s": "%(senderName)s törölte azt a szabályt amivel ilyen szobák voltak kitiltva: %(glob)s", - "%(senderName)s removed the rule banning servers matching %(glob)s": "%(senderName)s törölte azt a szabályt amivel ilyen szerverek voltak kitiltva: %(glob)s", + "%(senderName)s removed the rule banning servers matching %(glob)s": "%(senderName)s törölte azt a szabályt, amivel az ennek megfelelő kiszolgálók ki voltak tiltva: %(glob)s", "%(senderName)s removed a ban rule matching %(glob)s": "%(senderName)s törölte ezt a kitiltó szabályt: %(glob)s", "%(senderName)s updated an invalid ban rule": "%(senderName)s frissített egy érvénytelen kitiltó szabályt", "%(senderName)s updated the rule banning users matching %(glob)s for %(reason)s": "%(senderName)s frissítette azt a szabályt amivel ilyen felhasználók voltak kitiltva: %(glob)s ezért: %(reason)s", @@ -1945,7 +1945,7 @@ "Encryption upgraded": "Titkosítás fejlesztve", "Encryption setup complete": "Titkosítás beállítása kész", "Verify this session": "Munkamenet ellenőrzése", - "Encryption upgrade available": "A titkosítás fejlesztése elérhető", + "Encryption upgrade available": "A titkosítási fejlesztés elérhető", "%(senderName)s turned on end-to-end encryption.": "%(senderName)s bekapcsolta a végpontok közötti titkosítást.", "%(senderName)s turned on end-to-end encryption (unrecognised algorithm %(algorithm)s).": "%(senderName)s bekapcsolta a végpontok közötti titkosítást (ismeretlen algoritmus: %(algorithm)s).", "Enable message search in encrypted rooms": "Üzenetek keresésének engedélyezése titkosított szobákban", @@ -1985,7 +1985,7 @@ "Unverified session": "Ellenőrizetlen munkamenet", "Verifies a user, session, and pubkey tuple": "Felhasználó, munkamenet és nyilvános kulcs hármas ellenőrzése", "Unknown (user, session) pair:": "Ismeretlen (felhasználó, munkamenet) páros:", - "Session already verified!": "Munkamenet már ellenőrizve!", + "Session already verified!": "A munkamenet már ellenőrizve volt!", "WARNING: Session already verified, but keys do NOT MATCH!": "FIGYELEM: A munkamenet már ellenőrizve van de a kulcsok NEM EGYEZNEK!", "Enable cross-signing to verify per-user instead of per-session (in development)": "Kereszt-aláírás engedélyezése a felhasználó alapú azonosításhoz a munkamenet alapú helyett (fejlesztés alatt)", "Show padlocks on invite only rooms": "Lakat mutatása azoknál a szobáknál amikbe csak meghívóval lehet belépni", @@ -2007,8 +2007,8 @@ "Delete %(count)s sessions|other": "%(count)s munkamenet törlése", "Delete %(count)s sessions|one": "%(count)s munkamenet törlése", "This session is backing up your keys. ": "Ez a munkamenet elmenti a kulcsaidat. ", - "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "FIGYELEM: KULCS ELLENŐRZÉS HIBÁS! %(userId)s aláírási kulcsa és a munkamenet: %(deviceId)s ujjlenyomata \"%(fprint)s\" ami nem egyezik meg a megadott ujjlenyomattal ami \"%(fingerprint)s\". Ez jelentheti azt, hogy a kommunikációt lehallgatják!", - "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "A megadott aláírási kulcs megegyezik %(userId)s felhasználótól kapott aláírási kulccsal ebben a munkamenetben: %(deviceId)s. A munkamenet hitelesnek lett jelölve.", + "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "FIGYELEM: KULCSELLENŐRZÉS SIKERTELEN! %(userId)s aláírási kulcsa és a %(deviceId)s munkamenet ujjlenyomata „%(fprint)s”, ami nem egyezik meg a megadott ujjlenyomattal: „%(fingerprint)s”. Ez azt is jelentheti, hogy a kommunikációt lehallgatják!", + "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "A megadott aláírási kulcs megegyezik %(userId)s felhasználótól kapott aláírási kulccsal ebben a munkamenetben: %(deviceId)s. A munkamenet ellenőrzöttnek lett jelölve.", "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Jelenleg a jelszó változtatás minden munkamenet végpontok közötti titkosító kulcsait alaphelyzetbe állítja, ezáltal a titkosított üzenetek olvashatatlanok lesznek, hacsak először nem mented ki a szobák kulcsait és töltöd vissza jelszóváltoztatás után. A jövőben ezt egyszerűsítjük majd.", "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Ez az munkamenet nem menti el a kulcsaidat, de van létező mentésed ahonnan vissza tudsz állni és továbbléphetsz.", "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Állítsd be ezen az munkameneten a Kulcs Mentést kijelentkezés előtt, hogy ne veszíts el olyan kulcsot ami csak ezen az eszközön van meg.", @@ -2052,7 +2052,7 @@ "Your messages are not secure": "Az üzeneteid nincsenek biztonságban", "One of the following may be compromised:": "Valamelyik az alábbiak közül kompromittált:", "Your homeserver": "Matrix szervered", - "The homeserver the user you’re verifying is connected to": "Az ellenőrizendő felhasználó ehhez a matrix szerverhez kapcsolódik:", + "The homeserver the user you’re verifying is connected to": "Az ellenőrizendő felhasználó ehhez a matrix kiszolgálóhoz kapcsolódik:", "Yours, or the other users’ internet connection": "A te vagy a másik felhasználó Internet kapcsolata", "Yours, or the other users’ session": "A te vagy a másik felhasználó munkamenete", "%(count)s sessions|other": "%(count)s munkamenet", @@ -2147,9 +2147,9 @@ "Reset cross-signing and secret storage": "Eszközök közti hitelesítés és biztonsági tároló visszaállítása", "The version of Riot": "Riot verziója", "Whether you're using Riot on a device where touch is the primary input mechanism": "Olyan eszközön használod-e a Riotot, ahol az érintés az elsődleges beviteli mód", - "Whether you're using Riot as an installed Progressive Web App": "A Riotot progresszív webalkalmazásként használod-e", + "Whether you're using Riot as an installed Progressive Web App": "Progresszív webalkalmazásként használod-e a Riotot", "Your user agent": "Felhasználói ügynök", - "The information being sent to us to help make Riot better includes:": "Az alábbi információk kerülnek elküldésre amivel a Riotot jobbá tudjuk tenni:", + "The information being sent to us to help make Riot better includes:": "Az alábbi információk kerülnek elküldésre, amivel jobbá tehetjük a Riotot:", "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.": "Az ellenőrizni kívánt munkamenet nem támogatja se a QR kód beolvasást se az emodzsi ellenőrzést, amit a Riot támogat. Próbáld meg egy másik klienssel.", "You declined": "Elutasítottad", "%(name)s declined": "%(name)s elutasította", @@ -2171,8 +2171,8 @@ "Order rooms by name": "Szobák rendezése név szerint", "Show rooms with unread notifications first": "Olvasatlan üzeneteket tartalmazó szobák megjelenítése elől", "Show shortcuts to recently viewed rooms above the room list": "Billentyűkombináció megjelenítése a nemrég meglátogatott szobákhoz a szoba lista felett", - "Sign In or Create Account": "Belépés vagy Fiók Készítés", - "Use your account or create a new one to continue.": "A folytatáshoz használd a fiókodat vagy készíts egy újat.", + "Sign In or Create Account": "Bejelentkezés vagy fiók létrehozása", + "Use your account or create a new one to continue.": "A folytatáshoz használd a fiókodat, vagy hozz létre egy újat.", "Create Account": "Fiók létrehozása", "Displays information about a user": "A felhasználóról információ megjelenítése", "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "Matrix-szal kapcsolatos biztonsági hibák jelentésével kapcsolatban kérlek olvasd el a Matrix.org Biztonsági hiba közzétételi szabályzatot.", @@ -2304,8 +2304,8 @@ "Session backup key:": "Munkamenet másolat kulcs:", "Use Single Sign On to continue": "A folytatáshoz használd az egyszeri bejelentkezést (SSO)", "Single Sign On": "Egyszeri bejelentkezés", - "%(name)s is requesting verification": "%(name)s ellenőrzést kér", - "Sends a message as html, without interpreting it as markdown": "Az üzenet elküldése html szövegként anélkül, hogy „markdown” formázás lenne", + "%(name)s is requesting verification": "A(z) %(name)s ellenőrzést kér", + "Sends a message as html, without interpreting it as markdown": "Az üzenet elküldése html szövegként anélkül, hogy „markdown” formázásként értelmezné", "Confirm the emoji below are displayed on both sessions, in the same order:": "Erősítsd meg, hogy az alábbi emodzsik mindkét munkamenetben azonos sorrendben jelentek meg:", "Verify this session by confirming the following number appears on its screen.": "Ellenőrizd ezt a munkamenetet azzal, hogy megerősíted, hogy az alábbi szám jelent meg a kijelzőjén.", "Waiting for your other session, %(deviceName)s (%(deviceId)s), to verify…": "Az ellenőrzéshez a másik munkamenetedre várakozunk, %(deviceName)s (%(deviceId)s)…", @@ -2348,8 +2348,8 @@ "Confirm adding this email address by using Single Sign On to prove your identity.": "Erősítsd meg, hogy az egyszeri bejelentkezésnél a személyazonosságod bizonyításaként használt e-mail címet hozzáadod.", "Confirm adding this phone number by using Single Sign On to prove your identity.": "Erősítsd meg, hogy az egyszeri bejelentkezésnél a személyazonosságod bizonyításaként használt telefonszámot hozzáadod.", "If you cancel now, you won't complete your operation.": "A műveletet nem fejezed be, ha ezt most megszakítod.", - "Failed to set topic": "A téma beállítása nem sikerült", - "Command failed": "A parancs nem sikerült", + "Failed to set topic": "A téma beállítása sikertelen", + "Command failed": "A parancs sikertelen", "Could not find user in room": "A felhasználó nem található a szobában", "Enable cross-signing to verify per-user instead of per-session": "A felhasználó alapú ellenőrzéshez a munkamenet alapú helyett engedélyezd az eszközök közötti hitelesítést", "Keep recovery passphrase in memory for this session": "A visszaállítási jelmondat memóriában tartása ebben a munkamenetben", @@ -2406,5 +2406,7 @@ "Fetching keys from server...": "Kulcsok lekérdezése a szerverről…", "%(completed)s of %(total)s keys restored": "%(completed)s/%(total)s kulcs visszaállítva", "Keys restored": "Kulcsok visszaállítva", - "Successfully restored %(sessionCount)s keys": "Kulcsok (%(sessionCount)s) sikeresen visszaállítva" + "Successfully restored %(sessionCount)s keys": "Kulcsok (%(sessionCount)s) sikeresen visszaállítva", + "You signed in to a new session without verifying it:": "Ellenőrzés nélkül jelentkeztél be egy új munkamenetbe:", + "Verify your other session using one of the options below.": "Ellenőrizd a másik munkameneted a lenti lehetőségek egyikével." } From 626a3009163a6c6baf4b1a56a14cb0ff1d3b7bcc Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Wed, 6 May 2020 08:11:31 +0000 Subject: [PATCH 020/203] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2304 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hant/ --- src/i18n/strings/zh_Hant.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index 5ea7e7a413..f7122b400c 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -2416,5 +2416,7 @@ "Fetching keys from server...": "正在從伺服器擷取金鑰……", "%(completed)s of %(total)s keys restored": "%(total)s 中的 %(completed)s 金鑰已復原", "Keys restored": "金鑰已復原", - "Successfully restored %(sessionCount)s keys": "成功復原 %(sessionCount)s 金鑰" + "Successfully restored %(sessionCount)s keys": "成功復原 %(sessionCount)s 金鑰", + "You signed in to a new session without verifying it:": "您已登入新的工作階段但未驗證:", + "Verify your other session using one of the options below.": "使用下方的其中一個選項來驗證您其他的工作階段。" } From b57bb6b29144e700a3fe8d394d782ff9f86216a3 Mon Sep 17 00:00:00 2001 From: Tirifto Date: Wed, 6 May 2020 09:35:11 +0000 Subject: [PATCH 021/203] Translated using Weblate (Esperanto) Currently translated at 99.4% (2291 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/eo/ --- src/i18n/strings/eo.json | 92 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 89 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/eo.json b/src/i18n/strings/eo.json index 42a6ed52ca..031aac3fb3 100644 --- a/src/i18n/strings/eo.json +++ b/src/i18n/strings/eo.json @@ -688,7 +688,7 @@ "Submit debug logs": "Sendi sencimigan protokolon", "Fetching third party location failed": "Malsukcesis trovi lokon de ekstera liveranto", "A new version of Riot is available.": "Nova versio de Riot haveblas.", - "I understand the risks and wish to continue": "Mi komprenas la riskojn kaj volas daŭrigi", + "I understand the risks and wish to continue": "Mi komprenas la riskon kaj volas pluiĝi", "Send Account Data": "Sendi kontajn informojn", "Advanced notification settings": "Specialaj agordoj de sciigoj", "Uploading report": "Alŝutante raporton", @@ -1160,7 +1160,7 @@ "View older messages in %(roomName)s.": "Montri pli malnovajn mesaĝojn en %(roomName)s.", "Account management": "Administrado de kontoj", "This event could not be displayed": "Ĉi tiu okazo ne povis montriĝi", - "Please install Chrome, Firefox, or Safari for the best experience.": "Bonvolu instali Ĥromon, Fajrfokson, aŭ Safarion por la plej bonaj spertoj.", + "Please install Chrome, Firefox, or Safari for the best experience.": "Bonvolu instali foliumilon Chrome, Firefox, aŭ Safari, por la plej bona sperto.", "You are an administrator of this community. You will not be able to rejoin without an invite from another administrator.": "Vi estas administranto de tiu ĉi komunumo. Sen invito de alia administranto vi ne povos realiĝi.", "Changes made to your community name and avatar might not be seen by other users for up to 30 minutes.": "Ŝanĝoj al viaj komunumaj nomo kaj profilbildo eble ne montriĝos al aliaj uzantoj ĝis 30 minutoj.", "Who can join this community?": "Kiu povas aliĝi al tiu ĉi komunumo?", @@ -2294,5 +2294,91 @@ "Confirm adding this email address by using Single Sign On to prove your identity.": "Konfirmi aldonon de ĉi tiu retpoŝtadreso, uzante ununuran saluton por pruvi vian identecon.", "Single Sign On": "Ununura saluto", "Confirm adding email": "Konfirmi aldonon de retpoŝtadreso", - "Click the button below to confirm adding this email address.": "Klaku la ĉi-suban butonon por konfirmi aldonon de ĉi tiu retpoŝtadreso." + "Click the button below to confirm adding this email address.": "Klaku la ĉi-suban butonon por konfirmi aldonon de ĉi tiu retpoŝtadreso.", + "Confirm adding this phone number by using Single Sign On to prove your identity.": "Konfirmu aldonon de ĉi tiu telefonnumero per identiĝo per ununura saluto.", + "Confirm adding phone number": "Konfirmu aldonon de telefonnumero", + "Click the button below to confirm adding this phone number.": "Klaku la ĉi-suban butonon por konfirmi aldonon de ĉi tiu telefonnumero.", + "If you cancel now, you won't complete your operation.": "Se vi nuligos nun, vi ne finos vian agon.", + "Review where you’re logged in": "Kontrolu, kie vi salutis", + "New login. Was this you?": "Nova saluto. Ĉu tio estis vi?", + "%(name)s is requesting verification": "%(name)s petas kontrolon", + "Sends a message as html, without interpreting it as markdown": "Sendas mesaĝon kiel HTML, ne interpretante ĝin kiel MarkDown", + "Failed to set topic": "Malsukcesis agordi temon", + "Command failed": "Komando malsukcesis", + "Could not find user in room": "Ne povis trovi uzanton en ĉambro", + "Please supply a widget URL or embed code": "Bonvolu provizi URL-on al fenestraĵo aŭ enkorpigi kodon", + "Send a bug report with logs": "Sendi erarraporton kun protokolo", + "You signed in to a new session without verifying it:": "Vi salutis novan salutaĵon sen kontrolo:", + "Verify your other session using one of the options below.": "Kontrolu vian alian salutaĵon per unu el la ĉi-subaj elektebloj.", + "Enable cross-signing to verify per-user instead of per-session": "Permesi transirajn subskribojn por kontroli unuopajn uzantojn anstataŭ salutaĵojn", + "Keep recovery passphrase in memory for this session": "Teni rehavan pasfrazon en memoro dum ĉi tiu salutaĵo", + "Confirm the emoji below are displayed on both sessions, in the same order:": "Konfirmu, ke la ĉi-subaj bildsignoj aperas samorde en ambaŭ salutaĵoj:", + "Verify this session by confirming the following number appears on its screen.": "Kontrolu ĉi tiun salutaĵon per konfirmo, ke la jena nombro aperas sur ĝia ekrano.", + "Waiting for your other session, %(deviceName)s (%(deviceId)s), to verify…": "Atendante konfirmon de via alia salutaĵo, %(deviceName)s (%(deviceId)s)…", + "Verify all your sessions to ensure your account & messages are safe": "Kontrolu ĉiujn viajn salutaĵojn por certigi, ke viaj konto kaj mesaĝoj sekuras", + "Verify the new login accessing your account: %(name)s": "Kontrolu la novan saluton alirantan vian konton: %(name)s", + "From %(deviceName)s (%(deviceId)s)": "De %(deviceName)s (%(deviceId)s)", + "well formed": "bone formita", + "unexpected type": "neatendita tipo", + "Confirm deleting these sessions by using Single Sign On to prove your identity.|other": "Konfirmu forigon de ĉi tiuj salutaĵoj per identiĝo per ununura saluto.", + "Confirm deleting these sessions by using Single Sign On to prove your identity.|one": "Konfirmu forigon de ĉi tiu salutaĵo per identiĝo per ununura saluto.", + "Confirm deleting these sessions": "Konfirmi forigon de ĉi tiuj salutaĵoj", + "Click the button below to confirm deleting these sessions.|other": "Klaku la ĉi-suban butonon por konfirmi forigon de ĉi tiuj salutaĵoj.", + "Click the button below to confirm deleting these sessions.|one": "Klaku la ĉi-suban butonon por konfirmi forigon de ĉi tiu salutaĵo.", + "Delete sessions|other": "Forigi salutaĵojn", + "Delete sessions|one": "Forigi salutaĵon", + "Where you’re logged in": "Kie vi salutis", + "Manage the names of and sign out of your sessions below or verify them in your User Profile.": "Sube administru la nomojn de viaj salutaĵoj kaj ilin adiaŭu, aŭ kontrolu ilin en via profilo de uzanto.", + "Waiting for you to accept on your other session…": "Atendante vian akcepton en via alia salutaĵo…", + "Almost there! Is your other session showing the same shield?": "Preskaŭ finite! Ĉu via alia salutaĵo montras la saman ŝildon?", + "Almost there! Is %(displayName)s showing the same shield?": "Preskaŭ finite! Ĉu %(displayName)s montras la saman ŝildon?", + "You've successfully verified %(deviceName)s (%(deviceId)s)!": "Vi sukcese kontrolis %(deviceName)s (%(deviceId)s)!", + "Start verification again from the notification.": "Rekomencu kontroladon el la sciigo.", + "Start verification again from their profile.": "Rekomencu kontroladon el ĝia profilo.", + "Verification timed out.": "Kontrolo atingis tempolimon.", + "You cancelled verification on your other session.": "Vi nuligis kontrolon en via alia salutaĵo.", + "%(displayName)s cancelled verification.": "%(displayName)s nuligis kontrolon.", + "You cancelled verification.": "Vi nuligis kontrolon.", + "Can't load this message": "Ne povas enlegi ĉi tiun mesaĝon", + "Submit logs": "Alŝuti protokolon", + "Reminder: Your browser is unsupported, so your experience may be unpredictable.": "Rememorigo: via foliumilo ne estas subtenata, kaj via sperto do povas esti stranga.", + "Enable end-to-end encryption": "Ŝalti tutvojan ĉifradon", + "You can’t disable this later. Bridges & most bots won’t work yet.": "Vi ne povas ĉi tion malŝalti poste. Pontoj kaj plej multaj robotoj ankoraŭ ne funkcios.", + "Server did not require any authentication": "Servilo bezonis nenian kontrolon de aŭtentiko", + "Server did not return valid authentication information.": "Servilo ne redonis validajn informojn pri kontrolo de aŭtentiko.", + "Confirm your account deactivation by using Single Sign On to prove your identity.": "Knfirmu malaktivigon de via konto per identiĝo per ununura saluto.", + "Are you sure you want to deactivate your account? This is irreversible.": "Ĉu vi certe volas malaktivigi vian konton? Tio ne malfareblas.", + "Confirm account deactivation": "Konfirmi malaktivigon de konto", + "There was a problem communicating with the server. Please try again.": "Eraris komunikado kun la servilo. Bonvolu reprovi.", + "Unable to upload": "Ne povas alŝuti", + "Verify other session": "Kontroli alian salutaĵon", + "Unable to access secret storage. Please verify that you entered the correct recovery passphrase.": "Ne povas aliri sekretan deponejon. Bonvolu kontroli, ke vi enigis la ĝustan rehavan pasfrazon.", + "Warning: You should only do this on a trusted computer.": "Averto: vi faru ĉi tion nur per fidata komputilo.", + "If you've forgotten your recovery passphrase you can use your recovery key or set up new recovery options.": "Se vi forgesis vian rehavan pasfrazon, vi povas uzi vian rehavan ŝlosilonagordi novajn rehavajn elekteblojn.", + "Restoring keys from backup": "Rehavo de ŝlosiloj el savkopio", + "Fetching keys from server...": "Akirante ŝlosilojn el servilo…", + "%(completed)s of %(total)s keys restored": "%(completed)s el %(total)s ŝlosiloj rehaviĝis", + "Backup could not be decrypted with this recovery key: please verify that you entered the correct recovery key.": "Savkopio ne estis malĉifrebla per ĉi tiu rehava ŝlosilo: bonvolu kontroli, ke vi enigis la ĝustan rehavan ŝlosilon.", + "Backup could not be decrypted with this recovery passphrase: please verify that you entered the correct recovery passphrase.": "Savkopio ne estis malĉifrebla per ĉi tiu rehava pasfrazo: bonvolu kontroli, ke vi enigis la ĝustan rehavan pasfrazon.", + "Keys restored": "Ŝlosiloj rehaviĝis", + "Successfully restored %(sessionCount)s keys": "Sukcese rehavis %(sessionCount)s ŝlosilojn", + "Sign in with SSO": "Saluti per ununura saluto", + "Welcome to %(appName)s": "Bonvenu al %(appName)s", + "Liberate your communication": "Liberigu vian komunikadon", + "Send a Direct Message": "Sendi rektan mesaĝon", + "Explore Public Rooms": "Esplori publikajn ĉambrojn", + "Create a Group Chat": "Krei grupan babilon", + "Self-verification request": "Memkontrola peto", + "Verify this login": "Kontroli ĉi tiun saluton", + "Syncing...": "Spegulante…", + "Signing In...": "Salutante…", + "If you've joined lots of rooms, this might take a while": "Se vi aliĝis al multaj ĉambroj, tio povas daŭri longe", + "Confirm your identity by verifying this login from one of your other sessions, granting it access to encrypted messages.": "Konfirmu vian identecon per kontrolo de ĉi tiu saluto el unu el viaj aliaj salutaĵoj, permesante al ĝi legadon de ĉifritaj mesaĝoj.", + "This requires the latest Riot on your other devices:": "Ĉi tio bezonas la plej freŝan version de Rion sur viaj aliaj aparatoj:", + "or another cross-signing capable Matrix client": "aŭ alian Matrix-klienton kapablan je transiraj subskriboj", + "Use Recovery Passphrase or Key": "Uzi rehavajn pasfrazon aŭ ŝlosilon", + "Great! This recovery passphrase looks strong enough.": "Bonege! Ĉi tiu rehava pasfrazo ŝajnas sufiĉe forta.", + "Set a recovery passphrase to secure encrypted information and recover it if you log out. This should be different to your account password:": "Agordu rehavan pasfrazon por sekurigi ĉifritajn informojn kaj rehavi ilin post adiaŭo. Ĝi malsamu al la pasvorto de via konto:", + "Enter a recovery passphrase": "Enigu rehavan pasfrazon", + "Back up encrypted message keys": "Savkopii ŝlosilojn al ĉifritaj mesaĝoj" } From 85524a053eb2a8f134cbe5d53eea3f8742507160 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20C?= Date: Wed, 6 May 2020 06:44:07 +0000 Subject: [PATCH 022/203] Translated using Weblate (French) Currently translated at 100.0% (2304 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fr/ --- src/i18n/strings/fr.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index d3c671a898..74c3e6e959 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -2417,5 +2417,7 @@ "Fetching keys from server...": "Récupération des clés depuis le serveur…", "%(completed)s of %(total)s keys restored": "%(completed)s clés sur %(total)s restaurées", "Keys restored": "Clés restaurées", - "Successfully restored %(sessionCount)s keys": "%(sessionCount)s clés ont été restaurées avec succès" + "Successfully restored %(sessionCount)s keys": "%(sessionCount)s clés ont été restaurées avec succès", + "You signed in to a new session without verifying it:": "Vous vous êtes connecté·e à une nouvelle session sans la vérifier :", + "Verify your other session using one of the options below.": "Vérifiez votre autre session en utilisant une des options ci-dessous." } From 3fd089d084d8776af9c2108ce6c9952f567c82b3 Mon Sep 17 00:00:00 2001 From: call_xz Date: Wed, 6 May 2020 05:11:52 +0000 Subject: [PATCH 023/203] Translated using Weblate (Japanese) Currently translated at 54.9% (1264 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ja/ --- src/i18n/strings/ja.json | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json index 7e7c1443a4..024f6cd2c4 100644 --- a/src/i18n/strings/ja.json +++ b/src/i18n/strings/ja.json @@ -305,7 +305,7 @@ "Define the power level of a user": "ユーザーの権限レベルを定義", "Deops user with given id": "指定されたIDのユーザーを非表示", "Opens the Developer Tools dialog": "開発者ツールダイアログを開きます", - "Verified key": "確認済みのキー", + "Verified key": "検証済みの鍵", "Displays action": "アクションを表示", "Forces the current outbound group session in an encrypted room to be discarded": "暗号化されたルーム内の現在のアウトバウンドグループセッションを強制的に破棄します", "Reason": "理由", @@ -953,8 +953,8 @@ "Open Devtools": "開発ツールを開く", "Flair": "バッジ", "Fill screen": "フィルスクリーン", - "Light theme": "明るいテーマ", - "Dark theme": "暗いテーマ", + "Light theme": "ライトテーマ", + "Dark theme": "ダークテーマ", "Unignore": "無視しない", "Unable to load! Check your network connectivity and try again.": "ロードできません! ネットワーク通信を確認の上もう一度お試しください。", "Failed to invite users to the room:": "部屋にユーザーを招待できませんでした:", @@ -1272,5 +1272,32 @@ "Enter your custom homeserver URL What does this mean?": "独自のホームサーバー URL を入力 詳細情報", "Homeserver URL": "ホームサーバー URL", "Sign in instead": "サインインする", - "Create your account": "アカウントの作成" + "Create your account": "アカウントの作成", + "Verify this session": "このセッションの検証", + "Encryption upgrade available": "暗号化のアップグレードが利用できます", + "Not Trusted": "まだ信頼されていません", + "Manually Verify by Text": "テキストを使って手動で検証", + "Interactively verify by Emoji": "絵文字を使って検証", + "Done": "戻る", + "Later": "後で", + "Review": "検証", + "Verify yourself & others to keep your chats safe": "あなたと他の人々とのチャットの安全性を検証", + "Upgrade": "アップグレード", + "Verify": "検証", + "Invite only": "招待者のみ参加可能", + "Trusted": "信頼済み", + "Not trusted": "未信頼", + "%(count)s verified sessions|other": "%(count)s 件の検証済みのセッション", + "%(count)s verified sessions|one": "1 件の検証済みのセッション", + "Hide verified sessions": "検証済みのセッションを隠す", + "%(count)s sessions|other": "%(count)s 件のセッション", + "%(count)s sessions|one": "%(count)s 件のセッション", + "Hide sessions": "セッションを隠す", + "Security": "セキュリティ", + "Welcome to %(appName)s": "%(appName)s へようこそ", + "Liberate your communication": "あなたのコミュニケーションを解放する", + "Send a Direct Message": "ダイレクトメッセージを送信", + "Explore Public Rooms": "公開された部屋を探す", + "Create a Group Chat": "グループチャットを作成", + "Go Back": "戻る" } From c74537383a9246ad688a16aecf0564f7bb5ce894 Mon Sep 17 00:00:00 2001 From: Imre Kristoffer Eilertsen Date: Wed, 6 May 2020 00:17:44 +0000 Subject: [PATCH 024/203] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 50.1% (1155 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/nb_NO/ --- src/i18n/strings/nb_NO.json | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/nb_NO.json b/src/i18n/strings/nb_NO.json index da3b56ccc5..fe6ca61a49 100644 --- a/src/i18n/strings/nb_NO.json +++ b/src/i18n/strings/nb_NO.json @@ -1138,5 +1138,31 @@ "Signing In...": "Logger inn …", "NOT verified": "IKKE verifisert", "Calls": "Samtaler", - "Room List": "Romliste" + "Room List": "Romliste", + "Never send encrypted messages to unverified sessions from this session": "Aldri send krypterte meldinger til uverifiserte økter fra denne økten", + "Verify yourself & others to keep your chats safe": "Verifiser deg selv og andre for å holde samtalene dine trygge", + "Cross-signing and secret storage are enabled.": "Kryssignering og hemmelig lagring er skrudd på.", + "Cross-signing and secret storage are not yet set up.": "Kryssignering og hemmelig lagring er ikke satt enda.", + "Reset cross-signing and secret storage": "Tilbakestill kryssignering og hemmelig lagring", + "Bootstrap cross-signing and secret storage": "Iverksett kryssignering og hemmelig lagring", + "Cross-signing public keys:": "Offentlige nøkler for kryssignering:", + "Cross-signing private keys:": "Private nøkler for kryssignering:", + "Self signing private key:": "Selvsignert privat nøkkel:", + "User signing private key:": "Brukersignert privat nøkkel:", + "Session backup key:": "Øktsikkerhetskopieringsnøkkel:", + "Secret storage public key:": "Offentlig nøkkel for hemmelig lagring:", + "Homeserver feature support:": "Hjemmetjener-funksjonsstøtte:", + "Secret Storage key format:": "Nøkkelformatet for hemmelig lagring:", + "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "Riot kan ikke lagre krypterte meldinger sikkert når den kjøres i en nettleser. Bruk Riot Desktop for at krypterte meldinger skal dukke opp i søkeresultater.", + "Read Marker lifetime (ms)": "Lesemarkørens visningstid (ms)", + "Read Marker off-screen lifetime (ms)": "Lesemarkørens visningstid utenfor skjermen (ms)", + "Cross-signing": "Kryssignering", + "Where you’re logged in": "Der du er pålogget", + "Manage the names of and sign out of your sessions below or verify them in your User Profile.": "Behandle navnene til samt logge av dine økter nedenfor eller verifiser dem i brukerprofilen din.", + "Learn more about how we use analytics.": "Lær mer om hvordan vi bruker statistikker.", + "To link to this room, please add an alias.": "For å lenke til dette rommet, vennligst legg til et alias.", + "Showing flair for these communities:": "Viser merkeskilt for disse samfunnene:", + "URL previews are enabled by default for participants in this room.": "URL-forhåndsvisninger er skrudd på som standard for deltakerene i dette rommet.", + "URL previews are disabled by default for participants in this room.": "URL-forhåndsvisninger er skrudd av som standard for deltakerene i dette rommet.", + "In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "I krypterte rom som denne, er URL-forhåndsvisninger skrudd av som standard for å sikre at hjemmetjeneren din (der forhåndsvisningene blir generert) ikke kan samle inn informasjon om lenkene som du ser i dette rommet." } From d3a276c627995514a5ad45a10c6086541cbfe0d7 Mon Sep 17 00:00:00 2001 From: call_xz Date: Wed, 6 May 2020 12:45:54 +0000 Subject: [PATCH 025/203] Translated using Weblate (Japanese) Currently translated at 54.9% (1266 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ja/ --- src/i18n/strings/ja.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json index 024f6cd2c4..c39500d816 100644 --- a/src/i18n/strings/ja.json +++ b/src/i18n/strings/ja.json @@ -1183,7 +1183,7 @@ "Display Name": "表示名", "Profile picture": "プロフィール画像", "Encryption enabled": "暗号化が有効です", - "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "この部屋内のメッセージはエンドツーエンドで暗号化されます。詳細およびユーザーの検証に関しては各ユーザーのプロフィールをご確認ください。", + "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "この部屋内でのメッセージの送受信はエンドツーエンド暗号化されています。詳細およびユーザーの検証に関しては各ユーザーのプロフィールをご確認ください。", "Encryption not enabled": "暗号化が無効です", "The encryption used by this room isn't supported.": "この部屋では暗号化の使用がサポートされていません。", "Cross-signing public keys:": "クロス署名公開鍵:", @@ -1299,5 +1299,7 @@ "Send a Direct Message": "ダイレクトメッセージを送信", "Explore Public Rooms": "公開された部屋を探す", "Create a Group Chat": "グループチャットを作成", - "Go Back": "戻る" + "Go Back": "戻る", + "Messages in this room are end-to-end encrypted.": "この部屋内でのメッセージの送受信はエンドツーエンド暗号化されています。", + "Messages in this room are not end-to-end encrypted.": "この部屋内でのメッセージの送受信はエンドツーエンド暗号化されていません。" } From c750c28af9195334c265af10652d1fe1efa39848 Mon Sep 17 00:00:00 2001 From: Tirifto Date: Wed, 6 May 2020 13:12:27 +0000 Subject: [PATCH 026/203] Translated using Weblate (Esperanto) Currently translated at 100.0% (2304 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/eo/ --- src/i18n/strings/eo.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/eo.json b/src/i18n/strings/eo.json index 031aac3fb3..0c7312fcf9 100644 --- a/src/i18n/strings/eo.json +++ b/src/i18n/strings/eo.json @@ -2380,5 +2380,18 @@ "Great! This recovery passphrase looks strong enough.": "Bonege! Ĉi tiu rehava pasfrazo ŝajnas sufiĉe forta.", "Set a recovery passphrase to secure encrypted information and recover it if you log out. This should be different to your account password:": "Agordu rehavan pasfrazon por sekurigi ĉifritajn informojn kaj rehavi ilin post adiaŭo. Ĝi malsamu al la pasvorto de via konto:", "Enter a recovery passphrase": "Enigu rehavan pasfrazon", - "Back up encrypted message keys": "Savkopii ŝlosilojn al ĉifritaj mesaĝoj" + "Back up encrypted message keys": "Savkopii ŝlosilojn al ĉifritaj mesaĝoj", + "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery passphrase.": "Atingu vian sekuran historion de mesaĝoj kaj vian transire subskriban identecon per enigo de via rehava pasfrazo.", + "Enter your recovery passphrase a second time to confirm it.": "Enigu vian rehavan pasfrazon duafoje por konfirmi ĝin.", + "Confirm your recovery passphrase": "Konfirmi vian rehavan pasfrazon", + "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your recovery passphrase.": "Via rehava ŝlosilo asekuras vin – vi povas ĝin uzi por rehavi aliron al viaj ĉifritaj mesaĝoj se vi forgesas vian rehavan pasfrazon.", + "Unable to query secret storage status": "Ne povis peti staton de sekreta deponejo", + "Confirm recovery passphrase": "Konfirmi rehavan pasfrazon", + "We'll store an encrypted copy of your keys on our server. Secure your backup with a recovery passphrase.": "Ni deponos ĉifritan kopion de viaj ŝlosiloj en nia servilo. Sekurigu vian savkopion per rehava pasfrazo.", + "Enter a recovery passphrase...": "Enigu rehavan pasfrazon…", + "Please enter your recovery passphrase a second time to confirm.": "Bonvolu enigi vian rehavan pasfrazon duafoje por konfirmi.", + "Repeat your recovery passphrase...": "Ripetu vian rehavan pasfrazon…", + "Secure your backup with a recovery passphrase": "Sekurigu vian savkopion per rehava pasfrazo", + "Currently indexing: %(currentRoom)s": "Nun indeksante: %(currentRoom)s", + "Cancel replying to a message": "Nuligi respondon al mesaĝo" } From c42755c69343c576a90ca036a35a8888793c301a Mon Sep 17 00:00:00 2001 From: random Date: Wed, 6 May 2020 15:44:47 +0000 Subject: [PATCH 027/203] Translated using Weblate (Italian) Currently translated at 100.0% (2304 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/it/ --- src/i18n/strings/it.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index 78abb0e53e..e8012733c3 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -2412,5 +2412,7 @@ "Fetching keys from server...": "Ricezione delle chiavi dal server...", "%(completed)s of %(total)s keys restored": "%(completed)s di %(total)s chiavi ripristinate", "Keys restored": "Chiavi ripristinate", - "Successfully restored %(sessionCount)s keys": "Ripristinate %(sessionCount)s chiavi correttamente" + "Successfully restored %(sessionCount)s keys": "Ripristinate %(sessionCount)s chiavi correttamente", + "You signed in to a new session without verifying it:": "Hai fatto l'accesso ad una nuova sessione senza verificarla:", + "Verify your other session using one of the options below.": "Verifica la tua altra sessione usando una delle opzioni sotto." } From fe00c23be88b7ba8f1a4f330d2279b7ac6c3b1b8 Mon Sep 17 00:00:00 2001 From: call_xz Date: Wed, 6 May 2020 12:53:40 +0000 Subject: [PATCH 028/203] Translated using Weblate (Japanese) Currently translated at 55.2% (1272 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ja/ --- src/i18n/strings/ja.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json index c39500d816..4188464408 100644 --- a/src/i18n/strings/ja.json +++ b/src/i18n/strings/ja.json @@ -1301,5 +1301,11 @@ "Create a Group Chat": "グループチャットを作成", "Go Back": "戻る", "Messages in this room are end-to-end encrypted.": "この部屋内でのメッセージの送受信はエンドツーエンド暗号化されています。", - "Messages in this room are not end-to-end encrypted.": "この部屋内でのメッセージの送受信はエンドツーエンド暗号化されていません。" + "Messages in this room are not end-to-end encrypted.": "この部屋内でのメッセージの送受信はエンドツーエンド暗号化されていません。", + "You signed in to a new session without verifying it:": "あなたのこのセッションはまだ検証されていません:", + "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) のこのセッションはまだ検証されていません:", + "Recent Conversations": "最近会話したユーザー", + "Suggestions": "提案", + "Start a conversation with someone using their name, username (like ) or email address.": "相手の名前、( のような)ユーザー名、メールアドレスを使って会話を開始できます。", + "Go": "続行" } From 7eea8277c54848b5a876e0e57292a2abd92e6588 Mon Sep 17 00:00:00 2001 From: Besnik Bleta Date: Wed, 6 May 2020 16:18:12 +0000 Subject: [PATCH 029/203] Translated using Weblate (Albanian) Currently translated at 99.9% (2301 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/sq/ --- src/i18n/strings/sq.json | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/sq.json b/src/i18n/strings/sq.json index 7e94977f63..2232da27e0 100644 --- a/src/i18n/strings/sq.json +++ b/src/i18n/strings/sq.json @@ -213,7 +213,7 @@ "Invite to this room": "Ftojeni te kjo dhomë", "You cannot delete this message. (%(code)s)": "S’mund ta fshini këtë mesazh. (%(code)s)", "Thursday": "E enjte", - "I understand the risks and wish to continue": "I kuptoj rreziqet dhe dua të vazhdoj", + "I understand the risks and wish to continue": "I kuptoj rreziqet dhe dëshiroj të vazhdoj", "Logs sent": "Regjistrat u dërguan", "Back": "Mbrapsht", "Reply": "Përgjigje", @@ -1347,7 +1347,7 @@ "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Pasi të aktivizohet, fshehtëzimi për një dhomë nuk mund të çaktivizohet. Mesazhet e dërguar në një dhomë të fshehtëzuar s’mund të shihen nga shërbyesi, vetëm nga pjesëmarrësit në dhomë. Aktivizimi i fshehtëzimit mund të pengojë funksionimin si duhet të mjaft robotëve dhe urave. Mësoni më tepër rreth fshehtëzimit.", "Want more than a community? Get your own server": "Doni më shumë se një bashkësi? Merrni një shërbyes tuajin", "Power level": "Shkallë pushteti", - "Please install Chrome, Firefox, or Safari for the best experience.": "Për funksionimin më të mirë, ju lutemi, instaloni Chrome, Firefox, ose Safari.", + "Please install Chrome, Firefox, or Safari for the best experience.": "Ju lutemi, për funksionimin më të mirë, instaloni Chrome, Firefox, ose Safari.", "A conference call could not be started because the integrations server is not available": "S’u nis dot një thirrje konferencë, ngaqë shërbyesi i integrimit s’është i kapshëm", "Replying With Files": "Përgjigje Me Kartela", "The file '%(fileName)s' failed to upload.": "Dështoi ngarkimi i kartelës '%(fileName)s'.", @@ -2378,5 +2378,35 @@ "Enter a recovery passphrase...": "Jepni një frazëkalim rimarrjesh…", "Please enter your recovery passphrase a second time to confirm.": "Ju lutemi, jepeni frazëkalimin tuaj të rimarrjeve edhe një herë, për ta ripohuar.", "Repeat your recovery passphrase...": "Përsëritni frazëkalimin tuaj të rimarrjeve…", - "Secure your backup with a recovery passphrase": "Sigurojeni kopjeruajtjen tuaj me një frazëkalim rimarrjesh" + "Secure your backup with a recovery passphrase": "Sigurojeni kopjeruajtjen tuaj me një frazëkalim rimarrjesh", + "Review where you’re logged in": "Shqyrtojini kur të jeni i futur", + "New login. Was this you?": "Hyrje e re. Ju qetë?", + "Please supply a widget URL or embed code": "Ju lutemi, furnizoni një URL widget-i ose kod trupëzimi", + "Send a bug report with logs": "Dërgoni një njoftim të metash me regjistra", + "You signed in to a new session without verifying it:": "Bëtë hyrjen në një sesion të ri pa e verifikuar:", + "Verify your other session using one of the options below.": "Verifikoni sesionit tuaj tjetër duke përdorur një nga mundësitë më poshtë.", + "Enable cross-signing to verify per-user instead of per-session": "Aktivizoni cross-signing për të verifikuar me bazë përdorues në vend se me bazë sesioni", + "Lock": "Kyçje", + "Verify all your sessions to ensure your account & messages are safe": "Verifikoni krejt sesionet tuaj që të siguroheni se llogaria & mesazhet tuaja janë të sigurt", + "Verify the new login accessing your account: %(name)s": "Verifikoni kredencialet e reja për hyrje te llogaria juaj: %(name)s", + "Cross-signing": "Cross-signing", + "Where you’re logged in": "Kur të jeni i futur", + "Manage the names of and sign out of your sessions below or verify them in your User Profile.": "Administroni emrat dhe bëni daljen pre sesioneve tuaj më poshtë ose verifikojini te Profili juaj i Përdoruesit.", + "Reset": "Rikthe te parazgjedhjet", + "Can't load this message": "S’ngarkohet dot ky mesazh", + "Submit logs": "Parashtro regjistra", + "Reminder: Your browser is unsupported, so your experience may be unpredictable.": "Kujtesë: Shfletuesi juaj është i pambuluar, ndaj punimi juaj mund të jetë i paparashikueshëm.", + "Unable to upload": "S’arrihet të ngarkohet", + "Restoring keys from backup": "Po rikthehen kyçesh nga kopjeruajtje", + "Fetching keys from server...": "Po sillen kyçet prej shërbyesi…", + "%(completed)s of %(total)s keys restored": "U rikthyen %(completed)s nga %(total)s kyçe", + "Keys restored": "Kyçet u rikthyen", + "Successfully restored %(sessionCount)s keys": "U rikthyen me sukses %(sessionCount)s kyçe", + "Verify this login": "Verifikoni këto kredenciale hyrjeje", + "Confirm your identity by verifying this login from one of your other sessions, granting it access to encrypted messages.": "Ripohoni identitetin tuaj duke verifikuar këto kredenciale hyrjesh prej një nga sesionet tuaj të tjerë, duke i akorduar hyrje te mesazhet e fshehtëzuar.", + "This requires the latest Riot on your other devices:": "Kjo lyp Riot-in më të ri te pajisjet tuaja të tjera:", + "or another cross-signing capable Matrix client": "ose një tjetër klient Matrix i aftë për cross-signing Date: Wed, 6 May 2020 17:38:00 +0000 Subject: [PATCH 030/203] Translated using Weblate (Albanian) Currently translated at 99.8% (2300 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/sq/ --- src/i18n/strings/sq.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/sq.json b/src/i18n/strings/sq.json index 2232da27e0..ee2781f445 100644 --- a/src/i18n/strings/sq.json +++ b/src/i18n/strings/sq.json @@ -1100,7 +1100,7 @@ "Developer options": "Mundësi zhvilluesi", "General": "Të përgjithshme", "Room Addresses": "Adresa Dhomash", - "Set a new account password...": "Caktoni një fjalëkalim të rri llogarie…", + "Set a new account password...": "Caktoni një fjalëkalim të ri llogarie…", "Email addresses": "Adresa email", "Phone numbers": "Numra telefonash", "Language and region": "Gjuhë dhe rajon", From cff7ce3934ef03659d75881f59b8f6559bcca678 Mon Sep 17 00:00:00 2001 From: Szimszon Date: Wed, 6 May 2020 18:48:53 +0000 Subject: [PATCH 031/203] Translated using Weblate (Hungarian) Currently translated at 100.0% (2304 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/hu/ --- src/i18n/strings/hu.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 5eebbe8478..afad390192 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -2408,5 +2408,6 @@ "Keys restored": "Kulcsok visszaállítva", "Successfully restored %(sessionCount)s keys": "Kulcsok (%(sessionCount)s) sikeresen visszaállítva", "You signed in to a new session without verifying it:": "Ellenőrzés nélkül jelentkeztél be egy új munkamenetbe:", - "Verify your other session using one of the options below.": "Ellenőrizd a másik munkameneted a lenti lehetőségek egyikével." + "Verify your other session using one of the options below.": "Ellenőrizd a másik munkameneted a lenti lehetőségek egyikével.", + "Invite someone using their name, username (like ), email address or share this room.": "Hívj meg valakit a nevével, felhasználónevével (mint ), e-mail címével vagy oszd meg ezt a szobát." } From d31a0199bc60d0e007f98f0af692fd58e9f6209c Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 6 May 2020 14:24:16 -0600 Subject: [PATCH 032/203] Add default dialog aesthetics to avoid empty SSO dialogs in future --- .../views/dialogs/InteractiveAuthDialog.js | 32 +++++++++++++++++-- src/i18n/strings/en_EN.json | 3 ++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/src/components/views/dialogs/InteractiveAuthDialog.js b/src/components/views/dialogs/InteractiveAuthDialog.js index af5dc5108c..d9cc13e11c 100644 --- a/src/components/views/dialogs/InteractiveAuthDialog.js +++ b/src/components/views/dialogs/InteractiveAuthDialog.js @@ -25,6 +25,7 @@ import { _t } from '../../../languageHandler'; import AccessibleButton from '../elements/AccessibleButton'; import {ERROR_USER_CANCELLED} from "../../structures/InteractiveAuth"; +import {SSOAuthEntry} from "../auth/InteractiveAuthEntryComponents"; export default createReactClass({ displayName: 'InteractiveAuthDialog', @@ -66,6 +67,8 @@ export default createReactClass({ // } // } // } + // + // Default is defined in _getDefaultDialogAesthetics() aestheticsForStagePhases: PropTypes.object, }, @@ -79,6 +82,28 @@ export default createReactClass({ }; }, + _getDefaultDialogAesthetics: function() { + const ssoAesthetics = { + [SSOAuthEntry.PHASE_PREAUTH]: { + title: _t("Use Single Sign On to continue"), + body: _t("To continue, use Single Sign On to prove your identity."), + continueText: _t("Single Sign On"), + continueKind: "primary", + }, + [SSOAuthEntry.PHASE_POSTAUTH]: { + title: _t("Confirm to continue"), + body: _t("Click the button below to confirm your identity."), + continueText: _t("Confirm"), + continueKind: "primary", + }, + }; + + return { + [SSOAuthEntry.LOGIN_TYPE]: ssoAesthetics, + [SSOAuthEntry.UNSTABLE_LOGIN_TYPE]: ssoAesthetics, + } + }, + _onAuthFinished: function(success, result) { if (success) { this.props.onFinished(true, result); @@ -113,9 +138,10 @@ export default createReactClass({ let body = this.state.authError ? null : this.props.body; let continueText = null; let continueKind = null; - if (!this.state.authError && this.props.aestheticsForStagePhases) { - if (this.props.aestheticsForStagePhases[this.state.uiaStage]) { - const aesthetics = this.props.aestheticsForStagePhases[this.state.uiaStage][this.state.uiaStagePhase]; + const dialogAesthetics = this.props.aestheticsForStagePhases || this._getDefaultDialogAesthetics(); + if (!this.state.authError && dialogAesthetics) { + if (dialogAesthetics[this.state.uiaStage]) { + const aesthetics = dialogAesthetics[this.state.uiaStage][this.state.uiaStagePhase]; if (aesthetics && aesthetics.title) title = aesthetics.title; if (aesthetics && aesthetics.body) body = aesthetics.body; if (aesthetics && aesthetics.continueText) continueText = aesthetics.continueText; diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index a24b2bde73..dc92ef310d 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1639,6 +1639,9 @@ "Enable 'Manage Integrations' in Settings to do this.": "Enable 'Manage Integrations' in Settings to do this.", "Integrations not allowed": "Integrations not allowed", "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.", + "To continue, use Single Sign On to prove your identity.": "To continue, use Single Sign On to prove your identity.", + "Confirm to continue": "Confirm to continue", + "Click the button below to confirm your identity.": "Click the button below to confirm your identity.", "Failed to invite the following users to chat: %(csvUsers)s": "Failed to invite the following users to chat: %(csvUsers)s", "We couldn't create your DM. Please check the users you want to invite and try again.": "We couldn't create your DM. Please check the users you want to invite and try again.", "Something went wrong trying to invite the users.": "Something went wrong trying to invite the users.", From 17be9805e15c094fc1942deb30eb7f57bccdcf9e Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 6 May 2020 14:24:37 -0600 Subject: [PATCH 033/203] Set SSO dialog aesthetics for cross-signing setup Fixes https://github.com/vector-im/riot-web/issues/13042 --- .../CreateSecretStorageDialog.js | 21 +++++++++++++++++++ src/i18n/strings/en_EN.json | 2 ++ 2 files changed, 23 insertions(+) diff --git a/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js b/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js index 2c05f231e7..c8ddd361fc 100644 --- a/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js +++ b/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js @@ -25,6 +25,7 @@ import { _t } from '../../../../languageHandler'; import Modal from '../../../../Modal'; import { promptForBackupPassphrase } from '../../../../CrossSigningManager'; import {copyNode} from "../../../../utils/strings"; +import {SSOAuthEntry} from "../../../../components/views/auth/InteractiveAuthEntryComponents"; const PHASE_LOADING = 0; const PHASE_LOADERROR = 1; @@ -209,12 +210,32 @@ export default class CreateSecretStorageDialog extends React.PureComponent { }); } else { const InteractiveAuthDialog = sdk.getComponent("dialogs.InteractiveAuthDialog"); + + const dialogAesthetics = { + [SSOAuthEntry.PHASE_PREAUTH]: { + title: _t("Use Single Sign On to continue"), + body: _t("To continue, use Single Sign On to prove your identity."), + continueText: _t("Single Sign On"), + continueKind: "primary", + }, + [SSOAuthEntry.PHASE_POSTAUTH]: { + title: _t("Confirm encryption setup"), + body: _t("Click the button below to confirm setting up encryption."), + continueText: _t("Confirm"), + continueKind: "primary", + }, + }; + const { finished } = Modal.createTrackedDialog( 'Cross-signing keys dialog', '', InteractiveAuthDialog, { title: _t("Setting up keys"), matrixClient: MatrixClientPeg.get(), makeRequest, + aestheticsForStagePhases: { + [SSOAuthEntry.LOGIN_TYPE]: dialogAesthetics, + [SSOAuthEntry.UNSTABLE_LOGIN_TYPE]: dialogAesthetics, + }, }, ); const [confirmed] = await finished; diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index dc92ef310d..7d2e016394 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -2193,6 +2193,8 @@ "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.", "File to import": "File to import", "Import": "Import", + "Confirm encryption setup": "Confirm encryption setup", + "Click the button below to confirm setting up encryption.": "Click the button below to confirm setting up encryption.", "Enter your account password to confirm the upgrade:": "Enter your account password to confirm the upgrade:", "Restore your key backup to upgrade your encryption": "Restore your key backup to upgrade your encryption", "Restore": "Restore", From b8fd50c5e328058a0928ff007c22e959b843de6d Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 6 May 2020 14:27:32 -0600 Subject: [PATCH 034/203] Appease the linter --- src/components/views/dialogs/InteractiveAuthDialog.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/dialogs/InteractiveAuthDialog.js b/src/components/views/dialogs/InteractiveAuthDialog.js index d9cc13e11c..b06ce63ecd 100644 --- a/src/components/views/dialogs/InteractiveAuthDialog.js +++ b/src/components/views/dialogs/InteractiveAuthDialog.js @@ -101,7 +101,7 @@ export default createReactClass({ return { [SSOAuthEntry.LOGIN_TYPE]: ssoAesthetics, [SSOAuthEntry.UNSTABLE_LOGIN_TYPE]: ssoAesthetics, - } + }; }, _onAuthFinished: function(success, result) { From e5da81b6ba3ed6ba9274504f66ca6aed06b7fcb4 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 6 May 2020 14:42:03 -0600 Subject: [PATCH 035/203] Ensure key backup gets dealt with correctly during secret storage reset Fixes https://github.com/vector-im/riot-web/issues/13562 We only initialize a new key backup if the user requested one. If they've requested new keys but have not asked for keys to be backed up, we simply delete the now-invalid backup. This also adds some logging to identify in rageshakes when someone resets their cross-signing, and when their key backup is being deleted. --- .../dialogs/secretstorage/CreateSecretStorageDialog.js | 10 +++++++++- src/components/views/settings/CrossSigningPanel.js | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js b/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js index 2c05f231e7..9d07628093 100644 --- a/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js +++ b/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js @@ -236,12 +236,20 @@ export default class CreateSecretStorageDialog extends React.PureComponent { try { if (force) { + console.log("Forcing secret storage reset"); // log something so we can debug this later await cli.bootstrapSecretStorage({ authUploadDeviceSigningKeys: this._doBootstrapUIAuth, createSecretStorageKey: async () => this._recoveryKey, - setupNewKeyBackup: true, + setupNewKeyBackup: this.state.useKeyBackup, setupNewSecretStorage: true, }); + if (!this.state.useKeyBackup && this.state.backupInfo) { + // If the user is resetting their cross-signing keys and doesn't want + // key backup (but had it enabled before), delete the key backup as it's + // no longer valid. + console.log("Deleting invalid key backup (secrets have been reset; key backup not requested)"); + await cli.deleteKeyBackupVersion(this.state.backupInfo.version); + } } else { await cli.bootstrapSecretStorage({ authUploadDeviceSigningKeys: this._doBootstrapUIAuth, diff --git a/src/components/views/settings/CrossSigningPanel.js b/src/components/views/settings/CrossSigningPanel.js index cb04d2a018..c07f1c25dd 100644 --- a/src/components/views/settings/CrossSigningPanel.js +++ b/src/components/views/settings/CrossSigningPanel.js @@ -131,8 +131,8 @@ export default class CrossSigningPanel extends React.PureComponent { } _destroySecureSecretStorage = () => { - const ConfirmDestoryCrossSigningDialog = sdk.getComponent("dialogs.ConfirmDestroyCrossSigningDialog"); - Modal.createDialog(ConfirmDestoryCrossSigningDialog, { + const ConfirmDestroyCrossSigningDialog = sdk.getComponent("dialogs.ConfirmDestroyCrossSigningDialog"); + Modal.createDialog(ConfirmDestroyCrossSigningDialog, { onFinished: this.onDestroyStorage, }); } From fa5aa2847290f0bd0a6a1261545cae8798f6415f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Wed, 6 May 2020 23:06:20 +0000 Subject: [PATCH 036/203] Translated using Weblate (Estonian) Currently translated at 35.3% (813 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/et/ --- src/i18n/strings/et.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index d640121c0b..01096fd62c 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -810,5 +810,7 @@ "Encrypted messages in group chats": "Rühmavestluste krüptitud sõnumid", "When I'm invited to a room": "Kui mind kutsutakse jututuppa", "Call invitation": "Kõnekutse", - "Messages sent by bot": "Robotite saadetud sõnumid" + "Messages sent by bot": "Robotite saadetud sõnumid", + "Please install Chrome, Firefox, or Safari for the best experience.": "Parima kasutuskogemuse jaoks palun paigalda Chrome, Firefox või Safari.", + "I understand the risks and wish to continue": "Ma mõistan riske ja soovin jätkata" } From c6b8f5048428f92c7af5693eb922d3b3b6ded414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Wed, 6 May 2020 23:10:46 +0000 Subject: [PATCH 037/203] Translated using Weblate (Estonian) Currently translated at 35.5% (818 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/et/ --- src/i18n/strings/et.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index 01096fd62c..096d97b5ac 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -812,5 +812,10 @@ "Call invitation": "Kõnekutse", "Messages sent by bot": "Robotite saadetud sõnumid", "Please install Chrome, Firefox, or Safari for the best experience.": "Parima kasutuskogemuse jaoks palun paigalda Chrome, Firefox või Safari.", - "I understand the risks and wish to continue": "Ma mõistan riske ja soovin jätkata" + "I understand the risks and wish to continue": "Ma mõistan riske ja soovin jätkata", + "URL Previews": "URL'ide eelvaated", + "You have enabled URL previews by default.": "Vaikimisi oled URL'ide eelvaated võtnud kasutusele.", + "You have disabled URL previews by default.": "Vaikimisi oled URL'ide eelvaated lülitanud välja.", + "URL previews are enabled by default for participants in this room.": "URL'ide eelvaated on vaikimisi kasutusel selles jututoas osalejate jaoks.", + "URL previews are disabled by default for participants in this room.": "URL'ide eelvaated on vaikimisi lülitatud välja selles jututoas osalejate jaoks." } From 7c1ac7aaffe17a7a3941cb8bda4fb822876bf1ad Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 7 May 2020 10:02:40 +0100 Subject: [PATCH 038/203] fix unrelated tautology Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/MatrixChat.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/structures/MatrixChat.tsx b/src/components/structures/MatrixChat.tsx index 05354fa5f2..3929711406 100644 --- a/src/components/structures/MatrixChat.tsx +++ b/src/components/structures/MatrixChat.tsx @@ -1339,7 +1339,7 @@ export default class MatrixChat extends React.PureComponent { // this if we are not scrolled up in the view. To find out, delegate to // the timeline panel. If the timeline panel doesn't exist, then we assume // it is safe to reset the timeline. - if (!this.loggedInView.current || !this.loggedInView.current) { + if (!this.loggedInView.current) { return true; } return this.loggedInView.current.canResetTimelineInRoom(roomId); From e78c9ebbc5201139be83efdf4902f43df7eccc1d Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 7 May 2020 07:21:43 +0000 Subject: [PATCH 039/203] Translated using Weblate (Bulgarian) Currently translated at 93.3% (2149 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/bg/ --- src/i18n/strings/bg.json | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/bg.json b/src/i18n/strings/bg.json index 87e5d928ac..347823f95c 100644 --- a/src/i18n/strings/bg.json +++ b/src/i18n/strings/bg.json @@ -2177,5 +2177,39 @@ "%(networkName)s rooms": "%(networkName)s стаи", "Matrix rooms": "Matrix стаи", "Reminder: Your browser is unsupported, so your experience may be unpredictable.": "Напомняне: браузърът ви не се поддържа, така че не всичко може да работи правилно.", - "Destroy cross-signing keys?": "Унищожаване на ключовете за кръстосано-подписване?" + "Destroy cross-signing keys?": "Унищожаване на ключовете за кръстосано-подписване?", + "You signed in to a new session without verifying it:": "Влязохте в нова сесия без да я верифицирате:", + "Verify your other session using one of the options below.": "Верифицирайте другите си сесии използвайки една от опциите по-долу.", + "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Изтриването на ключовете за кръстосано-подписване е необратимо. Всички, с които сте се верифицирали ще видят предупреждения за сигурността. Почти със сигурност не искате да направите това, освен ако не сте загубили всички устройства, от които можете да подписвате кръстосано.", + "Clear cross-signing keys": "Изчисти ключовете за кръстосано-подписване", + "Clear all data in this session?": "Изчисти всички данни в тази сесия?", + "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Изчистването на всички данни от сесията е необратимо. Шифрованите съобщения ще бъдат загубени, освен ако няма резервно копие на ключовете им.", + "Enable end-to-end encryption": "Включи шифроване от-край-до-край", + "You can’t disable this later. Bridges & most bots won’t work yet.": "Не може да изключите това по-късно. Мостовете и повечето ботове все още не работят с това.", + "Server did not require any authentication": "Сървърът не изисква никаква автентикация", + "Server did not return valid authentication information.": "Сървърът не върна валидна информация относно автентикация.", + "Confirm your account deactivation by using Single Sign On to prove your identity.": "Потвърдете деактивацията на профила си използвайки Single Sign On за потвърждаване на самоличността.", + "Are you sure you want to deactivate your account? This is irreversible.": "Сигурни ли сте, че искате да деактивирате профила си? Това е необратимо.", + "Confirm account deactivation": "Потвърдете деактивирането на профила", + "There was a problem communicating with the server. Please try again.": "Имаше проблем при комуникацията със сървъра. Опитайте пак.", + "Verify session": "Потвърди сесията", + "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "За да потвърдите, че сесията е доверена, проверете, че ключа, който виждате в потребителските настройки на устройството съвпада с ключа по-долу:", + "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:": "За да потвърдите, че сесията е доверена, свържете се със собственика й по друг начин (например на живо или по телефона) и ги попитайте дали ключът, който виждат в потребителските си настройки съвпада с ключа по-долу:", + "Session name": "Име на сесията", + "Session key": "Ключ за сесията", + "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this session and you probably want to press the blacklist button instead.": "Ако съвпада, натиснете бутона за потвърждение по-долу. Ако пък не, тогава някой прихваща сесията и вероятно искате да използвате бутона за блокиране вместо това.", + "Verification Requests": "Заявки за верификация", + "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Верифицирането на този потребител ще маркира сесията им като доверена при вас, както и вашата като доверена при тях.", + "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Верифицирайте това устройство за да го маркирате като доверено. Доверявайки се на това устройство дава на вас и на другите потребители допълнително спокойствие при използването на от-край-до-край-шифровани съобщения.", + "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Верифицирането на това устройство ще го маркира като доверено, а потребителите, които са потвърдили вас също ще се доверяват на него.", + "Failed to invite the following users to chat: %(csvUsers)s": "Неуспешно поканване на следните потребители в чата: %(csvUsers)s", + "We couldn't create your DM. Please check the users you want to invite and try again.": "Не можахме да създадем директен чат. Проверете потребителите, които искате да поканите и опитайте пак.", + "Something went wrong trying to invite the users.": "Нещо се обърка при опита да бъдат поканени потребителите.", + "We couldn't invite those users. Please check the users you want to invite and try again.": "Не можахме да поканим тези потребители. Проверете потребителите, които искате да поканите и опитайте пак.", + "Recently Direct Messaged": "Скорошни директни чатове", + "Start a conversation with someone using their name, username (like ) or email address.": "Започнете чат с някой посредством име, потребителско име (като ) или имейл адрес.", + "Invite someone using their name, username (like ), email address or share this room.": "Поканете някой посредством име, потребителско име (като ), имейл адрес или като споделите тази стая.", + "You added a new session '%(displayName)s', which is requesting encryption keys.": "Добавихте нова сесия '%(displayName)s', която изисква ключове за шифроване.", + "Your unverified session '%(displayName)s' is requesting encryption keys.": "Непотвърдената ви сесия '%(displayName)s' изисква ключове за шифроване.", + "Loading session info...": "Зареждане на информация за сесията..." } From 0955e13d36defa500bab2ea50b653613be7e878e Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Thu, 7 May 2020 02:58:23 +0000 Subject: [PATCH 040/203] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2304 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hant/ --- src/i18n/strings/zh_Hant.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index f7122b400c..85bbaaabc1 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -2418,5 +2418,6 @@ "Keys restored": "金鑰已復原", "Successfully restored %(sessionCount)s keys": "成功復原 %(sessionCount)s 金鑰", "You signed in to a new session without verifying it:": "您已登入新的工作階段但未驗證:", - "Verify your other session using one of the options below.": "使用下方的其中一個選項來驗證您其他的工作階段。" + "Verify your other session using one of the options below.": "使用下方的其中一個選項來驗證您其他的工作階段。", + "Invite someone using their name, username (like ), email address or share this room.": "使用某人的名字、使用者名稱(如 )、電子郵件地址或分享此聊天室來邀請他們。" } From a2cd6ea1a1cd84a056180bf55bb8c402289f471f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Thu, 7 May 2020 08:43:54 +0000 Subject: [PATCH 041/203] Translated using Weblate (Estonian) Currently translated at 38.6% (889 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/et/ --- src/i18n/strings/et.json | 73 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index 096d97b5ac..9d06be8c88 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -817,5 +817,76 @@ "You have enabled URL previews by default.": "Vaikimisi oled URL'ide eelvaated võtnud kasutusele.", "You have disabled URL previews by default.": "Vaikimisi oled URL'ide eelvaated lülitanud välja.", "URL previews are enabled by default for participants in this room.": "URL'ide eelvaated on vaikimisi kasutusel selles jututoas osalejate jaoks.", - "URL previews are disabled by default for participants in this room.": "URL'ide eelvaated on vaikimisi lülitatud välja selles jututoas osalejate jaoks." + "URL previews are disabled by default for participants in this room.": "URL'ide eelvaated on vaikimisi lülitatud välja selles jututoas osalejate jaoks.", + "Enable Emoji suggestions while typing": "Näita kirjutamise ajal emoji-soovitusi", + "Use compact timeline layout": "Kasuta tihedat ajajoone paigutust", + "Show a placeholder for removed messages": "Näita kustutatud sõnumite asemel kohatäidet", + "Show join/leave messages (invites/kicks/bans unaffected)": "Näita jututubade liitumise ja lahkumise teateid (ei käi kutsete, müksamiste ja keelamiste kohta)", + "Show avatar changes": "Näita avataride muutusi", + "Show read receipts sent by other users": "Näita teiste kasutajate lugemisteatiseid", + "Always show message timestamps": "Alati näita sõnumite ajatempleid", + "Autoplay GIFs and videos": "Esita GIF-animatsioonid ja videod automaatselt", + "Always show encryption icons": "Alati näita krüptimise oleku ikoone", + "Show avatars in user and room mentions": "Näita avatare kasutajate ja jututubade mainimistes", + "Manually verify all remote sessions": "Verifitseeri käsitsi kõik välised sessioonid", + "Collecting app version information": "Kogun teavet rakenduse versiooni kohta", + "unknown caller": "tundmatu helistaja", + "Incoming voice call from %(name)s": "Saabuv häälkõne kasutajalt %(name)s", + "Incoming video call from %(name)s": "Saabuv videokõne kasutajalt %(name)s", + "Incoming call from %(name)s": "Saabuv kõne kasutajalt %(name)s", + "Decline": "Keeldu", + "Accept": "Võta vastu", + "The other party cancelled the verification.": "Teine osapool tühistas verifitseerimise.", + "Verified!": "Verifitseeritud!", + "You've successfully verified this user.": "Sa oled edukalt verifitseerinud selle kasutaja.", + "Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "Turvalised sõnumid selle kasutajaga on läbivalt krüptitud ning kolmandad osapooled ei saa neid lugeda.", + "Got It": "Saan aru", + "Scan this unique code": "Skaneeri seda unikaalset koodi", + "or": "või", + "Compare unique emoji": "Võrdle unikaalseid emoji'sid", + "Compare a unique set of emoji if you don't have a camera on either device": "Kui sul mõlemas seadmes pole kaamerat, siis võrdle unikaalset emoji'de komplekti", + "Start": "Alusta", + "Confirm the emoji below are displayed on both sessions, in the same order:": "Kontrolli, et allpool näidatud emoji'd on kuvatud mõlemas sessioonis samas järjekorras:", + "Verify this user by confirming the following number appears on their screen.": "Verifitseeri see kasutaja tehes kindlaks, et järgnev number kuvatakse tema ekraanil.", + "Unable to find a supported verification method.": "Ei suuda leida toetatud verifitseerimismeetodit.", + "Waiting for your other session, %(deviceName)s (%(deviceId)s), to verify…": "Ootan, et sinu teine sessioon %(deviceName)s (%(deviceId)s) verifitseeriks…", + "Waiting for %(displayName)s to verify…": "Ootan kasutaja %(displayName)s verifitseerimist…", + "Cancelling…": "Tühistan…", + "They match": "Nad klapivad", + "They don't match": "Nad ei klapi", + "To be secure, do this in person or use a trusted way to communicate.": "Turvalisuse mõttes on oluline, et teed seda nii, et kas olete üheskoos või kasutate suhtluskanalit, mida mõlemad usaldate.", + "Dog": "Koer", + "Cat": "Kass", + "Lion": "Lõvi", + "Horse": "Hobune", + "Unicorn": "Ükssarvik", + "Pig": "Siga", + "Elephant": "Elevant", + "Rabbit": "Jänes", + "Panda": "Panda", + "Rooster": "Kukk", + "Penguin": "Pingviin", + "Turtle": "Kilpkonn", + "Fish": "Kala", + "Octopus": "Kaheksajalg", + "Butterfly": "Liblikas", + "Flower": "Lill", + "Tree": "Puu", + "Cactus": "Kaktus", + "Mushroom": "Seen", + "Globe": "Maakera", + "Moon": "Kuu", + "Cloud": "Pilv", + "Fire": "Tuli", + "Banana": "Banaan", + "Apple": "Õun", + "Strawberry": "Maasikas", + "Corn": "Mais", + "Pizza": "Pitsa", + "Cake": "Kook", + "Heart": "Süda", + "Smiley": "Smaili", + "Robot": "Robot", + "Hat": "Müts", + "Glasses": "Prillid" } From 97a794c31816c9be4e19a7c7740f6bb20767e075 Mon Sep 17 00:00:00 2001 From: Lasse Liehu Date: Thu, 7 May 2020 06:17:15 +0000 Subject: [PATCH 042/203] Translated using Weblate (Finnish) Currently translated at 90.3% (2081 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fi/ --- src/i18n/strings/fi.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/i18n/strings/fi.json b/src/i18n/strings/fi.json index c17a2e8c35..8135462d60 100644 --- a/src/i18n/strings/fi.json +++ b/src/i18n/strings/fi.json @@ -771,7 +771,7 @@ "Set Password": "Aseta salasana", "An error occurred whilst saving your email notification preferences.": "Sähköposti-ilmoitusasetuksia tallettaessa tapahtui virhe.", "remove %(name)s from the directory.": "poista %(name)s luettelosta.", - "Off": "Pois päältä", + "Off": "Ei päällä", "Riot does not know how to join a room on this network": "Riot ei tiedä miten liittyä huoneeseen tässä verkossa", "Mentions only": "Vain maininnat", "Failed to remove tag %(tagName)s from room": "Tagin %(tagName)s poistaminen huoneesta epäonnistui", @@ -903,8 +903,8 @@ "Pin": "Nuppineula", "Call in Progress": "Puhelu meneillään", "General": "Yleiset", - "Security & Privacy": "Turvallisuus ja yksityisyys", - "Roles & Permissions": "Roolit ja käyttöoikeudet", + "Security & Privacy": "Tietoturva ja -suoja", + "Roles & Permissions": "Roolit ja oikeudet", "Room Name": "Huoneen nimi", "Room Topic": "Huoneen aihe", "Developer options": "Kehittäjävalinnat", @@ -1489,7 +1489,7 @@ "Message edits": "Viestin muokkaukset", "Upgrading this room requires closing down the current instance of the room and creating a new room in its place. To give room members the best possible experience, we will:": "Tämän huoneen päivittäminen edellyttää huoneen nykyisen instanssin sulkemista ja uuden huoneen luomista sen tilalle. Jotta tämä kävisi huoneen jäsenten kannalta mahdollisimman sujuvasti, teemme seuraavaa:", "Upload all": "Lataa kaikki palvelimelle", - "Upload": "Lataa palvelimelle", + "Upload": "Lähetä", "Changes your avatar in all rooms": "Vaihtaa kuvasi kaikissa huoneissa", "%(senderName)s made no change.": "%(senderName)s ei tehnyt muutoksia.", "Show all": "Näytä kaikki", From cd25361837609c11b74cf51f6a07c8502b074f7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20C?= Date: Thu, 7 May 2020 06:30:13 +0000 Subject: [PATCH 043/203] Translated using Weblate (French) Currently translated at 100.0% (2304 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fr/ --- src/i18n/strings/fr.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 74c3e6e959..b7344b592f 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -2419,5 +2419,6 @@ "Keys restored": "Clés restaurées", "Successfully restored %(sessionCount)s keys": "%(sessionCount)s clés ont été restaurées avec succès", "You signed in to a new session without verifying it:": "Vous vous êtes connecté·e à une nouvelle session sans la vérifier :", - "Verify your other session using one of the options below.": "Vérifiez votre autre session en utilisant une des options ci-dessous." + "Verify your other session using one of the options below.": "Vérifiez votre autre session en utilisant une des options ci-dessous.", + "Invite someone using their name, username (like ), email address or share this room.": "Invitez quelqu’un en utilisant leur nom, leur nom d’utilisateur (comme ), leur adresse e-mail ou partagez ce salon." } From 93287503282f94b6838155e071840af8e235f2e1 Mon Sep 17 00:00:00 2001 From: Imre Kristoffer Eilertsen Date: Thu, 7 May 2020 01:44:26 +0000 Subject: [PATCH 044/203] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 57.8% (1332 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/nb_NO/ --- src/i18n/strings/nb_NO.json | 183 +++++++++++++++++++++++++++++++++++- 1 file changed, 180 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/nb_NO.json b/src/i18n/strings/nb_NO.json index fe6ca61a49..147584ed00 100644 --- a/src/i18n/strings/nb_NO.json +++ b/src/i18n/strings/nb_NO.json @@ -419,7 +419,7 @@ "Security": "Sikkerhet", "Got it": "Jeg forstår", "Reply": "Svar", - "Edit": "Rediger ", + "Edit": "Rediger", "Attachment": "Vedlegg", "Download %(text)s": "Last ned %(text)s", "Show all": "Vis alt", @@ -996,7 +996,7 @@ "Create Community": "Opprett et samfunn", "Please enter a name for the room": "Vennligst skriv inn et navn for rommet", "Set a room alias to easily share your room with other people.": "Velg et rom-alias for å dele rommet ditt enkelt med andre.", - "This room is private, and can only be joined by invitation.": "Dette rommet er privat, og man kan kun bli med etter invitasjon", + "This room is private, and can only be joined by invitation.": "Dette rommet er privat, og man kan kun bli med etter invitasjon.", "Create a public room": "Opprett et offentlig rom", "Create a private room": "Opprett et privat rom", "Topic (optional)": "Tema (valgfritt)", @@ -1164,5 +1164,182 @@ "Showing flair for these communities:": "Viser merkeskilt for disse samfunnene:", "URL previews are enabled by default for participants in this room.": "URL-forhåndsvisninger er skrudd på som standard for deltakerene i dette rommet.", "URL previews are disabled by default for participants in this room.": "URL-forhåndsvisninger er skrudd av som standard for deltakerene i dette rommet.", - "In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "I krypterte rom som denne, er URL-forhåndsvisninger skrudd av som standard for å sikre at hjemmetjeneren din (der forhåndsvisningene blir generert) ikke kan samle inn informasjon om lenkene som du ser i dette rommet." + "In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "I krypterte rom som denne, er URL-forhåndsvisninger skrudd av som standard for å sikre at hjemmetjeneren din (der forhåndsvisningene blir generert) ikke kan samle inn informasjon om lenkene som du ser i dette rommet.", + "Confirm adding email": "Bekreft tillegging av E-postadresse", + "Confirm adding phone number": "Bekreft tillegging av telefonnummer", + "Setting up keys": "Setter opp nøkler", + "Review where you’re logged in": "Gå gjennom der du er pålogget", + "New login. Was this you?": "En ny pålogging. Var det deg?", + "Sign In or Create Account": "Logg inn eller lag en konto", + "Use an identity server": "Bruk en identitetstjener", + "Command failed": "Kommandoen mislyktes", + "Could not find user in room": "Klarte ikke å finne brukeren i rommet", + "Session already verified!": "Økten er allerede verifisert!", + "Displays information about a user": "Viser informasjon om en bruker", + "%(senderName)s banned %(targetName)s.": "%(senderName)s bannlyste %(targetName)s.", + "%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s endret visningsnavnet sitt til %(displayName)s.", + "%(senderName)s set their display name to %(displayName)s.": "%(senderName)s satte visningsnavnet sitt til %(displayName)s.", + "%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s fjernet visningsnavnet sitt (%(oldDisplayName)s).", + "%(senderName)s removed their profile picture.": "%(senderName)s fjernet profilbildet sitt.", + "%(senderName)s changed their profile picture.": "%(senderName)s endret profilbildet sitt.", + "%(senderName)s made no change.": "%(senderName)s gjorde ingen endringer.", + "%(targetName)s rejected the invitation.": "%(targetName)s avslo invitasjonen.", + "%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s trakk tilbake invitasjonen til %(targetName)s.", + "%(senderName)s kicked %(targetName)s.": "%(senderName)s sparket ut %(targetName)s.", + "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s endret temaet til «%(topic)s».", + "%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s fjernet rommets navn.", + "%(senderDisplayName)s upgraded this room.": "%(senderDisplayName)s oppgraderte dette rommet.", + "%(senderDisplayName)s made the room public to whoever knows the link.": "%(senderDisplayName)s gjorde rommet offentlig for alle som kjenner til denne lenken.", + "%(senderDisplayName)s has allowed guests to join the room.": "%(senderDisplayName)s har tillatt gjester å bli med i rommet.", + "%(senderDisplayName)s has prevented guests from joining the room.": "%(senderDisplayName)s har hindret gjester fra å bli med i rommet.", + "%(senderName)s removed the main address for this room.": "%(senderName)s fjernet hovedadressen til dette rommet.", + "%(senderName)s changed the addresses for this room.": "%(senderName)s endret adressene til dette rommet.", + "%(senderName)s answered the call.": "%(senderName)s svarte på oppringingen.", + "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s gikk fra %(fromPowerLevel)s til %(toPowerLevel)s", + "%(widgetName)s widget modified by %(senderName)s": "%(widgetName)s-modulen ble endret på av %(senderName)s", + "%(widgetName)s widget added by %(senderName)s": "%(widgetName)s-modulen ble lagt til av %(senderName)s", + "%(widgetName)s widget removed by %(senderName)s": "%(widgetName)s-modulen ble fjernet av %(senderName)s", + "Your Riot is misconfigured": "Ditt Riot-oppsett er feiloppsatt", + "a few seconds from now": "om noen sekunder fra nå", + "about a minute from now": "rundt et minutt fra nå", + "%(num)s minutes from now": "%(num)s minutter fra nå", + "about an hour from now": "rundt en time fra nå", + "%(num)s hours from now": "%(num)s timer fra nå", + "about a day from now": "rundt en dag fra nå", + "%(num)s days from now": "%(num)s dager fra nå", + "Not a valid Riot keyfile": "Ikke en gyldig Riot-nøkkelfil", + "Unrecognised address": "Adressen ble ikke gjenkjent", + "Unknown server error": "Ukjent tjenerfeil", + "Recent years are easy to guess": "Nylige år er lette å gjette", + "Dates are often easy to guess": "Datoer er ofte lette å gjette", + "This is a top-10 common password": "Dette er et topp-10 vanlig passord", + "This is a top-100 common password": "Dette er et topp-100 vanlig passord", + "Message Pinning": "Meldingsklistring", + "Aeroplane": "Fly", + "Verify all your sessions to ensure your account & messages are safe": "Verifiser alle øktene dine for å sikre at kontoen og meldingene dine er trygge", + "From %(deviceName)s (%(deviceId)s)": "Fra %(deviceName)s (%(deviceId)s)", + "Decline (%(counter)s)": "Avslå (%(counter)s)", + "Upload new:": "Last opp ny:", + "No display name": "Ingen visningsnavn", + "New passwords don't match": "De nye passordene samsvarer ikke", + "Passwords can't be empty": "Passord kan ikke være tomme", + "Do you want to set an email address?": "Vil du velge en E-postadresse?", + "unexpected type": "uventet type", + "Delete sessions|other": "Slett økter", + "Delete sessions|one": "Slett økten", + "Clear notifications": "Tøm varsler", + "Disconnect anyway": "Koble fra likevel", + "You have not ignored anyone.": "Du har ikke ignorert noen.", + "You are not subscribed to any lists": "Du er ikke abonnert på noen lister", + "Uploaded sound": "Lastet opp lyd", + "Notify everyone": "Varsle alle", + "Muted Users": "Dempede brukere", + "Incorrect verification code": "Ugyldig verifiseringskode", + "Unable to add email address": "Klarte ikke å legge til E-postadressen", + "Invite only": "Kun ved invitasjon", + "Close preview": "Lukk forhåndsvisning", + "Failed to kick": "Mislyktes i å sparke ut", + "Unban this user?": "Vil du oppheve bannlysingen av denne brukeren?", + "Ban this user?": "Vil du bannlyse denne brukeren?", + "Demote yourself?": "Vil du degradere deg selv?", + "Demote": "Degrader", + "Revoke Moderator": "Trekk tilbake moderatorstatus", + "Make Moderator": "Gjør til moderator", + "and %(count)s others...|other": "og %(count)s andre …", + "and %(count)s others...|one": "og én annen …", + "%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (styrkenivå %(powerLevelNumber)s)", + "Hangup": "Legg på røret", + "The conversation continues here.": "Samtalen fortsetter her.", + "Jump to message": "Hopp til meldingen", + "System Alerts": "Systemvarsler", + "Rejecting invite …": "Avslår invitasjonen …", + "You were kicked from %(roomName)s by %(memberName)s": "Du ble sparket ut fra %(roomName)s av %(memberName)s", + "Reason: %(reason)s": "Årsak: %(reason)s", + "You were banned from %(roomName)s by %(memberName)s": "Du ble bannlyst fra %(roomName)s av %(memberName)s", + "Do you want to chat with %(user)s?": "Vil du prate med %(user)s?", + "Do you want to join %(roomName)s?": "Vil du bli med i %(roomName)s?", + "Reject & Ignore user": "Avslå og ignorer brukeren", + "This room has already been upgraded.": "Dette rommet har allerede blitt oppgradert.", + "Unknown Command": "Ukjent kommando", + "Revoke invite": "Trekk tilbake invitasjonen", + "Invited by %(sender)s": "Invitert av %(sender)s", + "Mark all as read": "Merk alle som lest", + "Other published addresses:": "Andre publiserte adresser:", + "Invalid community ID": "Ugyldig samfunns-ID", + "Waiting for %(displayName)s to accept…": "Venter på at %(displayName)s skal akseptere …", + "Your homeserver": "Hjemmetjeneren din", + "%(count)s verified sessions|other": "%(count)s verifiserte økter", + "Hide verified sessions": "Skjul verifiserte økter", + "Remove from community": "Fjern fra samfunnet", + "Error decrypting audio": "Feil under dekryptering av lyd", + "Decrypt %(text)s": "Dekrypter %(text)s", + "You verified %(name)s": "Du verifiserte %(name)s", + "A new version of Riot is available.": "En ny versjon av Riot er tilgjengelig.", + "were kicked %(count)s times|other": "ble sparket ut %(count)s ganger", + "was kicked %(count)s times|other": "ble sparket ut %(count)s ganger", + "Some characters not allowed": "Noen tegn er ikke tillatt", + "This alias is available to use": "Dette aliaset er tilgjengelig for bruk", + "This alias is already in use": "Dette aliaset er allerede i bruk", + "You have entered an invalid address.": "Du har skrevet inn en ugyldig adresse.", + "Invite anyway": "Inviter likevel", + "Enable end-to-end encryption": "Aktiver start-til-mål-kryptering", + "You can’t disable this later. Bridges & most bots won’t work yet.": "Du kan ikke skru dette av senere. Broer og mange botter vil ikke fungere enda.", + "Begin Verifying": "Begynn verifiseringen", + "View Servers in Room": "Vis tjenerne i rommet", + "Ignore request": "Ignorer forespørselen", + "Loading session info...": "Laster inn økt-infoen …", + "a key signature": "en nøkkelsignatur", + "Send Logs": "Send loggbøker", + "Command Help": "Kommandohjelp", + "Share Permalink": "Del en permalenke", + "Who can join this community?": "Hvem kan bli med i dette samfunnet?", + "Long Description (HTML)": "Lang beskrivelse (HTML)", + "Welcome to %(appName)s": "Velkommen til %(appName)s", + "Send a Direct Message": "Send en direktemelding", + "Failed to leave room": "Mislyktes i å forlate rommet", + "Connectivity to the server has been lost.": "Tilkoblingen til tjeneren er nede.", + "Click to unmute video": "Klikk for å høre videoen", + "Click to mute video": "Klikk for å dempe videoen", + "Click to unmute audio": "Klikk for å høre lyden", + "Click to mute audio": "Klikk for å dempe lyden", + "Uploading %(filename)s and %(count)s others|zero": "Laster opp %(filename)s", + "Could not load user profile": "Klarte ikke å laste inn brukerprofilen", + "Verify this login": "Verifiser denne påloggingen", + "A new password must be entered.": "Et nytt passord må bli skrevet inn.", + "New passwords must match each other.": "De nye passordene må samsvare med hverandre.", + "This account has been deactivated.": "Denne kontoen har blitt deaktivert.", + "Incorrect username and/or password.": "Feil brukernavn og/eller passord.", + "Set a display name:": "Velg et visningsnavn:", + "Continue with previous account": "Fortsett med tidligere konto", + "Clear personal data": "Tøm personlige data", + "Ed25519 fingerprint": "Ed25519-fingeravtrykk", + "Curve25519 identity key": "Curve25519-identitetsnøkkel", + "Decryption error": "Dekrypteringsfeil", + "Passphrases must match": "Passfrasene må samsvare", + "Passphrase must not be empty": "Passfrasen kan ikke være tom", + "Confirm passphrase": "Bekreft passfrasen", + "Great! This recovery passphrase looks strong enough.": "Strålende! Denne gjenopprettingspassfrasen ser solid nok ut.", + "Set a recovery passphrase to secure encrypted information and recover it if you log out. This should be different to your account password:": "Velg en gjenopprettingspassfrase til å sikre kryptert informasjon og å gjenopprette det hvis du logger av. Dette burde noe annet enn kontopassordet ditt:", + "Enter a recovery passphrase": "Skriv inn en gjenopprettingspassfrase", + "Back up encrypted message keys": "Sikkerhetskopier krypterte meldingsnøkler", + "Set up with a recovery key": "Sett det opp med en gjenopprettingsnøkkel", + "That matches!": "Det samsvarer!", + "That doesn't match.": "Det samsvarer ikke.", + "Go back to set it again.": "Gå tilbake for å velge på nytt.", + "Enter your recovery passphrase a second time to confirm it.": "Skriv inn gjenopprettingspassfrasen din en andre gang for å bekrefte den.", + "Confirm your recovery passphrase": "Bekreft gjenopprettingspassfrasen din", + "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your recovery passphrase.": "Gjenopprettingsnøkkelen din er et sikkerhetsnett - du kan bruke den til å gjenopprette tilgangen til dine krypterte meldinger dersom du glemmer gjenopprettingspassfrasen din.", + "Keep a copy of it somewhere secure, like a password manager or even a safe.": "Ha en kopi av den på et trygt sted, f.eks. en passordbehandler eller til og med i en safe.", + "Your recovery key has been copied to your clipboard, paste it to:": "Gjenopprettingsnøkkelen din har blitt kopiert til utklippstavlen din, lim den inn i:", + "Your recovery key is in your Downloads folder.": "Gjenopprettingsnøkkelen din er i Nedlastinger-mappen din.", + "Print it and store it somewhere safe": "Skriv den ut og lagre den på et sikkert sted", + "Save it on a USB key or backup drive": "Lagre den på en USB-pinne eller backup-harddisk", + "Copy it to your personal cloud storage": "Kopier den til din personlige skylagring", + "You can now verify your other devices, and other users to keep your chats safe.": "Du kan nå verifisere de andre enhetene dine, samt andre brukere for å holde samtalene dine trygge.", + "Confirm recovery passphrase": "Bekreft gjenopprettingspassfrasen", + "Make a copy of your recovery key": "Lag en kopi av gjenopprettingsnøkkelen din", + "You're done!": "Du har gjort alt klart!", + "Enter a recovery passphrase...": "Skriv inn en gjenopprettingspassfrase …", + "Please enter your recovery passphrase a second time to confirm.": "Skriv inn gjenopprettingspassfrasen din en andre gang for å bekrefte.", + "Repeat your recovery passphrase...": "Gjenta gjenopprettingspassfrasen din …" } From 345695f11099f011c3b99ad7882b48a7b164d6c1 Mon Sep 17 00:00:00 2001 From: strix aluco Date: Thu, 7 May 2020 01:01:04 +0000 Subject: [PATCH 045/203] Translated using Weblate (Ukrainian) Currently translated at 23.8% (548 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/uk/ --- src/i18n/strings/uk.json | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index e1db73e8b1..50c15dad2d 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -549,5 +549,17 @@ "Send cross-signing keys to homeserver": "Надсилання ключей підпису на домашній сервер", "Custom (%(level)s)": "Власний (%(level)s)", "Error upgrading room": "Помилка оновлення кімнати", - "Double check that your server supports the room version chosen and try again.": "Перевірте, чи підримує ваш сервер вказану версію кімнати та спробуйте ще." + "Double check that your server supports the room version chosen and try again.": "Перевірте, чи підримує ваш сервер вказану версію кімнати та спробуйте ще.", + "Liberate your communication": "Вивільни своє спілкування", + "Send a Direct Message": "Надіслати особисте повідомлення", + "Explore Public Rooms": "Дослідити прилюдні кімнати", + "Create a Group Chat": "Створити групову балачку", + "Explore": "Дослідити", + "Filter": "Фільтрувати", + "Filter rooms…": "Фільтрувати кімнати…", + "Failed to reject invitation": "Не вдалось відхилити запрошення", + "This room is not public. You will not be able to rejoin without an invite.": "Ця кімната не є прилюдною. Ви не зможете перепід'єднатись без запрошення.", + "Failed to leave room": "Не вдалось залишити кімнату", + "Can't leave Server Notices room": "Неможливо залишити кімнату Оголошення Сервера", + "This room is used for important messages from the Homeserver, so you cannot leave it.": "Ця кімната використовується для важливих повідомлень з домашнього сервера, тож ви не можете її залишити." } From b9e99ca9da4f71480939f02994f56505e14bfb66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Thu, 7 May 2020 09:42:47 +0000 Subject: [PATCH 046/203] Translated using Weblate (Estonian) Currently translated at 40.6% (936 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/et/ --- src/i18n/strings/et.json | 49 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index 9d06be8c88..9f410d8cf4 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -888,5 +888,52 @@ "Smiley": "Smaili", "Robot": "Robot", "Hat": "Müts", - "Glasses": "Prillid" + "Glasses": "Prillid", + "Spanner": "Mutrivõti", + "Santa": "Jõuluvana", + "Thumbs up": "Pöidlad püsti", + "Umbrella": "Vihmavari", + "Hourglass": "Liivakell", + "Clock": "Kell", + "Gift": "Kingitus", + "Light bulb": "Lambipirn", + "Book": "Raamat", + "Pencil": "Pliiats", + "Paperclip": "Kirjaklamber", + "Scissors": "Käärid", + "Lock": "Lukk", + "Key": "Võti", + "Hammer": "Haamer", + "Telephone": "Telefon", + "Flag": "Lipp", + "Train": "Rong", + "Bicycle": "Jalgratas", + "Aeroplane": "Lennuk", + "Rocket": "Rakett", + "Trophy": "Auhind", + "Ball": "Pall", + "Guitar": "Kitarr", + "Trumpet": "Trompet", + "Bell": "Kelluke", + "Anchor": "Ankur", + "Headphones": "Kõrvaklapid", + "Folder": "Kaust", + "Pin": "Knopka", + "Verify all your sessions to ensure your account & messages are safe": "Selleks et sinu konto ja sõnumid oleks turvatud, verifitseeri kõik oma sessioonid", + "Later": "Hiljem", + "Review": "Vaata üle", + "Verify yourself & others to keep your chats safe": "Selleks et sinu vestlused oleks turvatud, verifitseeri end ja teisi", + "Other users may not trust it": "Teised kasutajad ei pruugi seda usaldada", + "Update your secure storage": "Uuenda rakenduse sisemist turvalist salvestust", + "Set up": "Võta kasutusele", + "Upgrade": "Uuenda", + "Verify": "Verifitseeri", + "Verify the new login accessing your account: %(name)s": "Verifitseeri uus kasutajasessioon, kes pruugib sinu kontot: %(name)s", + "From %(deviceName)s (%(deviceId)s)": "Seadmest %(deviceName)s (%(deviceId)s)", + "Decline (%(counter)s)": "Lükka tagasi (%(counter)s)", + "Accept to continue:": "Jätkamiseks nõustu 'ga:", + "Show less": "Näita vähem", + "Show more": "Näita rohkem", + "Warning!": "Hoiatus!", + "Do you want to set an email address?": "Kas sa soovid seadistada e-posti aadressi?" } From 4d6cd3c0504e7f4bc07e4cce95177affdc84bb66 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 7 May 2020 12:50:04 +0100 Subject: [PATCH 047/203] Update padding-left to 20px as per Nad's iteration Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- res/css/views/messages/_RedactedBody.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/css/views/messages/_RedactedBody.scss b/res/css/views/messages/_RedactedBody.scss index c0e5be2c89..9ba35d7297 100644 --- a/res/css/views/messages/_RedactedBody.scss +++ b/res/css/views/messages/_RedactedBody.scss @@ -17,7 +17,7 @@ limitations under the License. color: $muted-fg-color; vertical-align: middle; - padding-left: 16px; + padding-left: 20px; position: relative; &::before { From 4068c64b9230c627fc16ed9d5fc1798381370b6b Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Thu, 7 May 2020 14:31:46 +0000 Subject: [PATCH 048/203] Translated using Weblate (German) Currently translated at 78.9% (1819 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 4500a678e6..c320bfff3f 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1470,8 +1470,8 @@ "Double check that your server supports the room version chosen and try again.": "Überprüfe nochmal ob dein Server die ausgewählte Raumversion unterstützt und versuche es nochmal.", "%(senderName)s placed a voice call.": "%(senderName)s hat einen Sprachanruf getätigt.", "%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s hat einen Sprachanruf getätigt. (Nicht von diesem Browser unterstützt)", - "%(senderName)s placed a video call.": "%(senderName)s hat einen Sprachanruf getätigt.", - "%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s hat einen Sprachanruf getätigt. (Nicht von diesem Browser unterstützt)", + "%(senderName)s placed a video call.": "%(senderName)s hat einen Videoanruf getätigt.", + "%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s hat einen Videoanruf getätigt. (Nicht von diesem Browser unterstützt)", "Verify this session": "Sitzung verifizieren", "Set up encryption": "Verschlüsselung einrichten", "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s hat %(addedAddresses)s und %(count)s Adressen zu diesem Raum hinzugefügt", From 2f7f76acd1958afa3c5c1f4cb41cb4631e1e8317 Mon Sep 17 00:00:00 2001 From: random Date: Thu, 7 May 2020 14:22:23 +0000 Subject: [PATCH 049/203] Translated using Weblate (Italian) Currently translated at 100.0% (2304 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/it/ --- src/i18n/strings/it.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index e8012733c3..53f4ea1aa3 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -2414,5 +2414,6 @@ "Keys restored": "Chiavi ripristinate", "Successfully restored %(sessionCount)s keys": "Ripristinate %(sessionCount)s chiavi correttamente", "You signed in to a new session without verifying it:": "Hai fatto l'accesso ad una nuova sessione senza verificarla:", - "Verify your other session using one of the options below.": "Verifica la tua altra sessione usando una delle opzioni sotto." + "Verify your other session using one of the options below.": "Verifica la tua altra sessione usando una delle opzioni sotto.", + "Invite someone using their name, username (like ), email address or share this room.": "Invita qualcuno usando il suo nome, nome utente (come ), indirizzo email o condividi questa stanza." } From f70a06083a34f8577a9d226089703938dc0ec83a Mon Sep 17 00:00:00 2001 From: call_xz Date: Thu, 7 May 2020 12:25:51 +0000 Subject: [PATCH 050/203] Translated using Weblate (Japanese) Currently translated at 57.2% (1318 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ja/ --- src/i18n/strings/ja.json | 72 ++++++++++++++++++++++++++++++++-------- 1 file changed, 59 insertions(+), 13 deletions(-) diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json index 4188464408..20f8097c0c 100644 --- a/src/i18n/strings/ja.json +++ b/src/i18n/strings/ja.json @@ -376,9 +376,9 @@ "Enable automatic language detection for syntax highlighting": "構文強調表示の自動言語検出を有効にする", "Mirror local video feed": "ローカルビデオ映像送信", "Send analytics data": "分析データを送信する", - "Enable inline URL previews by default": "デフォルトでインラインURLプレビューを有効にする", - "Enable URL previews for this room (only affects you)": "この部屋のURLプレビューを有効にする (あなたにのみ影響する)", - "Enable URL previews by default for participants in this room": "この部屋の参加者のためにデフォルトでURLプレビューを有効にする", + "Enable inline URL previews by default": "デフォルトでインライン URL プレビューを有効にする", + "Enable URL previews for this room (only affects you)": "この部屋の URL プレビューを有効にする (あなたにのみ影響する)", + "Enable URL previews by default for participants in this room": "この部屋の参加者のためにデフォルトで URL プレビューを有効にする", "Room Colour": "部屋の色", "Enable widget screenshots on supported widgets": "サポートされているウィジェットでウィジェットのスクリーンショットを有効にする", "Active call (%(roomName)s)": "アクティブな通話 (%(roomName)s)", @@ -540,12 +540,12 @@ "Showing flair for these communities:": "次のコミュニティのバッジを表示:", "This room is not showing flair for any communities": "この部屋はどんなコミュニティに対してもバッジを表示していません", "New community ID (e.g. +foo:%(localDomain)s)": "新しいコミュニティID (例 +foo:%(localDomain)s)", - "You have enabled URL previews by default.": "デフォルトでURLプレビューが有効です。", - "You have disabled URL previews by default.": "デフォルトでURLプレビューが無効です。", - "URL previews are enabled by default for participants in this room.": "この部屋の参加者は、デフォルトでURLプレビューが有効です。", - "URL previews are disabled by default for participants in this room.": "この部屋の参加者は、デフォルトでURLプレビューが無効です。", - "In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "このような暗号化された部屋では、URLプレビューはデフォルトで無効になっており、あなたのホームサーバー(プレビューを作成する場所)がこの部屋に表示されているリンクに関する情報を収集できないようにしています。", - "URL Previews": "URLプレビュー", + "You have enabled URL previews by default.": "デフォルトで URL プレビューが有効です。", + "You have disabled URL previews by default.": "デフォルトで URL プレビューが無効です。", + "URL previews are enabled by default for participants in this room.": "この部屋の参加者は、デフォルトで URL プレビューが有効です。", + "URL previews are disabled by default for participants in this room.": "この部屋の参加者は、デフォルトで URL プレビューが無効です。", + "In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "このような暗号化された部屋では、URL プレビューはデフォルトで無効になっており、あなたのホームサーバー(プレビューを作成する場所)がこの部屋に表示されているリンクに関する情報を収集できないようにしています。", + "URL Previews": "URL プレビュー", "Historical": "履歴のある", "When someone puts a URL in their message, a URL preview can be shown to give more information about that link such as the title, description, and an image from the website.": "メッセージにURLを入力すると、URLプレビューが表示され、タイトル、説明、ウェブサイトからの画像など、そのリンクに関する詳細情報が表示されます。", "Error decrypting audio": "オーディオの復号化エラー", @@ -931,7 +931,7 @@ "Algorithm": "アルゴリズム", "unencrypted": "暗号化されていない", "Decryption error": "復号化エラー", - "Session ID": "セッションID", + "Session ID": "セッション ID", "End-to-end encryption information": "エンドツーエンド暗号化情報", "Event information": "イベント情報", "Passphrases must match": "パスフレーズは一致する必要があります", @@ -1050,7 +1050,7 @@ "Show display name changes": "表示名の変更を表示する", "Show read receipts sent by other users": "他の人の既読情報を表示する", "Enable big emoji in chat": "チャットで大きな絵文字を有効にする", - "Send typing notifications": "入力中であることを通知する", + "Send typing notifications": "入力中通知を送信する", "Enable Community Filter Panel": "コミュニティーフィルターパネルを有効にする", "Show recently visited rooms above the room list": "最近訪問した部屋をリストの上位に表示する", "Low bandwidth mode": "低帯域通信モード", @@ -1192,7 +1192,7 @@ "Delete %(count)s sessions|one": "%(count)s 件のセッションを削除", "ID": "ID", "Clear cache and reload": "キャッシュを削除して再読み込み", - "Session ID:": "セッションID:", + "Session ID:": "セッション ID:", "Session key:": "セッション鍵:", "Cross-signing": "クロス署名", "Sessions": "セッション", @@ -1307,5 +1307,51 @@ "Recent Conversations": "最近会話したユーザー", "Suggestions": "提案", "Start a conversation with someone using their name, username (like ) or email address.": "相手の名前、( のような)ユーザー名、メールアドレスを使って会話を開始できます。", - "Go": "続行" + "Go": "続行", + "Session already verified!": "このセッションは検証済みです。", + "WARNING: Session already verified, but keys do NOT MATCH!": "警告: このセッションは検証済みです、しかし鍵が一致していません!", + "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "警告: 鍵の検証に失敗しました!提供された鍵「%(fingerprint)s」は、%(userId)s およびセッション %(deviceId)s の署名鍵「%(fprint)s」と一致しません。これはつまり、あなたの会話が傍受・盗聴されようとしている恐れがあるということです!", + "Show typing notifications": "入力中通知を表示する", + "Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "あなたのホームサーバーが対応していない場合は (通話中に自己の IP アドレスが相手に共有されるのを防ぐために) 代替通話支援サーバー turn.matrix.org の使用を許可する", + "Your homeserver does not support cross-signing.": "あなたのホームサーバーはクロス署名に対応していません。", + "Cross-signing and secret storage are enabled.": "クロス署名および機密ストレージは有効です。", + "Reset cross-signing and secret storage": "クロス署名および機密ストレージをリセット", + "in memory": "メモリー内", + "not found": "存在しない", + "in secret storage": "機密ストレージ内", + "Self signing private key:": "自己署名秘密鍵:", + "cached locally": "ローカルキャッシュ", + "not found locally": "ローカルに存在しない", + "User signing private key:": "ユーザー署名秘密鍵:", + "Session backup key:": "セッションバックアップ鍵:", + "Secret storage public key:": "機密ストレージ公開鍵:", + "in account data": "アカウントデータ内", + "Homeserver feature support:": "ホームサーバーの対応状況:", + "exists": "対応している", + "Secret Storage key format:": "機密ストレージ鍵の形式:", + "outdated": "最新版でない", + "up to date": "最新版", + "Your homeserver does not support session management.": "あなたのホームサーバーはセッション管理に対応していません。", + "Unable to load session list": "セッション一覧を読み込めません", + "Securely cache encrypted messages locally for them to appear in search results, using ": "検索結果を表示するため、暗号化されたメッセージをローカルに安全にキャッシュしています。 キャッシュの保存に ", + " to store messages from ": " を使用中であり ", + "rooms.": "件の部屋のメッセージが含まれています。", + "Manage": "管理", + "Add an email address to configure email notifications": "メールアドレスを追加すると電子メール通知の設定も行えます。", + "Custom theme URL": "カスタムテーマ URL", + "Add theme": "テーマの追加", + "Account management": "アカウントの管理", + "Deactivating your account is a permanent action - be careful!": "アカウントの無効化は取り消せません。ご注意ください。", + "Deactivate account": "アカウントの無効化", + "Room list": "部屋一覧", + "Timeline": "タイムライン", + "Message search": "メッセージの検索", + "Published Addresses": "公開アドレス", + "Published addresses can be used by anyone on any server to join your room. To publish an address, it needs to be set as a local address first.": "公開アドレスを使うと、どのサーバーのどのユーザーでもあなたの部屋に参加することができます。アドレスを公開するには、まずローカルアドレスとして設定する必要があります。", + "Local Addresses": "ローカルアドレス", + "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot は検索結果を表示するため、暗号化されたメッセージをローカルに安全にキャッシュしています:", + "Space used:": "使用中のストレージ容量:", + "Indexed messages:": "インデックス済みのメッセージ数:", + "Indexed rooms:": "インデックス済みの部屋数:", + "%(doneRooms)s out of %(totalRooms)s": "%(totalRooms)s 件の部屋の内 %(doneRooms)s 件" } From fa0f704b567701ff9089934ad118722c98afeb85 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 8 May 2020 00:05:16 +0100 Subject: [PATCH 051/203] clear tag panel selection if the community selected is left Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/stores/GroupStore.js | 6 ++++++ src/stores/TagOrderStore.js | 13 ++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/stores/GroupStore.js b/src/stores/GroupStore.js index 6aad6aeaec..78a144f755 100644 --- a/src/stores/GroupStore.js +++ b/src/stores/GroupStore.js @@ -18,6 +18,7 @@ import EventEmitter from 'events'; import { groupMemberFromApiObject, groupRoomFromApiObject } from '../groups'; import FlairStore from './FlairStore'; import {MatrixClientPeg} from '../MatrixClientPeg'; +import dis from '../dispatcher'; function parseMembersResponse(response) { return response.chunk.map((apiMember) => groupMemberFromApiObject(apiMember)); @@ -295,6 +296,11 @@ class GroupStore extends EventEmitter { } leaveGroup(groupId) { + // ensure the tag panel filter is cleared if the group was selected + dis.dispatch({ + action: "deselect_tags", + tag: groupId, + }); return MatrixClientPeg.get().leaveGroup(groupId) // The user should now not be able to access group settings .then(this._fetchResource.bind(this, this.STATE_KEY.Summary, groupId)) diff --git a/src/stores/TagOrderStore.js b/src/stores/TagOrderStore.js index 6d03a2b289..c05728e497 100644 --- a/src/stores/TagOrderStore.js +++ b/src/stores/TagOrderStore.js @@ -168,9 +168,16 @@ class TagOrderStore extends Store { } break; case 'deselect_tags': - this._setState({ - selectedTags: [], - }); + if (payload.tag) { + // if a tag is passed, only deselect that tag + this._setState({ + selectedTags: this._state.selectedTags.filter(tag => tag !== payload.tag), + }); + } else { + this._setState({ + selectedTags: [], + }); + } Analytics.trackEvent('FilterStore', 'deselect_tags'); break; case 'on_client_not_viable': From 5402839f309ac377b6bdb898d1def370235641c6 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 8 May 2020 00:15:48 +0100 Subject: [PATCH 052/203] Close ImageView when Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/elements/ImageView.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/views/elements/ImageView.js b/src/components/views/elements/ImageView.js index e675e6b73f..edadc841a3 100644 --- a/src/components/views/elements/ImageView.js +++ b/src/components/views/elements/ImageView.js @@ -73,6 +73,7 @@ export default class ImageView extends React.Component { Modal.createTrackedDialog('Confirm Redact Dialog', 'Image View', ConfirmRedactDialog, { onFinished: (proceed) => { if (!proceed) return; + this.props.onFinished(); MatrixClientPeg.get().redactEvent( this.props.mxEvent.getRoomId(), this.props.mxEvent.getId(), ).catch(function(e) { From baa7a86e3ea5d9e79481b9d037a29f7df4af1928 Mon Sep 17 00:00:00 2001 From: Will Hunt Date: Fri, 8 May 2020 16:33:50 +0100 Subject: [PATCH 053/203] Assume room should be unencrypted if homeserver does not implement keys/query Dendrite (and others) do not support key fetching (or indeed, E2E at all). Rather than failing to create a room at all, leave it unencrypted. Fixes #13598 --- src/createRoom.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/createRoom.js b/src/createRoom.js index a39d2c2216..4d59b11656 100644 --- a/src/createRoom.js +++ b/src/createRoom.js @@ -212,7 +212,17 @@ export async function _waitForMember(client, roomId, userId, opts = { timeout: 1 * can encrypt to. */ export async function canEncryptToAllUsers(client, userIds) { - const usersDeviceMap = await client.downloadKeys(userIds); + let usersDeviceMap; + try { + usersDeviceMap = await client.downloadKeys(userIds); + } catch (ex) { + if (ex.httpStatus === 404) { + // The endpoint to fetch keys doesn't exist: force unencrypted. + // See: https://github.com/vector-im/riot-web/issues/13598 + return false; + } + throw ex; + } // { "@user:host": { "DEVICE": {...}, ... }, ... } return Object.values(usersDeviceMap).every((userDevices) => // { "DEVICE": {...}, ... } From 055fcd1e984a6ccd982571cf77b82f072d985c4a Mon Sep 17 00:00:00 2001 From: Tirifto Date: Fri, 8 May 2020 14:25:01 +0000 Subject: [PATCH 054/203] Translated using Weblate (Esperanto) Currently translated at 100.0% (2304 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/eo/ --- src/i18n/strings/eo.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/eo.json b/src/i18n/strings/eo.json index 0c7312fcf9..5d6ac9ed48 100644 --- a/src/i18n/strings/eo.json +++ b/src/i18n/strings/eo.json @@ -2393,5 +2393,6 @@ "Repeat your recovery passphrase...": "Ripetu vian rehavan pasfrazon…", "Secure your backup with a recovery passphrase": "Sekurigu vian savkopion per rehava pasfrazo", "Currently indexing: %(currentRoom)s": "Nun indeksante: %(currentRoom)s", - "Cancel replying to a message": "Nuligi respondon al mesaĝo" + "Cancel replying to a message": "Nuligi respondon al mesaĝo", + "Invite someone using their name, username (like ), email address or share this room.": "Invitu iun per ĝia nomo, uzantonomo (kiel ), retpoŝtadreso, aŭ kunhavigu la ĉambron." } From f1c625aac9fd53a170483641dfa1929cbfcddaec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Thu, 7 May 2020 20:23:09 +0000 Subject: [PATCH 055/203] Translated using Weblate (Estonian) Currently translated at 40.8% (939 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/et/ --- src/i18n/strings/et.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index 9f410d8cf4..47afbd1fcd 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -935,5 +935,8 @@ "Show less": "Näita vähem", "Show more": "Näita rohkem", "Warning!": "Hoiatus!", - "Do you want to set an email address?": "Kas sa soovid seadistada e-posti aadressi?" + "Do you want to set an email address?": "Kas sa soovid seadistada e-posti aadressi?", + "Close dialog": "Sulge dialoog", + "Reminder: Your browser is unsupported, so your experience may be unpredictable.": "Meeldetuletus: sinu brauser ei ole toetatud ja seega rakenduse kasutuskogemus võib olla ennustamatu.", + "Toggle this dialog": "Lülita see dialoog sisse/välja" } From 823699c2c228e628050071f2d54d5adb3554bd1f Mon Sep 17 00:00:00 2001 From: David Mehren Date: Fri, 8 May 2020 13:13:57 +0000 Subject: [PATCH 056/203] Translated using Weblate (German) Currently translated at 79.0% (1820 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index c320bfff3f..99f58d865a 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1890,5 +1890,6 @@ "this room": "Dieser Raum", "View older messages in %(roomName)s.": "Zeige alte Nachrichten in %(roomName)s.", "Send a bug report with logs": "Sende Fehlermeldung mit Protokoll", - "Verify all your sessions to ensure your account & messages are safe": "Verifiziere alle deine Sitzungen, um dein Konto und deine Nachrichten zu schützen" + "Verify all your sessions to ensure your account & messages are safe": "Verifiziere alle deine Sitzungen, um dein Konto und deine Nachrichten zu schützen", + "Verify your other session using one of the options below.": "Verifiziere deine andere Sitzung mit einer der folgenden Optionen." } From 1d9f2eb017180e0b16cb4d8ec32e0da3e71100f8 Mon Sep 17 00:00:00 2001 From: Frisk Date: Fri, 8 May 2020 15:26:15 +0000 Subject: [PATCH 057/203] Translated using Weblate (Polish) Currently translated at 67.8% (1563 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/pl/ --- src/i18n/strings/pl.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json index 7cf8a256c8..b54c950263 100644 --- a/src/i18n/strings/pl.json +++ b/src/i18n/strings/pl.json @@ -1588,5 +1588,6 @@ "Toggle Bold": "Przełącz pogrubienie", "Toggle Italics": "Przełącz kursywę", "Toggle Quote": "Przełącz cytowanie", - "Cancel autocomplete": "Anuluj autouzupełnienie" + "Cancel autocomplete": "Anuluj autouzupełnienie", + "Please install Chrome, Firefox, or Safari for the best experience.": "Zainstaluj Chrome, Firefox, lub Safari w celu zapewnienia najlepszego działania." } From 5601e80ea2a8f44261b683220ec48870527ad45f Mon Sep 17 00:00:00 2001 From: rkfg Date: Fri, 8 May 2020 08:15:23 +0000 Subject: [PATCH 058/203] Translated using Weblate (Russian) Currently translated at 90.4% (2083 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 24fd434155..3591d96120 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -1284,7 +1284,7 @@ "Something went wrong with your invite to %(roomName)s": "Что-то пошло не так с вашим приглашением в %(roomName)s", "You can only join it with a working invite.": "Вы можете присоединиться к ней только с рабочим приглашением.", "You can still join it because this is a public room.": "Вы всё ещё можете присоединиться к ней, потому что это публичная комната.", - "Join the discussion": "Присоединяйтесь к обсуждению", + "Join the discussion": "Присоединиться к обсуждению", "Try to join anyway": "Постарайся присоединиться в любом случае", "Do you want to chat with %(user)s?": "Хотите пообщаться с %(user)s?", "Do you want to join %(roomName)s?": "Хотите присоединиться к %(roomName)s?", @@ -1407,7 +1407,7 @@ "Some characters not allowed": "Некоторые символы не разрешены", "Create your Matrix account on %(serverName)s": "Создайте свою учётную запись Matrix на %(serverName)s", "Create your Matrix account on ": "Создайте учётную запись Matrix на ", - "Join millions for free on the largest public server": "Присоединяйтесь бесплатно к миллионам на крупнейшем общедоступном сервере", + "Join millions for free on the largest public server": "Присоединяйтесь бесплатно к миллионам на крупнейшем общедоступном сервере", "Premium hosting for organisations Learn more": "Премиум-хостинг для организаций Подробнее", "Find other public servers or use a custom server": "Найти другие общедоступные серверы или использовать другой сервер", "Please install Chrome, Firefox, or Safari for the best experience.": "Пожалуйста, установите Chrome, Firefox или Safari для наилучшего результата.", @@ -1685,7 +1685,7 @@ "Room Autocomplete": "Автозаполнение комнаты", "User Autocomplete": "Автозаполнение пользователя", "Quick Reactions": "Быстрая реакция", - "Frequently Used": "Часто используемый", + "Frequently Used": "Часто используемые", "Smileys & People": "Смайлики & Люди", "Animals & Nature": "Животные & Природа", "Food & Drink": "Еда & Напитки", From 737f83c94131650b9899ee808169f1aa40715475 Mon Sep 17 00:00:00 2001 From: strix aluco Date: Thu, 7 May 2020 20:57:28 +0000 Subject: [PATCH 059/203] Translated using Weblate (Ukrainian) Currently translated at 25.9% (596 of 2304 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/uk/ --- src/i18n/strings/uk.json | 68 ++++++++++++++++++++++++++++++++++------ 1 file changed, 58 insertions(+), 10 deletions(-) diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index 50c15dad2d..f00ae5b399 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -21,7 +21,7 @@ "Failed to change password. Is your password correct?": "Не вдалось змінити пароль. Ви впевнені, що пароль введено правильно?", "Continue": "Продовжити", "Accept": "Прийняти", - "Account": "Обліковка", + "Account": "Обліківка", "%(targetName)s accepted an invitation.": "%(targetName)s приймає запрошення.", "%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s приймає запрошення від %(displayName)s.", "Access Token:": "Токен доступу:", @@ -75,14 +75,14 @@ "%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s видалив ім'я кімнати.", "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s змінив тему на %(topic)s.", "Email": "е-пошта", - "Email address": "Адреса е-почти", + "Email address": "Адреса е-пошти", "Failed to send email": "Помилка відправки е-почти", "Edit": "Редактувати", "Unpin Message": "Відкріпити повідомлення", "Register": "Зареєструватися", "Rooms": "Кімнати", "Add rooms to this community": "Добавити кімнати в це суспільство", - "This email address is already in use": "Ця електронна пошта вже використовується", + "This email address is already in use": "Ця е-пошта вже використовується", "This phone number is already in use": "Цей телефонний номер вже використовується", "Fetching third party location failed": "Не вдалось отримати стороннє місцеперебування", "Messages in one-to-one chats": "Повідомлення у чатах \"сам на сам\"", @@ -154,7 +154,7 @@ "Explore Account Data": "Продивитись данні аккаунта", "All messages (noisy)": "Усі повідомлення (гучно)", "Saturday": "Субота", - "I understand the risks and wish to continue": "Я ознайомлений з ризиками і хочу продовжити", + "I understand the risks and wish to continue": "Я усвідомлюю ризик і бажаю продовжити", "Direct Chat": "Прямий чат", "The server may be unavailable or overloaded": "Сервер може бути недосяжним або перевантаженим", "Room not found": "Кімнату не знайдено", @@ -188,7 +188,7 @@ "Invite to this room": "Запросити до цієї кімнати", "Thursday": "Четвер", "Search…": "Пошук…", - "Logs sent": "Журнали відправленні", + "Logs sent": "Журнали надіслані", "Back": "Назад", "Reply": "Відповісти", "Show message in desktop notification": "Показати повідомлення в сповіщення на робочому столі", @@ -216,7 +216,7 @@ "Event sent!": "Захід відправлено!", "Unhide Preview": "Відкрити попередній перегляд", "Event Content": "Зміст заходу", - "Thank you!": "Дякую!", + "Thank you!": "Дякуємо!", "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "У вашому оглядачі вигляд застосунку може бути повністю іншим, а деякі або навіть усі функції можуть не працювати. Якщо ви наполягаєте, то можете продовжити користування, але ви маєте впоратись з усіма можливими проблемами власноруч!", "Checking for an update...": "Перевірка оновлень…", "There are advanced notifications which are not shown here": "Є додаткові сповіщення, що не показуються тут", @@ -467,7 +467,7 @@ "Failed to mute user": "Не вдалося заглушити користувача", "Failed to toggle moderator status": "Не вдалося перемкнути статус модератора", "Failed to change power level": "Не вдалося змінити рівень повноважень", - "Chat with Riot Bot": "Чат із Riot-ботом", + "Chat with Riot Bot": "Балачка з Riot-ботом", "Whether or not you're logged in (we don't record your username)": "Незалежно від того, увійшли ви чи ні (ми не записуємо ваше ім'я користувача)", "A conference call could not be started because the integrations server is not available": "Конференц-дзвінок не можна розпочати оскільки інтеграційний сервер недоступний", "The file '%(fileName)s' failed to upload.": "Файл '%(fileName)s' не вийшло відвантажити.", @@ -484,7 +484,7 @@ "At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Зараз неможливо відповісти файлом. Хочете відвантажити цей файл без відповіді?", "Name or Matrix ID": "Імʼя або Matrix ID", "Identity server has no terms of service": "Сервер ідентифікації не має умов надання послуг", - "This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "Щоб підтвердити адресу е-пошту або телефон ця дія потребує доступу до типового серверу ідентифікації , але сервер не має жодних умов надання послуг.", + "This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "Щоб підтвердити адресу е-пошти або телефон ця дія потребує доступу до типового серверу ідентифікації , але сервер не має жодних умов надання послуг.", "Only continue if you trust the owner of the server.": "Продовжуйте тільки якщо довіряєте власнику сервера.", "Trust": "Довіра", "Unable to load! Check your network connectivity and try again.": "Завантаження неможливе! Перевірте інтернет-зʼєднання та спробуйте ще.", @@ -505,7 +505,7 @@ "This room has no topic.": "Ця кімната не має теми.", "Sets the room name": "Встановлює назву кімнати", "Use an identity server": "Використовувати сервер ідентифікації", - "Use an identity server to invite by email. Manage in Settings.": "Використовувати ідентифікаційний сервер для запрошення через е-пошту. Керування у настройках.", + "Use an identity server to invite by email. Manage in Settings.": "Використовувати сервер ідентифікації для запрошень через е-пошту. Керується у налаштуваннях.", "Unbans user with given ID": "Розблоковує користувача з вказаним ідентифікатором", "Adds a custom widget by URL to the room": "Додає власний віджет до кімнати за посиланням", "Please supply a https:// or http:// widget URL": "Вкажіть посилання на віджет — https:// або http://", @@ -561,5 +561,53 @@ "This room is not public. You will not be able to rejoin without an invite.": "Ця кімната не є прилюдною. Ви не зможете перепід'єднатись без запрошення.", "Failed to leave room": "Не вдалось залишити кімнату", "Can't leave Server Notices room": "Неможливо залишити кімнату Оголошення Сервера", - "This room is used for important messages from the Homeserver, so you cannot leave it.": "Ця кімната використовується для важливих повідомлень з домашнього сервера, тож ви не можете її залишити." + "This room is used for important messages from the Homeserver, so you cannot leave it.": "Ця кімната використовується для важливих повідомлень з домашнього сервера, тож ви не можете її залишити.", + "Use Single Sign On to continue": "Використати Single Sign On для продовження", + "Confirm adding this email address by using Single Sign On to prove your identity.": "Підтвердьте додавання цієї адреси е-пошти через використання Single Sign On аби довести вашу ідентичність.", + "Single Sign On": "Single Sign On", + "Confirm adding email": "Підтвердити додавання е-пошти", + "Click the button below to confirm adding this email address.": "Клацніть на кнопці нижче щоб підтвердити додавання цієї адреси е-пошти.", + "Confirm": "Підтвердити", + "Confirm adding this phone number by using Single Sign On to prove your identity.": "Підтвердьте додавання цього телефонного номера через використання Single Sign On аби довести вашу ідентичність.", + "Confirm adding phone number": "Підтвердити додавання телефонного номера", + "Click the button below to confirm adding this phone number.": "Клацніть на кнопці нижче щоб підтвердити додавання цього телефонного номера.", + "The version of Riot": "Версія Riot", + "Whether you're using Riot on a device where touch is the primary input mechanism": "Чи використовуєте ви Riot на пристрої, де основним засобом вводження є дотик", + "Whether you're using Riot as an installed Progressive Web App": "Чи використовуєте ви Riot як встановлений Progressive Web App", + "Your user agent": "Ваш user agent", + "The information being sent to us to help make Riot better includes:": "Відсилана до нас інформація, що допомагає покращити Riot, містить:", + "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "У цій кімнаті є невідомі сесії: якщо ви продовжите не звіряючи їх, то ваші розмови можуть бути прослухані.", + "Review Sessions": "Переглянути сесії", + "If you cancel now, you won't complete verifying the other user.": "Якщо ви скасуєте зараз, то не завершите звіряння іншого користувача.", + "If you cancel now, you won't complete verifying your other session.": "Якщо ви скасуєте зараз, то не завершите звіряння вашої іншої сесії.", + "If you cancel now, you won't complete your operation.": "Якщо ви скасуєте зараз, то не завершите вашу дію.", + "Cancel entering passphrase?": "Скасувати введення парольної фрази?", + "Enter passphrase": "Введіть парольну фразу", + "Setting up keys": "Налаштовування ключів", + "Verify this session": "Звірити цю сесію", + "Sign In or Create Account": "Увійти або створити обліківку", + "Use your account or create a new one to continue.": "Скористайтесь вашою обліківкою або створіть нову щоб продовжити.", + "Create Account": "Створити обліківку", + "Sign In": "Увійти", + "Verify all your sessions to ensure your account & messages are safe": "Звірте усі ваші сесії аби переконатись, що ваші обліківка та повідомлення у безпеці", + "Later": "Пізніше", + "Review": "Переглянути", + "Verify yourself & others to keep your chats safe": "Звірте себе й інших щоб зберегти ваше спілкування у безпеці", + "Verify": "Звірити", + "Verify the new login accessing your account: %(name)s": "Звірити новий вхід, що доступається до вашої обліковки: %(name)s", + "From %(deviceName)s (%(deviceId)s)": "Від %(deviceName)s (%(deviceId)s)", + "Decline (%(counter)s)": "Відхилити (%(counter)s)", + "Language and region": "Мова та регіон", + "Account management": "Керування обліківкою", + "Deactivating your account is a permanent action - be careful!": "Деактивація вашої обліківки є безповоротною дією — будьте обережні!", + "Deactivate Account": "Деактивувати обліківку", + "Deactivate account": "Деактивувати обліківку", + "Legal": "Правова інформація", + "Credits": "Подяки", + "For help with using Riot, click here.": "Якщо необхідна допомога у користуванні Riot'ом, клацніть тут.", + "For help with using Riot, click here or start a chat with our bot using the button below.": "Якщо необхідна допомога у користуванні Riot'ом, клацніть тут або розпочніть балачку з нашим ботом, клацнувши на кнопці нижче.", + "Join the conversation with an account": "Приєднатись до бесіди з обліківкою", + "Unable to restore session": "Неможливо відновити сесію", + "We encountered an error trying to restore your previous session.": "Ми натрапили на помилку, намагаючись відновити вашу попередню сесію.", + "Please install Chrome, Firefox, or Safari for the best experience.": "Для найкращих вражень від користування встановіть, будь ласка, Chrome, Firefox, або Safari." } From 93f2a8377432dd5310417534ee240f0271d6dc18 Mon Sep 17 00:00:00 2001 From: Half-Shot Date: Fri, 8 May 2020 16:36:13 +0100 Subject: [PATCH 060/203] Revert "Assume room should be unencrypted if homeserver does not implement keys/query" This reverts commit baa7a86e3ea5d9e79481b9d037a29f7df4af1928. --- src/createRoom.js | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/createRoom.js b/src/createRoom.js index 4d59b11656..a39d2c2216 100644 --- a/src/createRoom.js +++ b/src/createRoom.js @@ -212,17 +212,7 @@ export async function _waitForMember(client, roomId, userId, opts = { timeout: 1 * can encrypt to. */ export async function canEncryptToAllUsers(client, userIds) { - let usersDeviceMap; - try { - usersDeviceMap = await client.downloadKeys(userIds); - } catch (ex) { - if (ex.httpStatus === 404) { - // The endpoint to fetch keys doesn't exist: force unencrypted. - // See: https://github.com/vector-im/riot-web/issues/13598 - return false; - } - throw ex; - } + const usersDeviceMap = await client.downloadKeys(userIds); // { "@user:host": { "DEVICE": {...}, ... }, ... } return Object.values(usersDeviceMap).every((userDevices) => // { "DEVICE": {...}, ... } From 6ff093f5a36034af61f53258b2dc525a621b5755 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 8 May 2020 19:15:59 +0100 Subject: [PATCH 061/203] Bring back UnknownBody for UISIs Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- res/css/_components.scss | 1 + res/css/views/messages/_UnknownBody.scss | 16 +++++++++++ .../views/messages/EditHistoryMessage.js | 1 - src/components/views/messages/MessageEvent.js | 4 +++ src/components/views/messages/UnknownBody.js | 27 +++++++++++++++++++ src/components/views/rooms/EventTile.js | 1 - 6 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 res/css/views/messages/_UnknownBody.scss create mode 100644 src/components/views/messages/UnknownBody.js diff --git a/res/css/_components.scss b/res/css/_components.scss index 0344074369..428a28ac3a 100644 --- a/res/css/_components.scss +++ b/res/css/_components.scss @@ -144,6 +144,7 @@ @import "./views/messages/_RoomAvatarEvent.scss"; @import "./views/messages/_SenderProfile.scss"; @import "./views/messages/_TextualEvent.scss"; +@import "./views/messages/_UnknownBody.scss"; @import "./views/messages/_ViewSourceEvent.scss"; @import "./views/messages/_common_CryptoEvent.scss"; @import "./views/right_panel/_EncryptionInfo.scss"; diff --git a/res/css/views/messages/_UnknownBody.scss b/res/css/views/messages/_UnknownBody.scss new file mode 100644 index 0000000000..9036e12bf0 --- /dev/null +++ b/res/css/views/messages/_UnknownBody.scss @@ -0,0 +1,16 @@ +/* +Copyright 2015, 2016 OpenMarket Ltd +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +.mx_UnknownBody { + white-space: pre-wrap; +} diff --git a/src/components/views/messages/EditHistoryMessage.js b/src/components/views/messages/EditHistoryMessage.js index e0ca23d244..df27773a40 100644 --- a/src/components/views/messages/EditHistoryMessage.js +++ b/src/components/views/messages/EditHistoryMessage.js @@ -158,7 +158,6 @@ export default class EditHistoryMessage extends React.PureComponent { const isSending = (['sending', 'queued', 'encrypting'].indexOf(this.state.sendStatus) !== -1); const classes = classNames({ "mx_EventTile": true, - "mx_EventTile_redacted": mxEvent.isRedacted(), "mx_EventTile_sending": isSending, "mx_EventTile_notSent": this.state.sendStatus === 'not_sent', }); diff --git a/src/components/views/messages/MessageEvent.js b/src/components/views/messages/MessageEvent.js index f8bd23cbe3..eb74270762 100644 --- a/src/components/views/messages/MessageEvent.js +++ b/src/components/views/messages/MessageEvent.js @@ -21,6 +21,7 @@ import * as sdk from '../../../index'; import SettingsStore from "../../../settings/SettingsStore"; import {Mjolnir} from "../../../mjolnir/Mjolnir"; import RedactedBody from "./RedactedBody"; +import UnknownBody from "./UnknownBody"; export default createReactClass({ displayName: 'MessageEvent', @@ -88,6 +89,9 @@ export default createReactClass({ } else if (content.url) { // Fallback to MFileBody if there's a content URL BodyType = bodyTypes['m.file']; + } else { + // Fallback to UnknownBody otherwise if not redacted + BodyType = UnknownBody; } } diff --git a/src/components/views/messages/UnknownBody.js b/src/components/views/messages/UnknownBody.js new file mode 100644 index 0000000000..6c00921b45 --- /dev/null +++ b/src/components/views/messages/UnknownBody.js @@ -0,0 +1,27 @@ +/* +Copyright 2015, 2016 OpenMarket Ltd +Copyright 2020 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import React from "react"; + +export default ({mxEvent}) => { + const text = mxEvent.getContent().body; + return ( + + { text } + + ); +}; diff --git a/src/components/views/rooms/EventTile.js b/src/components/views/rooms/EventTile.js index a64fd82eb5..33ee8a0f63 100644 --- a/src/components/views/rooms/EventTile.js +++ b/src/components/views/rooms/EventTile.js @@ -670,7 +670,6 @@ export default createReactClass({ mx_EventTile_unknown: !isBubbleMessage && this.state.verified === E2E_STATE.UNKNOWN, mx_EventTile_bad: isEncryptionFailure, mx_EventTile_emote: msgtype === 'm.emote', - mx_EventTile_redacted: isRedacted, }); let permalink = "#"; From 3e3196ca4c51a010d629a26a3960c088c379e174 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Fri, 8 May 2020 19:58:06 +0000 Subject: [PATCH 062/203] Translated using Weblate (German) Currently translated at 90.7% (2088 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 275 +++++++++++++++++++++++++++++++++++- 1 file changed, 270 insertions(+), 5 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 99f58d865a..5afc04771b 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -467,8 +467,8 @@ "Leave %(groupName)s?": "%(groupName)s verlassen?", "Add a Room": "Raum hinzufügen", "Add a User": "Benutzer hinzufügen", - "Light theme": "Helles Thema", - "Dark theme": "Dunkles Thema", + "Light theme": "Helles Design", + "Dark theme": "Dunkles Design", "You have entered an invalid address.": "Du hast eine ungültige Adresse eingegeben.", "Matrix ID": "Matrix-ID", "Unignore": "Ignorieren aufheben", @@ -964,7 +964,7 @@ "Incompatible Database": "Inkompatible Datenbanken", "Continue With Encryption Disabled": "Mit deaktivierter Verschlüsselung fortfahren", "Enter a passphrase...": "Passphrase eingeben...", - "Next": "Nächstes", + "Next": "Weiter", "That matches!": "Das passt!", "That doesn't match.": "Das passt nicht.", "Go back to set it again.": "Gehe zurück und setze es erneut.", @@ -1502,7 +1502,7 @@ "Verify": "Verifizieren", "Decline (%(counter)s)": "Zurückweisen (%(counter)s)", "not found": "nicht gefunden", - "rooms.": "Räume.", + "rooms.": "Räumen zu speichern.", "Manage": "Verwalten", "Securely cache encrypted messages locally for them to appear in search results.": "Speichere verschlüsselte Nachrichten sicher lokal zwischen, sodass sie in Suchergebnissen erscheinen können.", "Enable": "Aktivieren", @@ -1891,5 +1891,270 @@ "View older messages in %(roomName)s.": "Zeige alte Nachrichten in %(roomName)s.", "Send a bug report with logs": "Sende Fehlermeldung mit Protokoll", "Verify all your sessions to ensure your account & messages are safe": "Verifiziere alle deine Sitzungen, um dein Konto und deine Nachrichten zu schützen", - "Verify your other session using one of the options below.": "Verifiziere deine andere Sitzung mit einer der folgenden Optionen." + "Verify your other session using one of the options below.": "Verifiziere deine andere Sitzung mit einer der folgenden Optionen.", + "You signed in to a new session without verifying it:": "Du hast dich in einer neuen Sitzung angemeldet ohne sie zu verifizieren:", + "Other users may not trust it": "Andere Benutzer vertrauen ihr vielleicht nicht", + "Update your secure storage": "Aktualisiere deinen sicheren Speicher", + "Upgrade": "Hochstufen", + "Verify the new login accessing your account: %(name)s": "Verifiziere die neue Anmeldung an deinem Konto: %(name)s", + "From %(deviceName)s (%(deviceId)s)": "Von %(deviceName)s (%(deviceId)s)", + "Your homeserver does not support cross-signing.": "Dein Heimserver unterstützt cross-signing nicht.", + "Cross-signing and secret storage are enabled.": "Cross-signing und der sichere Speicher wurden eingerichtet.", + "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Dein Konto hat eine cross-signing Identität im sicheren Speicher aber diese Sitzung wird noch nicht vertraut.", + "Cross-signing and secret storage are not yet set up.": "Cross-signing und der sichere Speicher wurden noch nicht eingerichtet.", + "Reset cross-signing and secret storage": "Setze cross-signing und den sicheren Speicher zurück", + "Bootstrap cross-signing and secret storage": "Richte cross-signing und den sicheren Speicher ein", + "unexpected type": "unbekannter Typ", + "Cross-signing public keys:": "Öffentliche Cross-signing Schlüssel:", + "in memory": "im Speicher", + "Cross-signing private keys:": "Private Cross-signing Schlüssel:", + "in secret storage": "im sicheren Speicher", + "Self signing private key:": "Selbst signierter privater Schlüssel:", + "cached locally": "lokal zwischengespeichert", + "not found locally": "lokal nicht gefunden", + "User signing private key:": "Privater Benutzer-Schlüssel:", + "Session backup key:": "Sitzungswiederherstellungsschlüssel:", + "Secret storage public key:": "Öffentlicher Schlüssel des sicheren Speichers:", + "in account data": "in den Kontodaten", + "Homeserver feature support:": "Heimserverunterstützung:", + "exists": "existiert", + "Secret Storage key format:": "Sicherer Speicher Schlüssel Format:", + "outdated": "abgelaufen", + "up to date": "aktuell", + "Delete sessions|other": "Lösche Sitzungen", + "Delete sessions|one": "Lösche Sitzung", + "Individually verify each session used by a user to mark it as trusted, not trusting cross-signed devices.": "Sitzungen eines Benutzers einzeln verifizieren. Geräten, die ein Benutzer als vertrauenswürdig markiert hat, wird nicht automatisch vertraut (cross-signing).", + "Securely cache encrypted messages locally for them to appear in search results, using ": "Der Zwischenspeicher für die lokale Suche in verschlüsselten Nachrichten benötigt ", + " to store messages from ": " um Nachrichten aus ", + "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "Riot benötigt weitere Komponenten um verschlüsselte Nachrichten lokal zu durchsuchen. Wenn du diese Funktion testen möchtest kannst du dir deine eigene Version von Riot Desktop mit der integrierten Suchfunktion bauen.", + "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "Riot kann verschlüsselte Nachrichten nicht lokal durchsuchen während es im Browser läuft. Verwende Riot Desktop damit verschlüsselte Nachrichten mit der Suchfunktion gefunden werden.", + "Backup has a valid signature from this user": "Die Sicherung hat eine gültige Signatur dieses Benutzers", + "Backup has a invalid signature from this user": "Die Sicherung hat eine ungültige Signatur dieses Benutzers", + "Backup has a valid signature from verified session ": "Die Sicherung hat eine gültige Signatur von einer verifizierten Sitzung ", + "Backup has a valid signature from unverified session ": "Die Sicherung hat eine gültige Signatur von einer nicht verifizierten Sitzung ", + "Backup has an invalid signature from verified session ": "Die Sicherung hat eine ungültige Signatur von einer verifizierten Sitzung ", + "Backup has an invalid signature from unverified session ": "Die Sicherung hat eine ungültige Signatur von einer nicht verifizierten Sitzung ", + "Your keys are not being backed up from this session.": "Deine Schlüssel werden nicht von dieser Sitzung gesichert.", + "You are currently using to discover and be discoverable by existing contacts you know. You can change your identity server below.": "Du verwendest aktuell um andere Benutzer zu finden und gefunden zu werden. Du kannst deinen Identitätsserver unten ändern.", + "Invalid theme schema.": "Ungültiges Design Schema.", + "Error downloading theme information.": "Fehler beim herunterladen des Themas.", + "Theme added!": "Design hinzugefügt!", + "Custom theme URL": "URL des benutzerdefinierten Designs", + "Add theme": "Design hinzufügen", + "Keyboard Shortcuts": "Tastaturkürzel", + "Where you’re logged in": "Wo du dich angemeldet hast", + "Manage the names of and sign out of your sessions below or verify them in your User Profile.": "Benenne deine Sitzungen, melde dich aus den Sitzungen ab oder verifiziere sie in deinen Benutzereinstellungen.", + "Error changing power level requirement": "Fehler beim Ändern der Anforderungen für Benutzerrechte", + "Error changing power level": "Fehler beim Ändern der Benutzerrechte", + "Your email address hasn't been verified yet": "Deine E-Mail Adresse wurde noch nicht verifiziert", + "Verify the link in your inbox": "Verifiziere den Link in deinem Nachrichteneingang", + "Complete": "Fertig", + "Revoke": "Zurückziehen", + "Share": "Teilen", + "You have not verified this user.": "Du hast diesen Benutzer nicht verifiziert.", + "Everyone in this room is verified": "Jeder in diesem Raum ist verifiziert", + "Mod": "Mod", + "Invite only": "Nur auf Einladung", + "Scroll to most recent messages": "Springe zur neusten Nachricht", + "No recent messages by %(user)s found": "Keine neuen Nachrichten von %(user)s gefunden", + "Try scrolling up in the timeline to see if there are any earlier ones.": "Versuche nach oben zu scrollen um zu sehen ob sich dort frühere Nachrichten befinden.", + "For a large amount of messages, this might take some time. Please don't refresh your client in the meantime.": "Dies kann bei vielen Nachrichten einige Zeit dauern. Bitte lade die Anwendung in dieser Zeit nicht neu.", + "Deactivate user?": "Benutzer deaktivieren?", + "Deactivating this user will log them out and prevent them from logging back in. Additionally, they will leave all the rooms they are in. This action cannot be reversed. Are you sure you want to deactivate this user?": "Beim Deaktivieren wird der Benutzer abgemeldet und ein erneutes Anmelden verhindert. Zusätzlich wird er aus allen Räumen entfernt. Diese Aktion kann nicht rückgängig gemacht werden. Bist du sicher dass du diesen Benutzer deaktivieren willst?", + "Deactivate user": "Benutzer deaktivieren", + "Failed to deactivate user": "Deaktivieren des Benutzers fehlgeschlagen", + "Send a reply…": "Sende eine Antwort…", + "Send a message…": "Sende eine Nachricht…", + "Bold": "Fett", + "Italics": "Kursiv", + "Strikethrough": "Durchgestrichen", + "Code block": "Quelltext", + "Recent rooms": "Letzte Räume", + "Loading …": "Lade …", + "Join the conversation with an account": "Tritt der Unterhaltung mit einem Konto bei", + "You were kicked from %(roomName)s by %(memberName)s": "Du wurdest von %(memberName)s aus %(roomName)s entfernt", + "Re-join": "Wieder beitreten", + "You were banned from %(roomName)s by %(memberName)s": "Du wurdest von %(memberName)s aus %(roomName)s verbannt", + "Something went wrong with your invite to %(roomName)s": "Bei deiner Einladung zu %(roomName)s ist ein Fehler aufgetreten", + "An error (%(errcode)s) was returned while trying to validate your invite. You could try to pass this information on to a room admin.": "Während der Verifizierung deiner Einladung ist ein Fehler (%(errcode)s) aufgetreten. Du kannst diese Information einem Raum-Administrator weitergeben.", + "You can only join it with a working invite.": "Du kannst nur mit einer gültigen Einladung beitreten.", + "Try to join anyway": "Versuche trotzdem beizutreten", + "You can still join it because this is a public room.": "Du kannst trotzdem beitreten da dies ein öffentlicher Raum ist.", + "This invite to %(roomName)s was sent to %(email)s which is not associated with your account": "Diese Einladung zu %(roomName)s wurde an die Adresse %(email)s gesendet, die nicht zu deinem Konto gehört", + "Link this email with your account in Settings to receive invites directly in Riot.": "Verbinde diese E-Mail-Adresse in den Einstellungen mit deinem Konto um die Einladungen direkt in Riot zu erhalten.", + "This invite to %(roomName)s was sent to %(email)s": "Diese Einladung zu %(roomName)s wurde an %(email)s gesendet", + "Use an identity server in Settings to receive invites directly in Riot.": "Verknüpfe einen Identitätsserver in den Einstellungen um die Einladungen direkt in Riot zu erhalten.", + "Share this email in Settings to receive invites directly in Riot.": "Teile diese E-Mail-Adresse in den Einstellungen um Einladungen direkt in Riot zu erhalten.", + "%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s kann keine Vorschau erzeugt werden. Möchtest du den Raum betreten?", + "This room doesn't exist. Are you sure you're at the right place?": "Dieser Raum existiert nicht. Bist du sicher dass du hier richtig bist?", + "Try again later, or ask a room admin to check if you have access.": "Versuche es später erneut oder bitte einen Raum-Administrator deine Zutrittsrechte zu überprüfen.", + "%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please submit a bug report.": "Beim Betreten des Raums ist ein Fehler aufgetreten %(errcode)s. Wenn du denkst dass diese Meldung nicht korrekt ist sende bitte einen Fehlerbericht.", + "%(count)s unread messages including mentions.|other": "%(count)s ungelesene Nachrichten, inklusive Erwähnungen.", + "%(count)s unread messages including mentions.|one": "1 ungelesene Erwähnung.", + "%(count)s unread messages.|other": "%(count)s ungelesene Nachrichten.", + "%(count)s unread messages.|one": "1 ungelesene Nachricht.", + "Unread mentions.": "Ungelesene Erwähnungen.", + "Unread messages.": "Ungelesene Nachrichten.", + "This room has already been upgraded.": "Dieser Raum wurde bereits hochgestuft.", + "This room is running room version , which this homeserver has marked as unstable.": "Dieser Raum läuft mit der Raumversion , welcher dieser Heimserver als instabil markiert hat.", + "Unknown Command": "Unbekannter Befehl", + "Unrecognised command: %(commandText)s": "Unbekannter Befehl: %(commandText)s", + "Hint: Begin your message with // to start it with a slash.": "Hinweis: Beginne deine Nachricht mit // um sie mit einem Querstrich zu beginnen.", + "Send as message": "Als Nachricht senden", + "Failed to connect to integration manager": "Fehler beim Verbinden mit dem Integrationsserver", + "Could not revoke the invite. The server may be experiencing a temporary problem or you do not have sufficient permissions to revoke the invite.": "Konnte die Einladung nicht zurückziehen. Der Server hat ein vorübergehendes Problem oder du besitzt nicht die nötigen Rechte um die Einladung zurückzuziehen.", + "Mark all as read": "Alle als gelesen markieren", + "You don't have permission to delete the alias.": "Du hast nicht die nötigen Rechte um den Alias zu löschen.", + "Local address": "Lokale Adresse", + "Published Addresses": "Öffentliche Adresse", + "Published addresses can be used by anyone on any server to join your room. To publish an address, it needs to be set as a local address first.": "Öffentliche Adressen können von jedem verwendet werden um den Raum zu betreten. Um eine Adresse zu veröffentlichen musst du zunächst eine lokale Adresse anlegen.", + "Other published addresses:": "Andere öffentliche Adressen:", + "No other published addresses yet, add one below": "Keine anderen öffentlichen Adressen vorhanden, füge unten eine hinzu", + "New published address (e.g. #alias:server)": "Neue öffentliche Adresse (z.B. #alias:server)", + "Local Addresses": "Lokale Adressen", + "Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)": "Erstelle Adressen für diesen Raum, damit andere Benutzer den Raum auf deinem Heimserver (%(localDomain)s) finden können", + "Waiting for you to accept on your other session…": "Warte auf die Bestätigung in deiner anderen Sitzung…", + "Waiting for %(displayName)s to accept…": "Warte auf die Annahme von %(displayName)s …", + "Accepting…": "Annehmen…", + "Start Verification": "Starte Verifikation", + "Messages in this room are end-to-end encrypted.": "Nachrichten in diesem Raum sind Ende-zu-Ende verschlüsselt.", + "Your messages are secured and only you and the recipient have the unique keys to unlock them.": "Diese Nachrichten sind verschlüsselt und nur du und der Empfänger habt die Schlüssel um sie zu entschlüsseln.", + "In encrypted rooms, your messages are secured and only you and the recipient have the unique keys to unlock them.": "In verschlüsselten Räumen sind deine Nachrichten verschlüsselt und nur du und der Empfänger habt die Schlüssel um sie zu entschlüsseln.", + "Verify User": "Benutzer verifizieren", + "For extra security, verify this user by checking a one-time code on both of your devices.": "Verifiziere den Benutzer, durch Vergleichen eines Einmal-Codes auf euren beiden Geräten, um die Sicherheit zu erhöhen.", + "Your messages are not secure": "Deine Nachrichten sind nicht sicher", + "One of the following may be compromised:": "Eines der folgenden könnte kompromittiert sein:", + "Your homeserver": "Dein Heimserver", + "The homeserver the user you’re verifying is connected to": "Der Heimserver an dem der zu verifizierende Benutzer angemeldet ist", + "Yours, or the other users’ internet connection": "Deine Internetverbindung oder die des anderen Benutzers", + "Yours, or the other users’ session": "Deine Sitzung oder die des anderen Benutzers", + "%(role)s in %(roomName)s": "%(role)s in %(roomName)s", + "This client does not support end-to-end encryption.": "Diese Anwendung unterstützt keine Ende-zu-Ende-Verschlüsselung.", + "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.": "Die Sitzung, die du verifizieren möchtest, unterstützt weder das Scannen eines QR Codes noch die Emoji Verifikation. Bitte versuche es mit einer anderen Anwendung.", + "Verify by scanning": "Mit Scannen eines QR Codes verifizieren", + "If you can't scan the code above, verify by comparing unique emoji.": "Wenn du den obenstehenden Code nicht scannen kannst versuche es mit der Emoji Verifikation.", + "Verify all users in a room to ensure it's secure.": "Verifiziere alle Benutzer in einem Raum um die vollständige Sicherheit zu gewährleisten.", + "In encrypted rooms, verify all users to ensure it’s secure.": "Verifiziere alle Benutzer in verschlüsselten Räumen um die vollständige Sicherheit zu gewährleisten.", + "You've successfully verified %(deviceName)s (%(deviceId)s)!": "Du hast %(deviceName)s (%(deviceId)s) erfolgreich verifiziert!", + "Verified": "Verifiziert", + "Start verification again from the notification.": "Starte die Verifikation aus der Benachrichtigung erneut.", + "Start verification again from their profile.": "Starte die Verifikation aus dem Benutzerprofil erneut.", + "Verification timed out.": "Verifikationsanfrage abgelaufen.", + "You cancelled verification on your other session.": "Du hast die Verifikationsanfrage in der anderen Sitzung abgelehnt.", + "%(displayName)s cancelled verification.": "%(displayName)s hat die Verifikationsanfrage abgelehnt.", + "You cancelled verification.": "Du hast die Verifikation abgebrochen.", + "Verification cancelled": "Verifikation abgebrochen", + "Compare emoji": "Vergleiche Emojis", + "Message Actions": "Nachrichten Aktionen", + "Show image": "Zeige Bild", + "You have ignored this user, so their message is hidden. Show anyways.": "Du ignorierst diesen Benutzer, deshalb werden seine Nachrichten nicht angezeigt. Trotzdem anzeigen.", + "You accepted": "Du hast angenommen", + "You declined": "Du hast abgelehnt", + "You cancelled": "Du hast abgebrochen", + "Accepting …": "Annehmen …", + "Declining …": "Ablehnen …", + "You sent a verification request": "Du hast eine Verifikationsanfrage gesendet", + "Show all": "Alle zeigen", + "Reactions": "Reaktionen", + " reacted with %(content)s": " hat mit %(content)s reagiert", + "reacted with %(shortName)s": "hat mit %(shortName)s reagiert", + "Message deleted": "Nachricht gelöscht", + "Message deleted by %(name)s": "Nachricht von %(name)s gelöscht", + "Edited at %(date)s. Click to view edits.": "Am %(date)s geändert. Klicke um Änderungen anzuzeigen.", + "Can't load this message": "Kann diese Nachricht nicht laden", + "Submit logs": "Logs übermitteln", + "Frequently Used": "Häufig verwendet", + "Smileys & People": "Smileys & Leute", + "Animals & Nature": "Tiere & Natur", + "Food & Drink": "Essen & Trinken", + "Activities": "Aktivitäten", + "Travel & Places": "Reisen & Orte", + "Objects": "Objekte", + "Symbols": "Symbole", + "Flags": "Flaggen", + "Quick Reactions": "Praktische Reaktionen", + "Cancel search": "Suche abbrechen", + "Any of the following data may be shared:": "Die folgenden Daten können geteilt werden:", + "Your avatar URL": "Deine Avatar URL", + "Your user ID": "Deine Benutzer ID", + "Your theme": "Dein Design", + "Riot URL": "Riot URL", + "Room ID": "Raum ID", + "Widget ID": "Widget ID", + "Using this widget may share data with %(widgetDomain)s & your Integration Manager.": "Wenn du dieses Widget verwendest können Daten zu %(widgetDomain)s und deinem Integrationsserver übertragen werden.", + "Using this widget may share data with %(widgetDomain)s.": "Wenn du dieses Widget verwendest können Daten zu %(widgetDomain)s übertragen werden.", + "Widgets do not use message encryption.": "Widgets verschlüsseln deine Nachrichten nicht.", + "Please create a new issue on GitHub so that we can investigate this bug.": "Bitte erstelle ein neues Issue auf GitHub damit wir diesen Fehler untersuchen können.", + "Rotate Left": "Nach links drehen", + "Rotate counter-clockwise": "Gegen den Uhrzeigersinn drehen", + "Rotate Right": "Nach rechts drehen", + "Rotate clockwise": "Im Uhrzeigersinn drehen", + "Language Dropdown": "Sprachauswahl", + "%(severalUsers)smade no changes %(count)s times|one": "%(severalUsers)shaben keine Änderung vorgenommen", + "%(oneUser)smade no changes %(count)s times|other": "%(oneUser)shat %(count)s mal keine Änderung vorgenommen", + "%(oneUser)smade no changes %(count)s times|one": "%(oneUser)shat keine Änderung vorgenommen", + "Room alias": "Raum Alias", + "Some characters not allowed": "Manche Zeichen sind nicht erlaubt", + "Please provide a room alias": "Bitte lege einen Raum Alias an", + "This alias is available to use": "Dieser Alias kann verwendet werden", + "This alias is already in use": "Dieser Alias wird bereits verwendet", + "Enter a server name": "Gibt einen Servernamen ein", + "Looks good": "Das sieht gut aus", + "Can't find this server or its room list": "Kann diesen Server oder seine Raumliste nicht finden", + "All rooms": "Alle Räume", + "Your server": "Dein Server", + "Are you sure you want to remove %(serverName)s": "Bist du sicher dass du %(serverName)s entfernen möchtest", + "Remove server": "Server entfernen", + "Matrix": "Matrix", + "Add a new server": "Einen Server hinzufügen", + "Enter the name of a new server you want to explore.": "Gib den Namen des Servers an den du erforschen möchtest.", + "Server name": "Servername", + "Add a new server...": "Füge einen Server hinzu...", + "%(networkName)s rooms": "%(networkName)s Räume", + "Matrix rooms": "Matrix Räume", + "Close dialog": "Dialog schließen", + "Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Bitte teile uns mit was schiefgelaufen ist oder erstelle ein Github Issue und beschreibe das Problem.", + "Reminder: Your browser is unsupported, so your experience may be unpredictable.": "Warnung: Dein Browser wird nicht unterstützt. Die Anwendung kann instabil sein.", + "Notes": "Notizen", + "If there is additional context that would help in analysing the issue, such as what you were doing at the time, room IDs, user IDs, etc., please include those things here.": "Wenn du mehr Informationen hast die uns bei Untersuchung des Problems helfen (z.B. was du gerade getan hast, Raum IDs, Benutzer IDs, etc.) gib sie bitte hier an.", + "Removing…": "Löschen…", + "Destroy cross-signing keys?": "Cross-signing Schlüssel löschen?", + "Clear cross-signing keys": "Entferne Cross-signing Schlüssel", + "Enable end-to-end encryption": "Ende-zu-Ende Verschlüsselung aktivieren", + "You can’t disable this later. Bridges & most bots won’t work yet.": "Du kannst dies später nicht mehr ändern. Bridges und die meisten Bots werden nicht funktionieren.", + "Server did not require any authentication": "Der Server benötigt keine Authentifizierung", + "Server did not return valid authentication information.": "Der Server lieferte keine gültigen Authentifizierungsinformationen.", + "Are you sure you want to deactivate your account? This is irreversible.": "Bist du sicher dass du dein Konto deaktivieren möchtest? Dies kann nicht rückgängig gemacht werden.", + "There was a problem communicating with the server. Please try again.": "Bei der Kommunikation mit dem Server ist ein Fehler aufgetreten. Bitte versuche es erneut.", + "View Servers in Room": "Zeige Server im Raum", + "Verification Requests": "Verifikationsanfragen", + "Integrations are disabled": "Integrationen sind deaktiviert", + "Integrations not allowed": "Integrationen sind nicht erlaubt", + "Failed to invite the following users to chat: %(csvUsers)s": "Fehler beim Einladen der folgenden Benutzer: %(csvUsers)s", + "Something went wrong trying to invite the users.": "Beim Einladen der Benutzer ist ein Fehler aufgetreten.", + "Failed to find the following users": "Kann die folgenden Benutzer nicht finden", + "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Die folgenden Benutzer konnten nicht eingeladen werden, da sie nicht existieren oder ungültig sind: %(csvNames)s", + "You added a new session '%(displayName)s', which is requesting encryption keys.": "Du hast eine neue Sitzung '%(displayName)s' hinzugefügt, die deine Verschlüsselungsschlüssel anfordert.", + "Your unverified session '%(displayName)s' is requesting encryption keys.": "Deine nicht verifizierte Sitzung '%(displayName)s' fordert deine Verschlüsselungsschlüssel an.", + "Loading session info...": "Lade Sitzungsinformationen...", + "a new master key signature": "Eine neue Hauptschlüssel Signatur", + "a new cross-signing key signature": "Eine neue cross-signing Schlüssel Signatur", + "a device cross-signing signature": "Eine Geräte Schlüssel Signatur", + "a key signature": "Eine Schlüssel Signatur", + "Your password": "Dein Passwort", + "This session, or the other session": "Diese oder die andere Sitzung", + "Alt Gr": "Alt Gr", + "Shift": "Umschalt", + "Super": "Windows/Apple", + "Ctrl": "Strg", + "Toggle Bold": "Fett", + "Toggle Italics": "Kursiv", + "Toggle Quote": "Zitat", + "New line": "Neue Zeile", + "Page Up": "Bild hoch", + "Page Down": "Bild runter", + "Esc": "Esc", + "Enter": "Enter", + "Space": "Leertaste", + "End": "Ende" } From ea11016c4657535863c563f23d05691e22b62204 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 19:41:39 +0000 Subject: [PATCH 063/203] Translated using Weblate (German) Currently translated at 90.7% (2088 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 5afc04771b..d11a1d4768 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2156,5 +2156,10 @@ "Esc": "Esc", "Enter": "Enter", "Space": "Leertaste", - "End": "Ende" + "End": "Ende", + "Enable 'Manage Integrations' in Settings to do this.": "Aktiviere hierzu in den Einstellungen \"Integrationen verwalten\".", + "The internet connection either session is using": "Die Internetverbindung, die eine der beiden Sitzung verwendet", + "We recommend you change your password and recovery key in Settings immediately": "Wir empfehlen, dein Passwort und deine Wiederherstellungsschlüssel sofort in den Einstellungen zu ändern", + "New session": "Neue Sitzung", + "Use this session to verify your new one, granting it access to encrypted messages:": "Verwende diese Sitzung, um deine neue zu verifizieren und ihr Zugriff auf verschlüsselte Nachrichten zu gewähren:" } From 7b1a3e72105d9415746afd93d3d8d67f4c574376 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 19:54:54 +0000 Subject: [PATCH 064/203] Translated using Weblate (German) Currently translated at 90.8% (2091 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index d11a1d4768..c74294e324 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2161,5 +2161,5 @@ "The internet connection either session is using": "Die Internetverbindung, die eine der beiden Sitzung verwendet", "We recommend you change your password and recovery key in Settings immediately": "Wir empfehlen, dein Passwort und deine Wiederherstellungsschlüssel sofort in den Einstellungen zu ändern", "New session": "Neue Sitzung", - "Use this session to verify your new one, granting it access to encrypted messages:": "Verwende diese Sitzung, um deine neue zu verifizieren und ihr Zugriff auf verschlüsselte Nachrichten zu gewähren:" + "Use this session to verify your new one, granting it access to encrypted messages:": "Verwende diese Sitzung, um deine neue Sitzung zu verifizieren und ihr Zugriff auf verschlüsselte Nachrichten zu gewähren:" } From c12105ca7f0c6f0338dcfd839e8b3f696812d029 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 19:55:08 +0000 Subject: [PATCH 065/203] Translated using Weblate (German) Currently translated at 90.8% (2091 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index c74294e324..e18601e83c 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2161,5 +2161,8 @@ "The internet connection either session is using": "Die Internetverbindung, die eine der beiden Sitzung verwendet", "We recommend you change your password and recovery key in Settings immediately": "Wir empfehlen, dein Passwort und deine Wiederherstellungsschlüssel sofort in den Einstellungen zu ändern", "New session": "Neue Sitzung", - "Use this session to verify your new one, granting it access to encrypted messages:": "Verwende diese Sitzung, um deine neue Sitzung zu verifizieren und ihr Zugriff auf verschlüsselte Nachrichten zu gewähren:" + "Use this session to verify your new one, granting it access to encrypted messages:": "Verwende diese Sitzung, um deine neue Sitzung zu verifizieren und ihr Zugriff auf verschlüsselte Nachrichten zu gewähren:", + "If you didn’t sign in to this session, your account may be compromised.": "Wenn du dich nicht bei dieser Sitzung angemeldet hast, ist dein Konto möglicherweise gefährdet.", + "This wasn't me": "Das war ich nicht", + "Please fill why you're reporting.": "Bitte gib an, weshalb du Bericht erstattest." } From 59aeb6e9460d76da8cae92bf3e4cd608c980a733 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 19:56:30 +0000 Subject: [PATCH 066/203] Translated using Weblate (German) Currently translated at 91.0% (2095 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index e18601e83c..dca994c2ac 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2164,5 +2164,8 @@ "Use this session to verify your new one, granting it access to encrypted messages:": "Verwende diese Sitzung, um deine neue Sitzung zu verifizieren und ihr Zugriff auf verschlüsselte Nachrichten zu gewähren:", "If you didn’t sign in to this session, your account may be compromised.": "Wenn du dich nicht bei dieser Sitzung angemeldet hast, ist dein Konto möglicherweise gefährdet.", "This wasn't me": "Das war ich nicht", - "Please fill why you're reporting.": "Bitte gib an, weshalb du Bericht erstattest." + "Please fill why you're reporting.": "Bitte gib an, weshalb du einen Fehler meldest.", + "Automatically invite users": "Benutzer automatisch einladen", + "Upgrade private room": "Privaten Raum hochstufen", + "Upgrade public room": "Öffentlichen Raum hochstufen" } From 7b1d23ea3e5724342ef51fe987fa525fc8f00b93 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 19:58:32 +0000 Subject: [PATCH 067/203] Translated using Weblate (German) Currently translated at 91.0% (2095 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index dca994c2ac..0ef49fc08d 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2167,5 +2167,6 @@ "Please fill why you're reporting.": "Bitte gib an, weshalb du einen Fehler meldest.", "Automatically invite users": "Benutzer automatisch einladen", "Upgrade private room": "Privaten Raum hochstufen", - "Upgrade public room": "Öffentlichen Raum hochstufen" + "Upgrade public room": "Öffentlichen Raum hochstufen", + "This usually only affects how the room is processed on the server. If you're having problems with your Riot, please report a bug.": "Dies wirkt sich normalerweise nur darauf aus, wie der Raum auf dem Server verarbeitet wird. Wenn du Probleme mit deinem Riot hast, bitte melde einen Bug." } From c3a5ad89445f294c109d04fccdd404c76fc1733d Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 19:58:45 +0000 Subject: [PATCH 068/203] Translated using Weblate (German) Currently translated at 91.2% (2100 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 0ef49fc08d..9d17baab3a 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2168,5 +2168,5 @@ "Automatically invite users": "Benutzer automatisch einladen", "Upgrade private room": "Privaten Raum hochstufen", "Upgrade public room": "Öffentlichen Raum hochstufen", - "This usually only affects how the room is processed on the server. If you're having problems with your Riot, please report a bug.": "Dies wirkt sich normalerweise nur darauf aus, wie der Raum auf dem Server verarbeitet wird. Wenn du Probleme mit deinem Riot hast, bitte melde einen Bug." + "This usually only affects how the room is processed on the server. If you're having problems with your Riot, please report a bug.": "Dies wirkt sich normalerweise nur darauf aus, wie der Raum auf dem Server verarbeitet wird. Wenn du Probleme mit deinem Riot hast, melde bitte einen Bug." } From b809be11c02c1a74a2718dbfabca77181d7b0117 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 19:59:02 +0000 Subject: [PATCH 069/203] Translated using Weblate (German) Currently translated at 91.2% (2100 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 9d17baab3a..f0f943bb92 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2168,5 +2168,10 @@ "Automatically invite users": "Benutzer automatisch einladen", "Upgrade private room": "Privaten Raum hochstufen", "Upgrade public room": "Öffentlichen Raum hochstufen", - "This usually only affects how the room is processed on the server. If you're having problems with your Riot, please report a bug.": "Dies wirkt sich normalerweise nur darauf aus, wie der Raum auf dem Server verarbeitet wird. Wenn du Probleme mit deinem Riot hast, melde bitte einen Bug." + "This usually only affects how the room is processed on the server. If you're having problems with your Riot, please report a bug.": "Dies wirkt sich normalerweise nur darauf aus, wie der Raum auf dem Server verarbeitet wird. Wenn du Probleme mit deinem Riot hast, melde bitte einen Bug.", + "You'll upgrade this room from to .": "Du wirst diesen Raum von zu aktualisieren.", + "Missing session data": "Fehlende Sitzungsdaten", + "Your browser likely removed this data when running low on disk space.": "Dein Browser hat diese Daten wahrscheinlich entfernt als der Festplattenspeicher knapp wurde.", + "Integration Manager": " Integrationsverwaltung", + "Find others by phone or email": "Finde andere per Telefon oder E-Mail" } From f7b68667a0e56237eea9d37e8df1226ee6aae965 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 20:00:18 +0000 Subject: [PATCH 070/203] Translated using Weblate (German) Currently translated at 91.3% (2103 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index f0f943bb92..a49be9e13f 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2173,5 +2173,5 @@ "Missing session data": "Fehlende Sitzungsdaten", "Your browser likely removed this data when running low on disk space.": "Dein Browser hat diese Daten wahrscheinlich entfernt als der Festplattenspeicher knapp wurde.", "Integration Manager": " Integrationsverwaltung", - "Find others by phone or email": "Finde andere per Telefon oder E-Mail" + "Find others by phone or email": "Finde Andere per Telefon oder E-Mail" } From d17e30f448ab4f095f7ee2afae053e2675669455 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 20:00:28 +0000 Subject: [PATCH 071/203] Translated using Weblate (German) Currently translated at 91.3% (2103 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index a49be9e13f..7ac3a9495e 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2173,5 +2173,8 @@ "Missing session data": "Fehlende Sitzungsdaten", "Your browser likely removed this data when running low on disk space.": "Dein Browser hat diese Daten wahrscheinlich entfernt als der Festplattenspeicher knapp wurde.", "Integration Manager": " Integrationsverwaltung", - "Find others by phone or email": "Finde Andere per Telefon oder E-Mail" + "Find others by phone or email": "Finde Andere per Telefon oder E-Mail", + "Be found by phone or email": "Sei per Telefon oder E-Mail auffindbar", + "Upload files (%(current)s of %(total)s)": "Dateien hochladen (%(current)s von %(total)s)", + "This file is too large to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": " Die Datei ist zu groß, um hochgeladen zu werden. Das Dateigrößenmaximum ist %(limit)s, aber diese Datei ist %(sizeOfThisFile)s." } From a262540dbf1a526e9cf1821815a8e698d18c10b1 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 20:01:55 +0000 Subject: [PATCH 072/203] Translated using Weblate (German) Currently translated at 91.4% (2104 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 7ac3a9495e..0549bf36a5 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2176,5 +2176,5 @@ "Find others by phone or email": "Finde Andere per Telefon oder E-Mail", "Be found by phone or email": "Sei per Telefon oder E-Mail auffindbar", "Upload files (%(current)s of %(total)s)": "Dateien hochladen (%(current)s von %(total)s)", - "This file is too large to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": " Die Datei ist zu groß, um hochgeladen zu werden. Das Dateigrößenmaximum ist %(limit)s, aber diese Datei ist %(sizeOfThisFile)s." + "This file is too large to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "Die Datei ist zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s, aber diese Datei ist %(sizeOfThisFile)s groß." } From ec5273646ae8bf2f2e65d5421b022fff79dc8ca9 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 20:02:05 +0000 Subject: [PATCH 073/203] Translated using Weblate (German) Currently translated at 91.4% (2104 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 0549bf36a5..aa7122c124 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2176,5 +2176,6 @@ "Find others by phone or email": "Finde Andere per Telefon oder E-Mail", "Be found by phone or email": "Sei per Telefon oder E-Mail auffindbar", "Upload files (%(current)s of %(total)s)": "Dateien hochladen (%(current)s von %(total)s)", - "This file is too large to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "Die Datei ist zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s, aber diese Datei ist %(sizeOfThisFile)s groß." + "This file is too large to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "Die Datei ist zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s, aber diese Datei ist %(sizeOfThisFile)s groß.", + "These files are too large to upload. The file size limit is %(limit)s.": "Die Datei ist zu groß, um hochgeladen zu werden. Das Dateigrößenlimit ist %(limit)s." } From 5bc3cc557b6c7f632d67c34a29c6dde58d777278 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 20:02:26 +0000 Subject: [PATCH 074/203] Translated using Weblate (German) Currently translated at 91.4% (2105 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index aa7122c124..6bbe4b2ad1 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2177,5 +2177,5 @@ "Be found by phone or email": "Sei per Telefon oder E-Mail auffindbar", "Upload files (%(current)s of %(total)s)": "Dateien hochladen (%(current)s von %(total)s)", "This file is too large to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "Die Datei ist zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s, aber diese Datei ist %(sizeOfThisFile)s groß.", - "These files are too large to upload. The file size limit is %(limit)s.": "Die Datei ist zu groß, um hochgeladen zu werden. Das Dateigrößenlimit ist %(limit)s." + "These files are too large to upload. The file size limit is %(limit)s.": "Die Datei ist zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s." } From dfbc8e80c14c8515d87479a1c0cac7e309bc2d4d Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 20:02:32 +0000 Subject: [PATCH 075/203] Translated using Weblate (German) Currently translated at 91.4% (2105 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 6bbe4b2ad1..4124f627e7 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2177,5 +2177,6 @@ "Be found by phone or email": "Sei per Telefon oder E-Mail auffindbar", "Upload files (%(current)s of %(total)s)": "Dateien hochladen (%(current)s von %(total)s)", "This file is too large to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "Die Datei ist zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s, aber diese Datei ist %(sizeOfThisFile)s groß.", - "These files are too large to upload. The file size limit is %(limit)s.": "Die Datei ist zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s." + "These files are too large to upload. The file size limit is %(limit)s.": "Die Datei ist zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s.", + "Some files are too large to be uploaded. The file size limit is %(limit)s.": "Einige Dateien sind zu groß, um hochgeladen zu werden. Das Dateigrößenlimit ist %(limit)s." } From b8f90ba186971ce6c7513e0f994a4fae95406134 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 20:02:51 +0000 Subject: [PATCH 076/203] Translated using Weblate (German) Currently translated at 91.7% (2111 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 4124f627e7..3920c99273 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2178,5 +2178,7 @@ "Upload files (%(current)s of %(total)s)": "Dateien hochladen (%(current)s von %(total)s)", "This file is too large to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "Die Datei ist zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s, aber diese Datei ist %(sizeOfThisFile)s groß.", "These files are too large to upload. The file size limit is %(limit)s.": "Die Datei ist zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s.", - "Some files are too large to be uploaded. The file size limit is %(limit)s.": "Einige Dateien sind zu groß, um hochgeladen zu werden. Das Dateigrößenlimit ist %(limit)s." + "Some files are too large to be uploaded. The file size limit is %(limit)s.": "Einige Dateien sind zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s.", + "Verify other session": "Andere Sitzung verifizieren", + "Verification Request": "Verifikationsanfrage" } From f75d0dbcf13cbf71d14f2df8da1a11cbbbaefdc3 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 20:02:59 +0000 Subject: [PATCH 077/203] Translated using Weblate (German) Currently translated at 91.7% (2111 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 3920c99273..23a7843913 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2180,5 +2180,9 @@ "These files are too large to upload. The file size limit is %(limit)s.": "Die Datei ist zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s.", "Some files are too large to be uploaded. The file size limit is %(limit)s.": "Einige Dateien sind zu groß, um hochgeladen zu werden. Die maximale Dateigröße ist %(limit)s.", "Verify other session": "Andere Sitzung verifizieren", - "Verification Request": "Verifikationsanfrage" + "Verification Request": "Verifikationsanfrage", + "Upload %(count)s other files|other": "%(count)s andere Dateien hochladen", + "Upload %(count)s other files|one": "%(count)s andere Datei hochladen", + "A widget would like to verify your identity": "Ein Widget möchte deine Identität verifizieren", + "Remember my selection for this widget": "Erinnere meine Auswahl für dieses Widget" } From 36934b4e410b333a4004e3dfbf8e7f7f249a78ee Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 20:04:18 +0000 Subject: [PATCH 078/203] Translated using Weblate (German) Currently translated at 92.4% (2128 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 23a7843913..94a8a5c751 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2184,5 +2184,14 @@ "Upload %(count)s other files|other": "%(count)s andere Dateien hochladen", "Upload %(count)s other files|one": "%(count)s andere Datei hochladen", "A widget would like to verify your identity": "Ein Widget möchte deine Identität verifizieren", - "Remember my selection for this widget": "Erinnere meine Auswahl für dieses Widget" + "Remember my selection for this widget": "Speichere meine Auswahl für dieses Widget", + "Restoring keys from backup": "Schlüssel aus der Sicherung wiederherstellen", + "Fetching keys from server...": "Lade Schlüssel vom Server...", + "%(completed)s of %(total)s keys restored": "%(completed)s von %(total)s Schlüsseln wiederhergestellt", + "Keys restored": "Schlüssel wiederhergestellt", + "Successfully restored %(sessionCount)s keys": "%(sessionCount)s Schlüssel erfolgreich wiederhergestellt", + "Reload": "Neu laden", + "Take picture": "Foto machen", + "User Status": "Benutzerstatus", + "Country Dropdown": "Landauswahl" } From d8a343d675c183afdefb24e851f7c9eb3b3c02fe Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 20:04:56 +0000 Subject: [PATCH 079/203] Translated using Weblate (German) Currently translated at 92.4% (2128 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 94a8a5c751..2edc28f9be 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2193,5 +2193,13 @@ "Reload": "Neu laden", "Take picture": "Foto machen", "User Status": "Benutzerstatus", - "Country Dropdown": "Landauswahl" + "Country Dropdown": "Landauswahl", + "If you've forgotten your recovery key you can .": "Wenn du deinen Wiederherstellungsschlüssel vergessen hast, kannst du .", + "Recovery key mismatch": "Nicht übereinstimmende Wiederherstellungsschlüssel", + "Incorrect recovery passphrase": "Falsche Wiederherstellungspassphrase", + "If you've forgotten your recovery key you can ": "Wenn du deine Wiederherstellungsschlüssel vergessen hast, kannst du ", + "Resend edit": "Bearbeitung erneut senden", + "Resend %(unsentCount)s reaction(s)": "%(unsentCount)s Reaktion(en) erneut senden", + "Resend removal": "Entfernen erneut senden", + "Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Fehlender öffentlicher Captcha-Schlüssel in der Heimserver-Konfiguration. Bitte melde dies deiner Heimserver-Administration." } From 6dff315489106f52a6130681177b5318ffff161b Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 20:10:27 +0000 Subject: [PATCH 080/203] Translated using Weblate (German) Currently translated at 92.6% (2132 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 2edc28f9be..f21f1f3cac 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2201,5 +2201,5 @@ "Resend edit": "Bearbeitung erneut senden", "Resend %(unsentCount)s reaction(s)": "%(unsentCount)s Reaktion(en) erneut senden", "Resend removal": "Entfernen erneut senden", - "Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Fehlender öffentlicher Captcha-Schlüssel in der Heimserver-Konfiguration. Bitte melde dies deiner Heimserver-Administration." + "Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Fehlender öffentlicher Captcha-Schlüssel in der Heimserver-Konfiguration. Bitte melde dies deinem Heimserver-Administrator." } From cf3a22e33ef23b340f6050a99e40312c9cfd08b7 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 20:10:53 +0000 Subject: [PATCH 081/203] Translated using Weblate (German) Currently translated at 92.6% (2132 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index f21f1f3cac..919c95224f 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2201,5 +2201,9 @@ "Resend edit": "Bearbeitung erneut senden", "Resend %(unsentCount)s reaction(s)": "%(unsentCount)s Reaktion(en) erneut senden", "Resend removal": "Entfernen erneut senden", - "Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Fehlender öffentlicher Captcha-Schlüssel in der Heimserver-Konfiguration. Bitte melde dies deinem Heimserver-Administrator." + "Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Fehlender öffentlicher Captcha-Schlüssel in der Heimserver-Konfiguration. Bitte melde dies deinem Heimserver-Administrator.", + "No identity server is configured so you cannot add an email address in order to reset your password in the future.": "Da kein Identitätsserver konfiguriert ist, kannst du keine E-Mail-Adresse hinzufügen, um dein Kennwort in Zukunft zurückzusetzen.", + "Use an email address to recover your account": "Verwende eine E-Mail-Adresse, um dein Konto wiederherzustellen", + "Enter email address (required on this homeserver)": "E-Mail-Adresse eingeben (auf diesem Heimserver erforderlich)", + "Doesn't look like a valid email address": "Sieht nicht nach einer gültigen E-Mail-Adresse aus" } From db7702c808b612681b5b0ad2c8390472ec584519 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 20:11:41 +0000 Subject: [PATCH 082/203] Translated using Weblate (German) Currently translated at 92.7% (2134 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 919c95224f..164aff2469 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2205,5 +2205,5 @@ "No identity server is configured so you cannot add an email address in order to reset your password in the future.": "Da kein Identitätsserver konfiguriert ist, kannst du keine E-Mail-Adresse hinzufügen, um dein Kennwort in Zukunft zurückzusetzen.", "Use an email address to recover your account": "Verwende eine E-Mail-Adresse, um dein Konto wiederherzustellen", "Enter email address (required on this homeserver)": "E-Mail-Adresse eingeben (auf diesem Heimserver erforderlich)", - "Doesn't look like a valid email address": "Sieht nicht nach einer gültigen E-Mail-Adresse aus" + "Doesn't look like a valid email address": "Das sieht nicht nach einer gültigen E-Mail-Adresse aus" } From 8a07e80ead24a0f4497cc70935c5de24c5d08303 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 20:12:01 +0000 Subject: [PATCH 083/203] Translated using Weblate (German) Currently translated at 92.7% (2134 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 164aff2469..577d49f2c8 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2205,5 +2205,7 @@ "No identity server is configured so you cannot add an email address in order to reset your password in the future.": "Da kein Identitätsserver konfiguriert ist, kannst du keine E-Mail-Adresse hinzufügen, um dein Kennwort in Zukunft zurückzusetzen.", "Use an email address to recover your account": "Verwende eine E-Mail-Adresse, um dein Konto wiederherzustellen", "Enter email address (required on this homeserver)": "E-Mail-Adresse eingeben (auf diesem Heimserver erforderlich)", - "Doesn't look like a valid email address": "Das sieht nicht nach einer gültigen E-Mail-Adresse aus" + "Doesn't look like a valid email address": "Das sieht nicht nach einer gültigen E-Mail-Adresse aus", + "Enter phone number (required on this homeserver)": "Telefonnummer eingeben (auf diesem Heimserver erforderlich)", + "Doesn't look like a valid phone number": "Sieht nicht nach einer gültigen Telefonnummer aus" } From 37471e451d88ffb349af5a7f98bc2dcfdcdad144 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 20:12:16 +0000 Subject: [PATCH 084/203] Translated using Weblate (German) Currently translated at 93.0% (2141 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 577d49f2c8..ff26afa4f3 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2207,5 +2207,9 @@ "Enter email address (required on this homeserver)": "E-Mail-Adresse eingeben (auf diesem Heimserver erforderlich)", "Doesn't look like a valid email address": "Das sieht nicht nach einer gültigen E-Mail-Adresse aus", "Enter phone number (required on this homeserver)": "Telefonnummer eingeben (auf diesem Heimserver erforderlich)", - "Doesn't look like a valid phone number": "Sieht nicht nach einer gültigen Telefonnummer aus" + "Doesn't look like a valid phone number": "Das sieht nicht nach einer gültigen Telefonnummer aus", + "Sign in with SSO": "Mit Single-Sign-On anmelden", + "Welcome to %(appName)s": "Willkommen bei %(appName)s", + "Send a Direct Message": "Sende eine Direktnachricht", + "Create a Group Chat": "Erstelle einen Gruppenchat" } From 4dd26105fd9b56c84ef7d88e0234a553fce5558a Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 20:12:24 +0000 Subject: [PATCH 085/203] Translated using Weblate (German) Currently translated at 93.0% (2141 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index ff26afa4f3..b9c4b15d7a 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2211,5 +2211,8 @@ "Sign in with SSO": "Mit Single-Sign-On anmelden", "Welcome to %(appName)s": "Willkommen bei %(appName)s", "Send a Direct Message": "Sende eine Direktnachricht", - "Create a Group Chat": "Erstelle einen Gruppenchat" + "Create a Group Chat": "Erstelle einen Gruppenchat", + "Use lowercase letters, numbers, dashes and underscores only": "Verwende nur Kleinbuchstaben, Zahlen, Bindestriche und Unterstriche", + "Enter your custom identity server URL What does this mean?": "URL deines benutzerdefinierten Identitätsservers eingeben Was bedeutet das?", + "Riot failed to get the public room list.": "Riot konnte die Liste der öffentlichen Räume nicht erhalten." } From adeafc4d739560ad5df17be61e70128ed3a93161 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 20:14:56 +0000 Subject: [PATCH 086/203] Translated using Weblate (German) Currently translated at 93.7% (2158 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index b9c4b15d7a..ead2d5403c 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2214,5 +2214,8 @@ "Create a Group Chat": "Erstelle einen Gruppenchat", "Use lowercase letters, numbers, dashes and underscores only": "Verwende nur Kleinbuchstaben, Zahlen, Bindestriche und Unterstriche", "Enter your custom identity server URL What does this mean?": "URL deines benutzerdefinierten Identitätsservers eingeben Was bedeutet das?", - "Riot failed to get the public room list.": "Riot konnte die Liste der öffentlichen Räume nicht erhalten." + "Riot failed to get the public room list.": "Riot konnte die Liste der öffentlichen Räume nicht laden.", + "Verify this login": "Diese Anmeldung verifizieren", + "Syncing...": "Synchronisiere...", + "Signing In...": "Melde an..." } From cfc1e345f1ba9437fc735a7bbe2fe8301fefe89e Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 20:15:04 +0000 Subject: [PATCH 087/203] Translated using Weblate (German) Currently translated at 93.7% (2158 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index ead2d5403c..c3d65f0b29 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2217,5 +2217,19 @@ "Riot failed to get the public room list.": "Riot konnte die Liste der öffentlichen Räume nicht laden.", "Verify this login": "Diese Anmeldung verifizieren", "Syncing...": "Synchronisiere...", - "Signing In...": "Melde an..." + "Signing In...": "Melde an...", + "The homeserver may be unavailable or overloaded.": "Der Heimserver ist möglicherweise nicht verfügbar oder überlastet.", + "Jump to first unread room.": "Zum ersten ungelesenen Raum springen.", + "Jump to first invite.": "Zur ersten Einladung springen.", + "You have %(count)s unread notifications in a prior version of this room.|other": "Du hast %(count)s ungelesene Benachrichtigungen in einer früheren Version dieses Raums.", + " (1/%(totalCount)s)": " (1/%(totalCount)s)", + "Session verified": "Sitzung verifiziert", + "Failed to get autodiscovery configuration from server": "Abrufen der Autodiscovery-Konfiguration vom Server fehlgeschlagen", + "Invalid base_url for m.homeserver": "Ungültige base_url für m.homeserver", + "Homeserver URL does not appear to be a valid Matrix homeserver": "Die Heimserver-URL scheint kein gültiger Matrix-Heimserver zu sein", + "Invalid base_url for m.identity_server": "Ungültige base_url für m.identity_server", + "Identity server URL does not appear to be a valid identity server": "Die Identitätsserver-URL scheint kein gültiger Identitätsserver zu sein", + "This account has been deactivated.": "Dieses Konto wurde deaktiviert.", + "Continue with previous account": "Mit vorherigen Konto fortfahren", + "Log in to your new account.": "Bei deinem neuen Konto anmelden." } From 1985935d55a3226d45a381c074d59dd9ab947809 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 20:18:52 +0000 Subject: [PATCH 088/203] Translated using Weblate (German) Currently translated at 93.7% (2159 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index c3d65f0b29..c71db08aa4 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2231,5 +2231,5 @@ "Identity server URL does not appear to be a valid identity server": "Die Identitätsserver-URL scheint kein gültiger Identitätsserver zu sein", "This account has been deactivated.": "Dieses Konto wurde deaktiviert.", "Continue with previous account": "Mit vorherigen Konto fortfahren", - "Log in to your new account.": "Bei deinem neuen Konto anmelden." + "Log in to your new account.": "Mit deinem neuen Konto anmelden." } From 19b0e60f7d95d31c93a5b9f52cf0cbf76ed9f237 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 20:19:07 +0000 Subject: [PATCH 089/203] Translated using Weblate (German) Currently translated at 93.7% (2159 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index c71db08aa4..85d3464728 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2231,5 +2231,6 @@ "Identity server URL does not appear to be a valid identity server": "Die Identitätsserver-URL scheint kein gültiger Identitätsserver zu sein", "This account has been deactivated.": "Dieses Konto wurde deaktiviert.", "Continue with previous account": "Mit vorherigen Konto fortfahren", - "Log in to your new account.": "Mit deinem neuen Konto anmelden." + "Log in to your new account.": "Mit deinem neuen Konto anmelden.", + "You can now close this window or log in to your new account.": "Du kannst dieses Fenster jetzt schließen oder dich bei deinem neuen Konto anmelden." } From 4282a396b0f095176b9edb586ae5905e4eb6e2da Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 20:19:20 +0000 Subject: [PATCH 090/203] Translated using Weblate (German) Currently translated at 93.8% (2160 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 85d3464728..ee30d62e30 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2232,5 +2232,5 @@ "This account has been deactivated.": "Dieses Konto wurde deaktiviert.", "Continue with previous account": "Mit vorherigen Konto fortfahren", "Log in to your new account.": "Mit deinem neuen Konto anmelden.", - "You can now close this window or log in to your new account.": "Du kannst dieses Fenster jetzt schließen oder dich bei deinem neuen Konto anmelden." + "You can now close this window or log in to your new account.": "Du kannst dieses Fenster jetzt schließen oder dich mit deinem neuen Konto anmelden." } From 93ece4b76a3c3fa5c7dcfb054d4205d73a88d26d Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 20:19:47 +0000 Subject: [PATCH 091/203] Translated using Weblate (German) Currently translated at 93.8% (2160 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index ee30d62e30..19fe9d8b57 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2232,5 +2232,6 @@ "This account has been deactivated.": "Dieses Konto wurde deaktiviert.", "Continue with previous account": "Mit vorherigen Konto fortfahren", "Log in to your new account.": "Mit deinem neuen Konto anmelden.", - "You can now close this window or log in to your new account.": "Du kannst dieses Fenster jetzt schließen oder dich mit deinem neuen Konto anmelden." + "You can now close this window or log in to your new account.": "Du kannst dieses Fenster jetzt schließen oder dich mit deinem neuen Konto anmelden.", + "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Deine neue Sitzung ist nun verifiziert. Sie hat Zugriff auf deine verschlüsselten Nachrichten, und andere Nutzer!nnen sehen sie als vertrauenswürdig an." } From 0ebc87d391c76c4d124aac01015bff4e7e7808f2 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 20:20:01 +0000 Subject: [PATCH 092/203] Translated using Weblate (German) Currently translated at 93.8% (2161 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 19fe9d8b57..98bb643ad6 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2233,5 +2233,5 @@ "Continue with previous account": "Mit vorherigen Konto fortfahren", "Log in to your new account.": "Mit deinem neuen Konto anmelden.", "You can now close this window or log in to your new account.": "Du kannst dieses Fenster jetzt schließen oder dich mit deinem neuen Konto anmelden.", - "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Deine neue Sitzung ist nun verifiziert. Sie hat Zugriff auf deine verschlüsselten Nachrichten, und andere Nutzer!nnen sehen sie als vertrauenswürdig an." + "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Deine neue Sitzung ist nun verifiziert. Sie hat Zugriff auf deine verschlüsselten Nachrichten, und andere Benutzer sehen sie als vertrauenswürdig an." } From 4f5a335f6230db92f54ee14dab2d3263a0e74acf Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 20:20:08 +0000 Subject: [PATCH 093/203] Translated using Weblate (German) Currently translated at 93.8% (2161 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 98bb643ad6..3a7a63e043 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2233,5 +2233,6 @@ "Continue with previous account": "Mit vorherigen Konto fortfahren", "Log in to your new account.": "Mit deinem neuen Konto anmelden.", "You can now close this window or log in to your new account.": "Du kannst dieses Fenster jetzt schließen oder dich mit deinem neuen Konto anmelden.", - "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Deine neue Sitzung ist nun verifiziert. Sie hat Zugriff auf deine verschlüsselten Nachrichten, und andere Benutzer sehen sie als vertrauenswürdig an." + "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Deine neue Sitzung ist nun verifiziert. Sie hat Zugriff auf deine verschlüsselten Nachrichten, und andere Benutzer sehen sie als vertrauenswürdig an.", + "Your new session is now verified. Other users will see it as trusted.": "Deine neue Sitzung ist nun verifiziert. Andere Nutzer!nnen sehen sie als vertrauenswürdig an." } From 2f6275e0b6f9ba0aebea353b7d34d26b2807a46c Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 20:20:19 +0000 Subject: [PATCH 094/203] Translated using Weblate (German) Currently translated at 94.6% (2178 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 3a7a63e043..109f2b58d2 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2234,5 +2234,14 @@ "Log in to your new account.": "Mit deinem neuen Konto anmelden.", "You can now close this window or log in to your new account.": "Du kannst dieses Fenster jetzt schließen oder dich mit deinem neuen Konto anmelden.", "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Deine neue Sitzung ist nun verifiziert. Sie hat Zugriff auf deine verschlüsselten Nachrichten, und andere Benutzer sehen sie als vertrauenswürdig an.", - "Your new session is now verified. Other users will see it as trusted.": "Deine neue Sitzung ist nun verifiziert. Andere Nutzer!nnen sehen sie als vertrauenswürdig an." + "Your new session is now verified. Other users will see it as trusted.": "Deine neue Sitzung ist nun verifiziert. Andere Benutzer sehen sie als vertrauenswürdig an.", + "well formed": "wohlgeformt", + "If you don't want to use to discover and be discoverable by existing contacts you know, enter another identity server below.": "Wenn du nicht verwenden willst um andere Benutzer zu finden und gefunden zu werden, trage unten einen anderen Identitätsserver ein.", + "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "Wenn du einen sicherheitsrelevaten Fehler melden möchtest, lies bitte die Matrix.org Security Disclosure Policy.", + "An error occurred changing the room's power level requirements. Ensure you have sufficient permissions and try again.": "Beim Ändern der Anforderungen für Benutzerrechte ist ein Fehler aufgetreten. Stelle sicher dass du die nötigen Berechtigungen besitzt und versuche es erneut.", + "An error occurred changing the user's power level. Ensure you have sufficient permissions and try again.": "Beim Ändern der Benutzerrechte ist ein Fehler aufgetreten. Stelle sicher dass du die nötigen Berechtigungen besitzt und versuche es erneut.", + "Unable to share email address": "E-Mail Adresse konnte nicht geteilt werden", + "Please enter verification code sent via text.": "Gib den Verifikationscode ein, den du empfangen hast.", + "Almost there! Is your other session showing the same shield?": "Fast geschafft! Zeigt deine andere Sitzung die gleichen Zeichen?", + "Almost there! Is %(displayName)s showing the same shield?": "Fast geschafft! Werden bei %(displayName)s die gleichen Zeichen angezeigt?" } From 7f3d8194fdcba005ec7427ec57a898cb7c0befba Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:19:53 +0000 Subject: [PATCH 095/203] Translated using Weblate (German) Currently translated at 94.6% (2178 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 109f2b58d2..e64d6183bd 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -648,7 +648,7 @@ "%(duration)ss": "%(duration)ss", "%(duration)sm": "%(duration)sm", "%(duration)sh": "%(duration)sh", - "%(duration)sd": "%(duration)sd", + "%(duration)sd": "%(duration)sT", "Online for %(duration)s": "Online seit %(duration)s", "Idle for %(duration)s": "Untätig seit %(duration)s", "Offline for %(duration)s": "Offline seit %(duration)s", @@ -2243,5 +2243,10 @@ "Unable to share email address": "E-Mail Adresse konnte nicht geteilt werden", "Please enter verification code sent via text.": "Gib den Verifikationscode ein, den du empfangen hast.", "Almost there! Is your other session showing the same shield?": "Fast geschafft! Zeigt deine andere Sitzung die gleichen Zeichen?", - "Almost there! Is %(displayName)s showing the same shield?": "Fast geschafft! Werden bei %(displayName)s die gleichen Zeichen angezeigt?" + "Almost there! Is %(displayName)s showing the same shield?": "Fast geschafft! Werden bei %(displayName)s die gleichen Zeichen angezeigt?", + "Click the link in the email you received to verify and then click continue again.": "Klicke auf den Link in der Bestätigungs-E-Mail, und dann auf Weiter.", + "Unable to revoke sharing for phone number": "Widerrufen der geteilten Telefonnummer nicht möglich", + "Unable to share phone number": "Teilen der Telefonnummer nicht möglich", + "%(severalUsers)smade no changes %(count)s times|other": "%(severalUsers)s haben %(count)s mal nichts geändert", + "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Das Löschen von Cross-Signing-Schlüsseln ist dauerhaft. Jede/r, mit dem du dich verifiziert hast, sieht Sicherheitswarnungen. Du möchtest dies mit ziemlicher Sicherheit nicht tun, es sei denn, du hast jedes Gerät verloren, von dem aus du ein Cross-Signing durchführen kannst." } From 4881b9c7718efa641ef3d8e0b1674da016b22420 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:26:00 +0000 Subject: [PATCH 096/203] Translated using Weblate (German) Currently translated at 94.7% (2180 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index e64d6183bd..b7cd330764 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2248,5 +2248,5 @@ "Unable to revoke sharing for phone number": "Widerrufen der geteilten Telefonnummer nicht möglich", "Unable to share phone number": "Teilen der Telefonnummer nicht möglich", "%(severalUsers)smade no changes %(count)s times|other": "%(severalUsers)s haben %(count)s mal nichts geändert", - "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Das Löschen von Cross-Signing-Schlüsseln ist dauerhaft. Jede/r, mit dem du dich verifiziert hast, sieht Sicherheitswarnungen. Du möchtest dies mit ziemlicher Sicherheit nicht tun, es sei denn, du hast jedes Gerät verloren, von dem aus du ein Cross-Signing durchführen kannst." + "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Das Löschen von Cross-Signing-Schlüsseln ist dauerhaft. Jeder, mit dem du dich verifiziert hast, bekommt Sicherheitswarnungen angezeigt. Du möchtest dies mit ziemlicher Sicherheit nicht tun, es sei denn, du hast jedes Gerät verloren, von dem aus du ein Cross-Signing durchführen kannst." } From 4cf19f23b0d6bbc51af7c4d32f7df6866358d7e5 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:26:19 +0000 Subject: [PATCH 097/203] Translated using Weblate (German) Currently translated at 94.7% (2180 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index b7cd330764..36e9d3ff32 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2248,5 +2248,7 @@ "Unable to revoke sharing for phone number": "Widerrufen der geteilten Telefonnummer nicht möglich", "Unable to share phone number": "Teilen der Telefonnummer nicht möglich", "%(severalUsers)smade no changes %(count)s times|other": "%(severalUsers)s haben %(count)s mal nichts geändert", - "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Das Löschen von Cross-Signing-Schlüsseln ist dauerhaft. Jeder, mit dem du dich verifiziert hast, bekommt Sicherheitswarnungen angezeigt. Du möchtest dies mit ziemlicher Sicherheit nicht tun, es sei denn, du hast jedes Gerät verloren, von dem aus du ein Cross-Signing durchführen kannst." + "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Das Löschen von Cross-Signing-Schlüsseln ist dauerhaft. Jeder, mit dem du dich verifiziert hast, bekommt Sicherheitswarnungen angezeigt. Du möchtest dies mit ziemlicher Sicherheit nicht tun, es sei denn, du hast jedes Gerät verloren, von dem aus du ein Cross-Signing durchführen kannst.", + "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Das Löschen aller Daten aus dieser Sitzung ist dauerhaft. Verschlüsselte Nachrichten gehen verloren, sofern deine Schlüssel nicht gesichert wurden.", + "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Zum Überprüfen, ob dieser Sitzung vertraut werden kann, vergewissere dich, ob der in den Benutzereinstellungen auf diesem Gerät angezeigte Schlüssel mit dem folgenden übereinstimmt:" } From c601224966db5e0f3b0b6c66706a1fdd47957551 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:26:52 +0000 Subject: [PATCH 098/203] Translated using Weblate (German) Currently translated at 94.7% (2182 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 36e9d3ff32..d85d9b2e2e 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2250,5 +2250,6 @@ "%(severalUsers)smade no changes %(count)s times|other": "%(severalUsers)s haben %(count)s mal nichts geändert", "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Das Löschen von Cross-Signing-Schlüsseln ist dauerhaft. Jeder, mit dem du dich verifiziert hast, bekommt Sicherheitswarnungen angezeigt. Du möchtest dies mit ziemlicher Sicherheit nicht tun, es sei denn, du hast jedes Gerät verloren, von dem aus du ein Cross-Signing durchführen kannst.", "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Das Löschen aller Daten aus dieser Sitzung ist dauerhaft. Verschlüsselte Nachrichten gehen verloren, sofern deine Schlüssel nicht gesichert wurden.", - "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Zum Überprüfen, ob dieser Sitzung vertraut werden kann, vergewissere dich, ob der in den Benutzereinstellungen auf diesem Gerät angezeigte Schlüssel mit dem folgenden übereinstimmt:" + "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Um zu Überprüfen, ob dieser Sitzung vertraut werden kann, vergewissere dich, ob der in den Benutzereinstellungen auf diesem Gerät angezeigte Schlüssel mit dem folgenden übereinstimmt:", + "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Wenn du diesen Benutzer verifizierst werden seine Sitzungen für dich und deine Sitzungen für ihn als vertrauenswürdig markiert." } From 2f01ea095caf15d7994ba9faea3391350476df2c Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:28:32 +0000 Subject: [PATCH 099/203] Translated using Weblate (German) Currently translated at 94.7% (2182 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index d85d9b2e2e..712f2ed69d 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2251,5 +2251,6 @@ "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Das Löschen von Cross-Signing-Schlüsseln ist dauerhaft. Jeder, mit dem du dich verifiziert hast, bekommt Sicherheitswarnungen angezeigt. Du möchtest dies mit ziemlicher Sicherheit nicht tun, es sei denn, du hast jedes Gerät verloren, von dem aus du ein Cross-Signing durchführen kannst.", "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Das Löschen aller Daten aus dieser Sitzung ist dauerhaft. Verschlüsselte Nachrichten gehen verloren, sofern deine Schlüssel nicht gesichert wurden.", "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Um zu Überprüfen, ob dieser Sitzung vertraut werden kann, vergewissere dich, ob der in den Benutzereinstellungen auf diesem Gerät angezeigte Schlüssel mit dem folgenden übereinstimmt:", - "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Wenn du diesen Benutzer verifizierst werden seine Sitzungen für dich und deine Sitzungen für ihn als vertrauenswürdig markiert." + "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Wenn du diesen Benutzer verifizierst werden seine Sitzungen für dich und deine Sitzungen für ihn als vertrauenswürdig markiert.", + "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifizieren dieses Geräts, um es als vertrauenswürdig zu markieren. Das Vertrauen in dieses Gerät gibt dir und anderen Benutzern zusätzliche Sicherheit, wenn ihr Ende-zu-Ende verschlüsselte Nachrichten verwendet." } From 857d73193bd197c8bed5029492b158bd0c9fc123 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:28:53 +0000 Subject: [PATCH 100/203] Translated using Weblate (German) Currently translated at 94.8% (2183 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 712f2ed69d..884a1117a0 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2252,5 +2252,5 @@ "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Das Löschen aller Daten aus dieser Sitzung ist dauerhaft. Verschlüsselte Nachrichten gehen verloren, sofern deine Schlüssel nicht gesichert wurden.", "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Um zu Überprüfen, ob dieser Sitzung vertraut werden kann, vergewissere dich, ob der in den Benutzereinstellungen auf diesem Gerät angezeigte Schlüssel mit dem folgenden übereinstimmt:", "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Wenn du diesen Benutzer verifizierst werden seine Sitzungen für dich und deine Sitzungen für ihn als vertrauenswürdig markiert.", - "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifizieren dieses Geräts, um es als vertrauenswürdig zu markieren. Das Vertrauen in dieses Gerät gibt dir und anderen Benutzern zusätzliche Sicherheit, wenn ihr Ende-zu-Ende verschlüsselte Nachrichten verwendet." + "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifiziere dieses Gerät, um es als vertrauenswürdig zu markieren. Das Vertrauen in dieses Gerät gibt dir und anderen Benutzern zusätzliche Sicherheit, wenn ihr Ende-zu-Ende verschlüsselte Nachrichten verwendet." } From 7f11db782574f0639929980c89df797432018c36 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:29:12 +0000 Subject: [PATCH 101/203] Translated using Weblate (German) Currently translated at 94.8% (2183 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 884a1117a0..6ab28091f3 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2252,5 +2252,6 @@ "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Das Löschen aller Daten aus dieser Sitzung ist dauerhaft. Verschlüsselte Nachrichten gehen verloren, sofern deine Schlüssel nicht gesichert wurden.", "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Um zu Überprüfen, ob dieser Sitzung vertraut werden kann, vergewissere dich, ob der in den Benutzereinstellungen auf diesem Gerät angezeigte Schlüssel mit dem folgenden übereinstimmt:", "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Wenn du diesen Benutzer verifizierst werden seine Sitzungen für dich und deine Sitzungen für ihn als vertrauenswürdig markiert.", - "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifiziere dieses Gerät, um es als vertrauenswürdig zu markieren. Das Vertrauen in dieses Gerät gibt dir und anderen Benutzern zusätzliche Sicherheit, wenn ihr Ende-zu-Ende verschlüsselte Nachrichten verwendet." + "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifiziere dieses Gerät, um es als vertrauenswürdig zu markieren. Das Vertrauen in dieses Gerät gibt dir und anderen Benutzern zusätzliche Sicherheit, wenn ihr Ende-zu-Ende verschlüsselte Nachrichten verwendet.", + "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifizieren dieses Geräts, wird es als vertrauenswürdig markieren, und Nutzer!nnen, die sich bei dir verifiziert haben, vertrauen diesem Gerät." } From e6ac668042e927ed4ee6bdb24a8a00a66712dd99 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:30:22 +0000 Subject: [PATCH 102/203] Translated using Weblate (German) Currently translated at 94.8% (2184 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 6ab28091f3..350e479e4a 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2253,5 +2253,5 @@ "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Um zu Überprüfen, ob dieser Sitzung vertraut werden kann, vergewissere dich, ob der in den Benutzereinstellungen auf diesem Gerät angezeigte Schlüssel mit dem folgenden übereinstimmt:", "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Wenn du diesen Benutzer verifizierst werden seine Sitzungen für dich und deine Sitzungen für ihn als vertrauenswürdig markiert.", "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifiziere dieses Gerät, um es als vertrauenswürdig zu markieren. Das Vertrauen in dieses Gerät gibt dir und anderen Benutzern zusätzliche Sicherheit, wenn ihr Ende-zu-Ende verschlüsselte Nachrichten verwendet.", - "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifizieren dieses Geräts, wird es als vertrauenswürdig markieren, und Nutzer!nnen, die sich bei dir verifiziert haben, vertrauen diesem Gerät." + "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifiziere dieses Gerät und es wird es als vertrauenswürdig markiert. Benutzer, die sich bei dir verifiziert haben, werden diesem Gerät auch vertrauen." } From 0b74e6bd4edacf9be6bf2151da27d56ac94555e7 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:30:31 +0000 Subject: [PATCH 103/203] Translated using Weblate (German) Currently translated at 94.8% (2184 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 350e479e4a..e5aa015fe9 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2253,5 +2253,6 @@ "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Um zu Überprüfen, ob dieser Sitzung vertraut werden kann, vergewissere dich, ob der in den Benutzereinstellungen auf diesem Gerät angezeigte Schlüssel mit dem folgenden übereinstimmt:", "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Wenn du diesen Benutzer verifizierst werden seine Sitzungen für dich und deine Sitzungen für ihn als vertrauenswürdig markiert.", "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifiziere dieses Gerät, um es als vertrauenswürdig zu markieren. Das Vertrauen in dieses Gerät gibt dir und anderen Benutzern zusätzliche Sicherheit, wenn ihr Ende-zu-Ende verschlüsselte Nachrichten verwendet.", - "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifiziere dieses Gerät und es wird es als vertrauenswürdig markiert. Benutzer, die sich bei dir verifiziert haben, werden diesem Gerät auch vertrauen." + "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifiziere dieses Gerät und es wird es als vertrauenswürdig markiert. Benutzer, die sich bei dir verifiziert haben, werden diesem Gerät auch vertrauen.", + "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Dein Riot erlaubt dir nicht, einen Integration Manager zu verwenden, um dies zu tun. Bitte kontaktiere die Administration." } From 418386606498cad13bd9aea6b2f93732f885862a Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:31:31 +0000 Subject: [PATCH 104/203] Translated using Weblate (German) Currently translated at 94.9% (2185 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index e5aa015fe9..b9c9e19708 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2254,5 +2254,5 @@ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Wenn du diesen Benutzer verifizierst werden seine Sitzungen für dich und deine Sitzungen für ihn als vertrauenswürdig markiert.", "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifiziere dieses Gerät, um es als vertrauenswürdig zu markieren. Das Vertrauen in dieses Gerät gibt dir und anderen Benutzern zusätzliche Sicherheit, wenn ihr Ende-zu-Ende verschlüsselte Nachrichten verwendet.", "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifiziere dieses Gerät und es wird es als vertrauenswürdig markiert. Benutzer, die sich bei dir verifiziert haben, werden diesem Gerät auch vertrauen.", - "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Dein Riot erlaubt dir nicht, einen Integration Manager zu verwenden, um dies zu tun. Bitte kontaktiere die Administration." + "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Dein Riot erlaubt dir nicht, eine Integrationsverwaltung zu verwenden, um dies zu tun. Bitte kontaktiere einen Administrator." } From 44d59312ab964ec017a25a587afc273e4bd1c6b5 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:31:54 +0000 Subject: [PATCH 105/203] Translated using Weblate (German) Currently translated at 94.9% (2185 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index b9c9e19708..fbfd38a73d 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2254,5 +2254,6 @@ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Wenn du diesen Benutzer verifizierst werden seine Sitzungen für dich und deine Sitzungen für ihn als vertrauenswürdig markiert.", "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifiziere dieses Gerät, um es als vertrauenswürdig zu markieren. Das Vertrauen in dieses Gerät gibt dir und anderen Benutzern zusätzliche Sicherheit, wenn ihr Ende-zu-Ende verschlüsselte Nachrichten verwendet.", "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifiziere dieses Gerät und es wird es als vertrauenswürdig markiert. Benutzer, die sich bei dir verifiziert haben, werden diesem Gerät auch vertrauen.", - "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Dein Riot erlaubt dir nicht, eine Integrationsverwaltung zu verwenden, um dies zu tun. Bitte kontaktiere einen Administrator." + "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Dein Riot erlaubt dir nicht, eine Integrationsverwaltung zu verwenden, um dies zu tun. Bitte kontaktiere einen Administrator.", + "We couldn't create your DM. Please check the users you want to invite and try again.": "Wir konnten deine DM nicht erstellen. Bitte überprüfe die/den Nutzer!n, die du einladen möchtest, und versuche es erneut." } From b415f8b6c4274508b7df64c70b2343b28a09c560 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:32:31 +0000 Subject: [PATCH 106/203] Translated using Weblate (German) Currently translated at 94.9% (2186 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index fbfd38a73d..839631de7a 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2255,5 +2255,5 @@ "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifiziere dieses Gerät, um es als vertrauenswürdig zu markieren. Das Vertrauen in dieses Gerät gibt dir und anderen Benutzern zusätzliche Sicherheit, wenn ihr Ende-zu-Ende verschlüsselte Nachrichten verwendet.", "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifiziere dieses Gerät und es wird es als vertrauenswürdig markiert. Benutzer, die sich bei dir verifiziert haben, werden diesem Gerät auch vertrauen.", "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Dein Riot erlaubt dir nicht, eine Integrationsverwaltung zu verwenden, um dies zu tun. Bitte kontaktiere einen Administrator.", - "We couldn't create your DM. Please check the users you want to invite and try again.": "Wir konnten deine DM nicht erstellen. Bitte überprüfe die/den Nutzer!n, die du einladen möchtest, und versuche es erneut." + "We couldn't create your DM. Please check the users you want to invite and try again.": "Wir konnten deine Direktnachricht nicht erstellen. Bitte überprüfe den Benutzer, den du einladen möchtest, und versuche es erneut." } From c89e8666f624860923f550baf5d14c6ac9ab4c49 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:32:40 +0000 Subject: [PATCH 107/203] Translated using Weblate (German) Currently translated at 94.9% (2186 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 839631de7a..3615aa28a7 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2255,5 +2255,6 @@ "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifiziere dieses Gerät, um es als vertrauenswürdig zu markieren. Das Vertrauen in dieses Gerät gibt dir und anderen Benutzern zusätzliche Sicherheit, wenn ihr Ende-zu-Ende verschlüsselte Nachrichten verwendet.", "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifiziere dieses Gerät und es wird es als vertrauenswürdig markiert. Benutzer, die sich bei dir verifiziert haben, werden diesem Gerät auch vertrauen.", "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Dein Riot erlaubt dir nicht, eine Integrationsverwaltung zu verwenden, um dies zu tun. Bitte kontaktiere einen Administrator.", - "We couldn't create your DM. Please check the users you want to invite and try again.": "Wir konnten deine Direktnachricht nicht erstellen. Bitte überprüfe den Benutzer, den du einladen möchtest, und versuche es erneut." + "We couldn't create your DM. Please check the users you want to invite and try again.": "Wir konnten deine Direktnachricht nicht erstellen. Bitte überprüfe den Benutzer, den du einladen möchtest, und versuche es erneut.", + "We couldn't invite those users. Please check the users you want to invite and try again.": "Wir konnten diese Nutzer!nnen nicht einladen. Bitte überprüfe diese und versuche es erneut." } From 98e89f0468e206d5632511f7c2fa24c29f68e765 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:32:58 +0000 Subject: [PATCH 108/203] Translated using Weblate (German) Currently translated at 95.7% (2203 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 3615aa28a7..90ca70983f 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2256,5 +2256,16 @@ "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifiziere dieses Gerät und es wird es als vertrauenswürdig markiert. Benutzer, die sich bei dir verifiziert haben, werden diesem Gerät auch vertrauen.", "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Dein Riot erlaubt dir nicht, eine Integrationsverwaltung zu verwenden, um dies zu tun. Bitte kontaktiere einen Administrator.", "We couldn't create your DM. Please check the users you want to invite and try again.": "Wir konnten deine Direktnachricht nicht erstellen. Bitte überprüfe den Benutzer, den du einladen möchtest, und versuche es erneut.", - "We couldn't invite those users. Please check the users you want to invite and try again.": "Wir konnten diese Nutzer!nnen nicht einladen. Bitte überprüfe diese und versuche es erneut." + "We couldn't invite those users. Please check the users you want to invite and try again.": "Wir konnten diese Benutzer nicht einladen. Bitte überprüfe sie und versuche es erneut.", + "Start a conversation with someone using their name, username (like ) or email address.": "Starte eine Unterhaltung mit jemandem indem du seinen Namen, Benutzernamen (z.B. ) oder E-Mail-Adresse eingibst.", + "Invite someone using their name, username (like ), email address or share this room.": "Lade jemanden mit seinem Namen, Benutzernamen (z.B. ) oder E-Mail-Adresse ein oder teile diesen Raum.", + "Riot encountered an error during upload of:": "Es trat ein Fehler auf beim Hochladen von:", + "Upload completed": "Hochladen abgeschlossen", + "Cancelled signature upload": "Hochladen der Signatur abgebrochen", + "Unable to upload": "Hochladen nicht möglich", + "Signature upload success": "Signatur erfolgreich hochgeladen", + "Signature upload failed": "Hochladen der Signatur fehlgeschlagen", + "Confirm by comparing the following with the User Settings in your other session:": "Bestätige indem du das folgende mit deinen Benutzereinstellungen in deiner anderen Sitzung vergleichst:", + "Confirm this user's session by comparing the following with their User Settings:": "Bestätige die Sitzung dieses Benutzers indem du das folgende mit seinen Benutzereinstellungen vergleichst:", + "If they don't match, the security of your communication may be compromised.": "Wenn sie nicht übereinstimmen kann die Sicherheit eurer Kommunikation kompromittiert sein." } From be48f4d02d8ecd81a41f22704a21480ef2ce93a7 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:40:28 +0000 Subject: [PATCH 109/203] Translated using Weblate (German) Currently translated at 95.7% (2203 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 90ca70983f..ead1fa9ca6 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2267,5 +2267,10 @@ "Signature upload failed": "Hochladen der Signatur fehlgeschlagen", "Confirm by comparing the following with the User Settings in your other session:": "Bestätige indem du das folgende mit deinen Benutzereinstellungen in deiner anderen Sitzung vergleichst:", "Confirm this user's session by comparing the following with their User Settings:": "Bestätige die Sitzung dieses Benutzers indem du das folgende mit seinen Benutzereinstellungen vergleichst:", - "If they don't match, the security of your communication may be compromised.": "Wenn sie nicht übereinstimmen kann die Sicherheit eurer Kommunikation kompromittiert sein." + "If they don't match, the security of your communication may be compromised.": "Wenn sie nicht übereinstimmen kann die Sicherheit eurer Kommunikation kompromittiert sein.", + "Your homeserver doesn't seem to support this feature.": "Dein Heimserver scheint diese Funktion nicht zu unterstützen.", + "Message edits": "Nachrichtenänderungen", + "Your account is not secure": "Dein Konto ist nicht sicher", + "Upgrading this room requires closing down the current instance of the room and creating a new room in its place. To give room members the best possible experience, we will:": "Um diesen Raum zu aktualisieren, muss die aktuelle Instanz des Raums geschlossen und an ihrer Stelle ein neuer Raum erstellt werden. Um den Raummitgliedern die bestmögliche Erfahrung zu bieten, werden wir:", + "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Einen Raum zu aktualizieren ist eine fortgeschrittene Aktion und wird normalerweise empfohlen, wenn ein Raum aufgrund von Fehlern, fehlenden Funktionen oder Sicherheitslücken instabil ist." } From 8165e8a4729a689969cf8efd563d0929bcbd1b80 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:41:32 +0000 Subject: [PATCH 110/203] Translated using Weblate (German) Currently translated at 95.7% (2204 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index ead1fa9ca6..f838e9a370 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2272,5 +2272,5 @@ "Message edits": "Nachrichtenänderungen", "Your account is not secure": "Dein Konto ist nicht sicher", "Upgrading this room requires closing down the current instance of the room and creating a new room in its place. To give room members the best possible experience, we will:": "Um diesen Raum zu aktualisieren, muss die aktuelle Instanz des Raums geschlossen und an ihrer Stelle ein neuer Raum erstellt werden. Um den Raummitgliedern die bestmögliche Erfahrung zu bieten, werden wir:", - "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Einen Raum zu aktualizieren ist eine fortgeschrittene Aktion und wird normalerweise empfohlen, wenn ein Raum aufgrund von Fehlern, fehlenden Funktionen oder Sicherheitslücken instabil ist." + "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Einen Raum zu aktualisieren ist eine komplexe Aktion und wird normalerweise empfohlen, wenn ein Raum aufgrund von Fehlern, fehlenden Funktionen oder Sicherheitslücken instabil ist." } From 2f0bbc25ff3de8b803f87cb2938a509f4f772074 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:41:40 +0000 Subject: [PATCH 111/203] Translated using Weblate (German) Currently translated at 95.7% (2204 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index f838e9a370..04b78e85f9 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2272,5 +2272,6 @@ "Message edits": "Nachrichtenänderungen", "Your account is not secure": "Dein Konto ist nicht sicher", "Upgrading this room requires closing down the current instance of the room and creating a new room in its place. To give room members the best possible experience, we will:": "Um diesen Raum zu aktualisieren, muss die aktuelle Instanz des Raums geschlossen und an ihrer Stelle ein neuer Raum erstellt werden. Um den Raummitgliedern die bestmögliche Erfahrung zu bieten, werden wir:", - "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Einen Raum zu aktualisieren ist eine komplexe Aktion und wird normalerweise empfohlen, wenn ein Raum aufgrund von Fehlern, fehlenden Funktionen oder Sicherheitslücken instabil ist." + "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Einen Raum zu aktualisieren ist eine komplexe Aktion und wird normalerweise empfohlen, wenn ein Raum aufgrund von Fehlern, fehlenden Funktionen oder Sicherheitslücken instabil ist.", + "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Einige Sitzungsdaten, einschließlich Nachrichtenschlüssel, fehlen. Melde dich ab und wieder an, um dies zu beheben, und stelle die Schlüssel aus der Sicherung wieder her." } From 67ec31a7a2e86948b87d8fdd51dcf9a53193348f Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:42:59 +0000 Subject: [PATCH 112/203] Translated using Weblate (German) Currently translated at 95.7% (2205 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 04b78e85f9..75a0df5cd6 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2273,5 +2273,5 @@ "Your account is not secure": "Dein Konto ist nicht sicher", "Upgrading this room requires closing down the current instance of the room and creating a new room in its place. To give room members the best possible experience, we will:": "Um diesen Raum zu aktualisieren, muss die aktuelle Instanz des Raums geschlossen und an ihrer Stelle ein neuer Raum erstellt werden. Um den Raummitgliedern die bestmögliche Erfahrung zu bieten, werden wir:", "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Einen Raum zu aktualisieren ist eine komplexe Aktion und wird normalerweise empfohlen, wenn ein Raum aufgrund von Fehlern, fehlenden Funktionen oder Sicherheitslücken instabil ist.", - "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Einige Sitzungsdaten, einschließlich Nachrichtenschlüssel, fehlen. Melde dich ab und wieder an, um dies zu beheben, und stelle die Schlüssel aus der Sicherung wieder her." + "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Einige Sitzungsdaten, einschließlich der Verschlüsselungsschlüssel, fehlen. Melde dich ab, wieder an und stelle die Schlüssel aus der Sicherung wieder her um dies zu beheben." } From 6813b6f71df3104425ee95f5c35f8c20957e4618 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:43:08 +0000 Subject: [PATCH 113/203] Translated using Weblate (German) Currently translated at 95.7% (2205 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 75a0df5cd6..783e84d902 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2273,5 +2273,6 @@ "Your account is not secure": "Dein Konto ist nicht sicher", "Upgrading this room requires closing down the current instance of the room and creating a new room in its place. To give room members the best possible experience, we will:": "Um diesen Raum zu aktualisieren, muss die aktuelle Instanz des Raums geschlossen und an ihrer Stelle ein neuer Raum erstellt werden. Um den Raummitgliedern die bestmögliche Erfahrung zu bieten, werden wir:", "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Einen Raum zu aktualisieren ist eine komplexe Aktion und wird normalerweise empfohlen, wenn ein Raum aufgrund von Fehlern, fehlenden Funktionen oder Sicherheitslücken instabil ist.", - "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Einige Sitzungsdaten, einschließlich der Verschlüsselungsschlüssel, fehlen. Melde dich ab, wieder an und stelle die Schlüssel aus der Sicherung wieder her um dies zu beheben." + "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Einige Sitzungsdaten, einschließlich der Verschlüsselungsschlüssel, fehlen. Melde dich ab, wieder an und stelle die Schlüssel aus der Sicherung wieder her um dies zu beheben.", + "A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.": "Ein Widget unter %(widgetUrl)s findbar möchte deine Identität überprüfen. Wenn du dies zulässt, kann das Widget deine Nutzer-ID überprüfen, jedoch keine Aktionen wie du ausführen." } From a9ef4762cd48a83a83bff2409d3e92be6c21607c Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:43:30 +0000 Subject: [PATCH 114/203] Translated using Weblate (German) Currently translated at 95.8% (2207 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 783e84d902..593e905b33 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2274,5 +2274,6 @@ "Upgrading this room requires closing down the current instance of the room and creating a new room in its place. To give room members the best possible experience, we will:": "Um diesen Raum zu aktualisieren, muss die aktuelle Instanz des Raums geschlossen und an ihrer Stelle ein neuer Raum erstellt werden. Um den Raummitgliedern die bestmögliche Erfahrung zu bieten, werden wir:", "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Einen Raum zu aktualisieren ist eine komplexe Aktion und wird normalerweise empfohlen, wenn ein Raum aufgrund von Fehlern, fehlenden Funktionen oder Sicherheitslücken instabil ist.", "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Einige Sitzungsdaten, einschließlich der Verschlüsselungsschlüssel, fehlen. Melde dich ab, wieder an und stelle die Schlüssel aus der Sicherung wieder her um dies zu beheben.", - "A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.": "Ein Widget unter %(widgetUrl)s findbar möchte deine Identität überprüfen. Wenn du dies zulässt, kann das Widget deine Nutzer-ID überprüfen, jedoch keine Aktionen wie du ausführen." + "A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.": "Ein Widget unter %(widgetUrl)s möchte deine Identität überprüfen. Wenn du dies zulässt, kann das Widget deine Nutzer-ID überprüfen, jedoch keine Aktionen in deinem Namen ausführen.", + "Unable to access secret storage. Please verify that you entered the correct recovery passphrase.": "Der sichere Speicher konnte nicht geladen werden. Bitte stelle sicher dass du die richtige Wiederherstellungspassphrase eingegeben hast." } From a810708f7012ab3deb94ffb742dd0cefbf521e73 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:44:43 +0000 Subject: [PATCH 115/203] Translated using Weblate (German) Currently translated at 95.8% (2207 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 593e905b33..30b523b33e 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2275,5 +2275,6 @@ "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Einen Raum zu aktualisieren ist eine komplexe Aktion und wird normalerweise empfohlen, wenn ein Raum aufgrund von Fehlern, fehlenden Funktionen oder Sicherheitslücken instabil ist.", "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Einige Sitzungsdaten, einschließlich der Verschlüsselungsschlüssel, fehlen. Melde dich ab, wieder an und stelle die Schlüssel aus der Sicherung wieder her um dies zu beheben.", "A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.": "Ein Widget unter %(widgetUrl)s möchte deine Identität überprüfen. Wenn du dies zulässt, kann das Widget deine Nutzer-ID überprüfen, jedoch keine Aktionen in deinem Namen ausführen.", - "Unable to access secret storage. Please verify that you entered the correct recovery passphrase.": "Der sichere Speicher konnte nicht geladen werden. Bitte stelle sicher dass du die richtige Wiederherstellungspassphrase eingegeben hast." + "Unable to access secret storage. Please verify that you entered the correct recovery passphrase.": "Der sichere Speicher konnte nicht geladen werden. Bitte stelle sicher dass du die richtige Wiederherstellungspassphrase eingegeben hast.", + "Unable to access secret storage. Please verify that you entered the correct recovery key.": "Zugriff auf geheimen Speicher nicht möglich. Bitte überprüfe, ob du den richtigen Wiederherstellungsschlüssel eingegeben hast." } From a0b765d56845f532c6fff9e10cb336646a35414f Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:45:03 +0000 Subject: [PATCH 116/203] Translated using Weblate (German) Currently translated at 96.0% (2211 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 30b523b33e..5ef652761d 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2276,5 +2276,8 @@ "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Einige Sitzungsdaten, einschließlich der Verschlüsselungsschlüssel, fehlen. Melde dich ab, wieder an und stelle die Schlüssel aus der Sicherung wieder her um dies zu beheben.", "A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.": "Ein Widget unter %(widgetUrl)s möchte deine Identität überprüfen. Wenn du dies zulässt, kann das Widget deine Nutzer-ID überprüfen, jedoch keine Aktionen in deinem Namen ausführen.", "Unable to access secret storage. Please verify that you entered the correct recovery passphrase.": "Der sichere Speicher konnte nicht geladen werden. Bitte stelle sicher dass du die richtige Wiederherstellungspassphrase eingegeben hast.", - "Unable to access secret storage. Please verify that you entered the correct recovery key.": "Zugriff auf geheimen Speicher nicht möglich. Bitte überprüfe, ob du den richtigen Wiederherstellungsschlüssel eingegeben hast." + "Unable to access secret storage. Please verify that you entered the correct recovery key.": "Zugriff auf sicheren Speicher nicht möglich. Bitte überprüfe, ob du den richtigen Wiederherstellungsschlüssel eingegeben hast.", + "Backup could not be decrypted with this recovery key: please verify that you entered the correct recovery key.": "Die Sicherung konnte nicht mit dem angegebenen Wiederherstellungsschlüssel entschlüsselt werden: Bitte überprüfe ob du den richtigen Wiederherstellungsschlüssel eingegeben hast.", + "Backup could not be decrypted with this recovery passphrase: please verify that you entered the correct recovery passphrase.": "Die Sicherung konnte mit diesem Wiederherstellungsschlüssel nicht entschlüsselt werden: Bitte überprüfe ob du den richtigen Wiederherstellungspassphrase eingegeben hast.", + "Nice, strong password!": "Super, ein starkes Passwort!" } From c9d47eb2a80cc327cea13a211a78bee1fe622aef Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:48:24 +0000 Subject: [PATCH 117/203] Translated using Weblate (German) Currently translated at 96.0% (2211 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 5ef652761d..986200e41c 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2279,5 +2279,6 @@ "Unable to access secret storage. Please verify that you entered the correct recovery key.": "Zugriff auf sicheren Speicher nicht möglich. Bitte überprüfe, ob du den richtigen Wiederherstellungsschlüssel eingegeben hast.", "Backup could not be decrypted with this recovery key: please verify that you entered the correct recovery key.": "Die Sicherung konnte nicht mit dem angegebenen Wiederherstellungsschlüssel entschlüsselt werden: Bitte überprüfe ob du den richtigen Wiederherstellungsschlüssel eingegeben hast.", "Backup could not be decrypted with this recovery passphrase: please verify that you entered the correct recovery passphrase.": "Die Sicherung konnte mit diesem Wiederherstellungsschlüssel nicht entschlüsselt werden: Bitte überprüfe ob du den richtigen Wiederherstellungspassphrase eingegeben hast.", - "Nice, strong password!": "Super, ein starkes Passwort!" + "Nice, strong password!": "Super, ein starkes Passwort!", + "Other users can invite you to rooms using your contact details": "Andere Nutzer!nnen können dich mit deinen Kontaktdaten in Räume einladen" } From f90a72f64aacd11f03a44119a56b819717864973 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:48:33 +0000 Subject: [PATCH 118/203] Translated using Weblate (German) Currently translated at 96.0% (2212 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 986200e41c..1a7f3b1270 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2280,5 +2280,5 @@ "Backup could not be decrypted with this recovery key: please verify that you entered the correct recovery key.": "Die Sicherung konnte nicht mit dem angegebenen Wiederherstellungsschlüssel entschlüsselt werden: Bitte überprüfe ob du den richtigen Wiederherstellungsschlüssel eingegeben hast.", "Backup could not be decrypted with this recovery passphrase: please verify that you entered the correct recovery passphrase.": "Die Sicherung konnte mit diesem Wiederherstellungsschlüssel nicht entschlüsselt werden: Bitte überprüfe ob du den richtigen Wiederherstellungspassphrase eingegeben hast.", "Nice, strong password!": "Super, ein starkes Passwort!", - "Other users can invite you to rooms using your contact details": "Andere Nutzer!nnen können dich mit deinen Kontaktdaten in Räume einladen" + "Other users can invite you to rooms using your contact details": "Andere Benutzer können dich mit deinen Kontaktdaten in Räume einladen" } From aea17818e93abefcbeec382c1f197cd63f239b07 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:48:55 +0000 Subject: [PATCH 119/203] Translated using Weblate (German) Currently translated at 96.0% (2212 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 1a7f3b1270..0a4de52586 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2280,5 +2280,6 @@ "Backup could not be decrypted with this recovery key: please verify that you entered the correct recovery key.": "Die Sicherung konnte nicht mit dem angegebenen Wiederherstellungsschlüssel entschlüsselt werden: Bitte überprüfe ob du den richtigen Wiederherstellungsschlüssel eingegeben hast.", "Backup could not be decrypted with this recovery passphrase: please verify that you entered the correct recovery passphrase.": "Die Sicherung konnte mit diesem Wiederherstellungsschlüssel nicht entschlüsselt werden: Bitte überprüfe ob du den richtigen Wiederherstellungspassphrase eingegeben hast.", "Nice, strong password!": "Super, ein starkes Passwort!", - "Other users can invite you to rooms using your contact details": "Andere Benutzer können dich mit deinen Kontaktdaten in Räume einladen" + "Other users can invite you to rooms using your contact details": "Andere Benutzer können dich mit deinen Kontaktdaten in Räume einladen", + "Set an email for account recovery. Use email or phone to optionally be discoverable by existing contacts.": "Lege eine E-Mail für die Kontowiederherstellung fest. Verwende E-Mail oder Telefon, um optional von vorhandenen Kontakten gefunden zu werden." } From 902424a4d4b86b74e36b5ee96eebbb2c5f741103 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:49:30 +0000 Subject: [PATCH 120/203] Translated using Weblate (German) Currently translated at 96.3% (2217 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 0a4de52586..8620b31a8f 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2281,5 +2281,7 @@ "Backup could not be decrypted with this recovery passphrase: please verify that you entered the correct recovery passphrase.": "Die Sicherung konnte mit diesem Wiederherstellungsschlüssel nicht entschlüsselt werden: Bitte überprüfe ob du den richtigen Wiederherstellungspassphrase eingegeben hast.", "Nice, strong password!": "Super, ein starkes Passwort!", "Other users can invite you to rooms using your contact details": "Andere Benutzer können dich mit deinen Kontaktdaten in Räume einladen", - "Set an email for account recovery. Use email or phone to optionally be discoverable by existing contacts.": "Lege eine E-Mail für die Kontowiederherstellung fest. Verwende E-Mail oder Telefon, um optional von vorhandenen Kontakten gefunden zu werden." + "Set an email for account recovery. Use email or phone to optionally be discoverable by existing contacts.": "Lege eine E-Mail für die Kontowiederherstellung fest. Verwende optional E-Mail oder Telefon, um von Anderen gefunden zu werden.", + "Explore Public Rooms": "Erkunde öffentliche Räume", + "If you've joined lots of rooms, this might take a while": "Du bist einer Menge Räumen beigetreten, das kann eine Weile dauern" } From 5265d873198c228d64e455bfcfa69dd11a78f08e Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:50:07 +0000 Subject: [PATCH 121/203] Translated using Weblate (German) Currently translated at 96.3% (2217 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 8620b31a8f..c9c2d14548 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2283,5 +2283,8 @@ "Other users can invite you to rooms using your contact details": "Andere Benutzer können dich mit deinen Kontaktdaten in Räume einladen", "Set an email for account recovery. Use email or phone to optionally be discoverable by existing contacts.": "Lege eine E-Mail für die Kontowiederherstellung fest. Verwende optional E-Mail oder Telefon, um von Anderen gefunden zu werden.", "Explore Public Rooms": "Erkunde öffentliche Räume", - "If you've joined lots of rooms, this might take a while": "Du bist einer Menge Räumen beigetreten, das kann eine Weile dauern" + "If you've joined lots of rooms, this might take a while": "Du bist einer Menge Räumen beigetreten, das kann eine Weile dauern", + "Riot failed to get the protocol list from the homeserver. The homeserver may be too old to support third party networks.": "Riot konnte die Protokollliste nicht vom Heimserver abrufen. Der Heimserver ist möglicherweise zu alt, um Netzwerke von Drittanbietern zu unterstützen.", + "No identity server is configured: add one in server settings to reset your password.": "Kein Identitätsserver konfiguriert: Füge einen in den Servereinstellungen hinzu, um dein Kennwort zurückzusetzen.", + "Your new account (%(newAccountId)s) is registered, but you're already logged into a different account (%(loggedInUserId)s).": "Dein neues Konto (%(newAccountId)s) ist registriert, aber du bist bereits in ein anderes Konto (%(loggedInUserId)s) angemeldet." } From 6472ddfe8d698d166eafc6b76d62e8dc37e672fc Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:51:25 +0000 Subject: [PATCH 122/203] Translated using Weblate (German) Currently translated at 96.4% (2220 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index c9c2d14548..81e2d63527 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2286,5 +2286,7 @@ "If you've joined lots of rooms, this might take a while": "Du bist einer Menge Räumen beigetreten, das kann eine Weile dauern", "Riot failed to get the protocol list from the homeserver. The homeserver may be too old to support third party networks.": "Riot konnte die Protokollliste nicht vom Heimserver abrufen. Der Heimserver ist möglicherweise zu alt, um Netzwerke von Drittanbietern zu unterstützen.", "No identity server is configured: add one in server settings to reset your password.": "Kein Identitätsserver konfiguriert: Füge einen in den Servereinstellungen hinzu, um dein Kennwort zurückzusetzen.", - "Your new account (%(newAccountId)s) is registered, but you're already logged into a different account (%(loggedInUserId)s).": "Dein neues Konto (%(newAccountId)s) ist registriert, aber du bist bereits in ein anderes Konto (%(loggedInUserId)s) angemeldet." + "Your new account (%(newAccountId)s) is registered, but you're already logged into a different account (%(loggedInUserId)s).": "Dein neues Konto (%(newAccountId)s) ist registriert, aber du hast dich bereits in mit einem anderen Konto (%(loggedInUserId)s) angemeldet.", + "This requires the latest Riot on your other devices:": "Dies benötigt die neuste Version von Riot auf deinen anderen Geräten:", + "Use Recovery Passphrase or Key": "Benutze deine Wiederherstellungspassphrase oder den Wiederherstellungsschlüssel" } From ea50116c9f17dfadd247489c9de260bdd6d5d5fe Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:52:42 +0000 Subject: [PATCH 123/203] Translated using Weblate (German) Currently translated at 96.4% (2220 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 81e2d63527..9afcd8debf 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2288,5 +2288,6 @@ "No identity server is configured: add one in server settings to reset your password.": "Kein Identitätsserver konfiguriert: Füge einen in den Servereinstellungen hinzu, um dein Kennwort zurückzusetzen.", "Your new account (%(newAccountId)s) is registered, but you're already logged into a different account (%(loggedInUserId)s).": "Dein neues Konto (%(newAccountId)s) ist registriert, aber du hast dich bereits in mit einem anderen Konto (%(loggedInUserId)s) angemeldet.", "This requires the latest Riot on your other devices:": "Dies benötigt die neuste Version von Riot auf deinen anderen Geräten:", - "Use Recovery Passphrase or Key": "Benutze deine Wiederherstellungspassphrase oder den Wiederherstellungsschlüssel" + "Use Recovery Passphrase or Key": "Benutze deine Wiederherstellungspassphrase oder den Wiederherstellungsschlüssel", + "Failed to re-authenticate due to a homeserver problem": "Erneute Authentifizierung aufgrund eines Heimserver-Problems fehlgeschlagen" } From f96f1bb3ebccde0d03e559464f8d00245e9ec54d Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:52:57 +0000 Subject: [PATCH 124/203] Translated using Weblate (German) Currently translated at 96.5% (2222 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 9afcd8debf..925b39e362 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2289,5 +2289,5 @@ "Your new account (%(newAccountId)s) is registered, but you're already logged into a different account (%(loggedInUserId)s).": "Dein neues Konto (%(newAccountId)s) ist registriert, aber du hast dich bereits in mit einem anderen Konto (%(loggedInUserId)s) angemeldet.", "This requires the latest Riot on your other devices:": "Dies benötigt die neuste Version von Riot auf deinen anderen Geräten:", "Use Recovery Passphrase or Key": "Benutze deine Wiederherstellungspassphrase oder den Wiederherstellungsschlüssel", - "Failed to re-authenticate due to a homeserver problem": "Erneute Authentifizierung aufgrund eines Heimserver-Problems fehlgeschlagen" + "Failed to re-authenticate due to a homeserver problem": "Erneute Authentifizierung aufgrund eines Problems im Heimserver fehlgeschlagen" } From 14a68b63e8b68bcb4e99dedbb054fe453c6db117 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:53:01 +0000 Subject: [PATCH 125/203] Translated using Weblate (German) Currently translated at 96.5% (2222 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 925b39e362..8e9a3b3d8e 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2289,5 +2289,7 @@ "Your new account (%(newAccountId)s) is registered, but you're already logged into a different account (%(loggedInUserId)s).": "Dein neues Konto (%(newAccountId)s) ist registriert, aber du hast dich bereits in mit einem anderen Konto (%(loggedInUserId)s) angemeldet.", "This requires the latest Riot on your other devices:": "Dies benötigt die neuste Version von Riot auf deinen anderen Geräten:", "Use Recovery Passphrase or Key": "Benutze deine Wiederherstellungspassphrase oder den Wiederherstellungsschlüssel", - "Failed to re-authenticate due to a homeserver problem": "Erneute Authentifizierung aufgrund eines Problems im Heimserver fehlgeschlagen" + "Failed to re-authenticate due to a homeserver problem": "Erneute Authentifizierung aufgrund eines Problems im Heimserver fehlgeschlagen", + "Failed to re-authenticate": "Erneute Authentifizierung fehlgeschlagen", + "Command Autocomplete": "Auto-Vervollständigung anordnen" } From a637854fee748f89f6cf21f735d65ab2ccd7e3a8 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:53:20 +0000 Subject: [PATCH 126/203] Translated using Weblate (German) Currently translated at 96.6% (2224 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 8e9a3b3d8e..36cc523161 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2291,5 +2291,5 @@ "Use Recovery Passphrase or Key": "Benutze deine Wiederherstellungspassphrase oder den Wiederherstellungsschlüssel", "Failed to re-authenticate due to a homeserver problem": "Erneute Authentifizierung aufgrund eines Problems im Heimserver fehlgeschlagen", "Failed to re-authenticate": "Erneute Authentifizierung fehlgeschlagen", - "Command Autocomplete": "Auto-Vervollständigung anordnen" + "Command Autocomplete": "Auto-Vervollständigung aktivieren" } From 8e94839a2c82fcd9b4a00265cb871d28e28bc353 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:53:27 +0000 Subject: [PATCH 127/203] Translated using Weblate (German) Currently translated at 96.6% (2224 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 36cc523161..9419f1d61a 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2291,5 +2291,7 @@ "Use Recovery Passphrase or Key": "Benutze deine Wiederherstellungspassphrase oder den Wiederherstellungsschlüssel", "Failed to re-authenticate due to a homeserver problem": "Erneute Authentifizierung aufgrund eines Problems im Heimserver fehlgeschlagen", "Failed to re-authenticate": "Erneute Authentifizierung fehlgeschlagen", - "Command Autocomplete": "Auto-Vervollständigung aktivieren" + "Command Autocomplete": "Auto-Vervollständigung aktivieren", + "Community Autocomplete": "Community-Auto-Vervollständigung", + "DuckDuckGo Results": "DuckDuckGo Resultate" } From 15d1b7ac2265aae848f5f771557bb4745ee0cab2 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:53:39 +0000 Subject: [PATCH 128/203] Translated using Weblate (German) Currently translated at 97.0% (2235 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 9419f1d61a..4a77feba38 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2293,5 +2293,8 @@ "Failed to re-authenticate": "Erneute Authentifizierung fehlgeschlagen", "Command Autocomplete": "Auto-Vervollständigung aktivieren", "Community Autocomplete": "Community-Auto-Vervollständigung", - "DuckDuckGo Results": "DuckDuckGo Resultate" + "DuckDuckGo Results": "DuckDuckGo Ergebnisse", + "Great! This recovery passphrase looks strong enough.": "Super! Diese Wiederherstellungspassphrase sieht stark genug aus.", + "Enter a recovery passphrase": "Gib eine Wiederherstellungspassphrase ein", + "Back up encrypted message keys": "Sichere die Verschlüsselungsschlüssel" } From bd36b0892c33806ac4d5ce2b76f620c17a5d3ed5 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:53:44 +0000 Subject: [PATCH 129/203] Translated using Weblate (German) Currently translated at 97.0% (2235 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 4a77feba38..7952115d74 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2296,5 +2296,13 @@ "DuckDuckGo Results": "DuckDuckGo Ergebnisse", "Great! This recovery passphrase looks strong enough.": "Super! Diese Wiederherstellungspassphrase sieht stark genug aus.", "Enter a recovery passphrase": "Gib eine Wiederherstellungspassphrase ein", - "Back up encrypted message keys": "Sichere die Verschlüsselungsschlüssel" + "Back up encrypted message keys": "Sichere die Verschlüsselungsschlüssel", + "Emoji Autocomplete": "Emoji-Auto-Vervollständigung", + "Room Autocomplete": "Raum-Auto-Vervollständigung", + "User Autocomplete": "Nutzer-Auto-Vervollständigung", + "Restore your key backup to upgrade your encryption": "Schlüsselsicherung wiederherstellen, um deine Verschlüsselung zu aktualisieren", + "Restore": "Wiederherstellen", + "Your recovery key has been copied to your clipboard, paste it to:": "Dein Wiederherstellungsschlüssel wurde in die Zwischenablage kopiert. Füge ihn ein in:", + "Your recovery key is in your Downloads folder.": "Dein Wiederherstellungsschlüssel ist in deinem Download-Ordner.", + "You can now verify your other devices, and other users to keep your chats safe.": "Du kannst jetzt deine anderen Geräte und andere Nutzer!nnen verifizieren, um deine Chats zu schützen." } From bdfcd848cd35c95f0540965d12f1cef8d1e70897 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:59:16 +0000 Subject: [PATCH 130/203] Translated using Weblate (German) Currently translated at 97.2% (2238 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 7952115d74..b84f2613c1 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2304,5 +2304,5 @@ "Restore": "Wiederherstellen", "Your recovery key has been copied to your clipboard, paste it to:": "Dein Wiederherstellungsschlüssel wurde in die Zwischenablage kopiert. Füge ihn ein in:", "Your recovery key is in your Downloads folder.": "Dein Wiederherstellungsschlüssel ist in deinem Download-Ordner.", - "You can now verify your other devices, and other users to keep your chats safe.": "Du kannst jetzt deine anderen Geräte und andere Nutzer!nnen verifizieren, um deine Chats zu schützen." + "You can now verify your other devices, and other users to keep your chats safe.": "Du kannst jetzt deine anderen Geräte und andere Benutzer verifizieren, um deine Chats zu schützen." } From 239778cb4c52c61421fa2d5164c8843d7cfe71aa Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 21:59:25 +0000 Subject: [PATCH 131/203] Translated using Weblate (German) Currently translated at 97.2% (2238 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index b84f2613c1..b2309c2d0a 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2304,5 +2304,8 @@ "Restore": "Wiederherstellen", "Your recovery key has been copied to your clipboard, paste it to:": "Dein Wiederherstellungsschlüssel wurde in die Zwischenablage kopiert. Füge ihn ein in:", "Your recovery key is in your Downloads folder.": "Dein Wiederherstellungsschlüssel ist in deinem Download-Ordner.", - "You can now verify your other devices, and other users to keep your chats safe.": "Du kannst jetzt deine anderen Geräte und andere Benutzer verifizieren, um deine Chats zu schützen." + "You can now verify your other devices, and other users to keep your chats safe.": "Du kannst jetzt deine anderen Geräte und andere Benutzer verifizieren, um deine Chats zu schützen.", + "Upgrade your encryption": "Deine Verschlüsselung aktualisieren", + "You're done!": "Du bist fertig!", + "Unable to set up secret storage": "Geheimer Speicher kann nicht eingerichtet werden" } From fd916c407f414bed9411a43bf2f14b311a1d8b4a Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 21:59:49 +0000 Subject: [PATCH 132/203] Translated using Weblate (German) Currently translated at 97.4% (2244 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index b2309c2d0a..7f8972dc48 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2307,5 +2307,8 @@ "You can now verify your other devices, and other users to keep your chats safe.": "Du kannst jetzt deine anderen Geräte und andere Benutzer verifizieren, um deine Chats zu schützen.", "Upgrade your encryption": "Deine Verschlüsselung aktualisieren", "You're done!": "Du bist fertig!", - "Unable to set up secret storage": "Geheimer Speicher kann nicht eingerichtet werden" + "Unable to set up secret storage": "Sicherer Speicher kann nicht eingerichtet werden", + "Enter a recovery passphrase...": "Gib eine Wiederherstellungspassphrase ein...", + "Repeat your recovery passphrase...": "Gib die Wiederherstellungspassphrase erneut ein...", + "Secure your backup with a recovery passphrase": "Verschlüssele deine Sicherung mit einer Wiederherstellungspassphrase" } From b2a22b13258edd8e07620e21774ef2a993c63779 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 22:01:51 +0000 Subject: [PATCH 133/203] Translated using Weblate (German) Currently translated at 97.4% (2244 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 7f8972dc48..8c70d7e40c 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2310,5 +2310,8 @@ "Unable to set up secret storage": "Sicherer Speicher kann nicht eingerichtet werden", "Enter a recovery passphrase...": "Gib eine Wiederherstellungspassphrase ein...", "Repeat your recovery passphrase...": "Gib die Wiederherstellungspassphrase erneut ein...", - "Secure your backup with a recovery passphrase": "Verschlüssele deine Sicherung mit einer Wiederherstellungspassphrase" + "Secure your backup with a recovery passphrase": "Verschlüssele deine Sicherung mit einer Wiederherstellungspassphrase", + "Create key backup": "Schlüsselsicherung erstellen", + "This session is encrypting history using the new recovery method.": "Diese Sitzung verschlüsselt den Verlauf mit der neuen Wiederherstellungsmethode.", + "This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "Diese Sitzung hat festgestellt, dass deine Wiederherstellungspassphrase und dein Schlüssel für gesicherte Nachrichten entfernt wurden." } From 65cc5bfea44829b5c28025dca8a62a51f3cae348 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 22:02:27 +0000 Subject: [PATCH 134/203] Translated using Weblate (German) Currently translated at 98.3% (2264 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 8c70d7e40c..3660379302 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2313,5 +2313,16 @@ "Secure your backup with a recovery passphrase": "Verschlüssele deine Sicherung mit einer Wiederherstellungspassphrase", "Create key backup": "Schlüsselsicherung erstellen", "This session is encrypting history using the new recovery method.": "Diese Sitzung verschlüsselt den Verlauf mit der neuen Wiederherstellungsmethode.", - "This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "Diese Sitzung hat festgestellt, dass deine Wiederherstellungspassphrase und dein Schlüssel für gesicherte Nachrichten entfernt wurden." + "This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "Diese Sitzung hat festgestellt, dass deine Wiederherstellungspassphrase und dein Schlüssel für sichere Nachrichten entfernt wurden.", + "Currently indexing: %(currentRoom)s": "Indiziere: %(currentRoom)s", + "Navigation": "Navigation", + "Calls": "Anrufe", + "Room List": "Raumliste", + "Autocomplete": "Auto-Vervollständigung", + "Alt": "Alt", + "Toggle microphone mute": "Schalte Mikrophon stumm", + "Toggle video on/off": "Schalte Video an/aus", + "Jump to room search": "Springe zur Raumsuche", + "Close dialog or context menu": "Schließe Dialog oder Kontextmenü", + "Cancel autocomplete": "Deaktiviere Auto-Vervollständigung" } From 138b5a08a4c88ad5b9681d1885a60ef3b1fbbb09 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 22:02:41 +0000 Subject: [PATCH 135/203] Translated using Weblate (German) Currently translated at 98.3% (2264 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 3660379302..43734a5f8f 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2324,5 +2324,14 @@ "Toggle video on/off": "Schalte Video an/aus", "Jump to room search": "Springe zur Raumsuche", "Close dialog or context menu": "Schließe Dialog oder Kontextmenü", - "Cancel autocomplete": "Deaktiviere Auto-Vervollständigung" + "Cancel autocomplete": "Deaktiviere Auto-Vervollständigung", + "Unable to revoke sharing for email address": "Das Teilen der E-Mail-Adresse kann nicht widerrufen werden", + "Unable to validate homeserver/identity server": "Heimserver/Identitätsserver nicht validierbar", + "Without completing security on this session, it won’t have access to encrypted messages.": "Ohne Abschluss der Sicherungseinrichtung in dieser Sitzung hat sie keinen Zugriff auf verschlüsselte Nachrichten.", + "Disable": "Deaktivieren", + "Not currently indexing messages for any room.": "Derzeit werden keine Nachrichten für Räume indiziert.", + "Space used:": "Speicherplatzbedarf:", + "Indexed messages:": "Indizierte Nachrichten:", + "Indexed rooms:": "Indizierte Räume:", + "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s von %(totalRooms)s" } From e37e5a2a94b194937092136b44932f30c26bafc4 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 22:13:00 +0000 Subject: [PATCH 136/203] Translated using Weblate (German) Currently translated at 98.5% (2269 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 43734a5f8f..99e5420e88 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2327,11 +2327,15 @@ "Cancel autocomplete": "Deaktiviere Auto-Vervollständigung", "Unable to revoke sharing for email address": "Das Teilen der E-Mail-Adresse kann nicht widerrufen werden", "Unable to validate homeserver/identity server": "Heimserver/Identitätsserver nicht validierbar", - "Without completing security on this session, it won’t have access to encrypted messages.": "Ohne Abschluss der Sicherungseinrichtung in dieser Sitzung hat sie keinen Zugriff auf verschlüsselte Nachrichten.", + "Without completing security on this session, it won’t have access to encrypted messages.": "Ohne Abschluss der Sicherungseinrichtung in dieser Sitzung wird sie keinen Zugriff auf verschlüsselte Nachrichten erhalten.", "Disable": "Deaktivieren", "Not currently indexing messages for any room.": "Derzeit werden keine Nachrichten für Räume indiziert.", "Space used:": "Speicherplatzbedarf:", "Indexed messages:": "Indizierte Nachrichten:", "Indexed rooms:": "Indizierte Räume:", - "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s von %(totalRooms)s" + "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s von %(totalRooms)s", + "Set a recovery passphrase to secure encrypted information and recover it if you log out. This should be different to your account password:": "Setze eine Wiederherstellungspassphrase um deine verschlüsselten Nachrichten nach dem Abmelden wiederherstellen zu können. Diese sollte sich von deinem Kontopasswort unterscheiden:", + "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your recovery passphrase.": "Der Wiederherstellungsschlüssel ist ein Sicherheitsnetz - du kannst damit deine verschlüsselten Nachrichten wiederherstellen wenn du deine Wiederherstellungspassphrase vergessen hast.", + "Unable to query secret storage status": "Status des sicheren Speichers kann nicht gelesen werden", + "We'll store an encrypted copy of your keys on our server. Secure your backup with a recovery passphrase.": "Wir werden eine verschlüsselte Kopie deiner Schlüssel auf unserem Server speichern. Schütze deine Sicherung mit einer Wiederherstellungspassphrase." } From 5cafad5f464154f393e5b81d150a6df1427975ff Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sat, 9 May 2020 22:17:31 +0000 Subject: [PATCH 137/203] Translated using Weblate (German) Currently translated at 98.5% (2269 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 99e5420e88..a7bd338bb4 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2337,5 +2337,6 @@ "Set a recovery passphrase to secure encrypted information and recover it if you log out. This should be different to your account password:": "Setze eine Wiederherstellungspassphrase um deine verschlüsselten Nachrichten nach dem Abmelden wiederherstellen zu können. Diese sollte sich von deinem Kontopasswort unterscheiden:", "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your recovery passphrase.": "Der Wiederherstellungsschlüssel ist ein Sicherheitsnetz - du kannst damit deine verschlüsselten Nachrichten wiederherstellen wenn du deine Wiederherstellungspassphrase vergessen hast.", "Unable to query secret storage status": "Status des sicheren Speichers kann nicht gelesen werden", - "We'll store an encrypted copy of your keys on our server. Secure your backup with a recovery passphrase.": "Wir werden eine verschlüsselte Kopie deiner Schlüssel auf unserem Server speichern. Schütze deine Sicherung mit einer Wiederherstellungspassphrase." + "We'll store an encrypted copy of your keys on our server. Secure your backup with a recovery passphrase.": "Wir werden eine verschlüsselte Kopie deiner Schlüssel auf unserem Server speichern. Schütze deine Sicherung mit einer Wiederherstellungspassphrase.", + "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Ohne die Einrichtung von gesicherter Nachrichtenwiederherstellung kann dein verschlüsselter Nachrichtenverlauf nicht wiederhergestellt werden, wenn du dich abmeldest oder eine andere Sitzung verwendest." } From ad2f704e76d31c25933f257cf62829a67e9739c0 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sun, 10 May 2020 11:17:21 +0100 Subject: [PATCH 138/203] don't NPE on invites from Dendrite --- src/components/structures/RoomView.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js index 69a2e54a2c..f53929df4a 100644 --- a/src/components/structures/RoomView.js +++ b/src/components/structures/RoomView.js @@ -1717,8 +1717,11 @@ export default createReactClass({ } else { const myUserId = this.context.credentials.userId; const myMember = this.state.room.getMember(myUserId); - const inviteEvent = myMember.events.member; - var inviterName = inviteEvent.sender ? inviteEvent.sender.name : inviteEvent.getSender(); + const inviteEvent = myMember ? myMember.events.member : null; + let inviterName = _t("Unknown"); + if (inviteEvent) { + inviterName = inviteEvent.sender ? inviteEvent.sender.name : inviteEvent.getSender(); + } // We deliberately don't try to peek into invites, even if we have permission to peek // as they could be a spam vector. From 85a8aaffcf5c8a27f51017df05c659caff8b71f9 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sat, 9 May 2020 22:18:06 +0000 Subject: [PATCH 139/203] Translated using Weblate (German) Currently translated at 98.6% (2270 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index a7bd338bb4..0a9d4d3a7a 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2338,5 +2338,5 @@ "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your recovery passphrase.": "Der Wiederherstellungsschlüssel ist ein Sicherheitsnetz - du kannst damit deine verschlüsselten Nachrichten wiederherstellen wenn du deine Wiederherstellungspassphrase vergessen hast.", "Unable to query secret storage status": "Status des sicheren Speichers kann nicht gelesen werden", "We'll store an encrypted copy of your keys on our server. Secure your backup with a recovery passphrase.": "Wir werden eine verschlüsselte Kopie deiner Schlüssel auf unserem Server speichern. Schütze deine Sicherung mit einer Wiederherstellungspassphrase.", - "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Ohne die Einrichtung von gesicherter Nachrichtenwiederherstellung kann dein verschlüsselter Nachrichtenverlauf nicht wiederhergestellt werden, wenn du dich abmeldest oder eine andere Sitzung verwendest." + "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Ohne eine Schlüsselsicherung kann dein verschlüsselter Nachrichtenverlauf nicht wiederhergestellt werden wenn du dich abmeldest oder eine andere Sitzung verwendest." } From 587eb8f8f1ca386823181e9ab36cc520acd0f7dc Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sun, 10 May 2020 11:37:07 +0000 Subject: [PATCH 140/203] Translated using Weblate (German) Currently translated at 98.6% (2270 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 0a9d4d3a7a..20d58acfe5 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2338,5 +2338,6 @@ "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your recovery passphrase.": "Der Wiederherstellungsschlüssel ist ein Sicherheitsnetz - du kannst damit deine verschlüsselten Nachrichten wiederherstellen wenn du deine Wiederherstellungspassphrase vergessen hast.", "Unable to query secret storage status": "Status des sicheren Speichers kann nicht gelesen werden", "We'll store an encrypted copy of your keys on our server. Secure your backup with a recovery passphrase.": "Wir werden eine verschlüsselte Kopie deiner Schlüssel auf unserem Server speichern. Schütze deine Sicherung mit einer Wiederherstellungspassphrase.", - "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Ohne eine Schlüsselsicherung kann dein verschlüsselter Nachrichtenverlauf nicht wiederhergestellt werden wenn du dich abmeldest oder eine andere Sitzung verwendest." + "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Ohne eine Schlüsselsicherung kann dein verschlüsselter Nachrichtenverlauf nicht wiederhergestellt werden wenn du dich abmeldest oder eine andere Sitzung verwendest.", + "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "Sicherungsschlüssel im geheimen Speicher gespeichert, aber diese Funktion ist in dieser Sitzung nicht aktiviert. Aktiviere Cross-Signing in Labs, um Status der Schlüsselsicherung zu ändern." } From 191247165fbcaee4ea4e05a7c14a2dcbd8d7b1b9 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sun, 10 May 2020 11:37:42 +0000 Subject: [PATCH 141/203] Translated using Weblate (German) Currently translated at 98.8% (2275 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 20d58acfe5..98ad1ee3b0 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2339,5 +2339,9 @@ "Unable to query secret storage status": "Status des sicheren Speichers kann nicht gelesen werden", "We'll store an encrypted copy of your keys on our server. Secure your backup with a recovery passphrase.": "Wir werden eine verschlüsselte Kopie deiner Schlüssel auf unserem Server speichern. Schütze deine Sicherung mit einer Wiederherstellungspassphrase.", "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Ohne eine Schlüsselsicherung kann dein verschlüsselter Nachrichtenverlauf nicht wiederhergestellt werden wenn du dich abmeldest oder eine andere Sitzung verwendest.", - "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "Sicherungsschlüssel im geheimen Speicher gespeichert, aber diese Funktion ist in dieser Sitzung nicht aktiviert. Aktiviere Cross-Signing in Labs, um Status der Schlüsselsicherung zu ändern." + "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "Der Sicherungsschlüssel ist im sicheren Speicher gespeichert, aber diese Funktion ist in dieser Sitzung nicht aktiviert. Aktiviere Cross-Signing in Labs, um den Status der Schlüsselsicherung zu ändern.", + "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.": "Es gab einen Fehler beim Ändern des Raum-Aliases. Entweder erlaubt es der Server nicht oder es gab ein temporäres Problem.", + "If you've forgotten your recovery passphrase you can use your recovery key or set up new recovery options.": "Wenn du deine Wiederherstellungspassphrase vergessen hast kannst du deinen Wiederherstellungsschlüssel verwenden oder neue Wiederherstellungsoptionen anlegen.", + "Self-verification request": "Selbstverifikationsanfrage", + "or another cross-signing capable Matrix client": "oder einen anderen Matrix Client der Cross-signing fähig ist" } From 75a3d95aa8405f9c8ecfe51fe4f57e31ed47fa80 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sun, 10 May 2020 11:43:59 +0000 Subject: [PATCH 142/203] Translated using Weblate (German) Currently translated at 98.8% (2275 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 98ad1ee3b0..00dcec412e 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2343,5 +2343,6 @@ "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.": "Es gab einen Fehler beim Ändern des Raum-Aliases. Entweder erlaubt es der Server nicht oder es gab ein temporäres Problem.", "If you've forgotten your recovery passphrase you can use your recovery key or set up new recovery options.": "Wenn du deine Wiederherstellungspassphrase vergessen hast kannst du deinen Wiederherstellungsschlüssel verwenden oder neue Wiederherstellungsoptionen anlegen.", "Self-verification request": "Selbstverifikationsanfrage", - "or another cross-signing capable Matrix client": "oder einen anderen Matrix Client der Cross-signing fähig ist" + "or another cross-signing capable Matrix client": "oder einen anderen Matrix Client der Cross-signing fähig ist", + "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot speichert verschlüsselte Nachrichten sicher lokal zwischen, damit sie in den Suchergebnissen angezeigt werden:" } From e7f8d211f99e381578daf9f837b216ba79915e3d Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sun, 10 May 2020 11:45:05 +0000 Subject: [PATCH 143/203] Translated using Weblate (German) Currently translated at 99.0% (2281 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 00dcec412e..a8fd1034c4 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2344,5 +2344,11 @@ "If you've forgotten your recovery passphrase you can use your recovery key or set up new recovery options.": "Wenn du deine Wiederherstellungspassphrase vergessen hast kannst du deinen Wiederherstellungsschlüssel verwenden oder neue Wiederherstellungsoptionen anlegen.", "Self-verification request": "Selbstverifikationsanfrage", "or another cross-signing capable Matrix client": "oder einen anderen Matrix Client der Cross-signing fähig ist", - "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot speichert verschlüsselte Nachrichten sicher lokal zwischen, damit sie in den Suchergebnissen angezeigt werden:" + "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot verwendet einen sicheren Zwischenspeicher für verschlüsselte Nachrichten, damit sie in den Suchergebnissen angezeigt werden:", + "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery passphrase.": "Erhalte Zugriff auf deine verschlüsselten Nachrichten und deine Cross-Signing Identität um andere Sitzungen zu verifizieren indem du deine Wiederherstellungspassphrase eingibst.", + "Liberate your communication": "Liberate your communication", + "Message downloading sleep time(ms)": "Wartezeit zwischen dem Herunterladen von Nachrichten (ms)", + "Navigate recent messages to edit": "Letzte Nachrichten zur Bearbeitung ansehen", + "Jump to start/end of the composer": "Springe zum Anfang/Ende der Nachrichteneingabe", + "Navigate composer history": "Verlauf der Nachrichteneingabe durchsuchen" } From a17820ed3a351521d241fe7aef49461e19233347 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sun, 10 May 2020 19:57:20 +0000 Subject: [PATCH 144/203] Translated using Weblate (German) Currently translated at 99.0% (2281 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index a8fd1034c4..cac52fb477 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -2350,5 +2350,6 @@ "Message downloading sleep time(ms)": "Wartezeit zwischen dem Herunterladen von Nachrichten (ms)", "Navigate recent messages to edit": "Letzte Nachrichten zur Bearbeitung ansehen", "Jump to start/end of the composer": "Springe zum Anfang/Ende der Nachrichteneingabe", - "Navigate composer history": "Verlauf der Nachrichteneingabe durchsuchen" + "Navigate composer history": "Verlauf der Nachrichteneingabe durchsuchen", + "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "Wenn du dies versehentlich getan hast, kannst du in dieser Sitzung \"gesicherte Nachrichten\" einrichten, die den Nachrichtenverlauf dieser Sitzung mit einer neuen Wiederherstellungsmethode erneut verschlüsseln." } From 8ca72a883056a7a7fdd89afcd0a1569275f4d424 Mon Sep 17 00:00:00 2001 From: Jan van der Weijst Date: Sun, 10 May 2020 15:37:19 +0000 Subject: [PATCH 145/203] Translated using Weblate (Spanish) Currently translated at 77.4% (1782 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 299 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 288 insertions(+), 11 deletions(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 872bd7ab4c..99ad342b69 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -977,7 +977,7 @@ "User %(user_id)s does not exist": "El usuario %(user_id)s no existe", "User %(user_id)s may or may not exist": "El usuario %(user_id)s podría o no existir", "Unknown server error": "Error desconocido del servidor", - "Use a few words, avoid common phrases": "Usa varias palabras, evita frases comunes", + "Use a few words, avoid common phrases": "Usa unas pocas palabras, evita frases comunes", "No need for symbols, digits, or uppercase letters": "No hacen falta símbolos, números o letrás en mayúscula", "Avoid repeated words and characters": "Evita repetir palabras y letras", "Avoid sequences": "Evita frases", @@ -1001,7 +1001,7 @@ "A word by itself is easy to guess": "Una palabra es fácil de adivinar", "Names and surnames by themselves are easy to guess": "Nombres y apellidos son fáciles de adivinar", "Common names and surnames are easy to guess": "Nombres y apellidos comunes son fáciles de adivinar", - "Straight rows of keys are easy to guess": "Palabras formadas por repeticiones de teclas son fáciles de adivinar", + "Straight rows of keys are easy to guess": "Palabras formadas por secuencias de teclas alineadas son fáciles de adivinar", "Short keyboard patterns are easy to guess": "Patrones de tecleo cortos son fáciles de adivinar", "There was an error joining the room": "Hubo un error al unirse a la sala", "Custom user status messages": "Mensajes de estado de usuario personalizados", @@ -1208,7 +1208,7 @@ "You can register, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Te puedes registrar, pero algunas funcionalidades no estarán disponibles hasta que se pueda conectar con el servidor de identidad. Si continúas viendo este aviso, comprueba tu configuración o contacta con el administrador del servidor.", "You can reset your password, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Puedes cambiar tu contraseña, pero algunas funcionalidades no estarán disponibles hasta que el servidor de identidad esté disponible. Si continúas viendo este aviso, comprueba tu configuración o contacta con el administrador del servidor.", "You can log in, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Puedes iniciar sesión, pero algunas funcionalidades no estarán disponibles hasta que el servidor de identidad esté disponible. Si continúas viendo este mensaje, comprueba tu configuración o contacta con el administrador del servidor.", - "No homeserver URL provided": "No se ha indicado la URL del servidor", + "No homeserver URL provided": "No se ha indicado la URL del servidor local", "Unexpected error resolving homeserver configuration": "Error inesperado en la configuración del servidor", "Unexpected error resolving identity server configuration": "Error inesperado en la configuración del servidor de identidad", "User %(userId)s is already in the room": "El usuario %(userId)s ya está en la sala", @@ -1257,7 +1257,7 @@ "Enable local event indexing and E2EE search (requires restart)": "Active el indexado de eventos locales y la búsqueda E2EE (necesita reiniciar)", "Match system theme": "Usar el tema del sistema", "Show previews/thumbnails for images": "Mostrar vistas previas para las imágenes", - "When rooms are upgraded": "Cuando se mejoran las salas", + "When rooms are upgraded": "Cuando las salas son actualizadas", "My Ban List": "Mi lista de baneos", "This is your list of users/servers you have blocked - don't leave the room!": "Esta es la lista de usuarios y servidores que ha bloqueado - ¡No deje la sala!", "Decline (%(counter)s)": "Declinar (%(counter)s)", @@ -1442,11 +1442,11 @@ "%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s actualizó una regla de bloqueo que correspondía a %(oldGlob)s a %(newGlob)s por %(reason)s", "The message you are trying to send is too large.": "El mensaje que estás intentando enviar es demasiado largo.", "a few seconds ago": "hace unos segundos", - "about a minute ago": "hace un minuto", + "about a minute ago": "hace aproximadamente un minuto", "%(num)s minutes ago": "hace %(num)s minutos", - "about an hour ago": "hace una hora", + "about an hour ago": "hace aprox. una hora", "%(num)s hours ago": "hace %(num)s horas", - "about a day ago": "hace un día", + "about a day ago": "hace aprox. un día", "%(num)s days ago": "hace %(num)s días", "a few seconds from now": "dentro de unos segundos", "about a minute from now": "dentro de un minuto", @@ -1466,7 +1466,7 @@ "or": "o", "Compare unique emoji": "Comparar emoji único", "Compare a unique set of emoji if you don't have a camera on either device": "Comparar un conjunto de emojis si no tienes cámara en ninguno de los dispositivos", - "Start": "Comenzar", + "Start": "Inicio", "Confirm the emoji below are displayed on both devices, in the same order:": "Confirma que los emojis a continuación son mostrados en ambos dispositivos, en el mismo orden:", "Verify this device by confirming the following number appears on its screen.": "Verifica este dispositivo confirmando que el siguiente número aparece en su pantalla.", "Waiting for %(displayName)s to verify…": "Esperando la verificación de %(displayName)s …", @@ -1493,7 +1493,7 @@ "Browse": "Navegar", "Change room avatar": "Cambiar avatar de sala", "Change room name": "Cambiar nombre de sala", - "Change main address for the room": "Cambiar dirección principal para la sala", + "Change main address for the room": "Cambiar la dirección principal para la sala", "Change history visibility": "Cambiar visibilidad del historial", "Change permissions": "Cambiar permisos", "Change topic": "Cambiar tema", @@ -1508,7 +1508,7 @@ "Send messages": "Enviar mensajes", "Invite users": "Invitar usuarios", "Change settings": "Cambiar la configuración", - "Kick users": "Echar a usuarios", + "Kick users": "Expulsar usuarios", "Ban users": "Bloquear a usuarios", "Remove messages": "Eliminar mensajes", "Notify everyone": "Notificar a todos", @@ -1536,5 +1536,282 @@ "Disconnect from the identity server ?": "¿Desconectarse del servidor de identidad ?", "Disconnect": "Desconectarse", "You should:": "Deberías:", - "%(crawlingRooms)s out of %(totalRooms)s": "%(crawlingRooms)s de %(totalRooms)s" + "%(crawlingRooms)s out of %(totalRooms)s": "%(crawlingRooms)s de %(totalRooms)s", + "Use Single Sign On to continue": "Procede con Registro Único para continuar", + "Confirm adding this email address by using Single Sign On to prove your identity.": "Confirma la adición de esta dirección de correo electrónico usando el Registro Único para probar tu identidad.", + "Single Sign On": "Registro Único", + "Confirm adding email": "Confirmar la adición del correo electrónico", + "Click the button below to confirm adding this email address.": "Haz clic en el botón de abajo para confirmar la adición de esta dirección de correo electrónico.", + "Confirm": "Confirmar", + "Confirm adding this phone number by using Single Sign On to prove your identity.": "Confirme la adición de este número de teléfono usando el Registro Único para probar su identidad...", + "Confirm adding phone number": "Confirmar la adición del número de teléfono", + "Click the button below to confirm adding this phone number.": "Haga clic en el botón de abajo para confirmar la adición de este número de teléfono.", + "Whether you're using Riot on a device where touch is the primary input mechanism": "Si estés usando Riot en un dispositivo donde una pantalla táctil es el principal mecanismo de entrada", + "Whether you're using Riot as an installed Progressive Web App": "Si estás usando Riot como una Aplicación Web Progresiva instalada", + "Review Sessions": "Sesiones de revisión", + "If you cancel now, you won't complete your operation.": "Si cancela ahora, no completará la operación.", + "Review where you’re logged in": "Revise dónde hizo su registro", + "New login. Was this you?": "Nuevo registro. ¿Fuiste tú?", + "%(name)s is requesting verification": "%(name)s solicita verificación", + "Sign In or Create Account": "Iniciar sesión o Crear una cuenta", + "Use your account or create a new one to continue.": "Usa tu cuenta existente o crea una nueva para continuar.", + "Create Account": "Crear cuenta", + "Sign In": "Registrarse", + "Sends a message as html, without interpreting it as markdown": "Envía un mensaje como html, sin interpretarlo como un markdown", + "Failed to set topic": "No se ha podido establecer el tema", + "Command failed": "El comando falló", + "Could not find user in room": "No pude encontrar el usuario en la sala", + "Please supply a widget URL or embed code": "Por favor, proporcione una URL del widget o un código de incrustación", + "Displays information about a user": "Muestra información sobre un usuario", + "Send a bug report with logs": "Envíe un informe de errores con los registros", + "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s cambió el nombre de la sala %(oldRoomName)s a %(newRoomName)s.", + "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s añadió las direcciones alternativas %(addresses)s para esta sala.", + "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s añadió la dirección alternativa %(addresses)s para esta sala.", + "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s quitó la dirección alternativa %(addresses)s para esta sala.", + "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s quitó la dirección alternativa %(addresses)s para esta sala.", + "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s cambió las direcciones alternativas de esta sala.", + "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s cambió la dirección principal y las alternativas de esta sala.", + "%(senderName)s changed the addresses for this room.": "%(senderName)s cambió las direcciones de esta sala.", + "You signed in to a new session without verifying it:": "Iniciaste una nueva sesión sin verificarla:", + "Verify your other session using one of the options below.": "Verifique su otra sesión utilizando una de las siguientes opciones.", + "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) inició una nueva sesión sin verificarla:", + "Ask this user to verify their session, or manually verify it below.": "Pídale a este usuario que verifique su sesión, o verifíquela manualmente a continuación.", + "Not Trusted": "No es de confianza", + "Manually Verify by Text": "Verificar manualmente mediante texto", + "Interactively verify by Emoji": "Verifica interactivamente con unEmoji", + "Done": "Listo", + "Support adding custom themes": "Soporta la adición de temas personalizados", + "Enable cross-signing to verify per-user instead of per-session": "Habilitar la firma cruzada para verificar por usuario en lugar de por sesión", + "Show info about bridges in room settings": "Mostrar información sobre puentes en la configuración de salas", + "Order rooms by name": "Ordenar las salas por nombre", + "Show rooms with unread notifications first": "Mostrar primero las salas con notificaciones no leídas", + "Show shortcuts to recently viewed rooms above the room list": "Mostrar atajos a las salas recientemente vistas por encima de la lista de salas", + "Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "Permitir el servidor de respaldo de asistencia de llamadas turn.matrix.org cuando su servidor doméstico no lo ofrece (su dirección IP se compartiría durante una llamada)", + "Send read receipts for messages (requires compatible homeserver to disable)": "Enviar recibos de lectura de mensajes (requiere un servidor local compatible para desactivarlo)", + "Keep recovery passphrase in memory for this session": "Guarde la contraseña de recuperación en la memoria para esta sesión", + "Manually verify all remote sessions": "Verifica manualmente todas las sesiones remotas", + "Confirm the emoji below are displayed on both sessions, in the same order:": "Confirma que los emoji de abajo se muestran en el mismo orden en ambas sesiones:", + "Verify this session by confirming the following number appears on its screen.": "Verifique esta sesión confirmando que el siguiente número aparece en su pantalla.", + "Waiting for your other session, %(deviceName)s (%(deviceId)s), to verify…": "Esperando a que su otra sesión, %(deviceName)s (%(deviceId)s), verifica…", + "Cancelling…": "Anulando …", + "Verify all your sessions to ensure your account & messages are safe": "Verifica todas tus sesiones abiertas para asegurarte de que tu cuenta y tus mensajes estén seguros", + "Update your secure storage": "Actualice su almacenamiento seguro", + "Set up": "Configurar", + "Verify the new login accessing your account: %(name)s": "Verifique el nuevo ingreso que está accediendo a su cuenta: %(name)s", + "From %(deviceName)s (%(deviceId)s)": "De %(deviceName)s (%(deviceId)s)", + "This bridge was provisioned by .": "Este puente fue aportado por .", + "This bridge is managed by .": "Este puente es administrado por .", + "Your homeserver does not support cross-signing.": "Tu servidor doméstico no soporta las firmas cruzadas.", + "Cross-signing and secret storage are enabled.": "La firma cruzada y el almacenamiento secreto están activados.", + "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Su cuenta tiene una identidad de firma cruzada en un almacenamiento secreto, pero aún no es confiada en esta sesión.", + "Cross-signing and secret storage are not yet set up.": "Las firmas cruzadas y el almacenamiento secreto aún no han sido configurados.", + "Reset cross-signing and secret storage": "Resetear las señales cruzadas y el almacenamiento secreto", + "Bootstrap cross-signing and secret storage": "Reconfiguración de firma cruzada y almacenamiento secreto", + "well formed": "bien formado", + "unexpected type": "tipo inesperado", + "Cross-signing public keys:": "Firmando las llaves públicas de manera cruzada:", + "Cross-signing private keys:": "Firmando las llaves privadas de manera cruzada:", + "Self signing private key:": "Clave privada autofirmada:", + "cached locally": "almacenado localmente", + "not found locally": "no encontrado localmente", + "User signing private key:": "Usuario firmando llave privada:", + "Session backup key:": "Llave / Código de respaldo de la sesión:", + "Homeserver feature support:": "Características apoyadas por servidor local:", + "exists": "existe", + "Secret Storage key format:": "Formato del código de almacenamiento secreto:", + "outdated": "no actual", + "up to date": "actualizado", + "Your homeserver does not support session management.": "Su servidor local no soporta la gestión de sesiones.", + "Confirm deleting these sessions by using Single Sign On to prove your identity.|other": "Confirme eliminar estas sesiones, probando su identidad con el Registro Único.", + "Confirm deleting these sessions by using Single Sign On to prove your identity.|one": "Confirme eliminar esta sesión, probando su identidad con el Registro Único.", + "Confirm deleting these sessions": "Confirmar la eliminación de estas sesiones", + "Click the button below to confirm deleting these sessions.|other": "Haga clic en el botón de abajo para confirmar la eliminación de estas sesiones.", + "Click the button below to confirm deleting these sessions.|one": "Haga clic en el botón de abajo para confirmar la eliminación de esta sesión.", + "Delete sessions|other": "Eliminar sesiones", + "Delete sessions|one": "Eliminar sesión", + "Individually verify each session used by a user to mark it as trusted, not trusting cross-signed devices.": "Verificar individualmente cada sesión utilizada por un usuario para marcarla como de confianza, no confiando en dispositivos de firma cruzada.", + "Securely cache encrypted messages locally for them to appear in search results, using ": "Almacenar localmente, de manera segura, los mensajes cifrados localmente para que aparezcan en los resultados de la búsqueda, utilizando ", + " to store messages from ": " para almacenar mensajes de ", + "Securely cache encrypted messages locally for them to appear in search results.": "Almacenar localmente, de manera segura, a los mensajes cifrados localmente para que aparezcan en los resultados de búsqueda.", + "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "A Riot le faltan algunos componentes necesarios para el almacenamiento seguro de mensajes cifrados a nivel local. Si quieres experimentar con esta característica, construye un Escritorio Riot personalizado con componentes de búsqueda añadidos.", + "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "Riot no puede guardar de forma segura en la memoria caché a mensajes encriptados localmente, mientras se ejecuta en un navegador web. Use Riot Desktop para que los mensajes encriptados aparezcan en los resultados de la búsqueda.", + "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Esta sesión no ha creado una copia de seguridad de tus llaves, pero tienes una copia de seguridad existente de la que puedes restaurar y añadir para proceder.", + "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Conecte esta sesión a la copia de seguridad de las claves antes de firmar y así evitar perder las claves que sólo existen en esta sesión.", + "Connect this session to Key Backup": "Conecte esta sesión a la copia de respaldo de tu clave", + "Backup has a valid signature from this user": "La copia de seguridad tiene una firma de valido de este usuario", + "Backup has a invalid signature from this user": "La copia de seguridad tiene una firma de no_valida de este usuario", + "Backup has a signature from unknown user with ID %(deviceId)s": "La copia de seguridad tiene una firma de desconocido del usuario con ID %(deviceId)s", + "Backup has a signature from unknown session with ID %(deviceId)s": "La copia de seguridad tiene una firma de desconocido de la sesión con ID %(deviceId)s", + "Backup has a valid signature from this session": "La copia de seguridad tiene una firma válida de esta sesión", + "Backup has an invalid signature from this session": "La copia de seguridad tiene una firma no_válida de esta sesión", + "Backup has a valid signature from verified session ": "La copia de seguridad tiene una firma válida de verificada sesión ", + "Backup has a valid signature from unverified session ": "La copia de seguridad tiene una firma de válida de sesión no verificada ", + "Backup has an invalid signature from verified session ": "La copia de seguridad tiene una firma de no válida de sesión verificada ", + "Backup has an invalid signature from unverified session ": "La copia de seguridad tiene una firma de no válida de sesión no verificada ", + "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "La clave de respaldo se guardó en un almacenamiento secreto, pero esta función no está habilitada en esta sesión. Por favor, habilite la firma cruzada en Labs para modificar el estado de respaldo de la clave.", + "Upgrade to your own domain": "Actualizar a su propio dominio", + "Identity Server URL must be HTTPS": "La URL del servidor de identidad debe ser tipo HTTPS", + "Not a valid Identity Server (status code %(code)s)": "No es un servidor de identidad válido (código de estado %(code)s)", + "Could not connect to Identity Server": "No se pudo conectar al Servidor de Identidad", + "You should remove your personal data from identity server before disconnecting. Unfortunately, identity server is currently offline or cannot be reached.": "Usted debe eliminar sus datos personales del servidor de identidad antes de desconectarse. Desafortunadamente, el servidor de identidad está actualmente desconectado o es imposible comunicarse con él por otra razón.", + "check your browser plugins for anything that might block the identity server (such as Privacy Badger)": "comprueba los complementos (plugins) de tu navegador para ver si hay algo que pueda bloquear el servidor de identidad (como p.ej. Privacy Badger)", + "contact the administrators of identity server ": "contactar con los administradores del servidor de identidad ", + "wait and try again later": "espera y vuelve a intentarlo más tarde", + "Disconnect anyway": "Desconectar de todas formas", + "You are still sharing your personal data on the identity server .": "Usted todavía está compartiendo sus datos personales en el servidor de identidad .", + "We recommend that you remove your email addresses and phone numbers from the identity server before disconnecting.": "Le recomendamos que elimine sus direcciones de correo electrónico y números de teléfono del servidor de identidad antes de desconectarse.", + "Go back": "Atrás", + "Use an Integration Manager (%(serverName)s) to manage bots, widgets, and sticker packs.": "Usar un Administrador de Integración (%(serverName)s) para manejar los bots, los widgets y los paquetes de pegatinas.", + "Use an Integration Manager to manage bots, widgets, and sticker packs.": "Utiliza un Administrador de Integración para gestionar los bots, los widgets y los paquetes de pegatinas.", + "Invalid theme schema.": "Esquema de tema inválido.", + "Error downloading theme information.": "Error al descargar la información del tema.", + "Theme added!": "¡Se añadió el tema!", + "Custom theme URL": "URL de tema personalizado", + "Add theme": "Añadir tema", + "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "Para informar de un problema de seguridad relacionado con Matrix, por favor lea Security Disclosure Policy de Matrix.or.", + "Keyboard Shortcuts": "Atajos de teclado", + "Customise your experience with experimental labs features. Learn more.": "Personaliza tu experiencia con las funciones de los laboratorios experimentales. Learn more.", + "Something went wrong. Please try again or view your console for hints.": "Algo salió mal. Por favor, inténtalo de nuevo o mira tu consola para encontrar pistas.", + "Please try again or view your console for hints.": "Por favor, inténtalo de nuevo o mira tu consola para encontrar pistas.", + "Ban list rules - %(roomName)s": "Reglas de la lista negra - %(roomName)s", + "Add users and servers you want to ignore here. Use asterisks to have Riot match any characters. For example, @bot:* would ignore all users that have the name 'bot' on any server.": "Añade los usuarios y servidores que quieras ignorar aquí. Usa asteriscos para que Riot coincida cualquier conjunto de caracteres. Por ejemplo, @bot:* ignoraría a todos los usuarios,en cualquier servidor, que tengan el nombre 'bot' .", + "Ignoring people is done through ban lists which contain rules for who to ban. Subscribing to a ban list means the users/servers blocked by that list will be hidden from you.": "Ignorar usuarios se hace mediante listas negras que contienen reglas sobre a quién bloquear. Suscribirse a una lista negra significa que los usuarios/servidores bloqueados serán invisibles para tí.", + "Your personal ban list holds all the users/servers you personally don't want to see messages from. After ignoring your first user/server, a new room will show up in your room list named 'My Ban List' - stay in this room to keep the ban list in effect.": "Tu lista negra personal contiene todos los usuarios/servidores de los que no quieres ver mensajes. Después de ignorar su primer usuario/servidor, una nueva sala aparecerá en su lista de salas llamada \"Mi lista negra (de bloqueo)\" - permanezca en esta sala para mantener la lista de prohibición en efecto.", + "Subscribed lists": "Listados a que subscribiste", + "Subscribing to a ban list will cause you to join it!": "¡Suscribirse a una lista negra hará unirte a ella!", + "If this isn't what you want, please use a different tool to ignore users.": "Si esto no es lo que quieres, por favor usa una herramienta diferente para ignorar usuarios.", + "Room ID or alias of ban list": "Identificación (ID) de la habitación o alias de la lista negra", + "Subscribe": "Suscribir", + "Always show the window menu bar": "Siempre mostrar la barra de menú de la ventana", + "Show tray icon and minimize window to it on close": "Mostrar el icono en el Área de Notificación y minimizar la ventana al cerrarla", + "Composer": "Compositor", + "Timeline": "Línea de tiempo", + "Read Marker lifetime (ms)": "Permanencia del marcador de lectura (en ms)", + "Read Marker off-screen lifetime (ms)": "Permanencia del marcador de lectura fuera de la pantalla (en ms)", + "Session ID:": "Identidad (ID) de sesión:", + "Session key:": "Código de sesión:", + "Accept all %(invitedRooms)s invites": "Aceptar todas las invitaciones de %(invitedRooms)s", + "Cross-signing": "Firmar cruzada", + "Where you’re logged in": "En el lugar de ingreso (registro)", + "Manage the names of and sign out of your sessions below or verify them in your User Profile.": "Administre los nombres de sus sesiones y salga de las sesiones abajo o verifíquelos en su Perfil de Usuario.", + "A session's public name is visible to people you communicate with": "El nombre público de una sesión es visible para las personas con las que te comunicas", + "This room is bridging messages to the following platforms. Learn more.": "Esta sala está haciendo puente con las siguientes plataformas. Aprende más.", + "This room isn’t bridging messages to any platforms. Learn more.": "Esta sala no está haciendo puente con ninguna plataforma. Aprende más", + "Bridges": "Puentes", + "Uploaded sound": "Sonido subido", + "Reset": "Resetear", + "Unable to revoke sharing for email address": "No se logró revocar el compartir para la dirección de correo electrónico", + "Unable to share email address": "No se logró compartir la dirección de correo electrónico", + "Click the link in the email you received to verify and then click continue again.": "Haga clic en el enlace del correo electrónico que recibió para verificar y luego nuevamente haga clic en continuar.", + "Revoke": "Revocar", + "Discovery options will appear once you have added an email above.": "Las opciones de descubrimiento aparecerán una vez que haya añadido un correo electrónico arriba.", + "Unable to revoke sharing for phone number": "No se logró revocar el intercambio de un número de teléfono", + "Unable to share phone number": "No se logró compartir el número de teléfono", + "Please enter verification code sent via text.": "Por favor, introduzca el código de verificación enviado por mensaje de texto.", + "Discovery options will appear once you have added a phone number above.": "Las opciones de descubrimiento aparecerán una vez que haya añadido un número de teléfono arriba.", + "Remove %(phone)s?": "¿Eliminar %(phone)s?", + "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "Se ha enviado un mensaje de texto a +%(msisdn)s. Por favor, introduzca el código de verificación que contiene.", + "This user has not verified all of their sessions.": "Este usuario no ha verificado todas sus sesiones.", + "You have not verified this user.": "No has verificado a este usuario.", + "You have verified this user. This user has verified all of their sessions.": "Usted ha verificado este usuario. Este usuario ha verificado todas sus sesiones.", + "Someone is using an unknown session": "Alguien está usando una sesión desconocida", + "This room is end-to-end encrypted": "Esta sala usa encriptación de extremo a extremo", + "Everyone in this room is verified": "Todos los participantes en esta sala están verificados", + "Some sessions for this user are not trusted": "Algunas sesiones para este usuario no son de confianza", + "All sessions for this user are trusted": "Todas las sesiones para este usuario son de confianza", + "Some sessions in this encrypted room are not trusted": "Algunas sesiones en esta sala encriptada no son de confianza", + "All sessions in this encrypted room are trusted": "Todas las sesiones en esta sala encriptada son de confianza", + "Edit message": "Editar mensaje", + "Mod": "Mod", + "Your key share request has been sent - please check your other sessions for key share requests.": "Su solicitud de intercambio de claves ha sido enviada. Por favor, compruebe en sus otras sesiones si hay solicitudes de intercambio de claves.", + "Key share requests are sent to your other sessions automatically. If you rejected or dismissed the key share request on your other sessions, click here to request the keys for this session again.": "Solicitudes para compartir claves son enviadas a sus otras sesiones de forma automática. Si ha rechazado o descartado la solicitud de compartir claves en sus otras sesiones, haga clic aquí para solicitar de nuevo las claves de esta sesión.", + "If your other sessions do not have the key for this message you will not be able to decrypt them.": "Si sus otras sesiones no tienen la clave para este mensaje no podrás desencriptarlas.", + "Rotate counter-clockwise": "Girar en sentido contrario a las agujas del reloj", + "Rotate Right": "Girar a la derecha", + "Rotate clockwise": "Girar en el sentido de las agujas del reloj", + "Language Dropdown": "Lista selección de idiomas", + "%(severalUsers)smade no changes %(count)s times|other": "%(severalUsers)s %(count)s veces no efectuarion cambios", + "%(severalUsers)smade no changes %(count)s times|one": "%(severalUsers)s no efectuaron cambios", + "%(oneUser)smade no changes %(count)s times|other": "%(oneUser)s %(count)s veces no efectuó cambios", + "%(oneUser)smade no changes %(count)s times|one": "%(oneUser)s no efectuó cambios", + "Power level": "Nivel de poder", + "Room alias": "Alias (apodo) de la sala", + "e.g. my-room": "p.ej. mi-sala", + "Some characters not allowed": "Algunos caracteres no están permitidos", + "Please provide a room alias": "Por favor, proporcione un alias (apodo) para la sala", + "This alias is available to use": "Este alias (apodo) está disponible", + "This alias is already in use": "Este alias (apodo) ya está en uso", + "Sign in with single sign-on": "Ingresar con un Registro Único", + "Enter a server name": "Introduzca un nombre de servidor", + "Looks good": "Se ve bien", + "Can't find this server or its room list": "No puedo encontrar este servidor o su lista de salas", + "All rooms": "Todas las salas", + "Your server": "Tu", + "Are you sure you want to remove %(serverName)s": "¿Estás seguro de querer quitar %(serverName)s ?", + "Remove server": "Quitar servidor", + "Matrix": "Matrix", + "Add a new server": "Añadir un nuevo servidor", + "Enter the name of a new server you want to explore.": "Introduce el nombre de un nuevo servidor que quieras explorar.", + "Server name": "Nombre del servidor", + "Add a new server...": "Añade un nuevo servidor ...", + "%(networkName)s rooms": "%(networkName)s sala", + "Matrix rooms": "Salas de Matrix", + "Use an identity server to invite by email. Use the default (%(defaultIdentityServerName)s) or manage in Settings.": "Usar un Servidor de Identidad para invitar vía correo electrónico. . Use (%(defaultIdentityServerName)s)o seleccione en Ajustes.", + "Use an identity server to invite by email. Manage in Settings.": "Utilice un servidor de identidad para invitar por correo electrónico. Gestionar en Ajustes.", + "Close dialog": "Cerrar diálogo", + "Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Por favor, díganos qué salió mal o, mejor aún, cree un reporte de GitHub que describa el problema.", + "Reminder: Your browser is unsupported, so your experience may be unpredictable.": "Recordatorio: Su navegador no es compatible, por lo que su experiencia puede ser impredecible.", + "GitHub issue": "reporte GitHub", + "Notes": "Notas", + "If there is additional context that would help in analysing the issue, such as what you were doing at the time, room IDs, user IDs, etc., please include those things here.": "Si hay algún contexto adicional que ayude a analizar el tema, como por ejemplo lo que estaba haciendo en ese momento, nombre (ID) de sala, nombre (ID)de usuario, etc., por favor incluya esas cosas aquí.", + "Removing…": "Quitando…", + "Destroy cross-signing keys?": "¿Destruir las claves de firma cruzada?", + "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "La eliminación de claves de firma cruzada es definitiva. Cualquiera con el que lo hayas verificado verá alertas de seguridad. Es casi seguro que no quieres hacer esto, a menos que hayas perdido todos los dispositivos puedas usar hacer una firma cruzada.", + "Clear cross-signing keys": "Borrar claves de firma cruzada", + "Clear all data in this session?": "¿Borrar todos los datos en esta sesión?", + "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "La eliminación de todos los datos de esta sesión es definitiva. Los mensajes encriptados se perderán a menos que se haya hecho una copia de seguridad de sus claves.", + "Clear all data": "Borrar todos los datos", + "Please enter a name for the room": "Por favor, introduzca un nombre para la sala", + "Set a room alias to easily share your room with other people.": "Fijar un alias (apodo) para su sala para compartirla con mayor facilidadn con otras personas.", + "This room is private, and can only be joined by invitation.": "Esta sala es privada, y sólo se puede acceder a ella por invitación.", + "Enable end-to-end encryption": "Habilitar la encriptación de extremo a extremo", + "You can’t disable this later. Bridges & most bots won’t work yet.": "No puedes deshabilitar esto después. Los puentes y la mayoría de los bots no funcionarán todavía.", + "Create a public room": "Crear una sala pública", + "Create a private room": "Crear una sala pública", + "Topic (optional)": "Tema (opcional)", + "Make this room public": "Convierte esta sala en pública", + "Hide advanced": "Ocultar avanzado", + "Show advanced": "Mostrar avanzado", + "Block users on other matrix homeservers from joining this room (This setting cannot be changed later!)": "Evitar que usuarios de otros servidores Matrix se unan a esta sala (¡Este ajuste no puede ser cambiada más tarde!)", + "Server did not require any authentication": "El servidor no requirió ninguna autenticación", + "Server did not return valid authentication information.": "El servidor no devolvió información de autenticación válida.", + "Confirm your account deactivation by using Single Sign On to prove your identity.": "Confirme la desactivación de su cuenta, usando Registro Único para probar su identidad.", + "Are you sure you want to deactivate your account? This is irreversible.": "¿Está seguro de que quiere desactivar su cuenta? Es irreversible.", + "Confirm account deactivation": "Confirmar la desactivación de la cuenta", + "There was a problem communicating with the server. Please try again.": "Hubo un problema de comunicación con el servidor. Por favor, inténtelo de nuevo.", + "Verify session": "Verificar sesión", + "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Para verificar que se puede confiar en esta sesión, comprueba que la clave que ves en la Configuración del Usuario de ese dispositivo coincide con la clave que aparece a continuación:", + "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:": "Para verificar que se puede confiar en esta sesión, póngase en contacto con su dueño por algún otro medio (por ejemplo, en persona o por teléfono) y pregúntele si el código que ve en su Configuración de usuario para esta sesión coincide con el código abajo:", + "Session name": "Nombre de sesión", + "Session key": "Código de sesión", + "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this session and you probably want to press the blacklist button instead.": "Si coincide, presione el botón de verificación de abajo. Si no, entonces otra persona está interceptando esta sesión y probablemente quieras presionar el botón de la lista negra en su lugar.", + "View Servers in Room": "Ver servidores en la sala", + "Verification Requests": "Solicitudes de verificación", + "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Verificar que este usuario marcará su sesión como de confianza, y también que marcará su sesión como de confianza para él.", + "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifique este dispositivo para marcarlo como confiable. Confiar en este dispositivo le da a usted y a otros usuarios tranquilidad adicional cuando utilizan mensajes cifrados de extremo a extremo.", + "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "La verificación de este dispositivo lo marcará como de confianza. Los usuarios que dejaron verificarse por usted confiarán en este dispositivo.", + "Integrations are disabled": "Las integraciones están deshabilitadas", + "Enable 'Manage Integrations' in Settings to do this.": "Habilita 'Gestionar Integraciones' en Ajustes para hacer esto.", + "Integrations not allowed": "Integraciones no están permitidas", + "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Su Riot no le permite utilizar un \"Administrador de Integración\" para hacer esto. Por favor, contacte con un administrador.", + "Failed to invite the following users to chat: %(csvUsers)s": "Error invitando a los siguientes usuarios al chat: %(csvUsers)s", + "We couldn't create your DM. Please check the users you want to invite and try again.": "No pudimos crear tu DM. Por favor, marca los usuarios que quieres invitar e inténtalo de nuevo.", + "Start a conversation with someone using their name, username (like ) or email address.": "Iniciar una conversación con alguien usando su nombre, nombre de usuario (como ) o dirección de correo electrónico.", + "Invite someone using their name, username (like ), email address or share this room.": "Invitar a alguien usando su nombre, nombre de usuario (como ), dirección de correo electrónico o compartir esta sala.", + "a new master key signature": "una nueva firma de llave maestra", + "a new cross-signing key signature": "una nueva firma de código de firma cruzada", + "a device cross-signing signature": "una firma para la firma cruzada de dispositivos", + "a key signature": "un firma de clave", + "Riot encountered an error during upload of:": "Riot encontró un error durante la carga de:", + "End": "Fin" } From a8db033dd45b026c6655bffe695ed900cc1fa22c Mon Sep 17 00:00:00 2001 From: pebles Date: Sun, 10 May 2020 21:18:00 +0000 Subject: [PATCH 146/203] Translated using Weblate (Spanish) Currently translated at 77.4% (1782 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 99ad342b69..6d1701b580 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1813,5 +1813,12 @@ "a device cross-signing signature": "una firma para la firma cruzada de dispositivos", "a key signature": "un firma de clave", "Riot encountered an error during upload of:": "Riot encontró un error durante la carga de:", - "End": "Fin" + "End": "Fin", + "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Una vez habilitado, el cifrado de una sala no puede deshabilitarse. Los mensajes enviados a una sala cifrada no pueden ser vistos por el servidor, sólo lo verán los participantes de la sala. Habilitar el cifrado puede hacer que muchos bots y bridges no funcionen correctamente. Aprende más de cifrado", + "Joining room …": "Uniéndose a sala ...", + "Loading …": "Cargando ...", + "Rejecting invite …": "Rechazando invitación ...", + "Join the conversation with an account": "Unirse a la conversación con una cuenta", + "Sign Up": "Registrarse", + "You were kicked from %(roomName)s by %(memberName)s": "%(memberName)s te ha explusado de %(roomName)s" } From f0ffd8c2087f1886524f3db68c3f763c962fdfa2 Mon Sep 17 00:00:00 2001 From: Jan van der Weijst Date: Sun, 10 May 2020 21:19:29 +0000 Subject: [PATCH 147/203] Translated using Weblate (Spanish) Currently translated at 77.6% (1787 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 6d1701b580..732c56b1d0 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1820,5 +1820,5 @@ "Rejecting invite …": "Rechazando invitación ...", "Join the conversation with an account": "Unirse a la conversación con una cuenta", "Sign Up": "Registrarse", - "You were kicked from %(roomName)s by %(memberName)s": "%(memberName)s te ha explusado de %(roomName)s" + "You were kicked from %(roomName)s by %(memberName)s": "%(memberName)s te ha explusado de la sala %(roomName)s" } From ecb3816e61886a6e29782ba5eb8b3b5535cf994f Mon Sep 17 00:00:00 2001 From: pebles Date: Sun, 10 May 2020 21:19:39 +0000 Subject: [PATCH 148/203] Translated using Weblate (Spanish) Currently translated at 77.6% (1787 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 732c56b1d0..005c6363cc 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1820,5 +1820,10 @@ "Rejecting invite …": "Rechazando invitación ...", "Join the conversation with an account": "Unirse a la conversación con una cuenta", "Sign Up": "Registrarse", - "You were kicked from %(roomName)s by %(memberName)s": "%(memberName)s te ha explusado de la sala %(roomName)s" + "You were kicked from %(roomName)s by %(memberName)s": "%(memberName)s te ha explusado de la sala %(roomName)s", + "Reason: %(reason)s": "Razón: %(reason)s", + "Forget this room": "Olvidar esta sala", + "Re-join": "Re-entrar", + "You were banned from %(roomName)s by %(memberName)s": "%(memberName)s te ha expulsado de %(roomName)s", + "Something went wrong with your invite to %(roomName)s": "Algo ha ido mal con tu invitación a %(roomName)s" } From e30d4dab35ecbc963678e1b50a3ec0809713beb0 Mon Sep 17 00:00:00 2001 From: Jan van der Weijst Date: Sun, 10 May 2020 21:20:56 +0000 Subject: [PATCH 149/203] Translated using Weblate (Spanish) Currently translated at 77.6% (1788 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 005c6363cc..fec9b8688b 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1825,5 +1825,5 @@ "Forget this room": "Olvidar esta sala", "Re-join": "Re-entrar", "You were banned from %(roomName)s by %(memberName)s": "%(memberName)s te ha expulsado de %(roomName)s", - "Something went wrong with your invite to %(roomName)s": "Algo ha ido mal con tu invitación a %(roomName)s" + "Something went wrong with your invite to %(roomName)s": "Algo salió a mal invitando a %(roomName)s" } From 79fbc1452ebdd1cc48bf80ecd423776cc5115054 Mon Sep 17 00:00:00 2001 From: pebles Date: Sun, 10 May 2020 21:21:19 +0000 Subject: [PATCH 150/203] Translated using Weblate (Spanish) Currently translated at 77.6% (1788 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index fec9b8688b..375a13a3f6 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1825,5 +1825,6 @@ "Forget this room": "Olvidar esta sala", "Re-join": "Re-entrar", "You were banned from %(roomName)s by %(memberName)s": "%(memberName)s te ha expulsado de %(roomName)s", - "Something went wrong with your invite to %(roomName)s": "Algo salió a mal invitando a %(roomName)s" + "Something went wrong with your invite to %(roomName)s": "Algo salió a mal invitando a %(roomName)s", + "You can only join it with a working invite.": "Sólo puedes unirte con una invitación activa." } From 94c1ef85531123092d3be05533e2c49d5d7b3dba Mon Sep 17 00:00:00 2001 From: Jan van der Weijst Date: Sun, 10 May 2020 21:21:44 +0000 Subject: [PATCH 151/203] Translated using Weblate (Spanish) Currently translated at 77.7% (1789 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 375a13a3f6..ebe8399318 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1826,5 +1826,5 @@ "Re-join": "Re-entrar", "You were banned from %(roomName)s by %(memberName)s": "%(memberName)s te ha expulsado de %(roomName)s", "Something went wrong with your invite to %(roomName)s": "Algo salió a mal invitando a %(roomName)s", - "You can only join it with a working invite.": "Sólo puedes unirte con una invitación activa." + "You can only join it with a working invite.": "Sólo puedes unirte con una invitación que funciona." } From 6f2430daeae606ed3514efa135c8915e9d1f94ff Mon Sep 17 00:00:00 2001 From: pebles Date: Sun, 10 May 2020 21:21:55 +0000 Subject: [PATCH 152/203] Translated using Weblate (Spanish) Currently translated at 77.7% (1789 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index ebe8399318..5efd6094d2 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1826,5 +1826,6 @@ "Re-join": "Re-entrar", "You were banned from %(roomName)s by %(memberName)s": "%(memberName)s te ha expulsado de %(roomName)s", "Something went wrong with your invite to %(roomName)s": "Algo salió a mal invitando a %(roomName)s", - "You can only join it with a working invite.": "Sólo puedes unirte con una invitación que funciona." + "You can only join it with a working invite.": "Sólo puedes unirte con una invitación que funciona.", + "Try to join anyway": "Unirse de todas formas" } From 584e56b4bb5366f1e2767fe93538156f973d3e9a Mon Sep 17 00:00:00 2001 From: Jan van der Weijst Date: Sun, 10 May 2020 21:22:12 +0000 Subject: [PATCH 153/203] Translated using Weblate (Spanish) Currently translated at 77.7% (1790 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 5efd6094d2..fec02550ca 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1827,5 +1827,5 @@ "You were banned from %(roomName)s by %(memberName)s": "%(memberName)s te ha expulsado de %(roomName)s", "Something went wrong with your invite to %(roomName)s": "Algo salió a mal invitando a %(roomName)s", "You can only join it with a working invite.": "Sólo puedes unirte con una invitación que funciona.", - "Try to join anyway": "Unirse de todas formas" + "Try to join anyway": "Intentar unirse de todas formas" } From c74b71013b45be98cdb9b1eff5cfb2b7a279cd4b Mon Sep 17 00:00:00 2001 From: pebles Date: Sun, 10 May 2020 21:22:38 +0000 Subject: [PATCH 154/203] Translated using Weblate (Spanish) Currently translated at 77.7% (1790 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index fec02550ca..0cc68582ae 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1827,5 +1827,6 @@ "You were banned from %(roomName)s by %(memberName)s": "%(memberName)s te ha expulsado de %(roomName)s", "Something went wrong with your invite to %(roomName)s": "Algo salió a mal invitando a %(roomName)s", "You can only join it with a working invite.": "Sólo puedes unirte con una invitación que funciona.", - "Try to join anyway": "Intentar unirse de todas formas" + "Try to join anyway": "Intentar unirse de todas formas", + "You can still join it because this is a public room.": "Puedes unirte porque es una sala pública." } From e61a5e04f2da11ca3236ebb56352a5dc9adad22a Mon Sep 17 00:00:00 2001 From: Jan van der Weijst Date: Sun, 10 May 2020 21:23:28 +0000 Subject: [PATCH 155/203] Translated using Weblate (Spanish) Currently translated at 77.9% (1793 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 0cc68582ae..3edebaff1a 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1828,5 +1828,5 @@ "Something went wrong with your invite to %(roomName)s": "Algo salió a mal invitando a %(roomName)s", "You can only join it with a working invite.": "Sólo puedes unirte con una invitación que funciona.", "Try to join anyway": "Intentar unirse de todas formas", - "You can still join it because this is a public room.": "Puedes unirte porque es una sala pública." + "You can still join it because this is a public room.": "Todavía puedes unirte, ya que es una sala pública." } From 71aa3d9487f2a1c3e288d1fe228cf8fd469ff368 Mon Sep 17 00:00:00 2001 From: pebles Date: Sun, 10 May 2020 21:23:36 +0000 Subject: [PATCH 156/203] Translated using Weblate (Spanish) Currently translated at 77.9% (1793 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 3edebaff1a..76d07172fa 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1828,5 +1828,8 @@ "Something went wrong with your invite to %(roomName)s": "Algo salió a mal invitando a %(roomName)s", "You can only join it with a working invite.": "Sólo puedes unirte con una invitación que funciona.", "Try to join anyway": "Intentar unirse de todas formas", - "You can still join it because this is a public room.": "Todavía puedes unirte, ya que es una sala pública." + "You can still join it because this is a public room.": "Todavía puedes unirte, ya que es una sala pública.", + "Join the discussion": "Unirse a la discusión", + "Do you want to chat with %(user)s?": "¿Quieres chatear con %(user)s?", + "Do you want to join %(roomName)s?": "¿Quieres unirte a %(roomName)s?" } From b8910580a486696fe18dba93a45dc79bc7efa57c Mon Sep 17 00:00:00 2001 From: Jan van der Weijst Date: Sun, 10 May 2020 21:24:03 +0000 Subject: [PATCH 157/203] Translated using Weblate (Spanish) Currently translated at 78.0% (1796 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 76d07172fa..dd6f930b0c 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1831,5 +1831,5 @@ "You can still join it because this is a public room.": "Todavía puedes unirte, ya que es una sala pública.", "Join the discussion": "Unirse a la discusión", "Do you want to chat with %(user)s?": "¿Quieres chatear con %(user)s?", - "Do you want to join %(roomName)s?": "¿Quieres unirte a %(roomName)s?" + "Do you want to join %(roomName)s?": "¿Quieres unirte a la sala %(roomName)s?" } From 8881758186f5aa5f7c300bfdfead3c0ed79bfb5a Mon Sep 17 00:00:00 2001 From: pebles Date: Sun, 10 May 2020 21:24:19 +0000 Subject: [PATCH 158/203] Translated using Weblate (Spanish) Currently translated at 78.0% (1796 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index dd6f930b0c..272dfb121b 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1831,5 +1831,8 @@ "You can still join it because this is a public room.": "Todavía puedes unirte, ya que es una sala pública.", "Join the discussion": "Unirse a la discusión", "Do you want to chat with %(user)s?": "¿Quieres chatear con %(user)s?", - "Do you want to join %(roomName)s?": "¿Quieres unirte a la sala %(roomName)s?" + "Do you want to join %(roomName)s?": "¿Quieres unirte a la sala %(roomName)s?", + " invited you": " te ha invitado", + "You're previewing %(roomName)s. Want to join it?": "Estás previsualizando %(roomName)s. ¿Quieres unirte?", + "%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s no se puede previsualizar. ¿Quieres unirte?" } From d2d267421e9435e95fc2f00feb3a13a429ec834a Mon Sep 17 00:00:00 2001 From: Jan van der Weijst Date: Sun, 10 May 2020 21:25:48 +0000 Subject: [PATCH 159/203] Translated using Weblate (Spanish) Currently translated at 78.0% (1797 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 272dfb121b..a4f12f4778 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1834,5 +1834,5 @@ "Do you want to join %(roomName)s?": "¿Quieres unirte a la sala %(roomName)s?", " invited you": " te ha invitado", "You're previewing %(roomName)s. Want to join it?": "Estás previsualizando %(roomName)s. ¿Quieres unirte?", - "%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s no se puede previsualizar. ¿Quieres unirte?" + "%(roomName)s can't be previewed. Do you want to join it?": "La sala %(roomName)s no permite previsualización. ¿Quieres unirte?" } From d331b2d232533db8f690543bdab5336ec42526ee Mon Sep 17 00:00:00 2001 From: pebles Date: Sun, 10 May 2020 21:26:05 +0000 Subject: [PATCH 160/203] Translated using Weblate (Spanish) Currently translated at 78.0% (1797 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index a4f12f4778..5f3f197cfc 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1834,5 +1834,6 @@ "Do you want to join %(roomName)s?": "¿Quieres unirte a la sala %(roomName)s?", " invited you": " te ha invitado", "You're previewing %(roomName)s. Want to join it?": "Estás previsualizando %(roomName)s. ¿Quieres unirte?", - "%(roomName)s can't be previewed. Do you want to join it?": "La sala %(roomName)s no permite previsualización. ¿Quieres unirte?" + "%(roomName)s can't be previewed. Do you want to join it?": "La sala %(roomName)s no permite previsualización. ¿Quieres unirte?", + "This room doesn't exist. Are you sure you're at the right place?": "Esta sala no existe. ¿Está seguro de que la sala es correcta?" } From 49a531287fbcc88bd000deb30a561887fa7c39ed Mon Sep 17 00:00:00 2001 From: Jan van der Weijst Date: Sun, 10 May 2020 21:26:41 +0000 Subject: [PATCH 161/203] Translated using Weblate (Spanish) Currently translated at 78.1% (1798 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 5f3f197cfc..4356129ed2 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1835,5 +1835,5 @@ " invited you": " te ha invitado", "You're previewing %(roomName)s. Want to join it?": "Estás previsualizando %(roomName)s. ¿Quieres unirte?", "%(roomName)s can't be previewed. Do you want to join it?": "La sala %(roomName)s no permite previsualización. ¿Quieres unirte?", - "This room doesn't exist. Are you sure you're at the right place?": "Esta sala no existe. ¿Está seguro de que la sala es correcta?" + "This room doesn't exist. Are you sure you're at the right place?": "Esta sala no existe. ¿Está seguro de estar en el lugar correcto?" } From ddaac161dba5558d484716d5caca559f766967ba Mon Sep 17 00:00:00 2001 From: pebles Date: Sun, 10 May 2020 21:26:56 +0000 Subject: [PATCH 162/203] Translated using Weblate (Spanish) Currently translated at 78.1% (1798 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 4356129ed2..010d714cf7 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1835,5 +1835,6 @@ " invited you": " te ha invitado", "You're previewing %(roomName)s. Want to join it?": "Estás previsualizando %(roomName)s. ¿Quieres unirte?", "%(roomName)s can't be previewed. Do you want to join it?": "La sala %(roomName)s no permite previsualización. ¿Quieres unirte?", - "This room doesn't exist. Are you sure you're at the right place?": "Esta sala no existe. ¿Está seguro de estar en el lugar correcto?" + "This room doesn't exist. Are you sure you're at the right place?": "Esta sala no existe. ¿Está seguro de estar en el lugar correcto?", + "Try again later, or ask a room admin to check if you have access.": "Inténtalo más tarde, o pide a algún administrador de la sala que compruebe si tienes acceso." } From cfe5fc15fb23b8cfdff082a3d465d8b8ee4579c7 Mon Sep 17 00:00:00 2001 From: Jan van der Weijst Date: Sun, 10 May 2020 21:27:42 +0000 Subject: [PATCH 163/203] Translated using Weblate (Spanish) Currently translated at 78.1% (1799 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 010d714cf7..8ce59bca92 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1836,5 +1836,5 @@ "You're previewing %(roomName)s. Want to join it?": "Estás previsualizando %(roomName)s. ¿Quieres unirte?", "%(roomName)s can't be previewed. Do you want to join it?": "La sala %(roomName)s no permite previsualización. ¿Quieres unirte?", "This room doesn't exist. Are you sure you're at the right place?": "Esta sala no existe. ¿Está seguro de estar en el lugar correcto?", - "Try again later, or ask a room admin to check if you have access.": "Inténtalo más tarde, o pide a algún administrador de la sala que compruebe si tienes acceso." + "Try again later, or ask a room admin to check if you have access.": "Inténtalo más tarde, o pide que un administrador de la sala compruebe si tienes acceso." } From 93266aedede97a4661e159d58c682bfecb82d98a Mon Sep 17 00:00:00 2001 From: pebles Date: Sun, 10 May 2020 21:28:13 +0000 Subject: [PATCH 164/203] Translated using Weblate (Spanish) Currently translated at 78.1% (1799 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 8ce59bca92..45baa42f58 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1836,5 +1836,6 @@ "You're previewing %(roomName)s. Want to join it?": "Estás previsualizando %(roomName)s. ¿Quieres unirte?", "%(roomName)s can't be previewed. Do you want to join it?": "La sala %(roomName)s no permite previsualización. ¿Quieres unirte?", "This room doesn't exist. Are you sure you're at the right place?": "Esta sala no existe. ¿Está seguro de estar en el lugar correcto?", - "Try again later, or ask a room admin to check if you have access.": "Inténtalo más tarde, o pide que un administrador de la sala compruebe si tienes acceso." + "Try again later, or ask a room admin to check if you have access.": "Inténtalo más tarde, o pide que un administrador de la sala compruebe si tienes acceso.", + "%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please submit a bug report.": "%(errcode)s fue devuelto al intentar acceder a la sala. Si crees que no deberías ver el mensaje de error, por favor comunícanos el bug." } From 76d054bbf3025956aec248240ca0c01e5712c9f2 Mon Sep 17 00:00:00 2001 From: Jan van der Weijst Date: Sun, 10 May 2020 21:29:15 +0000 Subject: [PATCH 165/203] Translated using Weblate (Spanish) Currently translated at 78.1% (1799 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 45baa42f58..3cb39a4b45 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -1837,5 +1837,5 @@ "%(roomName)s can't be previewed. Do you want to join it?": "La sala %(roomName)s no permite previsualización. ¿Quieres unirte?", "This room doesn't exist. Are you sure you're at the right place?": "Esta sala no existe. ¿Está seguro de estar en el lugar correcto?", "Try again later, or ask a room admin to check if you have access.": "Inténtalo más tarde, o pide que un administrador de la sala compruebe si tienes acceso.", - "%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please submit a bug report.": "%(errcode)s fue devuelto al intentar acceder a la sala. Si crees que no deberías ver el mensaje de error, por favor comunícanos el bug." + "%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please submit a bug report.": "%(errcode)s fue devuelto al intentar acceder a la sala. Si crees que no deberías ver el mensaje, por favor somete un reporte de error." } From 662077fe67fdb363562c48d13c13318b54a4a00c Mon Sep 17 00:00:00 2001 From: Sejo Date: Sun, 10 May 2020 21:31:12 +0000 Subject: [PATCH 166/203] Translated using Weblate (Spanish) Currently translated at 78.1% (1799 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 3cb39a4b45..17ddee917f 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -537,7 +537,7 @@ "Event Type": "Tipo de Evento", "No rooms to show": "No hay salas para mostrar", "Download this file": "Descargar este archivo", - "Pin Message": "Marcar Mensaje", + "Pin Message": "Fija Mensaje", "Failed to change settings": "Error al cambiar los ajustes", "View Community": "Ver la comunidad", "Developer Tools": "Herramientas de desarrollo", From 19e8f16da6ececcf8c4d4ae208ec457f5fd542b8 Mon Sep 17 00:00:00 2001 From: "Pepper.Cabbit.Snoopy" Date: Sun, 10 May 2020 09:41:39 +0000 Subject: [PATCH 167/203] Translated using Weblate (Chinese (Simplified)) Currently translated at 60.7% (1399 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hans/ --- src/i18n/strings/zh_Hans.json | 70 +++++++++++++++++++++++++++++++++-- 1 file changed, 66 insertions(+), 4 deletions(-) diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json index 58e4130d99..4eff773d1c 100644 --- a/src/i18n/strings/zh_Hans.json +++ b/src/i18n/strings/zh_Hans.json @@ -724,7 +724,7 @@ "Noisy": "响铃", "Error saving email notification preferences": "保存电子邮件通知选项时出错", "Messages containing my display name": "消息中含有我的显示名称", - "Messages in one-to-one chats": "一对一聊天种的消息", + "Messages in one-to-one chats": "一对一聊天中的消息", "Unavailable": "无法获得", "View Decrypted Source": "查看解密的来源", "Failed to update keywords": "无法更新关键词", @@ -1354,8 +1354,8 @@ "Please install Chrome, Firefox, or Safari for the best experience.": "请安装 ChromeFirefox,或 Safari 以获得最佳体验。", "Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "警告:升级聊天室 不会自动将聊天室成员转移到新版聊天室中。 我们将会在旧版聊天室中发布一个新版聊天室的链接 - 聊天室成员必须点击该链接以加入新聊天室。", "Adds a custom widget by URL to the room": "用链接方式为聊天室添加自定义小部件", - "Please supply a https:// or http:// widget URL": "请提供一个 https:// 或 http:// 形式的小部件链接", - "You cannot modify widgets in this room.": "您无法修改此聊天室的小部件。", + "Please supply a https:// or http:// widget URL": "请提供一个 https:// 或 http:// 形式的插件", + "You cannot modify widgets in this room.": "您无法修改此聊天室的插件。", "%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s 撤销了对 %(targetDisplayName)s 加入聊天室的邀请。", "Upgrade this room to the recommended room version": "升级此聊天室至推荐版本", "This room is running room version , which this homeserver has marked as unstable.": "此聊天室运行的聊天室版本是 ,该版本已被主服务器标记为 不稳定 。", @@ -1381,5 +1381,67 @@ "Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "请联系您主服务器(%(homeserverDomain)s)的管理员设置 TURN 服务器来确保通话运作稳定。", "Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "您也可以尝试使用turn.matrix.org公共服务器,但通话质量稍差,并且其将会得知您的 IP。您可以在设置中更改此选项。", "Try using turn.matrix.org": "尝试使用 turn.matrix.org", - "Your Riot is misconfigured": "您的 Riot 配置有错误" + "Your Riot is misconfigured": "您的 Riot 配置有错误", + "Use Single Sign On to continue": "使用单点登陆继续", + "Confirm adding this email address by using Single Sign On to prove your identity.": "确认添加此邮件地址,通过使用单点登陆来证明您的身份。", + "Single Sign On": "单点登陆", + "Confirm adding email": "确认使用邮件", + "Click the button below to confirm adding this email address.": "点击下面的按钮,添加此邮箱地址。", + "Confirm adding this phone number by using Single Sign On to prove your identity.": "通过单点确认添加此电话号码以确认您的身份。", + "Confirm adding phone number": "确认添加电话号码", + "Click the button below to confirm adding this phone number.": "点击下面的按钮,确认添加此电话号码。", + "The version of Riot": "Riot版本", + "Whether you're using Riot on a device where touch is the primary input mechanism": "是否在触屏设备上使用Riot", + "Whether you're using Riot as an installed Progressive Web App": "您是否已经安装Riot作为一种渐进式的Web应用", + "Your user agent": "您的代理用户", + "The information being sent to us to help make Riot better includes:": "发送信息给我们以帮助Riot:", + "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "聊天室有未知会话:如果您选择继续而不是验证他们,则您的电话可能会被窃听。", + "Review Sessions": "审查会议", + "Replying With Files": "回复文件", + "At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "无法回复此文件。您要上传此文件但无需回复吗?", + "The file '%(fileName)s' failed to upload.": "上传文件 ‘%(fileName)s’失败。", + "The server does not support the room version specified.": "服务器不支持指定的聊天室版本。", + "If you cancel now, you won't complete verifying the other user.": "如果现在取消,您将无法完成验证其他用户。", + "If you cancel now, you won't complete verifying your other session.": "如果现在取消,您将无法完成验证您的其他会话。", + "If you cancel now, you won't complete your operation.": "如果现在取消,您将无法完成您的操作。", + "Cancel entering passphrase?": "取消输入密码?", + "Setting up keys": "设置按键", + "Verify this session": "验证此会话", + "Encryption upgrade available": "提供加密升级", + "Set up encryption": "设置加密", + "Review where you’re logged in": "查看您的登陆位置", + "New login. Was this you?": "现在登陆。请问是您本人吗?", + "Name or Matrix ID": "姓名或Matrix账号", + "Identity server has no terms of service": "身份服务器无服务条款", + "This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "此操作需要访问默认的身份服务器以验证电子邮件地址或电话号码,但是此服务器无任何服务条款。", + "Only continue if you trust the owner of the server.": "只有您信任服务器所有者才能继续。", + "Trust": "信任", + "%(name)s is requesting verification": "%(name)s请求验证", + "Sign In or Create Account": "登录或创建账户", + "Use your account or create a new one to continue.": "使用已有账户或创建一个新账户。", + "Create Account": "创建账户", + "Sign In": "登录", + "Custom (%(level)s)": "访客(%(level)s)", + "Messages": "信息", + "Actions": "动作", + "Sends a message as plain text, without interpreting it as markdown": "以纯文本形式发送消息,而不是markdown", + "Sends a message as html, without interpreting it as markdown": "以html格式发送消息,而不是markdown", + "You do not have the required permissions to use this command.": "您没有权限使用此命令。", + "Error upgrading room": "升级聊天室出错", + "Double check that your server supports the room version chosen and try again.": "再次检查您的服务器是否支持所选聊天室版本,然后重试。", + "Changes the avatar of the current room": "更改当前聊天室头像", + "Changes your avatar in this current room only": "仅改变您在当前聊天室的头像", + "Changes your avatar in all rooms": "改变您在所有聊天室的头像", + "Failed to set topic": "设置话题失败", + "Use an identity server": "使用身份服务器", + "Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "使用身份服务器通过电子邮件邀请。单击继续以使用默认身份服务器(%(defaultIdentityServerName)s)或在设置中进行管理。", + "Use an identity server to invite by email. Manage in Settings.": "使用身份服务器以电子邮件邀请。在设置中进行管理。", + "Unbans user with given ID": "禁止给定ID的用户", + "Command failed": "命令失败", + "Could not find user in room": "聊天室中无用户", + "Please supply a widget URL or embed code": "请提供一个插件或嵌入代码", + "Verifies a user, session, and pubkey tuple": "验证用户、会话和公钥元组", + "Unknown (user, session) pair:": "未知(用户、会话)对:", + "Session already verified!": "会话已验证!", + "WARNING: Session already verified, but keys do NOT MATCH!": "警告:会话已验证,但密钥不匹配!" } From 8cd04a5f3201f32a52382582cee56575d181aff5 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Sat, 9 May 2020 02:15:35 +0000 Subject: [PATCH 168/203] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2303 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hant/ --- src/i18n/strings/zh_Hant.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index 85bbaaabc1..ba8ffa0fcb 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -2419,5 +2419,7 @@ "Successfully restored %(sessionCount)s keys": "成功復原 %(sessionCount)s 金鑰", "You signed in to a new session without verifying it:": "您已登入新的工作階段但未驗證:", "Verify your other session using one of the options below.": "使用下方的其中一個選項來驗證您其他的工作階段。", - "Invite someone using their name, username (like ), email address or share this room.": "使用某人的名字、使用者名稱(如 )、電子郵件地址或分享此聊天室來邀請他們。" + "Invite someone using their name, username (like ), email address or share this room.": "使用某人的名字、使用者名稱(如 )、電子郵件地址或分享此聊天室來邀請他們。", + "Message deleted": "訊息已刪除", + "Message deleted by %(name)s": "訊息已被 %(name)s 刪除" } From b5e10b4464be71535daeb8494b3ee8cc12a77f47 Mon Sep 17 00:00:00 2001 From: "J. A. Durieux" Date: Sat, 9 May 2020 13:49:33 +0000 Subject: [PATCH 169/203] Translated using Weblate (Dutch) Currently translated at 91.9% (2117 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/nl/ --- src/i18n/strings/nl.json | 46 ++++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json index 19f626bc0a..5dfb779ff1 100644 --- a/src/i18n/strings/nl.json +++ b/src/i18n/strings/nl.json @@ -247,8 +247,8 @@ "%(senderName)s requested a VoIP conference.": "%(senderName)s heeft een VoIP-vergadering aangevraagd.", "Results from DuckDuckGo": "Resultaten van DuckDuckGo", "Return to login screen": "Terug naar het aanmeldscherm", - "Riot does not have permission to send you notifications - please check your browser settings": "Riot heeft geen toestemming om u meldingen te versturen - controleer uw browserinstellingen", - "Riot was not given permission to send notifications - please try again": "Riot kreeg geen toestemming om u meldingen te sturen - probeer het opnieuw", + "Riot does not have permission to send you notifications - please check your browser settings": "Riot heeft geen toestemming u meldingen te sturen - controleer uw browserinstellingen", + "Riot was not given permission to send notifications - please try again": "Riot kreeg geen toestemming u meldingen te sturen - probeer het opnieuw", "riot-web version:": "riot-web-versie:", "Room %(roomId)s not visible": "Gesprek %(roomId)s is niet zichtbaar", "Room Colour": "Gesprekskleur", @@ -526,7 +526,7 @@ "Unknown for %(duration)s": "Onbekend voor %(duration)s", "Unknown": "Onbekend", "Replying": "Aan het beantwoorden", - "No rooms to show": "Geen gesprekken om weer te geven", + "No rooms to show": "Geen weer te geven gesprekken", "Unnamed room": "Naamloos gesprek", "World readable": "Leesbaar voor iedereen", "Guests can join": "Gasten kunnen toetreden", @@ -1376,7 +1376,7 @@ "You have %(count)s unread notifications in a prior version of this room.|one": "U heeft %(count)s ongelezen meldingen in een vorige versie van dit gesprek.", "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Of u de icoontjes voor recente gesprekken (boven de gesprekkenlijst) al dan niet gebruikt", "Replying With Files": "Beantwoorden met bestanden", - "At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Momenteel is het niet mogelijk om met een bestand te antwoorden. Wilt u dit bestand uploaden zonder te antwoorden?", + "At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Het is momenteel niet mogelijk met een bestand te antwoorden. Wilt u dit bestand uploaden zonder te antwoorden?", "The file '%(fileName)s' failed to upload.": "Het bestand ‘%(fileName)s’ kon niet geüpload worden.", "Rotate counter-clockwise": "Tegen de klok in draaien", "Rotate clockwise": "Met de klok mee draaien", @@ -1554,7 +1554,7 @@ "Command Help": "Hulp bij opdrachten", "No identity server is configured: add one in server settings to reset your password.": "Er is geen identiteitsserver geconfigureerd: voeg er één toe in de serverinstellingen om uw wachtwoord opnieuw in te stellen.", "Call failed due to misconfigured server": "Oproep mislukt door verkeerd geconfigureerde server", - "Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Vraag de beheerder van uw thuisserver (%(homeserverDomain)s) om een TURN-server te configureren teneinde oproepen betrouwbaar te doen werken.", + "Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Vraag uw thuisserverbeheerder (%(homeserverDomain)s) een TURN-server te configureren teneinde oproepen betrouwbaar te doen werken.", "Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "U kunt ook de publieke server op turn.matrix.org gebruiken, maar dit zal minder betrouwbaar zijn, en zal uw IP-adres met die server delen. U kunt dit ook beheren in de Instellingen.", "Try using turn.matrix.org": "Probeer turn.matrix.org te gebruiken", "Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "Sta de terugvalserver voor oproepbijstand turn.matrix.org toe wanneer uw thuisserver er geen aanbiedt (uw IP-adres wordt gedeeld gedurende een oproep)", @@ -1682,7 +1682,7 @@ "Help": "Hulp", "Set up encryption": "Versleuteling instellen", "Unverified session": "Ongeverifieerde sessie", - "This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "Dit vergt toegang tot de standaardidentiteitsserver om een e-mailadres of telefoonnummer te valideren, maar die server heeft geen gebruiksvoorwaarden.", + "This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "Dit vergt validatie van een e-mailadres of telefoonnummer middels de standaardidentiteitsserver , maar die server heeft geen gebruiksvoorwaarden.", "Trust": "Vertrouwen", "Custom (%(level)s)": "Aangepast (%(level)s)", "Error upgrading room": "Bijwerken van gesprek mislukt", @@ -2168,5 +2168,37 @@ "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s van %(totalRooms)s", "Unverified login. Was this you?": "Ongeverifieerde aanmelding. Was u dit?", "Where you’re logged in": "Waar u aangemeld bent", - "Manage the names of and sign out of your sessions below or verify them in your User Profile.": "Beheer hieronder de namen van uw sessies en meld ze af. Of verifieer ze in uw gebruikersprofiel." + "Manage the names of and sign out of your sessions below or verify them in your User Profile.": "Beheer hieronder de namen van uw sessies en meld ze af. Of verifieer ze in uw gebruikersprofiel.", + "Use Single Sign On to continue": "Ga verder met Eenmalige Aanmelding", + "Confirm adding this email address by using Single Sign On to prove your identity.": "Bevestig uw identiteit met Eenmalige Aanmelding om dit emailadres toe te voegen.", + "Single Sign On": "Eenmalige Aanmelding", + "Confirm adding email": "Bevestig toevoegen van het e-mailadres", + "Click the button below to confirm adding this email address.": "Klik op de knop hieronder om dit e-mailadres toe te voegen.", + "Confirm adding this phone number by using Single Sign On to prove your identity.": "Bevestig uw identiteit met Eenmalige Aanmelding om dit telefoonnummer toe te voegen.", + "Confirm adding phone number": "Bevestig toevoegen van het telefoonnummer", + "Click the button below to confirm adding this phone number.": "Klik op de knop hieronder om het toevoegen van dit telefoonnummer te bevestigen.", + "Review Sessions": "Sessieverificatie", + "If you cancel now, you won't complete your operation.": "Als u de operatie afbreekt kunt u haar niet voltooien.", + "Review where you’re logged in": "Kijk na waar u aangemeld bent", + "New login. Was this you?": "Nieuwe aanmelding - was u dat?", + "%(name)s is requesting verification": "%(name)s verzoekt om verificatie", + "Sends a message as html, without interpreting it as markdown": "Stuurt een bericht als HTML, zonder markdown toe te passen", + "Failed to set topic": "Kon onderwerp niet instellen", + "Command failed": "Opdracht mislukt", + "Could not find user in room": "Kon die deelnemer aan het gesprek niet vinden", + "Please supply a widget URL or embed code": "Gelieve een widgetURL of in te bedden code te geven", + "Send a bug report with logs": "Rapporteer een fout, met foutopsporingslogboek bijgesloten", + "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s heeft het gesprek %(oldRoomName)s hernoemd tot %(newRoomName)s.", + "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s heeft dit gesprek de nevenadressen %(addresses)s toegekend.", + "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s heeft dit gesprek het nevenadres %(addresses)s toegekend.", + "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s heeft de nevenadressen %(addresses)s voor dit gesprek geschrapt.", + "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s heeft het nevenadres %(addresses)s voor dit gesprek geschrapt.", + "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s heeft de nevenadressen voor dit gesprek gewijzigd.", + "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s heeft hoofd- en nevenadressen voor dit gesprek gewijzigd.", + "%(senderName)s changed the addresses for this room.": "%(senderName)s heeft de adressen voor dit gesprek gewijzigd.", + "You signed in to a new session without verifying it:": "U heeft zich bij een nog niet geverifieerde sessie aangemeld:", + "Verify your other session using one of the options below.": "Verifieer uw andere sessie op een van onderstaande wijzen.", + "Manually Verify by Text": "Handmatig middels een tekst", + "Interactively verify by Emoji": "Interactief middels emojis", + "Support adding custom themes": "Sta maatwerkthema's toe" } From 943eb57b15fcc8166a660d8baffc3eb838e800c2 Mon Sep 17 00:00:00 2001 From: Tirifto Date: Sat, 9 May 2020 10:01:46 +0000 Subject: [PATCH 170/203] Translated using Weblate (Esperanto) Currently translated at 100.0% (2303 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/eo/ --- src/i18n/strings/eo.json | 50 +++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/src/i18n/strings/eo.json b/src/i18n/strings/eo.json index 5d6ac9ed48..5e63974d12 100644 --- a/src/i18n/strings/eo.json +++ b/src/i18n/strings/eo.json @@ -97,7 +97,7 @@ "%(senderName)s changed their profile picture.": "%(senderName)s ŝanĝis sian profilbildon.", "%(senderName)s set a profile picture.": "%(senderName)s agordis profilbildon.", "VoIP conference started.": "Rettelefona voko komenciĝis.", - "%(targetName)s joined the room.": "%(targetName)s venis en la ĉambro.", + "%(targetName)s joined the room.": "%(targetName)s venis en la ĉambron.", "VoIP conference finished.": "Rettelefona voko finiĝis.", "%(targetName)s rejected the invitation.": "%(targetName)s rifuzis la inviton.", "%(targetName)s left the room.": "%(targetName)s forlasis la ĉambron.", @@ -246,7 +246,7 @@ "Unpin Message": "Malfiksi mesaĝon", "Jump to message": "Salti al mesaĝo", "No pinned messages.": "Neniuj fiksitaj mesaĝoj.", - "Loading...": "Enleganta…", + "Loading...": "Enlegante…", "Pinned Messages": "Fiksitaj mesaĝoj", "%(duration)ss": "%(duration)ss", "%(duration)sm": "%(duration)sm", @@ -481,7 +481,7 @@ "If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Se vi antaŭe uzis pli novan version de Riot, via salutaĵo eble ne akordos kun ĉi tiu versio. Fermu ĉi tiun fenestron kaj revenu al la pli nova versio.", "Invalid Email Address": "Malvalida retpoŝtadreso", "This doesn't appear to be a valid email address": "Tio ĉi ne ŝajnas esti valida retpoŝtadreso", - "Verification Pending": "Atendanta kontrolon", + "Verification Pending": "Atendante kontrolon", "Please check your email and click on the link it contains. Once this is done, click continue.": "Bonvolu kontroli vian retpoŝton, kaj alklaki la ligilon enhavatan en la sendita mesaĝo. Farinte tion, klaku je 'daŭrigi'.", "Unable to add email address": "Ne povas aldoni retpoŝtadreson", "Unable to verify email address.": "Retpoŝtadreso ne kontroleblas.", @@ -567,9 +567,9 @@ "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Provis enlegi certan parton de ĉi tiu historio, sed vi ne havas permeson vidi ĝin.", "Tried to load a specific point in this room's timeline, but was unable to find it.": "Provis enlegi certan parton de ĉi tiu historio, sed malsukcesis ĝin trovi.", "Failed to load timeline position": "Malsukcesis enlegi lokon en historio", - "Uploading %(filename)s and %(count)s others|other": "Alŝutanta dosieron %(filename)s kaj %(count)s aliajn", - "Uploading %(filename)s and %(count)s others|zero": "Alŝutanta dosieron %(filename)s", - "Uploading %(filename)s and %(count)s others|one": "Alŝutanta dosieron %(filename)s kaj %(count)s alian", + "Uploading %(filename)s and %(count)s others|other": "Alŝutante dosieron %(filename)s kaj %(count)s aliajn", + "Uploading %(filename)s and %(count)s others|zero": "Alŝutante dosieron %(filename)s", + "Uploading %(filename)s and %(count)s others|one": "Alŝutante dosieron %(filename)s kaj %(count)s alian", "Light theme": "Hela haŭto", "Dark theme": "Malhela haŭto", "Sign out": "Adiaŭi", @@ -731,7 +731,7 @@ "Members": "Anoj", "No update available.": "Neniuj ĝisdatigoj haveblas.", "Resend": "Resendi", - "Collecting app version information": "Kolektanta informon pri versio de la aplikaĵo", + "Collecting app version information": "Kolektante informon pri versio de la aplikaĵo", "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Ĉu forigi la ĉambran kromnomon %(alias)s kaj forigi %(name)s de la ujo?", "Enable notifications for this account": "Ŝalti sciigojn por tiu ĉi konto", "Invite to this community": "Inviti al tiu ĉi komunumo", @@ -766,7 +766,7 @@ "Send logs": "Sendi protokolojn", "All messages": "Ĉiuj mesaĝoj", "Call invitation": "Invito al voko", - "Downloading update...": "Elŝutanta ĝisdatigon…", + "Downloading update...": "Elŝutante ĝisdatigon…", "State Key": "Stata ŝlosilo", "Failed to send custom event.": "Malsukcesis sendi propran okazon.", "What's new?": "Kio novas?", @@ -810,12 +810,12 @@ "View Source": "Vidi fonton", "Event Content": "Enhavo de okazo", "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Kun via nuna foliumilo, la aspekto kaj funkciado de la aplikaĵo povas esti tute malĝusta, kaj kelkaj aŭ ĉiu funkcioj eble ne tute funkcios. Se vi tamen volas provi, vi povas daŭrigi, sed vi ricevos nenian subtenon se vi renkontos problemojn!", - "Checking for an update...": "Serĉanta ĝisdatigojn…", + "Checking for an update...": "Serĉante ĝisdatigojn…", "There are advanced notifications which are not shown here": "Ekzistas specialaj sciigoj, kiuj ne montriĝas ĉi tie", "Logs sent": "Protokolo sendiĝis", "Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Sencimigaj protokoloj enhavas informojn pri uzo de aplikaĵo, inkluzive vian uzantonomon, la identigilojn aŭ nomojn de la ĉambroj aŭ grupoj kiujn vi vizitis, kaj la uzantonomojn de aliaj uzantoj. Ili ne enhavas mesaĝojn.", "Failed to send logs: ": "Malsukcesis sendi protokolon: ", - "Preparing to send logs": "Pretiganta sendon de protokolo", + "Preparing to send logs": "Pretigante sendon de protokolo", "e.g. %(exampleValue)s": "ekz. %(exampleValue)s", "Every page you use in the app": "Ĉiu paĝo kiun vi uzas en la aplikaĵo", "e.g. ": "ekz. ", @@ -844,7 +844,7 @@ "Opens the Developer Tools dialog": "Maflermas evoluigistan interagujon", "This homeserver has hit its Monthly Active User limit.": "Tiu ĉi hejmservilo atingis sian monatan limon de aktivaj uzantoj.", "This homeserver has exceeded one of its resource limits.": "Tiu ĉi hejmservilo superis je unu el siaj risurcaj limoj.", - "Unable to connect to Homeserver. Retrying...": "Ne povas konektiĝi al hejmservilo. Reprovanta…", + "Unable to connect to Homeserver. Retrying...": "Ne povas konektiĝi al hejmservilo. Reprovante…", "You do not have permission to invite people to this room.": "Vi ne havas permeson inviti homojn al la ĉambro.", "User %(user_id)s does not exist": "Uzanto %(user_id)s ne ekzistas", "Unknown server error": "Nekonata servila eraro", @@ -883,7 +883,7 @@ "Language and region": "Lingvo kaj regiono", "Theme": "Haŭto", "General": "Ĝenerala", - "In reply to ": "Respondanta al ", + "In reply to ": "Respondante al ", "Share Message": "Diskonigi", "Whether or not you're logged in (we don't record your username)": "Ĉu vi salutis aŭ ne (ni ne registras vian uzantonomon)", "You do not have permission to start a conference call in this room": "Vi ne havas permeson komenci grupvokon en ĉi tiu ĉambro", @@ -980,7 +980,7 @@ "Internal room ID:": "Ena ĉambra identigilo:", "Room version": "Ĉambra versio", "Room version:": "Ĉambra versio:", - "Developer options": "Verkantaj opcioj", + "Developer options": "Programistaj elektebloj", "Room Addresses": "Ĉambra adresoj", "Change room avatar": "Ŝanĝi profilbildon de ĉambro", "Change room name": "Ŝanĝi nomon de ĉambro", @@ -1142,7 +1142,7 @@ "Custom user status messages": "Propraj uzantoaj statmesaĝoj", "Group & filter rooms by custom tags (refresh to apply changes)": "Grupigi kaj filtri ĉambrojn per propraj etikedoj (aktualigu por ŝanĝojn apliki)", "Restore from Backup": "Rehavi el savkopio", - "Backing up %(sessionsRemaining)s keys...": "Savkopianta %(sessionsRemaining)s ŝlosilojn…", + "Backing up %(sessionsRemaining)s keys...": "Savkopiante %(sessionsRemaining)s ŝlosilojn…", "All keys backed up": "Ĉiuj ŝlosiloj estas savkopiitaj", "Backup version: ": "Versio de savkopio: ", "Algorithm: ": "Algoritmo: ", @@ -1198,9 +1198,9 @@ "This room has already been upgraded.": "Ĉi tiu ĉambro jam gradaltiĝis.", "This room is running room version , which this homeserver has marked as unstable.": "Ĉi tiu ĉambro uzas ĉambran version , kiun la hejmservilo markis kiel nestabilan.", "Your Riot is misconfigured": "Via kliento Riot estas misagordita", - "Joining room …": "Aliĝanta al ĉambro …", - "Loading …": "Enleganta …", - "Rejecting invite …": "Rifuzanta inviton …", + "Joining room …": "Aliĝante al ĉambro …", + "Loading …": "Enlegante …", + "Rejecting invite …": "Rifuzante inviton …", "Join the conversation with an account": "Aliĝu al la interparolo per konto", "Sign Up": "Registriĝi", "Sign In": "Saluti", @@ -1241,9 +1241,9 @@ "Use Legacy Verification (for older clients)": "Uzi malnovecan kontrolon (por malnovaj klientoj)", "Verify by comparing a short text string.": "Kontrolu per komparo de mallonga teksto.", "Begin Verifying": "Komenci kontrolon", - "Waiting for partner to accept...": "Atendanta akcepton de kunulo…", + "Waiting for partner to accept...": "Atendante akcepton de kunulo…", "Nothing appearing? Not all clients support interactive verification yet. .": "Ĉu neniu aperas? Ankoraŭ ne ĉiuj klientoj subtenas interagan kontrolon. .", - "Waiting for %(userId)s to confirm...": "Atendanta konfirmon de %(userId)s…", + "Waiting for %(userId)s to confirm...": "Atendante konfirmon de %(userId)s…", "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Kontrolu ĉi tiun uzanton por marki ĝin fidata. Fidado devas vin trankviligi dum uzado de tutvoja ĉifrado.", "Waiting for partner to confirm...": "Atendas konfirmon de kunulo…", "Incoming Verification Request": "Venas kontrolpeto", @@ -1507,7 +1507,7 @@ "Confirm your passphrase": "Konfirmu vian pasfrazon", "Recovery key": "Rehava ŝlosilo", "Keep it safe": "Sekurigu ĝin", - "Starting backup...": "Komencanta savkopion…", + "Starting backup...": "Komencante savkopion…", "Create Key Backup": "Krei savkopion de ŝlosiloj", "Unable to create key backup": "Ne povas krei savkopion de ŝlosiloj", "Without setting up Secure Message Recovery, you'll lose your secure message history when you log out.": "Sen agordo de Sekura rehavo de mesaĝoj, vi perdos vian sekuran historion de mesaĝoj per adiaŭo.", @@ -1695,7 +1695,7 @@ "Block users on other matrix homeservers from joining this room (This setting cannot be changed later!)": "Bloki aliĝojn al ĉi tiu ĉambro de uzantoj el aliaj Matrix-serviloj (Ĉi tiun agordon ne eblas poste ŝanĝi!)", "Please fill why you're reporting.": "Bonvolu skribi, kial vi raportas.", "Report Content to Your Homeserver Administrator": "Raporti enhavon al la administrantode via hejmservilo", - "Reporting this message will send its unique 'event ID' to the administrator of your homeserver. If messages in this room are encrypted, your homeserver administrator will not be able to read the message text or view any files or images.": "Per raporto de ĝi tiu mesaĝo vi sendos ĝian unikan « eventan identigilon » al la administranto de via hejmservilo. Se mesaĝoj en ĉi tiu ĉambro estas ĉifrataj, la administranto de via hejmservilo ne povos legi la tekston de la mesaĝo, nek rigardi dosierojn aŭ bildojn.", + "Reporting this message will send its unique 'event ID' to the administrator of your homeserver. If messages in this room are encrypted, your homeserver administrator will not be able to read the message text or view any files or images.": "Per raporto de ĉi tiu mesaĝo vi sendos ĝian unikan « eventan identigilon » al la administranto de via hejmservilo. Se mesaĝoj en ĉi tiu ĉambro estas ĉifrataj, la administranto de via hejmservilo ne povos legi la tekston de la mesaĝo, nek rigardi dosierojn aŭ bildojn.", "Send report": "Sendi raporton", "Command Help": "Helpo pri komando", "To continue you need to accept the terms of this service.": "Por pluigi, vi devas akcepti la uzokondiĉojn de ĉi tiu servo.", @@ -1834,7 +1834,7 @@ "Double check that your server supports the room version chosen and try again.": "Bone kontrolu, ĉu via servilo subtenas la elektitan version de ĉambro, kaj reprovu.", "Verifies a user, session, and pubkey tuple": "Kontrolas opon de uzanto, salutaĵo, kaj publika ŝlosilo", "Unknown (user, session) pair:": "Nekonata duopo (uzanto, salutaĵo):", - "Session already verified!": "Kunsido jam estas kontrolita!", + "Session already verified!": "Salutaĵo jam estas kontrolita!", "WARNING: Session already verified, but keys do NOT MATCH!": "AVERTO: Salutaĵo jam estas kontrolita, sed la ŝlosiloj NE AKORDAS!", "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "AVERTO: MALSUKCESIS KONTROLO DE ŜLOSILOJ! La subskriba ŝlosilo de %(userId)s kaj session %(deviceId)s estas «%(fprint)s», kiu ne akordas la donitan ŝlosilon «%(fingerprint)s». Tio povus signifi, ke via komunikado estas spionata!", "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "La subskriba ŝlosilo, kiun vi donis, akordas la subskribas ŝlosilon, kinu vi ricevis de la salutaĵo %(deviceId)s de la uzanto %(userId)s. Salutaĵo estis markita kontrolita.", @@ -1856,7 +1856,7 @@ "Confirm the emoji below are displayed on both devices, in the same order:": "Konfirmu, ke la ĉi-subaj bildsignoj estas montrataj sur ambaŭ aparatoj, samorde:", "Verify this device by confirming the following number appears on its screen.": "Kontrolu ĉi tiun aparaton per kontrolo, ke la jena nombro aperas sur ĝia ekrano.", "Waiting for %(displayName)s to verify…": "Atendas kontrolon de %(displayName)s…", - "Cancelling…": "Nuliganta…", + "Cancelling…": "Nuligante…", "They match": "Ili akordas", "They don't match": "Ili ne akordas", "To be secure, do this in person or use a trusted way to communicate.": "Por plia sekureco, faru tion persone, aŭ uzu alian fidatan komunikilon.", @@ -2394,5 +2394,7 @@ "Secure your backup with a recovery passphrase": "Sekurigu vian savkopion per rehava pasfrazo", "Currently indexing: %(currentRoom)s": "Nun indeksante: %(currentRoom)s", "Cancel replying to a message": "Nuligi respondon al mesaĝo", - "Invite someone using their name, username (like ), email address or share this room.": "Invitu iun per ĝia nomo, uzantonomo (kiel ), retpoŝtadreso, aŭ kunhavigu la ĉambron." + "Invite someone using their name, username (like ), email address or share this room.": "Invitu iun per ĝia nomo, uzantonomo (kiel ), retpoŝtadreso, aŭ kunhavigu la ĉambron.", + "Message deleted": "Mesaĝo foriĝis", + "Message deleted by %(name)s": "Mesaĝon forigis %(name)s" } From 64459f18c6a18cfa80b705c00c6f23c1536f033c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Sun, 10 May 2020 16:31:22 +0000 Subject: [PATCH 171/203] Translated using Weblate (Estonian) Currently translated at 41.6% (959 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/et/ --- src/i18n/strings/et.json | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index 47afbd1fcd..e2d4e93e43 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -938,5 +938,28 @@ "Do you want to set an email address?": "Kas sa soovid seadistada e-posti aadressi?", "Close dialog": "Sulge dialoog", "Reminder: Your browser is unsupported, so your experience may be unpredictable.": "Meeldetuletus: sinu brauser ei ole toetatud ja seega rakenduse kasutuskogemus võib olla ennustamatu.", - "Toggle this dialog": "Lülita see dialoog sisse/välja" + "Toggle this dialog": "Lülita see dialoog sisse/välja", + "Enter your password to sign in and regain access to your account.": "Sisselogimiseks ja oma kontole ligipääsu saamiseks sisesta oma salasõna.", + "Forgotten your password?": "Kas sa unustasid oma salasõna?", + "Sign in and regain access to your account.": "Logi sisse ja pääse tagasi oma kasutajakonto juurde.", + "You cannot sign in to your account. Please contact your homeserver admin for more information.": "Sa ei saa oma kasutajakontole sisse logida. Lisateabe saamiseks palun võta ühendust oma koduserveri halduriga.", + "Your recovery key": "Sinu taastevõti", + "Your recovery key has been copied to your clipboard, paste it to:": "Sinu taastevõti on kopeeritud lõikelauale, aseta ta:", + "Print it and store it somewhere safe": "Trüki ta välja ja hoia turvalises kohas", + "Save it on a USB key or backup drive": "Salvesta ta mälupulgale või varunduskettale", + "Copy it to your personal cloud storage": "Kopeeri ta isiklikku andmehoidlasse mis asub pilves", + "Retry": "Proovi uuesti", + "Upgrade your encryption": "Uuenda oma krüptimist", + "Make a copy of your recovery key": "Tee oma taastevõtmest koopia", + "You're done!": "Valmis!", + "Go to Settings": "Ava seadistused", + "Set up Secure Messages": "Võta kasutusele krüptitud sõnumid", + "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s / %(totalRooms)s", + "Message downloading sleep time(ms)": "Paus millisekundites sõnumite allalaadimisel", + "Scroll up/down in the timeline": "Liigu ajajoonel üles/alla", + "Previous/next unread room or DM": "Eelmine/järgmine lugemata otsevestlus või sõnum jututoas", + "Previous/next room or DM": "Eelmine/järgmine otsevestlus või jututuba", + "Toggle the top left menu": "Lülita ülemine vasak menüü sisse/välja", + "Activate selected button": "Aktiveeri valitud nupp", + "Toggle right panel": "Lülita parem paan sisse/välja" } From 4b7aa45445a06401a113f706d25bb3434602f97a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20C?= Date: Sat, 9 May 2020 06:25:29 +0000 Subject: [PATCH 172/203] Translated using Weblate (French) Currently translated at 100.0% (2303 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fr/ --- src/i18n/strings/fr.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index b7344b592f..1756ff57ad 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -2420,5 +2420,7 @@ "Successfully restored %(sessionCount)s keys": "%(sessionCount)s clés ont été restaurées avec succès", "You signed in to a new session without verifying it:": "Vous vous êtes connecté·e à une nouvelle session sans la vérifier :", "Verify your other session using one of the options below.": "Vérifiez votre autre session en utilisant une des options ci-dessous.", - "Invite someone using their name, username (like ), email address or share this room.": "Invitez quelqu’un en utilisant leur nom, leur nom d’utilisateur (comme ), leur adresse e-mail ou partagez ce salon." + "Invite someone using their name, username (like ), email address or share this room.": "Invitez quelqu’un en utilisant leur nom, leur nom d’utilisateur (comme ), leur adresse e-mail ou partagez ce salon.", + "Message deleted": "Message supprimé", + "Message deleted by %(name)s": "Message supprimé par %(name)s" } From bd79086702cbf98ee0fd9a7980c5eb09b0a02cca Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Sun, 10 May 2020 19:57:44 +0000 Subject: [PATCH 173/203] Translated using Weblate (German) Currently translated at 99.9% (2301 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index cac52fb477..ad80bfbc4f 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1348,7 +1348,7 @@ "Share Permalink": "Teile permanenten Link", "Sign in to your Matrix account on %(serverName)s": "Melde dich mit deinem Matrixkonto auf %(serverName)s an", "Create your Matrix account on %(serverName)s": "Erstelle ein Matrixkonto auf %(serverName)s", - "Please install Chrome, Firefox, or Safari for the best experience.": " Bitte installiere Chrome, Firefox, oder Safari für das beste Erlebnis.", + "Please install Chrome, Firefox, or Safari for the best experience.": "Bitte installiere Chrome, Firefox, oder Safari für das beste Erlebnis.", "Want more than a community? Get your own server": "Du möchtest mehr als eine Community? Hol dir deinen eigenen Server", "Could not load user profile": "Konnte Nutzerprofil nicht laden", "Your Matrix account on %(serverName)s": "Dein Matrixkonto auf %(serverName)s", @@ -1802,7 +1802,7 @@ "Command failed": "Befehl fehlgeschlagen", "Could not find user in room": "Der Benutzer konnte im Raum nicht gefunden werden", "Click the button below to confirm adding this email address.": "Klicken Sie auf die Schaltfläche unten, um das Hinzufügen dieser E-Mail-Adresse zu bestätigen.", - "Confirm adding phone number": "Bestätigen Sie das Hinzufügen der Telefonnummer.", + "Confirm adding phone number": "Bestätige das Hinzufügen der Telefonnummer", "%(senderName)s changed a rule that was banning servers matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s ändert eine Ausschluss-Regel für Server von %(oldGlob)s nach %(newGlob)s wegen %(reason)s", "%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s erneuert eine Ausschluss-Regel von %(oldGlob)s nach %(newGlob)s wegen %(reason)s", "Not Trusted": "Nicht vertrauenswürdig", @@ -1820,7 +1820,7 @@ "Confirm the emoji below are displayed on both sessions, in the same order:": "Bestätige, dass die unten angezeigten Emojis auf beiden Sitzungen in der selben Reihenfolge angezeigt werden:", "Verify this session by confirming the following number appears on its screen.": "Verfiziere diese Sitzung, indem du bestätigst, dass die folgende Nummer auf ihrem Bildschirm erscheint.", "Waiting for your other session, %(deviceName)s (%(deviceId)s), to verify…": "Warte auf deine andere Sitzung,%(deviceName)s /%(deviceId)s), um zu verfizieren…", - "How fast should messages be downloaded.": "Wie schnell sollten Nachrichten heruntergeladen werden?", + "How fast should messages be downloaded.": "Wie schnell Nachrichten heruntergeladen werden sollen.", "Compare a unique set of emoji if you don't have a camera on either device": "Vergleiche eine einmalige Reihe von Emoji, sofern du an keinem Gerät eine Kamera hast", "Waiting for %(displayName)s to verify…": "Warte darauf, dass %(displayName)s bestätigt…", "Cancelling…": "Abbrechen…", @@ -2172,7 +2172,7 @@ "You'll upgrade this room from to .": "Du wirst diesen Raum von zu aktualisieren.", "Missing session data": "Fehlende Sitzungsdaten", "Your browser likely removed this data when running low on disk space.": "Dein Browser hat diese Daten wahrscheinlich entfernt als der Festplattenspeicher knapp wurde.", - "Integration Manager": " Integrationsverwaltung", + "Integration Manager": "Integrationsverwaltung", "Find others by phone or email": "Finde Andere per Telefon oder E-Mail", "Be found by phone or email": "Sei per Telefon oder E-Mail auffindbar", "Upload files (%(current)s of %(total)s)": "Dateien hochladen (%(current)s von %(total)s)", @@ -2351,5 +2351,19 @@ "Navigate recent messages to edit": "Letzte Nachrichten zur Bearbeitung ansehen", "Jump to start/end of the composer": "Springe zum Anfang/Ende der Nachrichteneingabe", "Navigate composer history": "Verlauf der Nachrichteneingabe durchsuchen", - "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "Wenn du dies versehentlich getan hast, kannst du in dieser Sitzung \"gesicherte Nachrichten\" einrichten, die den Nachrichtenverlauf dieser Sitzung mit einer neuen Wiederherstellungsmethode erneut verschlüsseln." + "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "Wenn du dies versehentlich getan hast, kannst du in dieser Sitzung \"sichere Nachrichten\" einrichten, die den Nachrichtenverlauf dieser Sitzung mit einer neuen Wiederherstellungsmethode erneut verschlüsseln.", + "Cancel replying to a message": "Nachricht beantworten abbrechen", + "Navigate up/down in the room list": "In der Raumliste nach oben/unten navigieren", + "Select room from the room list": "Wähle eine Raum aus der Raumliste", + "Collapse room list section": "Raumliste einklappen", + "Expand room list section": "Raumliste ausklappen", + "Clear room list filter field": "Raumlistenfilter zurücksetzen", + "Scroll up/down in the timeline": "In den Nachrichten vor/zurück blättern", + "Previous/next unread room or DM": "Vorheriger/Nächster ungelesener Raum oder Direktnachricht", + "Previous/next room or DM": "Vorheriger/Nächster Raum oder Direktnachricht", + "Toggle the top left menu": "Menü oben links ein-/ausblenden", + "Activate selected button": "Ausgewählten Button aktivieren", + "Toggle right panel": "Rechtes Panel ein-/ausblenden", + "Toggle this dialog": "Diesen Dialog ein-/ausblenden", + "Move autocomplete selection up/down": "Auto-Vervollständigung nach oben/unten verschieben" } From c9a208ce359595150e581f24fbf26c5924148931 Mon Sep 17 00:00:00 2001 From: "@a2sc:matrix.org" Date: Sun, 10 May 2020 20:06:50 +0000 Subject: [PATCH 174/203] Translated using Weblate (German) Currently translated at 99.9% (2301 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index ad80bfbc4f..7fdaf20e40 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -698,7 +698,7 @@ "This room is not public. You will not be able to rejoin without an invite.": "Dies ist kein öffentlicher Raum. Du wirst diesen nicht ohne Einladung wieder beitreten können.", "%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s änderte den Anzeigenamen auf %(displayName)s.", "Failed to set direct chat tag": "Fehler beim Setzen der Direkt-Chat-Markierung", - "Failed to remove tag %(tagName)s from room": "Fehler beim Entfernen des \"%(tagName)s\"-Tags von dem Raum", + "Failed to remove tag %(tagName)s from room": "Entfernen der Raum-Kennzeichnung %(tagName)s fehlgeschlagen", "Failed to add tag %(tagName)s to room": "Fehler beim Hinzufügen des \"%(tagName)s\"-Tags an dem Raum", "Did you know: you can use communities to filter your Riot.im experience!": "Wusstest du: Du kannst Communities nutzen um deine Riot.im-Erfahrung zu filtern!", "To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Um einen Filter zu setzen, ziehe ein Community-Bild auf das Filter-Panel ganz links. Du kannst jederzeit auf einen Avatar im Filter-Panel klicken um nur die Räume und Personen aus der Community zu sehen.", From 38ed619e2cb8f0b2675e9590e140bd67f4d98fed Mon Sep 17 00:00:00 2001 From: random Date: Mon, 11 May 2020 08:16:36 +0000 Subject: [PATCH 175/203] Translated using Weblate (Italian) Currently translated at 100.0% (2303 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/it/ --- src/i18n/strings/it.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index 53f4ea1aa3..d891a06687 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -2415,5 +2415,7 @@ "Successfully restored %(sessionCount)s keys": "Ripristinate %(sessionCount)s chiavi correttamente", "You signed in to a new session without verifying it:": "Hai fatto l'accesso ad una nuova sessione senza verificarla:", "Verify your other session using one of the options below.": "Verifica la tua altra sessione usando una delle opzioni sotto.", - "Invite someone using their name, username (like ), email address or share this room.": "Invita qualcuno usando il suo nome, nome utente (come ), indirizzo email o condividi questa stanza." + "Invite someone using their name, username (like ), email address or share this room.": "Invita qualcuno usando il suo nome, nome utente (come ), indirizzo email o condividi questa stanza.", + "Message deleted": "Messaggio eliminato", + "Message deleted by %(name)s": "Messaggio eliminato da %(name)s" } From b72ae00222e95db314a60bd3cc95286fb3dc307e Mon Sep 17 00:00:00 2001 From: call_xz Date: Sat, 9 May 2020 16:59:39 +0000 Subject: [PATCH 176/203] Translated using Weblate (Japanese) Currently translated at 57.8% (1332 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ja/ --- src/i18n/strings/ja.json | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json index 20f8097c0c..95cd093111 100644 --- a/src/i18n/strings/ja.json +++ b/src/i18n/strings/ja.json @@ -28,7 +28,7 @@ "Filter room members": "部屋メンバーを検索", "Show timestamps in 12 hour format (e.g. 2:30pm)": "発言時刻を12時間形式で表示 (例 2:30PM)", "Upload avatar": "アイコン画像を変更", - "Upload file": "添付ファイル送信", + "Upload file": "ファイルのアップロード", "Use compact timeline layout": "会話表示の行間を狭くする", "Riot collects anonymous analytics to allow us to improve the application.": "Riotはアプリケーションを改善するために匿名の分析情報を収集しています。", "Add": "追加", @@ -455,7 +455,7 @@ "Admin Tools": "管理者ツール", "and %(count)s others...|other": "そして、他 %(count)s ...", "and %(count)s others...|one": "そして、もう1つ...", - "%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (パワー %(powerLevelNumber)s)", + "%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (権限レベル: %(powerLevelNumber)s )", "Attachment": "付属品", "Hangup": "電話を切る", "Voice call": "音声通話", @@ -485,9 +485,9 @@ "Idle": "アイドル", "Offline": "オフライン", "Unknown": "未知の", - "Seen by %(userName)s at %(dateTime)s": "%(dateTime)s に %(userName)s が閲覧", - "Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "%(dateTime)s に %(displayName)s (%(userName)s) が見た", - "Replying": "返信中", + "Seen by %(userName)s at %(dateTime)s": "%(dateTime)s に %(userName)s が既読", + "Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "%(dateTime)s に %(displayName)s (%(userName)s) が既読", + "Replying": "以下に返信", "Save": "保存", "(~%(count)s results)|other": "(~%(count)s 結果)", "(~%(count)s results)|one": "(~%(count)s 結果)", @@ -1025,7 +1025,7 @@ "Use an identity server to invite by email. Manage in Settings.": "メールによる招待のためにIDサーバーを用いる。設定画面で管理する。", "%(senderDisplayName)s changed the join rule to %(rule)s": "%(senderDisplayName)s が参加ルールを「%(rule)s」に変更しました。", "%(senderDisplayName)s has prevented guests from joining the room.": "%(senderDisplayName)s がこの部屋へのゲストによる参加を拒否しました。", - "%(senderDisplayName)s changed guest access to %(rule)s": "%(senderDisplayName)s はゲストによるアクセスを %(rule)s に変更しました。", + "%(senderDisplayName)s changed guest access to %(rule)s": "%(senderDisplayName)s がゲストによるアクセスを %(rule)s に変更しました。", "%(displayName)s is typing …": "%(displayName)s が入力中 …", "%(names)s and %(count)s others are typing …|other": "%(names)s と他 %(count)s 名が入力中 …", "%(names)s and %(count)s others are typing …|one": "%(names)s ともう一人が入力中 …", @@ -1353,5 +1353,23 @@ "Space used:": "使用中のストレージ容量:", "Indexed messages:": "インデックス済みのメッセージ数:", "Indexed rooms:": "インデックス済みの部屋数:", - "%(doneRooms)s out of %(totalRooms)s": "%(totalRooms)s 件の部屋の内 %(doneRooms)s 件" + "%(doneRooms)s out of %(totalRooms)s": "%(totalRooms)s 件の部屋の内 %(doneRooms)s 件", + "Error changing power level": "権限レベルの変更中にエラーが発生しました", + "Frequently Used": "使用頻度の高いリアクション", + "Smileys & People": "表情と人々", + "Animals & Nature": "動物と植物", + "Food & Drink": "食べ物と飲み物", + "Activities": "アクティビティ", + "Travel & Places": "旅行と場所", + "Objects": "物体", + "Symbols": "シンボル", + "Flags": "旗", + "Cancel search": "検索をキャンセル", + "Your avatar URL": "あなたのアバター URL", + "Your user ID": "あなたのユーザー ID", + "Your theme": "あなたのテーマ", + "Riot URL": "Riot URL", + "Room ID": "部屋 ID", + "Maximize apps": "アプリを最大化する", + "More options": "更なるオプション" } From c3cd7e17c08ece9c2b77c7d69e460e180ae6c21b Mon Sep 17 00:00:00 2001 From: Frisk Date: Fri, 8 May 2020 22:19:53 +0000 Subject: [PATCH 177/203] Translated using Weblate (Polish) Currently translated at 68.4% (1576 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/pl/ --- src/i18n/strings/pl.json | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json index b54c950263..30dd5b828d 100644 --- a/src/i18n/strings/pl.json +++ b/src/i18n/strings/pl.json @@ -1589,5 +1589,21 @@ "Toggle Italics": "Przełącz kursywę", "Toggle Quote": "Przełącz cytowanie", "Cancel autocomplete": "Anuluj autouzupełnienie", - "Please install Chrome, Firefox, or Safari for the best experience.": "Zainstaluj Chrome, Firefox, lub Safari w celu zapewnienia najlepszego działania." + "Please install Chrome, Firefox, or Safari for the best experience.": "Zainstaluj Chrome, Firefox, lub Safari w celu zapewnienia najlepszego działania.", + "Confirm adding email": "Potwierdź dodanie e-maila", + "Click the button below to confirm adding this email address.": "Naciśnij przycisk poniżej aby zatwierdzić dodawanie adresu e-mail.", + "Confirm adding phone number": "Potwierdź dodanie numeru telefonu", + "Click the button below to confirm adding this phone number.": "Naciśnij przycisk poniżej aby potwierdzić dodanie tego numeru telefonu.", + "The version of Riot": "Wersja Riota", + "Your user agent": "Twój user agent", + "The information being sent to us to help make Riot better includes:": "Informacje przesyłane do nas w celu poprawy jakości Riota zawierają:", + "Sends a message as html, without interpreting it as markdown": "Wysyła wiadomość w formacie html, bez interpretowania jej jako markdown", + "Error upgrading room": "Błąd podczas aktualizacji pokoju", + "Double check that your server supports the room version chosen and try again.": "Sprawdź ponownie czy Twój serwer wspiera wybraną wersję pokoju i spróbuj ponownie.", + "Could not find user in room": "Nie znaleziono użytkownika w pokoju", + "Session already verified!": "Sesja już zweryfikowana!", + "WARNING: Session already verified, but keys do NOT MATCH!": "OSTRZEŻENIE: Sesja już zweryfikowana, ale klucze do siebie NIE PASUJĄ!", + "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "OSTRZEŻENIE: WERYFIKACJA KLUCZY NIE POWIODŁA SIĘ! Klucz podpisujący dla %(userId)s oraz sesji %(deviceId)s to \"%(fprint)s\", nie pasuje on do podanego klucza \"%(fingerprint)s\". To może oznaczać że Twoja komunikacja jest przechwytywana!", + "Displays information about a user": "Pokazuje informacje na temat użytkownika", + "Send a bug report with logs": "Wyślij raport błędu z logami" } From 97cadfa9573fc8b3811312ad17f3e2b3ae4357ae Mon Sep 17 00:00:00 2001 From: Jan van der Weijst Date: Sun, 10 May 2020 21:31:25 +0000 Subject: [PATCH 178/203] Translated using Weblate (Spanish) Currently translated at 93.5% (2154 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/es/ --- src/i18n/strings/es.json | 374 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 363 insertions(+), 11 deletions(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 17ddee917f..6b6058d837 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -537,7 +537,7 @@ "Event Type": "Tipo de Evento", "No rooms to show": "No hay salas para mostrar", "Download this file": "Descargar este archivo", - "Pin Message": "Fija Mensaje", + "Pin Message": "Fijar Mensaje", "Failed to change settings": "Error al cambiar los ajustes", "View Community": "Ver la comunidad", "Developer Tools": "Herramientas de desarrollo", @@ -1355,7 +1355,7 @@ "If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "Si encuentras algún error o quieres compartir una opinión, por favor, contacta con nosotros en GitHub.", "Report bugs & give feedback": "Reportar errores y compartir mi opinión", "Please fill why you're reporting.": "Por favor, explica por qué estás reportando.", - "Report Content to Your Homeserver Administrator": "Reportar contenido a tu administrador del homeserver", + "Report Content to Your Homeserver Administrator": "Reportar contenido a tu administrador del Servidor Doméstico", "Send report": "Enviar reporte", "Room Settings - %(roomName)s": "Configuración de la sala - %(roomName)s", "Upgrading this room requires closing down the current instance of the room and creating a new room in its place. To give room members the best possible experience, we will:": "Actualizar esta sala requiere cerrar la instancia actual de esta sala y crear una nueva sala en su lugar. Para dar a los miembros de la sala la mejor experiencia, haremos lo siguiente:", @@ -1470,7 +1470,7 @@ "Confirm the emoji below are displayed on both devices, in the same order:": "Confirma que los emojis a continuación son mostrados en ambos dispositivos, en el mismo orden:", "Verify this device by confirming the following number appears on its screen.": "Verifica este dispositivo confirmando que el siguiente número aparece en su pantalla.", "Waiting for %(displayName)s to verify…": "Esperando la verificación de %(displayName)s …", - "Review": "Revisar", + "Review": "Revise", "in secret storage": "en almacén secreto", "Secret storage public key:": "Clave pública del almacén secreto:", "in account data": "en datos de cuenta", @@ -1633,9 +1633,9 @@ "Securely cache encrypted messages locally for them to appear in search results, using ": "Almacenar localmente, de manera segura, los mensajes cifrados localmente para que aparezcan en los resultados de la búsqueda, utilizando ", " to store messages from ": " para almacenar mensajes de ", "Securely cache encrypted messages locally for them to appear in search results.": "Almacenar localmente, de manera segura, a los mensajes cifrados localmente para que aparezcan en los resultados de búsqueda.", - "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "A Riot le faltan algunos componentes necesarios para el almacenamiento seguro de mensajes cifrados a nivel local. Si quieres experimentar con esta característica, construye un Escritorio Riot personalizado con componentes de búsqueda añadidos.", + "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "A Riot le faltan algunos componentes necesarios para el almacenamiento seguro de mensajes cifrados a nivel local. Si quieres experimentar con esta característica, construye un Escritorio Riot personalizado con componentes de búsqueda añadidos.", "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "Riot no puede guardar de forma segura en la memoria caché a mensajes encriptados localmente, mientras se ejecuta en un navegador web. Use Riot Desktop para que los mensajes encriptados aparezcan en los resultados de la búsqueda.", - "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Esta sesión no ha creado una copia de seguridad de tus llaves, pero tienes una copia de seguridad existente de la que puedes restaurar y añadir para proceder.", + "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Esta sesión no ha creado una copia de seguridad de tus llaves, pero tienes una copia de seguridad existente de la que puedes restaurar y añadir para proceder.", "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Conecte esta sesión a la copia de seguridad de las claves antes de firmar y así evitar perder las claves que sólo existen en esta sesión.", "Connect this session to Key Backup": "Conecte esta sesión a la copia de respaldo de tu clave", "Backup has a valid signature from this user": "La copia de seguridad tiene una firma de valido de este usuario", @@ -1747,7 +1747,7 @@ "Can't find this server or its room list": "No puedo encontrar este servidor o su lista de salas", "All rooms": "Todas las salas", "Your server": "Tu", - "Are you sure you want to remove %(serverName)s": "¿Estás seguro de querer quitar %(serverName)s ?", + "Are you sure you want to remove %(serverName)s": "¿Está seguro de querer eliminar %(serverName)s?", "Remove server": "Quitar servidor", "Matrix": "Matrix", "Add a new server": "Añadir un nuevo servidor", @@ -1805,7 +1805,7 @@ "Integrations not allowed": "Integraciones no están permitidas", "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Su Riot no le permite utilizar un \"Administrador de Integración\" para hacer esto. Por favor, contacte con un administrador.", "Failed to invite the following users to chat: %(csvUsers)s": "Error invitando a los siguientes usuarios al chat: %(csvUsers)s", - "We couldn't create your DM. Please check the users you want to invite and try again.": "No pudimos crear tu DM. Por favor, marca los usuarios que quieres invitar e inténtalo de nuevo.", + "We couldn't create your DM. Please check the users you want to invite and try again.": "No pudimos crear tu Mensaje Directo Por favor, marcar los usuarios que quieres invitar e inténtalo de nuevo.", "Start a conversation with someone using their name, username (like ) or email address.": "Iniciar una conversación con alguien usando su nombre, nombre de usuario (como ) o dirección de correo electrónico.", "Invite someone using their name, username (like ), email address or share this room.": "Invitar a alguien usando su nombre, nombre de usuario (como ), dirección de correo electrónico o compartir esta sala.", "a new master key signature": "una nueva firma de llave maestra", @@ -1815,9 +1815,9 @@ "Riot encountered an error during upload of:": "Riot encontró un error durante la carga de:", "End": "Fin", "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Una vez habilitado, el cifrado de una sala no puede deshabilitarse. Los mensajes enviados a una sala cifrada no pueden ser vistos por el servidor, sólo lo verán los participantes de la sala. Habilitar el cifrado puede hacer que muchos bots y bridges no funcionen correctamente. Aprende más de cifrado", - "Joining room …": "Uniéndose a sala ...", - "Loading …": "Cargando ...", - "Rejecting invite …": "Rechazando invitación ...", + "Joining room …": "Uniéndose a sala …", + "Loading …": "Cargando …", + "Rejecting invite …": "Rechazando invitación …", "Join the conversation with an account": "Unirse a la conversación con una cuenta", "Sign Up": "Registrarse", "You were kicked from %(roomName)s by %(memberName)s": "%(memberName)s te ha explusado de la sala %(roomName)s", @@ -1837,5 +1837,357 @@ "%(roomName)s can't be previewed. Do you want to join it?": "La sala %(roomName)s no permite previsualización. ¿Quieres unirte?", "This room doesn't exist. Are you sure you're at the right place?": "Esta sala no existe. ¿Está seguro de estar en el lugar correcto?", "Try again later, or ask a room admin to check if you have access.": "Inténtalo más tarde, o pide que un administrador de la sala compruebe si tienes acceso.", - "%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please submit a bug report.": "%(errcode)s fue devuelto al intentar acceder a la sala. Si crees que no deberías ver el mensaje, por favor somete un reporte de error." + "%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please submit a bug report.": "%(errcode)s fue devuelto al intentar acceder a la sala. Si crees que no deberías ver el mensaje, por favor somete un reporte de error.", + "Re-request encryption keys from your other sessions.": "Re-requestLink>Solicite nuevamente claves de encriptación de sus otras sesiones.", + "This message cannot be decrypted": "Este mensaje no puede ser desencriptado", + "Encrypted by an unverified session": "Encriptado por una sesión no verificada", + "Unencrypted": "Sin encriptación", + "Encrypted by a deleted session": "Encriptado por una sesión eliminada", + "Invite only": "Sólamente por invitación", + "Scroll to most recent messages": "Desplácese a los mensajes más recientes", + "Close preview": "Cerrar vista previa", + "No recent messages by %(user)s found": "No se han encontrado mensajes recientes de %(user)s", + "Try scrolling up in the timeline to see if there are any earlier ones.": "Intente desplazarse hacia arriba en la línea de tiempo para ver si hay alguna anterior.", + "Remove recent messages by %(user)s": "Eliminar mensajes recientes de %(user)s", + "You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|other": "Estás a punto de eliminar %(count)s mensajes de %(user)s. Esto no se puede deshacer. ¿Desea continuar?", + "You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|one": "Estás a punto de eliminar 1 mensaje de %(user)s. Esto no se puede deshacer. ¿Desea continuar?", + "For a large amount of messages, this might take some time. Please don't refresh your client in the meantime.": "Para una gran cantidad de mensajes, esto podría llevar algún tiempo. Por favor, no refresque a su cliente mientras tanto.", + "Remove %(count)s messages|other": "Eliminar %(count)s mensajes", + "Remove %(count)s messages|one": "Eliminar 1 mensaje", + "Deactivate user?": "¿Desactivar usuario?", + "Deactivating this user will log them out and prevent them from logging back in. Additionally, they will leave all the rooms they are in. This action cannot be reversed. Are you sure you want to deactivate this user?": "Desactivando a este usuario, este será desconectado y no podrá volver a ingresar. Además, saldrá de todas las salas a que se había unido. Esta acción no puede ser revertida. ¿Está seguro de desactivar este usuario?", + "Deactivate user": "Desactivar usuario", + "Failed to deactivate user": "Error en desactivar usuario", + "No sessions with registered encryption keys": "No hay sesiones con claves de cifrado registradas", + "Remove recent messages": "Eliminar mensajes recientes", + "Send a reply…": "Enviar una respuesta …", + "Send a message…": "Enviar un mensaje…", + "Bold": "Negrita", + "Italics": "Cursivo", + "Strikethrough": "Tachado", + "Code block": "Bloque de código", + "Room %(name)s": "Sala %(name)s", + "Recent rooms": "Salas recientes", + "Direct Messages": "Mensaje Directo", + "Loading room preview": "Cargando vista previa de la sala", + "An error (%(errcode)s) was returned while trying to validate your invite. You could try to pass this information on to a room admin.": "Un código de error (%(errcode)s) fue devuelto al tratar de validar su invitación. Podrías intentar pasar esta información a un administrador de la sala.", + "This invite to %(roomName)s was sent to %(email)s which is not associated with your account": "Esta invitación a la sala %(roomName)s fue enviada a %(email)s que no está asociada a su cuenta", + "Link this email with your account in Settings to receive invites directly in Riot.": "Para recibir invitaciones directamente en Riot, en Configuración, debes vincular este correo electrónico con tu cuenta.", + "This invite to %(roomName)s was sent to %(email)s": "Esta invitación a %(roomName)s fue enviada a %(email)s", + "Use an identity server in Settings to receive invites directly in Riot.": "Utilice un servidor de identidad en Configuración para recibir invitaciones directamente en Riot.", + "Share this email in Settings to receive invites directly in Riot.": "Comparte este correo electrónico en Configuración para recibir invitaciones directamente en Riot.", + " wants to chat": " quiere chatear", + "Start chatting": "Empieza a chatear", + "Reject & Ignore user": "Rechazar e ignorar usuario", + "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Actualizar esta sala cerrará la instancia actual de la sala y creará una sala actualizada con el mismo nombre.", + "This room has already been upgraded.": "Esta sala ya ha sido actualizada.", + "This room is running room version , which this homeserver has marked as unstable.": "Esta sala está ejecutando la versión de sala , la cual ha sido marcado por este servidor doméstico como unstable.", + "Unknown Command": "Comando desconocido", + "Unrecognised command: %(commandText)s": "Comando no reconocido: %(commandText)s", + "You can use /help to list available commands. Did you mean to send this as a message?": "Puedes usar /ayuda para listar los comandos disponibles. ¿Querías enviarlo como un mensaje?", + "Hint: Begin your message with // to start it with a slash.": "Sugerencia: Comienza tu mensaje con // para que inicie con una barra inclinada.", + "Send as message": "Enviar como mensaje", + "Failed to connect to integration manager": "Error al conectarse con el administrador de integración", + "Failed to revoke invite": "Error al revocar la invitación", + "Could not revoke the invite. The server may be experiencing a temporary problem or you do not have sufficient permissions to revoke the invite.": "No se logró revocar la invitación. El servidor puede sufrir un problema temporal o usted no tiene los permisos suficientes para revocar la invitación.", + "Revoke invite": "Revocar invitación", + "Invited by %(sender)s": "Invitado por %(sender)s", + "Mark all as read": "Marcar todo como leído", + "Error updating main address": "Error al actualizar la dirección principal", + "There was an error updating the room's main address. It may not be allowed by the server or a temporary failure occurred.": "Hubo un error al actualizar la dirección principal de la sala. Posiblemente el servidor no lo permita o se produjo un error temporal.", + "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.": "Hubo un error al actualizar la dirección alternativa de la sala. Posiblemente el servidor no lo permita o se produjo un error temporal.", + "Error creating alias": "Error al crear el alias (apodo)", + "There was an error creating that alias. It may not be allowed by the server or a temporary failure occurred.": "Hubo un error al crear ese alias (apodo). Posiblemente no lo permita el servidor o puede que se haya producido un error temporal.", + "You don't have permission to delete the alias.": "No tienes permiso para borrar el alias (apodo).", + "There was an error removing that alias. It may no longer exist or a temporary error occurred.": "Se produjo un error al eliminar ese alias (apodo). Tal vez ya no exista o puede haberse producido un error temporal.", + "Error removing alias": "Error al eliminar el alias (apodo)", + "Local address": "Dirección local", + "Published Addresses": "Direcciones publicadas", + "Published addresses can be used by anyone on any server to join your room. To publish an address, it needs to be set as a local address first.": "Las direcciones publicadas pueden ser usadas por cualquier usuario en cualquier servidor para unirse a tu salas. Para publicar una dirección, primero hay que establecerla como una dirección local.", + "Other published addresses:": "Otras direcciones publicadas:", + "No other published addresses yet, add one below": "No tiene direcciones publicadas todavía, agregue una más abajo", + "New published address (e.g. #alias:server)": "Nueva dirección publicada (p.ej.. #alias:server)", + "Local Addresses": "Direcciones locales", + "Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)": "Establezca las direcciones de esta sala para que los usuarios puedan encontrarla a través de tu servidor doméstico (%(localDomain)s)", + "Error updating flair": "Error al actualizar el botón", + "There was an error updating the flair for this room. The server may not allow it or a temporary error occurred.": "Error al actualizar el botón para esta sala. Posiblemente el servidor no lo permita o que se produjo un error temporal.", + "Waiting for you to accept on your other session…": "Esperando que aceptes en tu otra sesión…", + "Waiting for %(displayName)s to accept…": "Esperando a que %(displayName)s acepte…", + "Accepting…": "Aceptando…", + "Start Verification": "Iniciar verificación", + "Messages in this room are end-to-end encrypted.": "Los mensajes en esta sala están encriptados de extremo a extremo.", + "Your messages are secured and only you and the recipient have the unique keys to unlock them.": "Sus mensajes son seguros y sólo usted y el destinatario tienen las claves únicas para desbloquearlos.", + "Messages in this room are not end-to-end encrypted.": "Los mensajes en esta habitación NO están encriptados de extremo a extremo.", + "In encrypted rooms, your messages are secured and only you and the recipient have the unique keys to unlock them.": "En las salas encriptadas, sus mensajes están seguros y sólo usted y el destinatario tienen las claves únicas para desbloquearlos.", + "Verify User": "Verificar usuario", + "For extra security, verify this user by checking a one-time code on both of your devices.": "Para mayor seguridad, verifique este usuario comprobando un código temporal vez en ambos dispositivos.", + "Your messages are not secure": "Sus mensajes no son seguros", + "One of the following may be compromised:": "Uno de los siguientes puede estar comprometido:", + "Your homeserver": "Su servidor doméstico", + "The homeserver the user you’re verifying is connected to": "El servidor doméstico del usuario a que está verificando está conectado a", + "Yours, or the other users’ internet connection": "La conexión a Internet suya, o la de los otros usuarios", + "Yours, or the other users’ session": "La sesión suya, o la de los otros usuarios", + "Trusted": "De confianza", + "Not trusted": "No de confianza", + "%(count)s verified sessions|other": "%(count)s sesiones verificadas", + "%(count)s verified sessions|one": "1 sesión verificada", + "Hide verified sessions": "Ocultar sesiones verificadas", + "%(count)s sessions|other": "%(count)s sesiones", + "%(count)s sessions|one": "%(count)s sesión", + "Hide sessions": "Ocultar sesiones", + "Direct message": "Mensaje directo", + "%(role)s in %(roomName)s": "%(role)s en %(roomName)s", + "This client does not support end-to-end encryption.": "Este cliente no es compatible con el cifrado de extremo a extremo.", + "Security": "Seguridad", + "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.": "La sesión que está tratando de verificar no soporta el escaneo de un código QR o la verificación mediante emoji, que es lo que soporta Riot. Inténtalo con un cliente diferente.", + "Verify by scanning": "Verificar mediante escaneo", + "Ask %(displayName)s to scan your code:": "Pídele a %(displayName)s que escanee tu código:", + "If you can't scan the code above, verify by comparing unique emoji.": "Si no puedes escanear el código de arriba, verifica comparando emoji únicos.", + "Verify by comparing unique emoji.": "Verifica comparando emoji únicos.", + "Verify by emoji": "Verificar con emoji", + "Almost there! Is your other session showing the same shield?": "¡Ya casi está! ¿Su otra sesión muestra el mismo escudo?", + "Almost there! Is %(displayName)s showing the same shield?": "¡Ya casi está! ¿Está %(displayName)s mostrando el mismo escudo?", + "Verify all users in a room to ensure it's secure.": "Verifica a todos los usuarios de una sala para asegurar que es segura.", + "In encrypted rooms, verify all users to ensure it’s secure.": "En las salas encriptadas, verifique a todos los usuarios para asegurarse de son seguros.", + "You've successfully verified %(deviceName)s (%(deviceId)s)!": "¡Has verificado con éxito los %(deviceName)s (%(deviceId)s)!", + "You've successfully verified %(displayName)s!": "¡Has verificado con éxito los %(displayName)s!", + "Verified": "Verificado", + "Got it": "Lo he entendido", + "Start verification again from the notification.": "Inicie la verificación nuevamente a partir de la notificación.", + "Start verification again from their profile.": "Empieza la verificación de nuevo desde su perfil.", + "Verification timed out.": "El tiempo máximo para la verificación se ha agotado.", + "You cancelled verification on your other session.": "Canceló la verificación de su otra sesión.", + "%(displayName)s cancelled verification.": "%(displayName)s canceló la verificación.", + "You cancelled verification.": "Usted canceló la verificación.", + "Verification cancelled": "Verificación cancelada", + "Compare emoji": "Comparar emoji", + "Encryption enabled": "Encriptación habilitada", + "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "Los mensajes en esta sala están encriptados de extremo a extremo. Aprende más & verifica este usuario en su perfil de usuario.", + "Encryption not enabled": "Encriptación no habilitada", + "The encryption used by this room isn't supported.": "La encriptación usada por esta sala no es compatible.", + "React": "Reaccione", + "Message Actions": "Acciones de mensaje", + "Show image": "Mostrar imagen", + "You have ignored this user, so their message is hidden. Show anyways.": "Ha ignorado a este usuario, así que su mensaje se ha ocultado. Mostrar de todos modos.", + "You verified %(name)s": "Usted verificó %(name)s", + "You cancelled verifying %(name)s": "Usted canceló la verificación de %(name)s", + "%(name)s cancelled verifying": "%(name)s canceló la verificación", + "You accepted": "Usted aceptó", + "%(name)s accepted": "%(name)s aceptó", + "You declined": "Usted declinó", + "You cancelled": "Usted canceló", + "%(name)s declined": "%(name)s declinó", + "%(name)s cancelled": "%(name)s canceló", + "Accepting …": "Aceptando…", + "Declining …": "Declinando…", + "%(name)s wants to verify": "%(name)s quiere verificar", + "You sent a verification request": "Usted envió una solicitud de verificación", + "Show all": "Mostrar todo", + "Reactions": "Reacciones", + " reacted with %(content)s": " reaccionó con %(content)s", + "reacted with %(shortName)s": " reaccionó con %(shortName)s", + "Message deleted": "Mensaje eliminado", + "Message deleted by %(name)s": "Mensaje eliminado por %(name)s", + "Edited at %(date)s. Click to view edits.": "Editado el día %(date)s. Haga clic para ver las ediciones.", + "edited": "editado", + "Can't load this message": "No puedo cargar este mensaje", + "Submit logs": "Enviar registros", + "Frequently Used": "Usado con frecuencia", + "Smileys & People": "Caritas y personas", + "Animals & Nature": "Animales y naturaleza", + "Food & Drink": "Comidas y bebidas", + "Activities": "Actividades", + "Travel & Places": "Viajes y lugares", + "Objects": "Objetos", + "Symbols": "Símbolos", + "Flags": "Banderas", + "Quick Reactions": "Reacciones rápidas", + "Cancel search": "Cancelar búsqueda", + "Any of the following data may be shared:": "Cualquiera de los siguientes datos puede ser compartido:", + "Your display name": "Su nombre mostrado", + "Your avatar URL": "La URL de su avatar", + "Your user ID": "Su identificación (ID) de usuario", + "Your theme": "Su tema", + "Riot URL": "URL de Riot", + "Room ID": "Identidad (ID) de la sala", + "Widget ID": "Identificación (ID) de widget", + "Using this widget may share data with %(widgetDomain)s & your Integration Manager.": "Usar este widget puede resultar en compartir datos con %(widgetDomain)s y su Administrador de Integración.", + "Using this widget may share data with %(widgetDomain)s.": "Usar este widget puede resultar en compartir datos con %(widgetDomain)s.", + "Widgets do not use message encryption.": "Los widgets no utilizan la encriptación de mensajes.", + "Widget added by": "Widget añadido por", + "This widget may use cookies.": "Este widget posiblemente utilice cookies.", + "Maximize apps": "Maximizar apps", + "More options": "Mas opciones", + "Please create a new issue on GitHub so that we can investigate this bug.": "Por favor, crea un nuevo nodo en GitHub para que podamos investigar este error.", + "Rotate Left": "Girar a la izquierda", + "Upload completed": "Subida completada", + "Cancelled signature upload": "Subida de firma cancelada", + "Unable to upload": "No se puede subir", + "Signature upload success": "Subida de firma exitosa", + "Signature upload failed": "Subida de firma falló", + "Confirm by comparing the following with the User Settings in your other session:": "Confirme comparando lo siguiente con los ajustes de usuario de su otra sesión:", + "Confirm this user's session by comparing the following with their User Settings:": "Confirme la sesión de este usuario comparando lo siguiente con la configuración de usuario de él/ella:", + "If they don't match, the security of your communication may be compromised.": "Si no coinciden, la seguridad de su comunicación puede estar comprometida.", + "Your homeserver doesn't seem to support this feature.": "Tu servidor doméstico no parece soportar esta característica.", + "Your account is not secure": "Su cuenta no es segura", + "Your password": "Su contraseña", + "This session, or the other session": "Esta sesión, o la otra sesión", + "The internet connection either session is using": "La conexión a Internet usado por cualquiera de las dos sesiones", + "We recommend you change your password and recovery key in Settings immediately": "Le recomendamos que cambie inmediatamente su contraseña y su clave de recuperación en Configuración", + "To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "Para ayudar a evitar la duplicación de entradas, por favor ver primero los entradas existentes (y añadir un +1) o, si no lo encuentra, crear una nueva entrada .", + "Reporting this message will send its unique 'event ID' to the administrator of your homeserver. If messages in this room are encrypted, your homeserver administrator will not be able to read the message text or view any files or images.": "Reportar este mensaje enviará su único 'event ID' al administrador de su servidor doméstico. Si los mensajes en esta sala están encriptados, el administrador de tu servidor no podrá leer el texto del mensaje ni ver ningún archivo o imagen.", + "Command Help": "Ayuda del comando", + "Integration Manager": "Administrador de integración", + "You are currently blacklisting unverified sessions; to send messages to these sessions you must verify them.": "Actualmente está incluyendo sesiones no verificadas en la lista negra; para enviar mensajes a estas sesiones debe verificarlas primero.", + "We recommend you go through the verification process for each session to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Le recomendamos que pase por el proceso de verificación de cada sesión para confirmar que pertenecen a su legítimo propietario, pero puede reenviar el mensaje sin verificarlo si lo prefiere.", + "Verify other session": "Verifique otra sesión", + "Verification Request": "Solicitud de verificación", + "A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.": "Un widget localizado en %(widgetUrl)s desea verificar su identidad. Permitiendo esto, el widget podrá verificar su identidad de usuario, pero no realizar acciones como usted.", + "Enter recovery passphrase": "Introduzca la contraseña de recuperación", + "Unable to access secret storage. Please verify that you entered the correct recovery passphrase.": "No se puede acceder al almacenamiento secreto. Por favor, compruebe que ha introducido la frase de recuperación correcta.", + "Warning: You should only do this on a trusted computer.": "Advertencia: Sólo debes hacer esto en un ordenador de su confianza.", + "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery passphrase.": "Acceda a su historial de mensajes seguros y a su identidad de firma cruzada para verificar otras sesiones, introduciendo su frase de recuperación.", + "If you've forgotten your recovery passphrase you can use your recovery key or set up new recovery options.": "Si has olvidado tu contraseña de recuperación puedes usar tu clave de recuperación o configurar nuevas opciones de recuperación .", + "Enter recovery key": "Introduzca la clave de recuperación", + "Unable to access secret storage. Please verify that you entered the correct recovery key.": "No se puede acceder al almacenamiento secreto. Por favor, compruebe que haya introducido la clave de recuperación correcta.", + "This looks like a valid recovery key!": "¡Esto tiene pinta de una llave de recuperación válida!", + "Not a valid recovery key": "Clave de recuperación no válida", + "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "Acceda a su historial de mensajes seguros y a su identidad de firma cruzada para verificar otras sesiones, introduciendo su clave de recuperación.", + "If you've forgotten your recovery key you can .": "Si has olvidado tu clave de recuperación puedes .", + "Restoring keys from backup": "Restaurando las claves desde copia de seguridad", + "Fetching keys from server...": "Obteniendo las claves desde el servidor...", + "%(completed)s of %(total)s keys restored": "%(completed)s de %(total)s llaves restauradas", + "Unable to load backup status": "No se puede cargar el estado de la copia de seguridad", + "Recovery key mismatch": "No coincide la clave de recuperación", + "Backup could not be decrypted with this recovery key: please verify that you entered the correct recovery key.": "La copia de seguridad no pudo ser descifrada con esta clave de recuperación: por favor, comprueba que hayas introducido la clave de recuperación correcta.", + "Incorrect recovery passphrase": "Contraseña de recuperación incorrecta", + "Backup could not be decrypted with this recovery passphrase: please verify that you entered the correct recovery passphrase.": "La copia de seguridad no pudo ser descifrada con esta contraseña de recuperación: por favor, comprueba que hayas introducido la contraseña de recuperación correcta.", + "Unable to restore backup": "No se pudo restaurar la copia de seguridad", + "No backup found!": "¡No se encontró una copia de seguridad!", + "Keys restored": "Se restauraron las claves", + "Failed to decrypt %(failedCount)s sessions!": "¡Error en desencriptar %(failedCount) sesiones!", + "Successfully restored %(sessionCount)s keys": "%(sessionCount)s claves restauradas con éxito", + "Warning: you should only set up key backup from a trusted computer.": "Advertencia: sólo debes configurar la copia de seguridad de claves desde un ordenador de su confianza.", + "Access your secure message history and set up secure messaging by entering your recovery passphrase.": "Acceda a su historial de mensajes seguros y configure la mensajería segura introduciendo su contraseña de recuperación.", + "If you've forgotten your recovery passphrase you can use your recovery key or set up new recovery options": "Si has olvidado tu contraseña de recuperación puedes usar tu clave de recuperación o configurar nuevas opciones de recuperación ", + "Warning: You should only set up key backup from a trusted computer.": "Advertencia: Sólo debes configurar la copia de seguridad de claves desde un ordenador de su confianza.", + "Access your secure message history and set up secure messaging by entering your recovery key.": "Accede a tu historial de mensajes seguros y configura la mensajería segura introduciendo tu clave de recuperación.", + "If you've forgotten your recovery key you can ": "Si has olvidado tu clave de recuperación puedes ", + "Resend edit": "Reenviar la edición", + "Resend %(unsentCount)s reaction(s)": "Reenviar %(unsentCount)s reacción(es)", + "Resend removal": "Reenviar la eliminación", + "Share Permalink": "Compartir Permalink", + "Report Content": "Reportar contenido", + "Notification settings": "Configuración de notificaciones", + "Clear status": "Borrar estado", + "Update status": "Actualizar estado", + "Set status": "Establecer estado", + "Set a new status...": "Establecer un estado nuevo...", + "Hide": "Ocultar", + "Help": "Ayuda", + "Reload": "Recargar", + "Take picture": "Tomar una foto", + "Remove for everyone": "Eliminar para todos", + "Remove for me": "Eliminar para mi", + "User Status": "Estado de usuario", + "This homeserver would like to make sure you are not a robot.": "A este servidor le gustaría asegurarse de que no eres un robot.", + "Country Dropdown": "Seleccione país", + "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use this app with an existing Matrix account on a different homeserver.": "Puede utilizar las opciones del servidor personalizado para iniciar sesión en otros servidores de Matrix, especificando una URL de servidor doméstico diferente. Esto le permite usar esta aplicación con una cuenta existente de Matrix en un servidor doméstico diferente.", + "Confirm your identity by entering your account password below.": "Confirme su identidad introduciendo la contraseña de su cuenta.", + "Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Falta la clave pública del captcha en la configuración del servidor doméstico. Por favor, informe de esto al administrador del servidor doméstico.", + "Please review and accept all of the homeserver's policies": "Por favor, revise y acepte todas las políticas del servidor doméstico", + "Please review and accept the policies of this homeserver:": "Por favor revise y acepte las políticas de este servidor doméstico:", + "Unable to validate homeserver/identity server": "No se pudo validar el servidor doméstico/servidor de identidad", + "Your Modular server": "Su servidor modular", + "Enter the location of your Modular homeserver. It may use your own domain name or be a subdomain of modular.im.": "Introduzca la ubicación de su Servidor Modular Doméstico. Este puede usar su propio nombre de dominio o ser un subdominio de modular.im.", + "Server Name": "Nombre del servidor", + "The username field must not be blank.": "El campo del nombre de usuario no puede estar en blanco.", + "Username": "Nombre de usuario", + "Not sure of your password? Set a new one": "¿No estás seguro de tu contraseña? Escoge una nueva", + "No identity server is configured so you cannot add an email address in order to reset your password in the future.": "No se ha configurado ningún servidor de identidad, por lo que no se puede añadir una dirección de correo electrónico para restablecer la contraseña en el futuro.", + "Use an email address to recover your account": "Utilice una dirección de correo electrónico para recuperar su cuenta", + "Enter email address (required on this homeserver)": "Introduzca una dirección de correo electrónico (requerida en este servidor)", + "Doesn't look like a valid email address": "No parece una dirección de correo electrónico válida", + "Enter password": "Introduzca su contraseña", + "Password is allowed, but unsafe": "Contraseña permitida, pero no es segura", + "Nice, strong password!": "¡Fantástico, una contraseña fuerte!", + "Keep going...": "Continúa...", + "Passwords don't match": "Las contraseñas no coinciden", + "Other users can invite you to rooms using your contact details": "Otros usuarios pueden invitarte las salas utilizando tus datos de contacto", + "Enter phone number (required on this homeserver)": "Ingrese un número de teléfono (requerido en este servidor doméstico)", + "Doesn't look like a valid phone number": "No parece ser un número de teléfono válido", + "Use lowercase letters, numbers, dashes and underscores only": "Use sólo letras minúsculas, números, guiones y guiones bajos", + "Enter username": "Introduce nombre de usuario", + "Email (optional)": "Correo electrónico (opcional)", + "Phone (optional)": "Teléfono (opcional)", + "Create your Matrix account on %(serverName)s": "Crea tu cuenta de Matrix en %(serverName)s", + "Create your Matrix account on ": "Crea tu cuenta de Matrix en ", + "Set an email for account recovery. Use email or phone to optionally be discoverable by existing contacts.": "Configura un correo electrónico para la recuperación de la cuenta. Opcionalmente utilice correo electrónico o teléfono para que los contactos existentes puedan descubrirlo.", + "Set an email for account recovery. Use email to optionally be discoverable by existing contacts.": "Configura un correo electrónico para la recuperación de la cuenta. Opcionalmente utilice el correo electrónico para poder ser descubierto por contactos existentes.", + "Enter your custom homeserver URL What does this mean?": "Ingrese la URL de su servidor doméstico ¿Qué significa esto?", + "Homeserver URL": "URL del servidor doméstico", + "Enter your custom identity server URL What does this mean?": "Introduzca la URL de su servidor de identidad personalizada ¿Qué significa esto?", + "Identity Server URL": "URL del servidor de identidad", + "Other servers": "Otros servidores", + "Free": "Gratis", + "Join millions for free on the largest public server": "Únete de forma gratuita a millones de personas en el servidor público más grande", + "Premium": "Premium", + "Premium hosting for organisations Learn more": "Alojamiento Premium para organizaciones Aprende más", + "Find other public servers or use a custom server": "Descubra otros servidores públicos o utilice un servidor personalizado", + "Sign in to your Matrix account on %(serverName)s": "Inicie sesión en su cuenta de Matrix en %(serverName)s", + "Sign in to your Matrix account on ": "Inicie sesión en su cuenta de Matrix en ", + "Sign in with SSO": "Ingrese con SSO", + "Please install Chrome, Firefox, or Safari for the best experience.": "Por favor, instale Chrome, Firefox, o Safari para la mejor experiencia.", + "Couldn't load page": "No pude cargar la página", + "You are an administrator of this community. You will not be able to rejoin without an invite from another administrator.": "Usted es un administrador de esta comunidad. No podrás volver a unirte sin una invitación de otro administrador.", + "Want more than a community? Get your own server": "¿Quieres más que una comunidad? Obtenga su propio servidor", + "This homeserver does not support communities": "Este servidor doméstico no permite las comunidades", + "Welcome to %(appName)s": "Bienvenido a %(appName)s", + "Liberate your communication": "Libere su comunicación", + "Send a Direct Message": "Envía un mensaje directo", + "Explore Public Rooms": "Explorar salas públicas", + "Create a Group Chat": "Crear un chat grupal", + "Explore": "Explorar", + "Filter": "Filtrar", + "Filter rooms…": "Filtrar salas…", + "Self-verification request": "Solicitud de auto-verificación", + "%(creator)s created and configured the room.": "Sala creada y configurada por %(creator)s.", + "Riot failed to get the protocol list from the homeserver. The homeserver may be too old to support third party networks.": "Riot no logró obtener la lista de protocolo del servidor doméstico. El servidor doméstico puede ser demasiado viejo para admitir redes de terceros.", + "Riot failed to get the public room list.": "Riot no logró obtener la lista de salas públicas.", + "The homeserver may be unavailable or overloaded.": "Posiblemente el servidor de doméstico no esté disponible o esté sobrecargado.", + "Preview": "Vista previa", + "View": "Vista", + "Find a room…": "Encuentre una sala…", + "Find a room… (e.g. %(exampleRoom)s)": "Encuentre una sala... (p.ej. %(exampleRoom)s)", + "If you can't find the room you're looking for, ask for an invite or Create a new room.": "Si no puedes encontrar la habitación que buscas, solicite una invitación o Crea una nueva sala.", + "Explore rooms": "Explorar salas", + "Message not sent due to unknown sessions being present": "Mensaje no enviado debido a la presencia de sesiones desconocidas", + "Show sessions, send anyway or cancel.": "Mostrar sessiones, enviar de todas formas ocancelar.", + "Jump to first invite.": "Salte a la primera invitación.", + "Add room": "Añadir sala", + " (1/%(totalCount)s)": " (1/%(totalCount)s)", + "Guest": "Invitado", + "Your profile": "Su perfil", + "Could not load user profile": "No se pudo cargar el perfil de usuario", + "Verify this login": "Verifique este inicio de sesión", + "Session verified": "Sesión verificada", + "Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "Cambiar la contraseña restablecerá cualquier clave de cifrado de extremo a extremo en todas sus sesiones, haciendo ilegible el historial de chat cifrado. Configura la copia de seguridad de las claves o exporta las claves de la sala de otra sesión antes de restablecer la contraseña.", + "Your Matrix account on %(serverName)s": "Su cuenta de Matrix en %(serverName)s", + "Your Matrix account on ": "Su cuenta de Matrix en ", + "No identity server is configured: add one in server settings to reset your password.": "No hay ningún servidor de identidad configurado: añada uno en la configuración del servidor para poder restablecer su contraseña.", + "Sign in instead": "Regístrese", + "A verification email will be sent to your inbox to confirm setting your new password.": "Se enviará un correo electrónico de verificación a su bandeja de entrada para confirmar la configuración de su nueva contraseña.", + "Your password has been reset.": "Su contraseña ha sido restablecida.", + "You have been logged out of all sessions and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Ha cerrado todas las sesiones y ya no recibirá más notificaciones push. Para volver a activar las notificaciones, inicie sesión de nuevo en cada dispositivo.", + "Set a new password": "Establezca una nueva contraseña", + "Invalid homeserver discovery response": "Respuesta inválida de descubrimiento de servidor doméstico", + "Failed to get autodiscovery configuration from server": "No se pudo obtener la configuración de autodescubrimiento del servidor", + "Invalid base_url for m.homeserver": "URL-base inválida para m.homeserver", + "Homeserver URL does not appear to be a valid Matrix homeserver": "La URL del servidor doméstico no parece ser un servidor doméstico válido de Matrix", + "Invalid identity server discovery response": "Respuesta inválida de descubrimiento de servidor de identidad", + "Invalid base_url for m.identity_server": "URL_base no válida para m.identity_server", + "Identity server URL does not appear to be a valid identity server": "La URL del servidor de identidad no parece ser un servidor de identidad válido", + "General failure": "Error no especificado", + "This homeserver does not support login using email address.": "Este servidor doméstico no admite iniciar sesión con una dirección de correo electrónico.", + "This account has been deactivated.": "Esta cuenta ha sido desactivada." } From 643ed5887499e82b65eda46be2579753ab7bf652 Mon Sep 17 00:00:00 2001 From: strix aluco Date: Fri, 8 May 2020 17:50:14 +0000 Subject: [PATCH 179/203] Translated using Weblate (Ukrainian) Currently translated at 28.1% (647 of 2303 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/uk/ --- src/i18n/strings/uk.json | 63 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 6 deletions(-) diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index f00ae5b399..bdef596b88 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -68,7 +68,7 @@ "Call Timeout": "Час очікування виклика", "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Не вдається підключитись до домашнього серверу - перевірте підключення, переконайтесь, що ваш SSL-сертифікат домашнього сервера є довіреним і що розширення браузера не блокує запити.", "Cannot add any more widgets": "Неможливо додати більше віджетів", - "Change Password": "Поміняти пароль", + "Change Password": "Змінити пароль", "%(senderName)s changed their profile picture.": "%(senderName)s змінив/ла зображення профілю.", "%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s змінив(ла) рівень доступу для %(powerLevelDiffText)s.", "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s змінив/ла назву кімнати на %(roomName)s.", @@ -108,7 +108,7 @@ "All notifications are currently disabled for all targets.": "Сповіщення для усіх цілей на даний момент вимкнені.", "Failed to send logs: ": "Не вдалося відправити журнали: ", "delete the alias.": "видалити псевдонім.", - "To return to your account in future you need to set a password": "Щоб мати змогу використовувати вашу обліковку у майбутньому, зазначте пароль", + "To return to your account in future you need to set a password": "Щоб мати змогу використовувати вашу обліківку у майбутньому, зазначте пароль", "Forget": "Забути", "World readable": "Відкрито для світу", "You cannot delete this image. (%(code)s)": "Ви не можете видалити це зображення. (%(code)s)", @@ -138,7 +138,7 @@ "Collecting app version information": "Збір інформації про версію застосунка", "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Видалити псевдонім %(alias)s та прибрати з каталогу %(name)s?", "Keywords": "Ключові слова", - "Enable notifications for this account": "Увімкнути сповіщення для цієї обліковки", + "Enable notifications for this account": "Увімкнути сповіщення для цієї обліківки", "Invite to this community": "Запросити в це суспільство", "Messages containing keywords": "Повідомлення, що містять ключові слова", "When I'm invited to a room": "Коли мене запрошено до кімнати", @@ -201,7 +201,7 @@ "Error encountered (%(errorDetail)s).": "Трапилась помилка (%(errorDetail)s).", "Low Priority": "Неважливі", "Unable to fetch notification target list": "Неможливо отримати перелік цілей сповіщення", - "Set Password": "Задати пароль", + "Set Password": "Встановити пароль", "Off": "Вимкнено", "Riot does not know how to join a room on this network": "Riot не знає як приєднатись до кімнати у цій мережі", "Mentions only": "Тільки згадки", @@ -594,7 +594,7 @@ "Review": "Переглянути", "Verify yourself & others to keep your chats safe": "Звірте себе й інших щоб зберегти ваше спілкування у безпеці", "Verify": "Звірити", - "Verify the new login accessing your account: %(name)s": "Звірити новий вхід, що доступається до вашої обліковки: %(name)s", + "Verify the new login accessing your account: %(name)s": "Звірити новий вхід, що доступається до вашої обліківки: %(name)s", "From %(deviceName)s (%(deviceId)s)": "Від %(deviceName)s (%(deviceId)s)", "Decline (%(counter)s)": "Відхилити (%(counter)s)", "Language and region": "Мова та регіон", @@ -609,5 +609,56 @@ "Join the conversation with an account": "Приєднатись до бесіди з обліківкою", "Unable to restore session": "Неможливо відновити сесію", "We encountered an error trying to restore your previous session.": "Ми натрапили на помилку, намагаючись відновити вашу попередню сесію.", - "Please install Chrome, Firefox, or Safari for the best experience.": "Для найкращих вражень від користування встановіть, будь ласка, Chrome, Firefox, або Safari." + "Please install Chrome, Firefox, or Safari for the best experience.": "Для найкращих вражень від користування встановіть, будь ласка, Chrome, Firefox, або Safari.", + "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Ваша обліківка має перехресно-підписувану ідентичність у таємному сховищі, але вона ще не є довіреною у цій сесії.", + "in account data": "у даних обліківки", + "Clear notifications": "Очистити сповіщення", + "Add an email address to configure email notifications": "Додати адресу е-пошти для налаштування поштових сповіщень", + "Theme added!": "Тему додано!", + "Email addresses": "Адреси е-пошти", + "Phone numbers": "Номери телефонів", + "Set a new account password...": "Встановити новий пароль обліківки…", + "Forget this room": "Забути цю кімнату", + "Re-join": "Перепід'єднатись", + "This invite to %(roomName)s was sent to %(email)s which is not associated with your account": "Це запрошення до %(roomName)s було надіслане на %(email)s, яка не пов'язана з вашою обліківкою", + "Link this email with your account in Settings to receive invites directly in Riot.": "Зв'яжіть цю е-пошту з вашою обліківкою у Налаштуваннях щоб отримувати сповіщення прямо у Riot.", + "This invite to %(roomName)s was sent to %(email)s": "Це запрошення до %(roomName)s було надіслане на %(email)s", + "Use an identity server in Settings to receive invites directly in Riot.": "Використовувати сервер ідентифікації у Налаштуваннях щоб отримувати запрошення прямо у Riot.", + "Are you sure you want to deactivate your account? This is irreversible.": "Ви впевнені у тому, що бажаєте деактивувати вашу обліківку? Це є безповоротним.", + "Confirm account deactivation": "Підтвердьте деактивацію обліківки", + "To continue, please enter your password:": "Щоб продовжити, введіть, будь ласка, ваш пароль:", + "This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.": "Ваша обліківка стане назавжди невикористовною. Ви не матимете змоги увійти в неї і ніхто не зможе перереєструватись під цим користувацьким ID. Це призведе до виходу вашої обліківки з усіх кімнат та до видалення деталей вашої обліківки з вашого серверу ідентифікації. Ця дія є безповоротною.", + "Verify session": "Звірити сесію", + "Use Legacy Verification (for older clients)": "Використати успадковане звірення (для старих клієнтів)", + "Verify by comparing a short text string.": "Звірити порівнянням короткого текстового рядка.", + "Begin Verifying": "Почати звіряння", + "Waiting for partner to accept...": "Очікується підтвердження партнером…", + "Nothing appearing? Not all clients support interactive verification yet. .": "Нічого не з'являється? Поки що не всі клієнти підтримують взаємодійне звірення. .", + "Waiting for %(userId)s to confirm...": "Очікується підтвердження від %(userId)s…", + "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Щоб впевнитись, що цій сесії можна довіряти, переконайтесь, будь ласка, що показуваний у Налаштуваннях на тому пристрої ключ збігається з ключем внизу:", + "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:": "Щоб впевнитись, що цій сесії можна довіряти, зв'яжіться, будь ласка, з її власником якимось іншим шляхом (напр. через телефон або зустріч) і переконайтесь, що показуваний у Налаштуваннях на їхньому пристрої ключ збігається з ключем внизу:", + "Use two-way text verification": "Використати двонапрямне текстове звірення", + "Session name": "Назва сесії", + "Session ID": "ID сесії", + "Session key": "Ключ сесії", + "%(count)s of your messages have not been sent.|one": "Ваше повідомлення не було надіслано.", + "%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|other": "Перенадіслати усе або скасувати усе зараз. Ви також можете перенадіслати або скасувати окремі повідомлення.", + "%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|one": "Перенадіслати повідомлення або скасувати повідомлення зараз.", + "Connectivity to the server has been lost.": "З'єднання з сервером було втрачено.", + "Sent messages will be stored until your connection has returned.": "Надіслані повідомлення будуть збережені поки не з'явиться зв'язок.", + "Active call": "Активний виклик", + "There's no one else here! Would you like to invite others or stop warning about the empty room?": "Тут нікого нема! Ви б хотіли запросити інших чи краще припинити попереджати про порожню кімнату?", + "Jump to first unread room.": "Перейти до першої непрочитаної кімнати.", + "Jump to first invite.": "Перейти до першого запрошення.", + "Add room": "Додати кімнату", + "You seem to be uploading files, are you sure you want to quit?": "Схоже, що ви зараз відвантажуєте файли. Ви впевнені, що хочете вийти?", + "You seem to be in a call, are you sure you want to quit?": "Схоже, ви намагаєтесь вийти посеред розмови. Ви впевнені, що хочете вийти?", + "Search failed": "Пошук не вдався", + "Server may be unavailable, overloaded, or search timed out :(": "Сервер може бути недосяжним, перевантаженим або запит на пошук застарів :(", + "No more results": "Інших результатів нема", + "Unknown room %(roomId)s": "Невідома кімната %(roomId)s", + "Room": "Кімната", + "Failed to reject invite": "Не вдалось відхилити запрошення", + "You have %(count)s unread notifications in a prior version of this room.|other": "Ви маєте %(count)s непрочитаних сповіщень у попередній версії цієї кімнати.", + "You have %(count)s unread notifications in a prior version of this room.|one": "У вас одне непрочитане сповіщення у попередній версії цієї кімнати." } From 6ea9aebda3e85afb2724a0455740a3f1c4c972d0 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 11 May 2020 10:54:28 +0100 Subject: [PATCH 180/203] Add slash commands /query and /msg to match IRC Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/SlashCommands.tsx | 46 +++++++++++++++++++++++++++++++++++++ src/i18n/strings/en_EN.json | 2 ++ 2 files changed, 48 insertions(+) diff --git a/src/SlashCommands.tsx b/src/SlashCommands.tsx index bd7e60e2f4..ea561d9f12 100644 --- a/src/SlashCommands.tsx +++ b/src/SlashCommands.tsx @@ -40,6 +40,7 @@ import { Jitsi } from "./widgets/Jitsi"; import { parseFragment as parseHtml } from "parse5"; import sendBugReport from "./rageshake/submit-rageshake"; import SdkConfig from "./SdkConfig"; +import { ensureDMExists } from "./createRoom"; // XXX: workaround for https://github.com/microsoft/TypeScript/issues/31816 interface HTMLInputEvent extends Event { @@ -970,6 +971,51 @@ export const Commands = [ }, category: CommandCategories.advanced, }), + new Command({ + command: "query", + description: _td("Opens chat with the given user"), + args: "", + runFn: function(roomId, userId) { + if (!userId || !userId.startsWith("@") || !userId.includes(":")) { + return reject(this.getUsage()); + } + + return success((async () => { + dis.dispatch({ + action: 'view_room', + room_id: await ensureDMExists(MatrixClientPeg.get(), userId), + }); + })()); + }, + category: CommandCategories.actions, + }), + new Command({ + command: "msg", + description: _td("Sends a message to the given user"), + args: " ", + runFn: function(roomId, args) { + if (args) { + const matches = args.match(/^(\S+?)(?: +(.*))?$/s); + if (matches) { + const [userId, msg] = matches.slice(1); + if (msg && userId && userId.startsWith("@") && userId.includes(":")) { + return success((async () => { + const cli = MatrixClientPeg.get(); + const roomId = await ensureDMExists(cli, userId); + dis.dispatch({ + action: 'view_room', + room_id: roomId, + }); + cli.sendTextMessage(roomId, msg); + })()); + } + } + } + + return reject(this.getUsage()); + }, + category: CommandCategories.actions, + }), // Command definitions for autocompletion ONLY: // /me is special because its not handled by SlashCommands.js and is instead done inside the Composer classes diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 27b4252f77..ec5400179d 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -221,6 +221,8 @@ "Send a bug report with logs": "Send a bug report with logs", "Logs sent": "Logs sent", "Thank you!": "Thank you!", + "Opens chat with the given user": "Opens chat with the given user", + "Sends a message to the given user": "Sends a message to the given user", "Displays action": "Displays action", "Reason": "Reason", "%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s accepted the invitation for %(displayName)s.", From 293bd15ee90a6cafd610aedd48f2bada3710b4af Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 11 May 2020 11:05:03 +0100 Subject: [PATCH 181/203] fix variable name shadowing Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/SlashCommands.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SlashCommands.tsx b/src/SlashCommands.tsx index ea561d9f12..3fa6c0d7ee 100644 --- a/src/SlashCommands.tsx +++ b/src/SlashCommands.tsx @@ -993,7 +993,7 @@ export const Commands = [ command: "msg", description: _td("Sends a message to the given user"), args: " ", - runFn: function(roomId, args) { + runFn: function(_, args) { if (args) { const matches = args.match(/^(\S+?)(?: +(.*))?$/s); if (matches) { From 6486c749095e577ce08af4c900f9d570d06c5859 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 11 May 2020 14:21:59 +0100 Subject: [PATCH 182/203] Fix passphrase reset in key backup restore dialog We prompt to restore the key backup when bootstrapping if it's not trusted, but the 'set up new recovery options' in this dialog just sets up a new key backup which just goes back to trying to access SSSS if cross-signing is enabled. This makes it reset the SSSS passphase instead. Fixes https://github.com/vector-im/riot-web/issues/13578 --- .../keybackup/RestoreKeyBackupDialog.js | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/components/views/dialogs/keybackup/RestoreKeyBackupDialog.js b/src/components/views/dialogs/keybackup/RestoreKeyBackupDialog.js index f1008dfcb0..7e51e76f6c 100644 --- a/src/components/views/dialogs/keybackup/RestoreKeyBackupDialog.js +++ b/src/components/views/dialogs/keybackup/RestoreKeyBackupDialog.js @@ -23,6 +23,7 @@ import { MatrixClient } from 'matrix-js-sdk'; import Modal from '../../../../Modal'; import { _t } from '../../../../languageHandler'; import { accessSecretStorage } from '../../../../CrossSigningManager'; +import SettingsStore from "../../../../settings/SettingsStore"; const RESTORE_TYPE_PASSPHRASE = 0; const RESTORE_TYPE_RECOVERYKEY = 1; @@ -89,14 +90,21 @@ export default class RestoreKeyBackupDialog extends React.PureComponent { _onResetRecoveryClick = () => { this.props.onFinished(false); - Modal.createTrackedDialogAsync('Key Backup', 'Key Backup', - import('../../../../async-components/views/dialogs/keybackup/CreateKeyBackupDialog'), - { - onFinished: () => { - this._loadBackupStatus(); - }, - }, null, /* priority = */ false, /* static = */ true, - ); + + if (SettingsStore.getValue("feature_cross_signing")) { + // If cross-signing is enabled, we reset the SSSS recovery passphrase (and cross-signing keys) + this.props.onFinished(false); + accessSecretStorage(() => {}, /* forceReset = */ true); + } else { + Modal.createTrackedDialogAsync('Key Backup', 'Key Backup', + import('../../../../async-components/views/dialogs/keybackup/CreateKeyBackupDialog'), + { + onFinished: () => { + this._loadBackupStatus(); + }, + }, null, /* priority = */ false, /* static = */ true, + ); + } } _onRecoveryKeyChange = (e) => { From 3e934c80816aaab1fb7c67ccb53cad7b757f7aa6 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 11 May 2020 15:17:25 +0100 Subject: [PATCH 183/203] Send cross-signing debug booleans over rageshake Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/rageshake/submit-rageshake.ts | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/rageshake/submit-rageshake.ts b/src/rageshake/submit-rageshake.ts index 921f3fbf40..d01fa66655 100644 --- a/src/rageshake/submit-rageshake.ts +++ b/src/rageshake/submit-rageshake.ts @@ -109,7 +109,29 @@ export default async function sendBugReport(bugReportEndpoint: string, opts: IOp keys.push(`curve25519:${client.getDeviceCurve25519Key()}`); } body.append('device_keys', keys.join(', ')); - body.append('cross_signing_key', client.getCrossSigningId()); + + // add cross-signing status information + const crossSigning = client._crypto._crossSigningInfo; + const secretStorage = client._crypto._secretStorage; + + body.append("cross_signing_key", crossSigning.getId()); + body.append("cross_signing_pk_in_ssss", + String(!!(await crossSigning.isStoredInSecretStorage(secretStorage)))); + body.append("ssss_key_in_account", String(!!(await secretStorage.hasKey()))); + + const pkCache = client.getCrossSigningCacheCallbacks(); + body.append("self_signing_pk_cached", + String(!!(pkCache && await pkCache.getCrossSigningKeyCache("self_signing")))); + body.append("user_signing_pk_cached", + String(!!(pkCache && await pkCache.getCrossSigningKeyCache("user_signing")))); + + const sessionBackupKeyFromCache = await client._crypto.getSessionBackupPrivateKey(); + body.append("session_backup_key_cached", String(!!sessionBackupKeyFromCache)); + body.append("session_backup_key_well_formed", String(sessionBackupKeyFromCache instanceof Uint8Array)); + body.append("cross_signing_supported_by_hs", + String(await client.doesServerSupportUnstableFeature("org.matrix.e2e_cross_signing"))); + body.append("cross_signing_ready", String(await client.isCrossSigningReady())); + body.append("ssss_key_needs_upgrade", String(await client.secretStorageKeyNeedsUpgrade())); } if (opts.label) { From 0e8bd59d2f2937ce7e43e98c0f4038cb7df35811 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 11 May 2020 15:43:34 +0100 Subject: [PATCH 184/203] View Source should target the replacing event rather than the root one Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../views/context_menus/MessageContextMenu.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/components/views/context_menus/MessageContextMenu.js b/src/components/views/context_menus/MessageContextMenu.js index 452489aa65..70ab80e6cc 100644 --- a/src/components/views/context_menus/MessageContextMenu.js +++ b/src/components/views/context_menus/MessageContextMenu.js @@ -130,22 +130,24 @@ export default createReactClass({ }, onViewSourceClick: function() { + const ev = this.props.mxEvent.replacingEvent() || this.props.mxEvent; const ViewSource = sdk.getComponent('structures.ViewSource'); Modal.createTrackedDialog('View Event Source', '', ViewSource, { - roomId: this.props.mxEvent.getRoomId(), - eventId: this.props.mxEvent.getId(), - content: this.props.mxEvent.event, + roomId: ev.getRoomId(), + eventId: ev.getId(), + content: ev.event, }, 'mx_Dialog_viewsource'); this.closeMenu(); }, onViewClearSourceClick: function() { + const ev = this.props.mxEvent.replacingEvent() || this.props.mxEvent; const ViewSource = sdk.getComponent('structures.ViewSource'); Modal.createTrackedDialog('View Clear Event Source', '', ViewSource, { - roomId: this.props.mxEvent.getRoomId(), - eventId: this.props.mxEvent.getId(), + roomId: ev.getRoomId(), + eventId: ev.getId(), // FIXME: _clearEvent is private - content: this.props.mxEvent._clearEvent, + content: ev._clearEvent, }, 'mx_Dialog_viewsource'); this.closeMenu(); }, From f487c2b38cb04202abc5c220ba6f7b652d4a39f2 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 11 May 2020 16:21:08 +0100 Subject: [PATCH 185/203] Fix rageshake with no matrix client We checked for the presence of a matrix client but then went and called a method on it assuming it existed on the line below, so, don't do that. https://github.com/vector-im/riot-web/issues/13624 pointed this out --- src/rageshake/submit-rageshake.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/rageshake/submit-rageshake.ts b/src/rageshake/submit-rageshake.ts index 921f3fbf40..1ef68637cf 100644 --- a/src/rageshake/submit-rageshake.ts +++ b/src/rageshake/submit-rageshake.ts @@ -101,15 +101,15 @@ export default async function sendBugReport(bugReportEndpoint: string, opts: IOp if (client) { body.append('user_id', client.credentials.userId); body.append('device_id', client.deviceId); - } - if (client.isCryptoEnabled()) { - const keys = [`ed25519:${client.getDeviceEd25519Key()}`]; - if (client.getDeviceCurve25519Key) { - keys.push(`curve25519:${client.getDeviceCurve25519Key()}`); + if (client.isCryptoEnabled()) { + const keys = [`ed25519:${client.getDeviceEd25519Key()}`]; + if (client.getDeviceCurve25519Key) { + keys.push(`curve25519:${client.getDeviceCurve25519Key()}`); + } + body.append('device_keys', keys.join(', ')); + body.append('cross_signing_key', client.getCrossSigningId()); } - body.append('device_keys', keys.join(', ')); - body.append('cross_signing_key', client.getCrossSigningId()); } if (opts.label) { From c0061e2f2a879655d62abc2983af96b175c943f5 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 11 May 2020 16:39:14 +0100 Subject: [PATCH 186/203] Don't try and redact redactions for "Remove recent messages" Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/right_panel/UserInfo.js | 2 +- src/components/views/rooms/MemberInfo.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/views/right_panel/UserInfo.js b/src/components/views/right_panel/UserInfo.js index 61f5a8161a..478dc90418 100644 --- a/src/components/views/right_panel/UserInfo.js +++ b/src/components/views/right_panel/UserInfo.js @@ -557,7 +557,7 @@ const RedactMessagesButton = ({member}) => { let eventsToRedact = []; while (timeline) { eventsToRedact = timeline.getEvents().reduce((events, event) => { - if (event.getSender() === userId && !event.isRedacted()) { + if (event.getSender() === userId && !event.isRedacted() && !event.isRedaction()) { return events.concat(event); } else { return events; diff --git a/src/components/views/rooms/MemberInfo.js b/src/components/views/rooms/MemberInfo.js index be3e8cf971..6b03000961 100644 --- a/src/components/views/rooms/MemberInfo.js +++ b/src/components/views/rooms/MemberInfo.js @@ -364,7 +364,7 @@ export default createReactClass({ let eventsToRedact = []; for (const timeline of timelineSet.getTimelines()) { eventsToRedact = timeline.getEvents().reduce((events, event) => { - if (event.getSender() === userId && !event.isRedacted()) { + if (event.getSender() === userId && !event.isRedacted() && !event.isRedaction()) { return events.concat(event); } else { return events; From c2dcb60f0b9257c2a9e8263c1637a9b80eb1ba78 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 11 May 2020 20:10:45 +0100 Subject: [PATCH 187/203] Prompt user to specify an alternate server if their chosen one has registration disabled Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/auth/Registration.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/structures/auth/Registration.js b/src/components/structures/auth/Registration.js index c74f6ed6e3..7818496e71 100644 --- a/src/components/structures/auth/Registration.js +++ b/src/components/structures/auth/Registration.js @@ -267,6 +267,7 @@ export default createReactClass({ dis.dispatch({action: 'start_login'}); } else { this.setState({ + serverErrorIsFatal: true, // fatal because user cannot continue on this server errorText: _t("Registration has been disabled on this homeserver."), // add empty flows array to get rid of spinner flows: [], From 3bb800bb81bf761c011db4a2fe08d61c325e86a4 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 11 May 2020 22:04:18 +0100 Subject: [PATCH 188/203] Replace png flags with use of Twemoji Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- res/css/views/elements/_Dropdown.scss | 8 +++++++- res/img/flags/AD.png | Bin 2584 -> 0 bytes res/img/flags/AE.png | Bin 1015 -> 0 bytes res/img/flags/AF.png | Bin 2578 -> 0 bytes res/img/flags/AG.png | Bin 4234 -> 0 bytes res/img/flags/AI.png | Bin 4765 -> 0 bytes res/img/flags/AL.png | Bin 3094 -> 0 bytes res/img/flags/AM.png | Bin 654 -> 0 bytes res/img/flags/AO.png | Bin 2449 -> 0 bytes res/img/flags/AQ.png | Bin 3910 -> 0 bytes res/img/flags/AR.png | Bin 1666 -> 0 bytes res/img/flags/AS.png | Bin 3977 -> 0 bytes res/img/flags/AT.png | Bin 655 -> 0 bytes res/img/flags/AU.png | Bin 5229 -> 0 bytes res/img/flags/AW.png | Bin 1650 -> 0 bytes res/img/flags/AX.png | Bin 1844 -> 0 bytes res/img/flags/AZ.png | Bin 1744 -> 0 bytes res/img/flags/BA.png | Bin 3048 -> 0 bytes res/img/flags/BB.png | Bin 2078 -> 0 bytes res/img/flags/BD.png | Bin 2819 -> 0 bytes res/img/flags/BE.png | Bin 558 -> 0 bytes res/img/flags/BF.png | Bin 1596 -> 0 bytes res/img/flags/BG.png | Bin 659 -> 0 bytes res/img/flags/BH.png | Bin 1374 -> 0 bytes res/img/flags/BI.png | Bin 5652 -> 0 bytes res/img/flags/BJ.png | Bin 811 -> 0 bytes res/img/flags/BL.png | Bin 566 -> 0 bytes res/img/flags/BM.png | Bin 5295 -> 0 bytes res/img/flags/BN.png | Bin 5290 -> 0 bytes res/img/flags/BO.png | Bin 668 -> 0 bytes res/img/flags/BQ.png | Bin 672 -> 0 bytes res/img/flags/BR.png | Bin 4852 -> 0 bytes res/img/flags/BS.png | Bin 2291 -> 0 bytes res/img/flags/BT.png | Bin 4879 -> 0 bytes res/img/flags/BV.png | Bin 1695 -> 0 bytes res/img/flags/BW.png | Bin 669 -> 0 bytes res/img/flags/BY.png | Bin 2023 -> 0 bytes res/img/flags/BZ.png | Bin 5281 -> 0 bytes res/img/flags/CA.png | Bin 2246 -> 0 bytes res/img/flags/CC.png | Bin 3728 -> 0 bytes res/img/flags/CD.png | Bin 3704 -> 0 bytes res/img/flags/CF.png | Bin 2655 -> 0 bytes res/img/flags/CG.png | Bin 1381 -> 0 bytes res/img/flags/CH.png | Bin 1500 -> 0 bytes res/img/flags/CI.png | Bin 568 -> 0 bytes res/img/flags/CK.png | Bin 6029 -> 0 bytes res/img/flags/CL.png | Bin 1632 -> 0 bytes res/img/flags/CM.png | Bin 1409 -> 0 bytes res/img/flags/CN.png | Bin 2215 -> 0 bytes res/img/flags/CO.png | Bin 668 -> 0 bytes res/img/flags/CR.png | Bin 785 -> 0 bytes res/img/flags/CU.png | Bin 3023 -> 0 bytes res/img/flags/CV.png | Bin 2695 -> 0 bytes res/img/flags/CW.png | Bin 1756 -> 0 bytes res/img/flags/CX.png | Bin 5152 -> 0 bytes res/img/flags/CY.png | Bin 3540 -> 0 bytes res/img/flags/CZ.png | Bin 1711 -> 0 bytes res/img/flags/DE.png | Bin 568 -> 0 bytes res/img/flags/DJ.png | Bin 3562 -> 0 bytes res/img/flags/DK.png | Bin 1233 -> 0 bytes res/img/flags/DM.png | Bin 2636 -> 0 bytes res/img/flags/DO.png | Bin 1682 -> 0 bytes res/img/flags/DZ.png | Bin 2506 -> 0 bytes res/img/flags/EC.png | Bin 2818 -> 0 bytes res/img/flags/EE.png | Bin 641 -> 0 bytes res/img/flags/EG.png | Bin 1611 -> 0 bytes res/img/flags/EH.png | Bin 2687 -> 0 bytes res/img/flags/ER.png | Bin 4082 -> 0 bytes res/img/flags/ES.png | Bin 2144 -> 0 bytes res/img/flags/ET.png | Bin 3460 -> 0 bytes res/img/flags/FI.png | Bin 1558 -> 0 bytes res/img/flags/FJ.png | Bin 5060 -> 0 bytes res/img/flags/FK.png | Bin 5273 -> 0 bytes res/img/flags/FM.png | Bin 2410 -> 0 bytes res/img/flags/FO.png | Bin 1715 -> 0 bytes res/img/flags/FR.png | Bin 566 -> 0 bytes res/img/flags/GA.png | Bin 661 -> 0 bytes res/img/flags/GB.png | Bin 6309 -> 0 bytes res/img/flags/GD.png | Bin 5753 -> 0 bytes res/img/flags/GE.png | Bin 2583 -> 0 bytes res/img/flags/GF.png | Bin 2342 -> 0 bytes res/img/flags/GG.png | Bin 2777 -> 0 bytes res/img/flags/GH.png | Bin 1864 -> 0 bytes res/img/flags/GI.png | Bin 2750 -> 0 bytes res/img/flags/GL.png | Bin 3101 -> 0 bytes res/img/flags/GM.png | Bin 709 -> 0 bytes res/img/flags/GN.png | Bin 560 -> 0 bytes res/img/flags/GP.png | Bin 5619 -> 0 bytes res/img/flags/GQ.png | Bin 3090 -> 0 bytes res/img/flags/GR.png | Bin 2035 -> 0 bytes res/img/flags/GS.png | Bin 5684 -> 0 bytes res/img/flags/GT.png | Bin 1830 -> 0 bytes res/img/flags/GU.png | Bin 2591 -> 0 bytes res/img/flags/GW.png | Bin 1608 -> 0 bytes res/img/flags/GY.png | Bin 5108 -> 0 bytes res/img/flags/HK.png | Bin 3001 -> 0 bytes res/img/flags/HM.png | Bin 5229 -> 0 bytes res/img/flags/HN.png | Bin 1644 -> 0 bytes res/img/flags/HR.png | Bin 2420 -> 0 bytes res/img/flags/HT.png | Bin 1944 -> 0 bytes res/img/flags/HU.png | Bin 677 -> 0 bytes res/img/flags/ID.png | Bin 579 -> 0 bytes res/img/flags/IE.png | Bin 553 -> 0 bytes res/img/flags/IL.png | Bin 1856 -> 0 bytes res/img/flags/IM.png | Bin 2533 -> 0 bytes res/img/flags/IN.png | Bin 1687 -> 0 bytes res/img/flags/IO.png | Bin 8096 -> 0 bytes res/img/flags/IQ.png | Bin 2119 -> 0 bytes res/img/flags/IR.png | Bin 4018 -> 0 bytes res/img/flags/IS.png | Bin 1483 -> 0 bytes res/img/flags/IT.png | Bin 572 -> 0 bytes res/img/flags/JE.png | Bin 3023 -> 0 bytes res/img/flags/JM.png | Bin 3663 -> 0 bytes res/img/flags/JO.png | Bin 2572 -> 0 bytes res/img/flags/JP.png | Bin 2402 -> 0 bytes res/img/flags/KE.png | Bin 2738 -> 0 bytes res/img/flags/KG.png | Bin 3258 -> 0 bytes res/img/flags/KH.png | Bin 2888 -> 0 bytes res/img/flags/KI.png | Bin 3661 -> 0 bytes res/img/flags/KM.png | Bin 4023 -> 0 bytes res/img/flags/KN.png | Bin 4213 -> 0 bytes res/img/flags/KP.png | Bin 2293 -> 0 bytes res/img/flags/KR.png | Bin 4837 -> 0 bytes res/img/flags/KW.png | Bin 1667 -> 0 bytes res/img/flags/KY.png | Bin 5285 -> 0 bytes res/img/flags/KZ.png | Bin 3466 -> 0 bytes res/img/flags/LA.png | Bin 2119 -> 0 bytes res/img/flags/LB.png | Bin 2537 -> 0 bytes res/img/flags/LC.png | Bin 2445 -> 0 bytes res/img/flags/LI.png | Bin 1759 -> 0 bytes res/img/flags/LK.png | Bin 5077 -> 0 bytes res/img/flags/LR.png | Bin 1903 -> 0 bytes res/img/flags/LS.png | Bin 1848 -> 0 bytes res/img/flags/LT.png | Bin 640 -> 0 bytes res/img/flags/LU.png | Bin 677 -> 0 bytes res/img/flags/LV.png | Bin 641 -> 0 bytes res/img/flags/LY.png | Bin 1273 -> 0 bytes res/img/flags/MA.png | Bin 1449 -> 0 bytes res/img/flags/MC.png | Bin 574 -> 0 bytes res/img/flags/MD.png | Bin 2238 -> 0 bytes res/img/flags/ME.png | Bin 2965 -> 0 bytes res/img/flags/MF.png | Bin 566 -> 0 bytes res/img/flags/MG.png | Bin 823 -> 0 bytes res/img/flags/MH.png | Bin 5594 -> 0 bytes res/img/flags/MK.png | Bin 5066 -> 0 bytes res/img/flags/ML.png | Bin 552 -> 0 bytes res/img/flags/MM.png | Bin 3123 -> 0 bytes res/img/flags/MN.png | Bin 2328 -> 0 bytes res/img/flags/MO.png | Bin 2994 -> 0 bytes res/img/flags/MP.png | Bin 4619 -> 0 bytes res/img/flags/MQ.png | Bin 5810 -> 0 bytes res/img/flags/MR.png | Bin 2897 -> 0 bytes res/img/flags/MS.png | Bin 4967 -> 0 bytes res/img/flags/MT.png | Bin 1324 -> 0 bytes res/img/flags/MU.png | Bin 723 -> 0 bytes res/img/flags/MV.png | Bin 2047 -> 0 bytes res/img/flags/MW.png | Bin 2141 -> 0 bytes res/img/flags/MX.png | Bin 2140 -> 0 bytes res/img/flags/MY.png | Bin 3081 -> 0 bytes res/img/flags/MZ.png | Bin 3367 -> 0 bytes res/img/flags/NA.png | Bin 3679 -> 0 bytes res/img/flags/NC.png | Bin 3254 -> 0 bytes res/img/flags/NE.png | Bin 1660 -> 0 bytes res/img/flags/NF.png | Bin 2520 -> 0 bytes res/img/flags/NG.png | Bin 563 -> 0 bytes res/img/flags/NI.png | Bin 1701 -> 0 bytes res/img/flags/NL.png | Bin 672 -> 0 bytes res/img/flags/NO.png | Bin 1695 -> 0 bytes res/img/flags/NP.png | Bin 4044 -> 0 bytes res/img/flags/NR.png | Bin 1620 -> 0 bytes res/img/flags/NU.png | Bin 3319 -> 0 bytes res/img/flags/NZ.png | Bin 4697 -> 0 bytes res/img/flags/OM.png | Bin 1886 -> 0 bytes res/img/flags/PA.png | Bin 2285 -> 0 bytes res/img/flags/PE.png | Bin 556 -> 0 bytes res/img/flags/PF.png | Bin 2379 -> 0 bytes res/img/flags/PG.png | Bin 4393 -> 0 bytes res/img/flags/PH.png | Bin 3160 -> 0 bytes res/img/flags/PK.png | Bin 3165 -> 0 bytes res/img/flags/PL.png | Bin 567 -> 0 bytes res/img/flags/PM.png | Bin 8583 -> 0 bytes res/img/flags/PN.png | Bin 5945 -> 0 bytes res/img/flags/PR.png | Bin 3673 -> 0 bytes res/img/flags/PS.png | Bin 2147 -> 0 bytes res/img/flags/PT.png | Bin 2617 -> 0 bytes res/img/flags/PW.png | Bin 2714 -> 0 bytes res/img/flags/PY.png | Bin 1519 -> 0 bytes res/img/flags/QA.png | Bin 1564 -> 0 bytes res/img/flags/RE.png | Bin 566 -> 0 bytes res/img/flags/RO.png | Bin 555 -> 0 bytes res/img/flags/RS.png | Bin 3349 -> 0 bytes res/img/flags/RU.png | Bin 662 -> 0 bytes res/img/flags/RW.png | Bin 1695 -> 0 bytes res/img/flags/SA.png | Bin 3750 -> 0 bytes res/img/flags/SB.png | Bin 3424 -> 0 bytes res/img/flags/SC.png | Bin 3704 -> 0 bytes res/img/flags/SD.png | Bin 2103 -> 0 bytes res/img/flags/SE.png | Bin 1278 -> 0 bytes res/img/flags/SG.png | Bin 2210 -> 0 bytes res/img/flags/SH.png | Bin 4615 -> 0 bytes res/img/flags/SI.png | Bin 1613 -> 0 bytes res/img/flags/SJ.png | Bin 1695 -> 0 bytes res/img/flags/SK.png | Bin 2932 -> 0 bytes res/img/flags/SL.png | Bin 676 -> 0 bytes res/img/flags/SM.png | Bin 3009 -> 0 bytes res/img/flags/SN.png | Bin 1530 -> 0 bytes res/img/flags/SO.png | Bin 1958 -> 0 bytes res/img/flags/SR.png | Bin 1942 -> 0 bytes res/img/flags/SS.png | Bin 3072 -> 0 bytes res/img/flags/ST.png | Bin 2945 -> 0 bytes res/img/flags/SV.png | Bin 1666 -> 0 bytes res/img/flags/SX.png | Bin 3485 -> 0 bytes res/img/flags/SY.png | Bin 1195 -> 0 bytes res/img/flags/SZ.png | Bin 4133 -> 0 bytes res/img/flags/TC.png | Bin 4631 -> 0 bytes res/img/flags/TD.png | Bin 567 -> 0 bytes res/img/flags/TF.png | Bin 566 -> 0 bytes res/img/flags/TG.png | Bin 2523 -> 0 bytes res/img/flags/TH.png | Bin 764 -> 0 bytes res/img/flags/TJ.png | Bin 1647 -> 0 bytes res/img/flags/TK.png | Bin 4829 -> 0 bytes res/img/flags/TL.png | Bin 3046 -> 0 bytes res/img/flags/TM.png | Bin 3925 -> 0 bytes res/img/flags/TN.png | Bin 2635 -> 0 bytes res/img/flags/TO.png | Bin 1618 -> 0 bytes res/img/flags/TR.png | Bin 2875 -> 0 bytes res/img/flags/TT.png | Bin 5253 -> 0 bytes res/img/flags/TV.png | Bin 5915 -> 0 bytes res/img/flags/TW.png | Bin 2108 -> 0 bytes res/img/flags/TZ.png | Bin 2289 -> 0 bytes res/img/flags/UA.png | Bin 568 -> 0 bytes res/img/flags/UG.png | Bin 1973 -> 0 bytes res/img/flags/US.png | Bin 2845 -> 0 bytes res/img/flags/UY.png | Bin 2542 -> 0 bytes res/img/flags/UZ.png | Bin 1745 -> 0 bytes res/img/flags/VA.png | Bin 2211 -> 0 bytes res/img/flags/VC.png | Bin 2105 -> 0 bytes res/img/flags/VE.png | Bin 2157 -> 0 bytes res/img/flags/VG.png | Bin 5427 -> 0 bytes res/img/flags/VI.png | Bin 5938 -> 0 bytes res/img/flags/VN.png | Bin 2304 -> 0 bytes res/img/flags/VU.png | Bin 4080 -> 0 bytes res/img/flags/WF.png | Bin 2509 -> 0 bytes res/img/flags/WS.png | Bin 1896 -> 0 bytes res/img/flags/YE.png | Bin 652 -> 0 bytes res/img/flags/YT.png | Bin 5735 -> 0 bytes res/img/flags/ZA.png | Bin 3595 -> 0 bytes res/img/flags/ZM.png | Bin 1787 -> 0 bytes res/img/flags/ZW.png | Bin 2802 -> 0 bytes src/components/views/auth/CountryDropdown.js | 4 ++-- src/{phonenumber.js => phonenumber.ts} | 12 +++++++++++- 251 files changed, 20 insertions(+), 4 deletions(-) delete mode 100644 res/img/flags/AD.png delete mode 100644 res/img/flags/AE.png delete mode 100644 res/img/flags/AF.png delete mode 100644 res/img/flags/AG.png delete mode 100644 res/img/flags/AI.png delete mode 100644 res/img/flags/AL.png delete mode 100644 res/img/flags/AM.png delete mode 100644 res/img/flags/AO.png delete mode 100644 res/img/flags/AQ.png delete mode 100644 res/img/flags/AR.png delete mode 100644 res/img/flags/AS.png delete mode 100644 res/img/flags/AT.png delete mode 100644 res/img/flags/AU.png delete mode 100644 res/img/flags/AW.png delete mode 100644 res/img/flags/AX.png delete mode 100644 res/img/flags/AZ.png delete mode 100644 res/img/flags/BA.png delete mode 100644 res/img/flags/BB.png delete mode 100644 res/img/flags/BD.png delete mode 100644 res/img/flags/BE.png delete mode 100644 res/img/flags/BF.png delete mode 100644 res/img/flags/BG.png delete mode 100644 res/img/flags/BH.png delete mode 100644 res/img/flags/BI.png delete mode 100644 res/img/flags/BJ.png delete mode 100644 res/img/flags/BL.png delete mode 100644 res/img/flags/BM.png delete mode 100644 res/img/flags/BN.png delete mode 100644 res/img/flags/BO.png delete mode 100644 res/img/flags/BQ.png delete mode 100644 res/img/flags/BR.png delete mode 100644 res/img/flags/BS.png delete mode 100644 res/img/flags/BT.png delete mode 100644 res/img/flags/BV.png delete mode 100644 res/img/flags/BW.png delete mode 100644 res/img/flags/BY.png delete mode 100644 res/img/flags/BZ.png delete mode 100644 res/img/flags/CA.png delete mode 100644 res/img/flags/CC.png delete mode 100644 res/img/flags/CD.png delete mode 100644 res/img/flags/CF.png delete mode 100644 res/img/flags/CG.png delete mode 100644 res/img/flags/CH.png delete mode 100644 res/img/flags/CI.png delete mode 100644 res/img/flags/CK.png delete mode 100644 res/img/flags/CL.png delete mode 100644 res/img/flags/CM.png delete mode 100644 res/img/flags/CN.png delete mode 100644 res/img/flags/CO.png delete mode 100644 res/img/flags/CR.png delete mode 100644 res/img/flags/CU.png delete mode 100644 res/img/flags/CV.png delete mode 100644 res/img/flags/CW.png delete mode 100644 res/img/flags/CX.png delete mode 100644 res/img/flags/CY.png delete mode 100644 res/img/flags/CZ.png delete mode 100644 res/img/flags/DE.png delete mode 100644 res/img/flags/DJ.png delete mode 100644 res/img/flags/DK.png delete mode 100644 res/img/flags/DM.png delete mode 100644 res/img/flags/DO.png delete mode 100644 res/img/flags/DZ.png delete mode 100644 res/img/flags/EC.png delete mode 100644 res/img/flags/EE.png delete mode 100644 res/img/flags/EG.png delete mode 100644 res/img/flags/EH.png delete mode 100644 res/img/flags/ER.png delete mode 100644 res/img/flags/ES.png delete mode 100644 res/img/flags/ET.png delete mode 100644 res/img/flags/FI.png delete mode 100644 res/img/flags/FJ.png delete mode 100644 res/img/flags/FK.png delete mode 100644 res/img/flags/FM.png delete mode 100644 res/img/flags/FO.png delete mode 100644 res/img/flags/FR.png delete mode 100644 res/img/flags/GA.png delete mode 100644 res/img/flags/GB.png delete mode 100644 res/img/flags/GD.png delete mode 100644 res/img/flags/GE.png delete mode 100644 res/img/flags/GF.png delete mode 100644 res/img/flags/GG.png delete mode 100644 res/img/flags/GH.png delete mode 100644 res/img/flags/GI.png delete mode 100644 res/img/flags/GL.png delete mode 100644 res/img/flags/GM.png delete mode 100644 res/img/flags/GN.png delete mode 100644 res/img/flags/GP.png delete mode 100644 res/img/flags/GQ.png delete mode 100644 res/img/flags/GR.png delete mode 100644 res/img/flags/GS.png delete mode 100644 res/img/flags/GT.png delete mode 100644 res/img/flags/GU.png delete mode 100644 res/img/flags/GW.png delete mode 100644 res/img/flags/GY.png delete mode 100644 res/img/flags/HK.png delete mode 100644 res/img/flags/HM.png delete mode 100644 res/img/flags/HN.png delete mode 100644 res/img/flags/HR.png delete mode 100644 res/img/flags/HT.png delete mode 100644 res/img/flags/HU.png delete mode 100644 res/img/flags/ID.png delete mode 100644 res/img/flags/IE.png delete mode 100644 res/img/flags/IL.png delete mode 100644 res/img/flags/IM.png delete mode 100644 res/img/flags/IN.png delete mode 100644 res/img/flags/IO.png delete mode 100644 res/img/flags/IQ.png delete mode 100644 res/img/flags/IR.png delete mode 100644 res/img/flags/IS.png delete mode 100644 res/img/flags/IT.png delete mode 100644 res/img/flags/JE.png delete mode 100644 res/img/flags/JM.png delete mode 100644 res/img/flags/JO.png delete mode 100644 res/img/flags/JP.png delete mode 100644 res/img/flags/KE.png delete mode 100644 res/img/flags/KG.png delete mode 100644 res/img/flags/KH.png delete mode 100644 res/img/flags/KI.png delete mode 100644 res/img/flags/KM.png delete mode 100644 res/img/flags/KN.png delete mode 100644 res/img/flags/KP.png delete mode 100644 res/img/flags/KR.png delete mode 100644 res/img/flags/KW.png delete mode 100644 res/img/flags/KY.png delete mode 100644 res/img/flags/KZ.png delete mode 100644 res/img/flags/LA.png delete mode 100644 res/img/flags/LB.png delete mode 100644 res/img/flags/LC.png delete mode 100644 res/img/flags/LI.png delete mode 100644 res/img/flags/LK.png delete mode 100644 res/img/flags/LR.png delete mode 100644 res/img/flags/LS.png delete mode 100644 res/img/flags/LT.png delete mode 100644 res/img/flags/LU.png delete mode 100644 res/img/flags/LV.png delete mode 100644 res/img/flags/LY.png delete mode 100644 res/img/flags/MA.png delete mode 100644 res/img/flags/MC.png delete mode 100644 res/img/flags/MD.png delete mode 100644 res/img/flags/ME.png delete mode 100644 res/img/flags/MF.png delete mode 100644 res/img/flags/MG.png delete mode 100644 res/img/flags/MH.png delete mode 100644 res/img/flags/MK.png delete mode 100644 res/img/flags/ML.png delete mode 100644 res/img/flags/MM.png delete mode 100644 res/img/flags/MN.png delete mode 100644 res/img/flags/MO.png delete mode 100644 res/img/flags/MP.png delete mode 100644 res/img/flags/MQ.png delete mode 100644 res/img/flags/MR.png delete mode 100644 res/img/flags/MS.png delete mode 100644 res/img/flags/MT.png delete mode 100644 res/img/flags/MU.png delete mode 100644 res/img/flags/MV.png delete mode 100644 res/img/flags/MW.png delete mode 100644 res/img/flags/MX.png delete mode 100644 res/img/flags/MY.png delete mode 100644 res/img/flags/MZ.png delete mode 100644 res/img/flags/NA.png delete mode 100644 res/img/flags/NC.png delete mode 100644 res/img/flags/NE.png delete mode 100644 res/img/flags/NF.png delete mode 100644 res/img/flags/NG.png delete mode 100644 res/img/flags/NI.png delete mode 100644 res/img/flags/NL.png delete mode 100644 res/img/flags/NO.png delete mode 100644 res/img/flags/NP.png delete mode 100644 res/img/flags/NR.png delete mode 100644 res/img/flags/NU.png delete mode 100644 res/img/flags/NZ.png delete mode 100644 res/img/flags/OM.png delete mode 100644 res/img/flags/PA.png delete mode 100644 res/img/flags/PE.png delete mode 100644 res/img/flags/PF.png delete mode 100644 res/img/flags/PG.png delete mode 100644 res/img/flags/PH.png delete mode 100644 res/img/flags/PK.png delete mode 100644 res/img/flags/PL.png delete mode 100644 res/img/flags/PM.png delete mode 100644 res/img/flags/PN.png delete mode 100644 res/img/flags/PR.png delete mode 100644 res/img/flags/PS.png delete mode 100644 res/img/flags/PT.png delete mode 100644 res/img/flags/PW.png delete mode 100644 res/img/flags/PY.png delete mode 100644 res/img/flags/QA.png delete mode 100644 res/img/flags/RE.png delete mode 100644 res/img/flags/RO.png delete mode 100644 res/img/flags/RS.png delete mode 100644 res/img/flags/RU.png delete mode 100644 res/img/flags/RW.png delete mode 100644 res/img/flags/SA.png delete mode 100644 res/img/flags/SB.png delete mode 100644 res/img/flags/SC.png delete mode 100644 res/img/flags/SD.png delete mode 100644 res/img/flags/SE.png delete mode 100644 res/img/flags/SG.png delete mode 100644 res/img/flags/SH.png delete mode 100644 res/img/flags/SI.png delete mode 100644 res/img/flags/SJ.png delete mode 100644 res/img/flags/SK.png delete mode 100644 res/img/flags/SL.png delete mode 100644 res/img/flags/SM.png delete mode 100644 res/img/flags/SN.png delete mode 100644 res/img/flags/SO.png delete mode 100644 res/img/flags/SR.png delete mode 100644 res/img/flags/SS.png delete mode 100644 res/img/flags/ST.png delete mode 100644 res/img/flags/SV.png delete mode 100644 res/img/flags/SX.png delete mode 100644 res/img/flags/SY.png delete mode 100644 res/img/flags/SZ.png delete mode 100644 res/img/flags/TC.png delete mode 100644 res/img/flags/TD.png delete mode 100644 res/img/flags/TF.png delete mode 100644 res/img/flags/TG.png delete mode 100644 res/img/flags/TH.png delete mode 100644 res/img/flags/TJ.png delete mode 100644 res/img/flags/TK.png delete mode 100644 res/img/flags/TL.png delete mode 100644 res/img/flags/TM.png delete mode 100644 res/img/flags/TN.png delete mode 100644 res/img/flags/TO.png delete mode 100644 res/img/flags/TR.png delete mode 100644 res/img/flags/TT.png delete mode 100644 res/img/flags/TV.png delete mode 100644 res/img/flags/TW.png delete mode 100644 res/img/flags/TZ.png delete mode 100644 res/img/flags/UA.png delete mode 100644 res/img/flags/UG.png delete mode 100644 res/img/flags/US.png delete mode 100644 res/img/flags/UY.png delete mode 100644 res/img/flags/UZ.png delete mode 100644 res/img/flags/VA.png delete mode 100644 res/img/flags/VC.png delete mode 100644 res/img/flags/VE.png delete mode 100644 res/img/flags/VG.png delete mode 100644 res/img/flags/VI.png delete mode 100644 res/img/flags/VN.png delete mode 100644 res/img/flags/VU.png delete mode 100644 res/img/flags/WF.png delete mode 100644 res/img/flags/WS.png delete mode 100644 res/img/flags/YE.png delete mode 100644 res/img/flags/YT.png delete mode 100644 res/img/flags/ZA.png delete mode 100644 res/img/flags/ZM.png delete mode 100644 res/img/flags/ZW.png rename src/{phonenumber.js => phonenumber.ts} (98%) diff --git a/res/css/views/elements/_Dropdown.scss b/res/css/views/elements/_Dropdown.scss index dd8511cc42..2a2508c17c 100644 --- a/res/css/views/elements/_Dropdown.scss +++ b/res/css/views/elements/_Dropdown.scss @@ -77,12 +77,18 @@ limitations under the License. white-space: nowrap; } -.mx_Dropdown_option img { +.mx_Dropdown_option img, +.mx_Dropdown_option .mx_Dropdown_option_emoji { margin: 5px; width: 16px; vertical-align: middle; } +.mx_Dropdown_option_emoji { + font-size: $font-16px; + line-height: $font-16px; +} + input.mx_Dropdown_option, input.mx_Dropdown_option:focus { font-weight: normal; diff --git a/res/img/flags/AD.png b/res/img/flags/AD.png deleted file mode 100644 index d5d59645fe695b60380c02374a5d2f1cda4dba54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2584 zcmZ{mX*d*W8^@p7jiCmoL)j(i2xH$OgtCpXWNG9uc8N(-b_S(Gyrt|ZG-b(hj6_+- z(%5REkSs$~NJW;h^G@&ez8}tq_kUgY^Shtrf88IR5BHr!z@O&lJ;VzD;5R>GV#lTC zufQU?>)2rJ11{jcM%G3E&~IV3JrLZzl;;^cYXBnT0H9t2V3T`9odw_u4uG%j0O)1| zAWY7yw>`nVK$0v^n{dh1#;Jx_F3{vNE|s6+Gu z_ZiCE#K<9R)cf=g+kTowasxh&22~*s*j|TT9G^Wjk9(ipoIpSm20KLr$Tl z-@U=B#Ag(XHe}XPJTbu1hppOSd$$o=n_MEF&7*KB?Iz=6-pq-Xol{2xM|{fY`ZvCW z??ke~n_FhKawgO!W^|UR_~LhS6y5v(!;HXGaSZ**FIiaFD6iKkY5tPqwx1F+KbB!j zId=ZOf~l^2r%BOqq+rs_insi? z0;pb<8Ee``N}~FJsw5sC!O-y2uR$&}Duk(sdW8=19I8{#NOiwUT{l?Zvw|4U zz0?A)kT}=kYoO$@6@7xIr$A@2Rxc0=^SSQoZyIFR-Bt3a{DTe9wQB9cHfn5oj*v zWW%JQAOk`H4^@Sugtl)uc|(;Q1IwSo9uEE9LiiCc;A^L6yi~AvbJfOC>^gSz#X!P- zqdkcAd@U=k+4D)NX|D%$Xr(_BTcz*KDzSjsZ2}^2(5|6H6U@jCe$G zG4btdQJ9{QDlVlk1O?K-7O!Q|SQEOrM^Al{^;_SUGE}-&tAT;He}^>gmY5^48ar0X z+=*6e4S#-YuwJl+(kq$LZbS^O64i>+GYucC66-jY5U_b@U%p<hBr!Y_Yg6~=o)$9GM4(G!q?2@j8ZK_Q-Id)YZj-Rw#JL_I zC$Ab7?klFw{(SE03D^^%wSiz(;*bCbW#I;Y&!!S|;9v1(S#p8#wVl(aPk)DY>Y;5` z{1J+I{02{31;%4)qkr#sY@+Xyjq2eYJqQ##&MPMZ&zG;adH3+!c5H3RbCm>gl35P_ zr0f1Z-%zWbQc{WN2$npHo|V^+m0GdoS$G@LEVe(O#!q92+Hii{cZ_FbFbze^NBt-x z+IxccrEjuw1PekPzs57A3DLJ!teX)s-#whfvtj+0H~GsdQRIsNyGkk_r?AnlM}SBcTmo)9KCtys`u^Ik&x+U1*uuVE=Rh8AGJ0f ztm&@I>DifNS2X#5gM~yc%6>NMdzhhTs+paYI}uuIc>kI7A0Bd1m!nPb6WxG`03pC! zh90TUZWDzy;7qc5k#y)}Tlws^^I7A%Q}26O^cc|sS_SRxAq>m(;b1KGFK<#tCUnG{ zPAEmBRlLfYb0^N9d{auDbDO>!Ag9fHe>C3LcxHujGPe?T1`s2xxOH9itMDn7CEV%R=SnfbuY7QrErGNO5z`1uHmavQbQyA4f`X`LosM9fy z`lO#2sb~`yM$;XOMv2r8>zY|Z!sRyFS#sKY_;xQ#{*ogsnNiH-Q+aZxjgp`Lr;#4u zhh+3<%elJt5+4LHk6iq@0^Lt&)rL!l%|TY z`3B56Nnvr1!b$BX?l-BN@B2g@?h2A#f9X=M`5h`tuaKp`HCZ#tTZldVtuf%nJ6IKZ;wTf9g4#Z#bG( zdu8_^Bkbq(JBZb})lpJN;fcA9O=7vbHN7DWo|krhCcPB5?%u}a_s43=zj7PLcqMWw zBQ@5Q7x!uv_wiK}Wn!+6uY#$3(tR-mW1*BoQL7IRc3-Vd3j_PW^T$Mc62o0JZ%`tU znmO4(%tztGkX0C>l}oVSZuyndx0SWkTqEP=1up~S|C>!tlkLKs}SS9093vDZEXV^ifhXpVwHHX2^)KNW!e-lj-1 z{8H9r3d7yvd2uM+>Swttr21b(XZ{ig59H9I4o$gq<}tUYo~#XlDczn?!e6<~G@ir< zWgu_+dTBJpo!RWtWuzR?>MB)_3WXmaK%N%ce3{AP1gE0af}}FT0$SFRoW{YP9b0E; zJ|_LYoqRTK6}LHW=JqAFDd^EZhL7TR;a#zy^dsSp{;B#}?v!+dV(Lus@}PL@dWLv& z0aS4+T8cOgMOAGFRW)4=60Kg H*ggK=-FTJP diff --git a/res/img/flags/AE.png b/res/img/flags/AE.png deleted file mode 100644 index 05c7418aa4dae20fe103f484d831ae66a6c1c397..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1015 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7?_@Ux;TbZ+_Hu(Bb6U&OcV{mAFRpxMzxfQ$fB84Yhiw#E1e`b&;Y9w* zM{T*cx8-KP{mR?f962pDa$3;BzwA;{I;S`Fy>r?{}SgBgR z`AehfjC7_9y(zQL7sqek&1e=Co_pin%|FkcF!b>ERNs}9?_yq?7y0SH8DY0Wd-xwb zV7R+JT712I^Jin*>G}3;r!FpCtsQuwIqj0o%hK|ith;x0DigGpO}nalVewRY<@m|N&)D&<=FUH! z6m7k*Efsg=d%fetjP*H8@K&%`>&VF@9Um6Y%jgYS~X2X zGhpQjuawk$K4yhET+8>o>*{|y`>>bX47oGq&#WDfzE~=57pgve@@a$5c{vF=3|j7+ zg>P~KJ$Y)%gSv}mcY(0>K;t9v=ZDOnFP1K@JsNd&b=BJUF5IOLR~h}wyt7|u!I%0@ z^OZ}*9Q0qXu6Px8I7>ppXp@`RA%BTPma^w7w9gek`hM!;g^kB%MZa3{?oup+-wn=Y z<2JYE&(~gu{Ro+3QMg^_|MRIb)^8Zz^h#I%zW)DL&wtTMesF}VY-j+*e%L=Ym%^v( zuYX4*GazdbOC8gZzK9Kli|eNVGl6P}YeY#(Vo9o1a#1RfVlXl=G}kpS)itsRF*3F? tHMBA@&^9o%GBBt(^wbtbLvDUbW?Cg~4V?318-W@aJYD@<);T3K0RX+YvyK1& diff --git a/res/img/flags/AF.png b/res/img/flags/AF.png deleted file mode 100644 index bc7cef091662f98bb1dfc7abed0152b39f84b3ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2578 zcmZ{mXHe5?7RLW+AP@*5(n}}`3V~3hgp!16kbdbPM2fTXz>;M385-uB9 zGpY8^1=0DwR6*;^}Z=7Pojim?Hc%s9|*ie-W=@UmkFlf-}Jw!hv8^S~NPFf(Lbgo*I0 z$O_v;Z!xcd2nKkYh}n&~s8HS&!M<->TDdLKo{!CDilw>xS@epEariR$;)#!UPnRW3LAfMA!EK~)74pf9W#QD7 zk+E7~Eo$t7idNH>_RdkbxA*mtc=NLHwNT6-|H0?8eZ#RIfZ-Tcd=bZxTgQ#2i?6202VS#AA_h z3%e}P0YzWM*j>j$#5ZVuK>_GvZl5-{)NNiK&tw+~dmyQr2)dbWs(g2`^PCHE$Lo

    _xpY&rcZ6V+a;-OoEJR8lsQRzu-L#?QGn&p?%Pu^s z_TwICej%XOw)HS>mVN#Q zN0G$0C5Itxa>ExAJjvIUQIkm(jZ2Q0-rX9MQ~Qzat*YP<-$no9&Ge^=X9qh zz^uD3ITEaZJ(;3?l^S~_~kG5aFJNf_ihHmYm11OqN6jYH|_AqbEO3N-EfOa zMn`+G85hgqmZM)}xqM@xV7KNz9?L0T)w3nc4eiZb{B!ZV&#mciH~(}+51+z_+QEmv z^SdcJvw-|rSN1d!^&$J5Enm5~J1TMC1AJVp8AbF;aQC$IfttG4&H%DRd_d2Su zlU)|fR+X}CKV4VVXa9qKBj+WO*8oiZ0Ij^bvTt{w@AXN)w=TPVQa^PPj!hiul(*3 zT%3;-=o}uZ%JTzu3esZ@IH7ZiPn{os$PZ<(&k4!UR`b`UQi;QHG8+1k6G=&`I-68aFuM`J(`|Fy?InYQ@WnFB7DG&>d|4=cN2bAXew(XKmPS!_7#793=1REUCqZ?cpi7}Gv8y_@ zejRT;D>3pyU&J)0R(|Ls_nU$yDYd1lKh~4DJ;m#zw$%dd)Ox6~;wF8S{t*~(xzV~W zW(rvSR7cW*@EgaOgg=7d+{o(1I&ScF6R$iic!{aE%IJN>4De-RAfg9+N$@%3fjJ2K z+wmF7wElSW;-2DH{B7X?v_?lu`KraGaa_gg%DVITjfaSY9n-*rdYzEHW02pHGO6zo z{%X06oH%&$iLDkmqkl{uuraaxHg7zk_$(HhEUZrKM8IT;0wH+wvCT0a{QJ`-HeDqt zFIODx8nrLnfB6+BLXQSW8e6qO8Flq*3U#Su#zktp6YBb1htZfSnD2O8Njst4fXs`t zUcQ3Ay4XayD&cDgfs@*jCaWJ8wG-AXye-}A?Jk7GB^48XQnV#JR=6#V#9UjeP+Gq$tSLKl1s&o0}LlIz)W zMsO@(FNb%mk!4wxC6Kczp3?m&2JArDQYyr2b9yziRb*5>thoJ`7D288hl*T&9d$I2 zCTZ*WXl+9>7NZ+croSJ(+l~>?dBtUfc$qME60ls<`gP0bzn0_Q1|<7P7>qHe2d^J4 zF#XZFP(z1M&ugJx7>{5tCIDr$k~#`~38k!IqpX6tq=ZpL%b}GpXmmv9iq8KCNMujn X>yiIoz(&1FVG00(p}9e&9x?tO>&TqW diff --git a/res/img/flags/AG.png b/res/img/flags/AG.png deleted file mode 100644 index d48facad47fc07e12478edeaa44ec8fe3d0028e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4234 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 diff --git a/res/img/flags/AL.png b/res/img/flags/AL.png deleted file mode 100644 index 883835ffb338e1c31e6de929a958839afc2f6e54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3094 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 nZ39Cq1A~e~Pi;{&StDnm{r-UW|vF!3@ diff --git a/res/img/flags/AO.png b/res/img/flags/AO.png deleted file mode 100644 index ae68b12c44d52f81b16f811ed1f8220918844081..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2449 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 diff --git a/res/img/flags/AR.png b/res/img/flags/AR.png deleted file mode 100644 index 8142adfc8361ed9fda4b9a276f5770f2f24fa088..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1666 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 diff --git a/res/img/flags/AT.png b/res/img/flags/AT.png deleted file mode 100644 index e32414bd6acaf0f4a6ec7f9ace8d4e3907b9f144..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 655 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#Qn3T^vIyZoR#|(d%%4$gz); zlXgc2zEJS1z*_Z8~e4)rWFNY*$b!DS3&2Co0=s4Bs7eqH``=C^+$Vk4@I zV&vxSp2zm;5LbKg?9H!Mf6Vs&xp7z1%*(eIug<=H*=OIrFH(2szKQwI7p)WTBfmrL zICG)?yJI&u{!_d@anhOH^Nw-*f0`ltihK15hZ{o2-^V6(ZcaXzcr0Lsp-38!_woOS zFD0JpSnB*g^Oa&`{q1twUUso1iuHvBb$6p~#zvO{`FVOzE!4xrzwNwkUH!AbwpaXB z<-&iLuatdUx8q@z82^@~df$Q8$zJpH){K7iL-nWObA*Q=e)}3_|0-S-55;rF0|BNC`-Hr@+wYs|W%TigZW}or8cNDbmt4 zbjMJad%xYg)_vC6=h^4%_4|I-j@8zDMn=p`3;+O`%5z2CJB$9iDDm&k**~bycLKkH zYrp~Edosz@OT4=~hxKz^4FCw>0f4YK0D!%F3flkxZx{eEaI^;2tio%gZBV{#!N*KuJ1R! z^T|I*mp7@|a^G_1_*7&}&;JZ;itmutm#NJ8cUMP>RU8|7in&+D2d^$~~ z)sHwjUc*wO@BiCKnJP}PGyMl$nJpaSi{R##e-j0}LACeu9@=F$0g>fNS43k>!GXv3 zh$REqt~Om>BOfz)EXBWAw5hHsRJ#^onej#(3uCA4BAzJtE3JfGXdLAQ#=JDH(~3i@ zA-cxR1(LVGN(@i0E1e%rUc70Ubf)d{p_pqyJWQCSf7v!d?vy&C?zu_0+5GOS?o-G> z%4Phz{dGO9JmU6aL^BV1dxosD!XkVy^%}?hEn*UL8r`p={rgK@kD~mlj`<7rEaJMh zmhW7?(#VgB*4Avjd$v`XhYYXOaCy`j!+3;qiILrT-_s}#)1-KMKtH)WL6BT*$Wo6~=*A>@T(+lS)4UwRjvp_tA-pIG$oL?JL`M)hTreUFd$;%5HYhypDT+!3$ z8S|LA7;M&7wBZz9{tMNi`L!W#rVwK$$t<6(a9u;*I1 zf4#rm%N(Bf<`QE~vwdywKqE~WBVYlB}LS^ z=&P-dZ8+kwQ+j)333+6F~&U!aP_`!urd)HbCF2ChJiSXWU@U;pOE zDOp=Ks_hd?Lss4vyc6i$XIeor(bEzy=@q(#>1L96

    9tx{;j%xi-5bgXB=KgJj5! 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 diff --git a/res/img/flags/AW.png b/res/img/flags/AW.png deleted file mode 100644 index 6ec178847e27da9ec8ab37750d3eac64a9a89099..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1650 zcmZ{ke>~H99LK*WENVX@Ik6Java-#{IMp`WZEABd`EiFf+x(bBY%}>abSFO!N1YVX z%87oN9Chb9aB->+ybno}bVA^LRcUpT9n7M_egj-L1L+ z0DxVnBzHCUeQKDtdhPG6DON)>h(IR*fHZrTxb5&*=f0bo%*5|03Y z01W_ROaO2^4*-S{g}=EusV}qx4pT^KsX#6!EDmw-0?n<}*eokca;C)8B%(|8G=p=Y zTy9rwAUY7f_EpzJV&c-o0a*|fkuLdH?QL$_hxnYFZWTO?cmH#m56+zY7H+zO^*-?F z4R%VbXj&s>l)j#t_@bc26q3#l5Cg?KVCZ)NfaTcEdBgH@sT4w)6r|2x=D~-$?v&WG z?h;(h3i6bNWpF)8(z(o5PC{b>pNdA#@5TZ^E#Eg3qmHk|w>GkHvR1$j?DpnLHG zq4aTNgjiLmxyWMM4#|nXz;IY2YuXCw*r{#nSr$bD;kJntQTemlRZbDcB7OmN> zbcAYZ_bwgc!SI#5Ded(YhZGm*OirW9ts4xW+=afS1Q6k++lsUS+NCY0vG)boMdVn%)mUoLIB z2N}Um_TP0bKsN-{ZgVYZ$;=_B9F(Jze&&M!y9`4aT=(Zp+Q&7AWG|x4Xm&DE$H6&t@`rFq9Ykm+42tBYurMagrn^S#~@XZZ9s&9yYSH zX|}W!U%tqG!+Rc$i;j!2+jDF<>`9o-Rj)SMMZw07Hj8H3L#<0^(nn%%;>R8MU2TXs-L`)tpcyp{f*#*&|D%mK01it+3~zddPjN3M|I3RPaZvW z^8q=bgdUhNq1bKuf(Atn*~;kctdZzP5S5)hmi{ip%jOCEnH29 z>GV4f%Gm{?N`7CaVwD`rc1d5|7TF#DTG0SBu*1m)T)dL@YztPSj&b!cC*`;~mTQ$m z(JB=iA2jK?0YBF$O@KVBD|j3s`C@zJPuH2Y_6&}7Feom!$Q9v=n)MtIo3sjl429&o zo5T>D@m~>sFwz;U@7|py{*Z?qj!{Ck(eO?p<`F{ggT;;4=@uU`1YsLY|91htKj&!W zt)&9L8N0hh$D{+k&;w~%@M`TBo~pc1u?(8*zRhK2O3w~!?*1spr$oT7L(=Z+MPOS~K#D(itblYKTX#wlkEv!V^N0cmkE*k%5Q&)w{o9 zb!@vg7`{%Y+5)zV`bIHh81uC07{!8gYW@!31XxAC}-c$E$7*$P_z8yDRF0 z9nj%vnUVGEXcYavFe+h^+?jOG-1h-@X;M`h61>H zjPzeDaPCQ7P8%l$2lxp(ljx`=2iA(OOcAmy#GW%2^y~%INLng;<~iz--q+S~*XJa| za_yb9F$;#XH(T_h<2?pGX~%1Wl&i2$+Rqs2qu++*9p8*ZeV17&E3#z8`ZYTGK>jc? z6OJO)k8zpi)$&l^uJI~B#w~PNY=~Y!jO68?$Tegqc7nB5abz>u?Vl=jTUw`||Kfey zRY9Zr|Fz(gz4;s#pX~w8EgFf&IHJ*_`@{SHBZP%> YLIPv{U(mVam!uW|7qTnq7Ll3!H&WB%l>h($ diff --git a/res/img/flags/AX.png b/res/img/flags/AX.png deleted file mode 100644 index ba269c0453b78330db34c223fd4bf8b4142d12fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1844 zcmZ{lX*3&n7smg@mISFiVjUE<#!fJ#C`KDvrl_b`LKU&rC>;{2v6QJ&MlEAG)f!dQ znzloVk}{FhK4gkPQzfP7LYYqH{qVkL-gD-j=ic94&hz=^df{9pU?>;>K*HV4`3#?y zf9DYqe&tMcRr4VffjxxX40qK>opjcAhlDHqWtVPyp~T_vCI zH~B_QcW10m${cS#E!vxi9DcW%hO?S}ps!H|6-&Zg(#VnVB8^3%HDr*%nVBcp!lFxK zj?00X*mv?wbun+NdhcZ*qa}9oIyt4BgnQA(EVZ>(j^>@KvE{!1;p~CajK+PXf=wNN z+<3&M4a=s_AZ@|wZjEkU-T%Zp-r*BR!yA=(jC>$%ebGDmceosAs(GwX;PM-@QrU$G zij43@_=lS!2L>LU7F)|~D*kddJ7bu*{4r4SRCy40{;nf0v+`TtWPupZ<5~XDp(oeK zcNBKr@up3w$MCH>`rW-slba6K)73(aEzNPgmC)hRy>QGpc6Z9s(o>L@Z}Ug~hr)WI z(ab~Qz_m{N%-mz_YTs$fGo+l~^?xF_N3vZj^85}(7jGlg!V%Y6Ix2BJgYCk=da4dwt ztZs-bRH|c7=Hrd2U{T&zK!$iz7cxLfp4JAcL+z+f)dSW}p?@0oWTo@~auoPgNAVcW zF;HjWbKyxs*hEbsMBS@_MS3f$p6INO@}$K$i*GD(q`YSuT$e@^ceUa78mh(73Zntf zqF=x1vLCmG)0HLEjbxvj!pTLl)FBb8=p?PJOeCEO5`@T?eoi-U6?~;25r5xUkTq5u zJ_-o7pRTaBB6`UvaQMw8jG*eP?&piBUVeOatx`3_MO$gQISjZ=Z zTMK2gDnGk&Wp|k(yzZ;NyfP*jka`&7a+SFrVV#mHQExH$AThSzh%5+j$OD6=i+d}G z+V$V+_Ip@G^D#|{w6S307Y0RvnN}}H%pI?#3oRB4V93d_R0Kn$l?jfR*=kjE3*Net z4{5!Lm2tB&L&7w4dMnBygh1D?=+7f`1t;`HZ;HxRd{%^MqZ4d7~kT?IXW8 z3b%QE4oruK#2@IELlb)NnwF5pePl8v!-?nJHSGBEjD`PXrkmWyEwi{hU-t_Gy#cwQ zR%ZQEQy7CG=L2~A=3^4hiDkKQ!NDUgGsVY2%avlnm>)Go9{l9<{lyA|hUX5$MZIbW zQ=9dkamRD-B7HkGB8UKCydO&Y1EyXetvAP`RogoRE2v085=ku2=0_&5g2T{p?1k~K ze2XQ-JB+y|)@>~t#PzV*z{?q=K9KX>vgwK;;rhGM^=@p!SVsh6g}mGwpH;{bw(gaq z?_R8Rr*h;xiVJ_?V%FFX2VX3j)22GjoBM2c+teI;-xqA9=(p4xyZRr3(tqv-}4qV+oB_QyKvdai~I;*B}IPK5irqTpHMMb@d z_cs_JJUYC6E8q%yqTW7H{Kor-ExG~(-dfvJ-z;&V8#?+7k?_24Ify?6>peJ0DbIU% zmTh%_)9sh9t;HN2#_dpyGGPtW$BA#Y<#Dh8hb-p8;8a1-iQ4wHlF=%9*#^-TnYd!f zQ(Oq&p?^P4rrk^@9J8H|r<3jiu+MykuQY z|5qi++d8;NWgO@J*>U~{Ihy3+mlPJ9M8t$95cvS6XcH?#w1uImwU4P8#=-<+j@Cz; lV9@B4{#E;b7-C|>BEv8Ly8-%BAcb!L?k+gz2geDSe*rDIAzlCg diff --git a/res/img/flags/AZ.png b/res/img/flags/AZ.png deleted file mode 100644 index 2bf3c746e7a2ac58895a7fcc34128a4fc800e334..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1744 zcmZ{kc{tnY7RP@?LPFeFiXqYHQ@6!1p|p|_1hEuphG-dDnh;}831Uxzwt740W~Wts zCZ;7sT(^yhrPZO=R4fzQl+sp7?X>pg=H7qqbLV;PdCobXbKdv)okrVj%E z0Pf-L;v?tje-{EG?{B0nRdOhW6TArkASh7Xy9}1^Xqvl^Hvpvm6#&>d0I(x}V$T6U zA_f3Hg#ZAq1ORjy6{7F#eqyZ&k834fT9xen5YkYA$Ae!Qb>|R~Q3KPdoP~-Xwm2CJ5Moabgj9rau zjii(g^OKR3v*0stEM23m-S2wq5Eb=bQWXR)WR2<@&3@dVp(5|P+`i`i(r2?9Xn(_lqZuTCE?ry&AvvH4q6ukEcI?kl>nUysaRj9@W9 zr>{jo1}^-jxbm4H~r4PoDu&t>Qo{;I|5e zo(S|S)o=x&s0a#9Tc2EO`iC8fx8OR}t&EgP*3`-GQhi7uJTI|FaE9F)bm0|rs-4H^ zYs^D0OHhVyKm&tuNz2w z@1yqx7iRiz5=h+(^ar-S74W;`M^?iL>G#|4{;(8bX4Nwh@>t*#`_WZfguHSZQ=AqgvusSR5V$rEu|ED?D#w$2)2D$@Yz18>3Mi`*#}OsX10W z9V$N;{ay?9QRFVIJ=9b1xAd)7;iz7 zW`wHu6XlkwdfIC)$+6P#E)p`NONsFS4*1M84$c-+j1WYqh2a zb0;5vx(CsIeY_L9mmn&qB+nayyOj9K!`b@K$=<71l`jFGnw|H{A3iuXJvP0KKBp_$ zJO!*yzHHs`fHB+U6p72r?86^&ec>EHIsuYl&r$l=Iqkg{y15} zVj$b@iVFoRmT7q&aEYI->_IR>CVZeFGXJni;{(TcbCyM*)9vqU1GTRBn*D^SixT3J z&~X9rH~aU5rn19xoIKTzZ_cztwqNm;=Fc$tzZFH^ zHrUeB?ucYKs9B)4PA5ajdQ!nO`iU?}If+x5wYBk6Ia~jnC>+<=RTQbvf6Yyneszo# zXZRtv-Rt|5U!KV31fIX7lnhz6=4HoDHCU_$k;D4w*~x*2#O)Y_p5GN#ABp{O{`pZZ zDy5-iP&Kk|*{$Fap{^~d-3Ii~AhXPGL^0K5bUBfkSGp%PUNZW*wM!b9Cetj|{n5Wf z*dr^MP}z%ysIMW56{URNctg-WJ#_ZyI-7P!Vz$c8iod+rXo=>j=PS({;mmjDIB>)| z{R@7@{Q5f$ELMyCeM&VFUeWMV?T;PXU04)3r*vX9&x2e`s?o}?ah^S*16yocnz7>1 zHcBk-Fo6lIY;@96cKxvjU~U#TtJu}hf(H(QGYG(;R@(@`x{(4<1gN<(W^HH{)BpT| zXizup+4ImemdjqO{DxCwp{D4yrmVzR^y|*7A|bi^>jA@h9S&dB;mBL4`wm&9!=Im< zpF&;R9SNWY2OKZLR<0d)Pa*@+5HZZLU;qp#7AcNVgES|mNtfUlVN~hX`dNbrlm3On zxYEH#djGY#o7=N-H|F*XKQh(-WSs9ER!$6epp9!yNi?~;8#9Ui%+SlsFdQvDOb);b zV|m6LV`FY*OR+kIv$4ckW6Us?I1GmMdX8~^|S diff --git a/res/img/flags/BA.png b/res/img/flags/BA.png deleted file mode 100644 index 3e3ec3fc76744fb24ecdb688d2fbb9c87ee6dd31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3048 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 diff --git a/res/img/flags/BE.png b/res/img/flags/BE.png deleted file mode 100644 index 742ba9231fee59e91e4779ee9ae379c06f809522..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 558 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#L+eT^vIyZoR#2sORFyaO`9L znJ|{Qb&r@P>3-#kGQW`_x=2`W!DWkvC!$+smvZdxOp89ud4zl8#@|CsiBpLfwqC6 km4QLUp{KSe8glbfGSez?Yv7z8+X%AK)78&qol`;+0FR=%UjP6A diff --git a/res/img/flags/BF.png b/res/img/flags/BF.png deleted file mode 100644 index 17f9f67d2661b3efaa1f5307b3fa49b3184b08c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1596 zcmZ{kc|6k%9LIl?&5=f)usLcJ31f4FMQt-zM#Z8$uDS22xf7e^EU)O$KG7Syfp80CqV#5M0GP z{4*6G;yV4NrA!RT5S%j(02;6E{7wdoXGDO5t1|#3>i_`l5&(P^uV~8v5QhSQ6+ZyL zFaba%ri69MN_>F$JJ}P&6vr2v_B1hMVjRv=#q|3p*CX)5;zlag(b-n&9avq(L|2V; zaSZ^#`i=w~DRJr(FD!CTkb3XNnn`n1D~}-&ML*8bwmq=h^0|M)0#ddeG9R0cZA0qfE9P;RX|8xZ}tKX`T*fP-sg7HNuhR~fLJhI!Eo3e!cV~F#-~>yTFrfxYjMKS zpiKBqmnEkzHMH9nQ&lu|7rwG>9p>Q5nABJ~>EI(lkeL1!RIjW(| zl(Fk%gm@j{hzOR0=Mb5gYkfOX3U&m^jUbvG0n-J>TEl=dme*<+F@TcEf&X<23?n+j^^a<8fb4ZroB>dnnM=&UfA1IcX z;%{5hBc+dxM>V5Ws(s9O=k|W*N|nV~OO}|rpwyNP4XHBgn@XpYMO&zhExj!DGoMmC zYPK`M8VYqb65bX%KY)QeH!WoX2TTdnAsFq`a7%-+C`nc`-_T6-M3abvFfucEn^JKL znt1S}G&wJqN<7YO=K2t~>Ez%sLC6_6}Y26g=CV%VGEj%=G zc@&;u-FtQ<5#G_v+;bg#MXCS0oYv~gops^~%oc}D zh8v~KFSBdFc467&nrdyB#gk6JtAVZ`eCA9Z)TsbHC z_ycP!R6>2qm8!{Hs!>3i7>+?-Ngobf&`?E>&~;6Ts7=A9zkX=3NU{nN2+Hs`V4iqo z-h;^(a*cFoEsiHl!`aiicP~pIBC$m~4!?zQ7+rimb6L4|Fj;SIuB zr25J4U0_@3%qct3$%GNf8}s{R6*!A=eQ|m1T%(4TPNFA-#T2$h^A?8y&lYPA%_(}7 zQd{B4UAy*~=0@jUk$oLZ@;m&mfATDP9QS04RZyv$`%7o|z6ti7epgk8Tg0DKJJ$A0 zY#=!{2orEVNDROjg*Hc`%#g+wBx4hd85(1X(np~&C{*GLf%Sh3QIx>2;H3XI$dr52 P#RkC9)`d`y_e=j9skOTC diff --git a/res/img/flags/BG.png b/res/img/flags/BG.png deleted file mode 100644 index b01d3ff57b3fc447bb34c257d41842f88d28f05f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 659 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#N#8T^vIyZoR#s=*{9NaqMIH z`CyyFifjkBb)U`I5Fyg+Ybc?!=%9w0<3s^iB8J=C=0TRr`_gn3o542hM zcI>?kMVU{U&2M}cN{^Vy!=Lhhy=GqL)1b-Aa(135M|cWoQ`H=O_J^!8;>H@%A+_&;mil_SIEGZ*dV9Ox=Sr!}@sH1+ z?{Kb@5v+R9Uw2~VizF+|svp`gu; zmr@qD^d68{Vl?5%v}Tp2x)c4*j~XoA?VJD4LO|K<+N&M4{ofzYe_y-5{QmEn_n&v3 z{~foz)?T4Sz==Z)j zK}FH=jWOmr)?r_tiT_T#dGAwpYqa9WwbQTVL~{vhe)PZdux;YHb(_xpeQ^Im{L7bY zMptv5va*#jhclez*cVX#`pd?D-?z_bI@T>7aey(7-Rg$7T)_zqqdF$O=qMfc1N&6l zc@FrUJIZsQqyD}3`STx+I~;9#<@6$E{{GL8r6dZj?0Qw@@b#wMhNBJp);xb@*}!jZ z?tFLdLGeG5%RWBbpSyqd;yEl?U-G3MSe^g;N#%L$6=y5C9n0h|&u*++wSrM3Yz+%n zg2c1~D_QE>B0ChNGM>nVF=m#0w7nqVcqCW!wOY6b2zp6J=x!T0b zaWy%R&9l$((;?O3Y45jyA2T+4DI40K=c?gYy#?8)vUkiQ=Ao zOP1GQe(j!PKdxO460X&hzVq^UcemJ~vs)(3G1BL`|Dq%NKJzs9T;IU!2Pb9DmwnBe zg3t+y z;eW=dIfDBGgC|bOFq$Of>lU==q=%P@q-Up^vgXAU71dciOI#)slsqVJ(E2t1<)MRo zMU7jt_Ax~q;pFo#y2pHKSyjW*RUva39!0pbHU5^VW#L*eYtz>a#3E5Ft*_`K)q zJ!gT7GT~|G8KaXPwJm9OSlDRCY<2tnH+P{39>Zxuhbs(^xNN#}Lgm;r>DFIXh+KT6 z=c~AQ6kA=2y3~JQS)*Fw8c~vxSdwa$T$Bo=7>o=I&2J4XsQJv<(cc k3=Ap`J+(#Akei>9nO2Eg1LyqMMxX`;Pgg&ebxsLQ05EQE6#xJL diff --git a/res/img/flags/BI.png b/res/img/flags/BI.png deleted file mode 100644 index 21865ac7202606154f011d3298289d0f094d854d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5652 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 GLH`GzuDJ66 diff --git a/res/img/flags/BJ.png b/res/img/flags/BJ.png deleted file mode 100644 index a7c609143421ba2f6fad3835058166208078c160..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 811 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7?`9yT^vIyZoR#|F$ z{8#H*q|tRJzn1Iw|Awhkj~=bxzr*@y=)C6jKP=68-SuQ<i_P+O-fbYkOtFO0M zF>ZK!T$1gBG7nSyUkzo4iQiVoZrzgjui28#>isH~0}8=!8g_?f{78Kem3Xb5tz6ym zxM;!hyDI6M<96|XubgFeu71N3;jS_byPv+t6e3sHbDA-*sWmC71n+w?>w({l+r$PqBSH_4fwP-qU-Ji#3(57jjN`uk}&-F;8>;4=x7z+9To% zPOf;l-X+3Y`c?f5L$0)*CdtJK$271okM|a>y8hTr2?iv8vO3mG6pDH;4@{E`swJ)w zB`Jv|saDBFsX&Us$iUEC*T7WQ$RfnZ*viz<%EUn1z|hLTpyJR|TNDks`6-!cmAEx< T&W~*bYGCkm^>bP0l+XkKP%T3& diff --git a/res/img/flags/BL.png b/res/img/flags/BL.png deleted file mode 100644 index 6d50a0f544ad14e2da315e53fdeb187d3c8781c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566 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 G7WF^05A}cm diff --git a/res/img/flags/BN.png b/res/img/flags/BN.png deleted file mode 100644 index bc4da8d9a61313d5370d777f1e3e758971581513..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5290 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 X?Eh~de`g(g*#OW~(^IW{U>ElvV(1W5 diff --git a/res/img/flags/BO.png b/res/img/flags/BO.png deleted file mode 100644 index 144b8d32db943675fc1cc9dc41dbaa74d0dd5c44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 668 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#O=fT^vIyZoR#2=*1i;()!R^ zSkxy~wX1{gpwmIU2#!g-DU2`Q?;Cbms1ENdn&OEs%wldFWHkW-h7j?lpg zg{+_6i9Gx@?|-=bA!`|?`~)`^pk+W{Ah?q$bJnuVS*h39|LRXt@tmact8}{LTYld5 zt658vV%1}gChfhKv7>n7SI3F`&6RBjZ4M{QOEfrdFeClS^{Sg)vm#Ib+QC>YJh8mo z$3EicZuz@W+qrJ+Y4q zbmU6&*||qdD>vkcZZMAZv5k12bww{G0%)syVytj5|F)e)o44%ExT_V@um5}1oT?26 z3$Dzw-L_723vb|_mc?>9T1U5@TwS_+!Ph0P`JV1lb-N?9{H4RYJBsrTBm5?D#+c`s zq@DS%Xk}ucZD43+U{G=BsV$0z-29Zxv`X9>IOoSUf~@p(^>bP0l+XkK^1b;A diff --git a/res/img/flags/BQ.png b/res/img/flags/BQ.png deleted file mode 100644 index 0897943760ff90d0323d3207b9bde50e08f26c41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#RCKT^vIyZoR#|(3?3?;`qns zciPtZTuCs9jgB>tGv;Le&*Uh^IytoYpn;{5f>b+CmU$9S}IUez?v5$fEDD#px~VUwtLo5+&H|f1SL2 zZ^7-}MNz)hy+6ZOmRP;rW*L7$PGIvwgW~}+k~Pj4iae9xD(?BZ(QXC%QH85=*O~Xe z+*q18e|F}qu&vu0OB1^%Z@qjq`E6lh?2WRL{{`hMY~THhA+G1AdoT5V zvy$_0J858e{95bD&~Iw2Z*y$|L?^lz=fp?YYH%$-vVVF_Jey6sW!oVc=fu8^|M*Ya zEzxnm^|!QkEuoy_%*TmNmj@bBuC;yT;wSMD7Zu6~x$7Mv7z&O&w7 zV@s&lcv_+MJ}h2bf9lIlXlN~X!rk5#Fze>SWBkCdQ!R0gC`m~yNwrEYN(E93Mh1rF zx(24YMiwDP##W|=Rwf4828LD!1{H^%+M;O4%}>cptHiB=bAD_iD0)0y{an^LB{Ts5 Dxuyo8 diff --git a/res/img/flags/BR.png b/res/img/flags/BR.png deleted file mode 100644 index 02784925925e88d859654c73a595e088f5a122df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4852 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 diff --git a/res/img/flags/BT.png b/res/img/flags/BT.png deleted file mode 100644 index 1f031df071cb791f8baec48dbbcc583b2b2ba036..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4879 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 HP2_(8NFwzW diff --git a/res/img/flags/BV.png b/res/img/flags/BV.png deleted file mode 100644 index aafb0f17761442e115d157c6b3ee29b7c6758645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1695 zcmZ{kc`zGz8^?bVK|<;#Xe;%uEo((+9E~f7khrR zZn3yHd9Sqe=fsE?zjQ}FWzUG9i0??{J|78KqEtu|lQe?@jGDLju8KI#@!pCwQBt^3mkh%NG*O-sfIqYESRJ2+u{!o~gMRifq z#@G^$+vSv-L^aueLOoGo{W5#=S@E%Q$<-dAlziXGf|HzrkBa?nM%fv*etSrgAUAvO z*&|F6@#I)JSy45`u%WGkLD}%hgrNo-0a;InVIqL2oS}2eRg|&prvjx1IikED4C>S3 zatdM{R*y*{I?!x1flyR=LLczS;~i_u zDFWEVxF;XtZX%!eHED}ecMgqyR%HcKDlff@-ugA|O(R4cJhZuTuY{nWX3;Qc1;$(8 z_f9iRofC9Wzqo>biJ;v|B)f4ic?+H}=vG*ZwtFZmQR zqvz~`@P#Yly0T32NgZ#slRc5bz%2>6ky>Qu+|jqp<+#GODIw7#uNGug1In9rH0qYhk)!ekBp~3kw*0Q~hv(V?>t0;`5JR8p zsrh{?V#oMok_}Q{fAw&mFJvP9;<>YB#|qO1U~#pt8+cn*pj9vMa{~3MDICLIO2x(Nk04(UQeb3(Pi#pOC{@g9@4aZrczlG8Js86rAmwc`3s_Bq>U znn~&I&2rQ#rF*Ee6YzH$Z|TS!9kPqcsH8E?zfS=pz2k7(L6y6v0>P}?JOk7Vt<`tO zLyx4EXx6Vc0>Og)vZ&yaTWaEF^m3I)SW_g;VI@GLc3!;`44$i3?YR!>?G_XqHSN%~ z;TkM=se`yx`F(`r=Fm^s#N60mjTz)EWA!_tfA`w<#9xU2vE;^NbF}1zv&EV4<1ZWA zDk?Mf^gPCCa8A3$?pK2uSvyCAww$gcUTsgWvMK9~UFF;r1e+nob+mTode9GA>hd&> zqbsJxDNwSnA~dkLT!>OF7#g!Wz-^I4>RXSdql^y^mUACIKQ&pGCHA=g&!AvGwp_o? z>B7h$=jMOJz6}^-1`K=u`GSd=pG`ep=WUP|zwJ-fULYQacU(-mvZUwdHcS&-f!*W zCHa*#CrYET`vXce$NQL-hIlW}^@6H@-BEZC|IO14m#>BM50cC2|HvHB9lnABzDWmw zqBpvbmctpjZi4HHLCG5(S@xN@F!CdLbA&y6*gwtxF~;j^8||!n;O3izLPOH`o`o%3 zwXe~7c9_G9{&E!#w0)9~(FlpXV8=vmbgfa&rZb;H;9m-vQKD}~^&)Oj8paH=`t}yj zn@fPWM|G<=Q2Ic)y}Jr~!tAYGqr2)c%5qH=O_J^!8;>H@%A+_%r7#MpzT^vIyZoR#2>wP#tKx#0CxIOGr0I=x5F9$Z-Yu5aZQiyc#yoH&m~ zs=O48=KFr{fBwk=ryczKjdzxqg1iL;0fIf&ihYkQ`Ywl5FWlF;NTX}fgK+zWUzpa0 zEuXA%%kWNlLBPru%e7}R^abjj6Q?aSI2|w}RpX42NSY+q=AH`qv}ZmiMYc?T-MRkF z#2p(J$lPIleamxCfbsX6&V`Bc=jW?0URWl^uQPkg3}Z3zYd7xK#nfE&d%Uml<=V2{ zH;W4s&A+bR{&`=S%=cWg@-y%1^*(&gwLP9Gf4o*!@P1;V>6*6Cmp5mKeM_7MJ)S1={48KYnJbg@qbdIAtt`G`8WY16yTI(b_6iDy*;-IZy7*F%2G=87aC{ra=JC1*`66Y~GCTC*IRdP`(kYX@0Ff`XSFx54( x2r)9YGBva^G0-+Jv@$TLIP}yOMMG|WN@iLmZVjCCV;eyhdb;|#taD0e0s!$+{m=ja diff --git a/res/img/flags/BY.png b/res/img/flags/BY.png deleted file mode 100644 index ce9de9c9c7c03c3291c7a433963ff87df3b22558..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2023 zcmZ{lc{JNu8^?c*M2f~TT|%wH(5NEzN{xMOgxVTnS8J7tB~3KesMd5*Gg{P;$XI4j zdrMpUK1xwJ5?d^L)@6z7XD6?uNA^1_16T0YKti0NCeEB`yO10SN%B zJ^+Bq1^_rd_pO5gZ-L(rZDr0Q&-Tn35_k~6Tf0T^=<{!EgqjZWI?!kvj0JQSA_dn% zNIJ)Hc|xX*xrsArd~G}ipFxo6+1$-2gogzGAbC|J{{+3DJT}r$h5Sk1|3Cu#N>`8 z;HhK%+#PIlhVA0syw|cBE=MF@mr9ZrWV(qq#ra|oe>Ya~W zLem|v5Y|fEpmFD<2tk5?U&>JM>T#sMDj<1>$cw9+S8$f@<*----@XPSFV%VoBTfVq zHnbREI3%h9BA7dsn@bC1cZlFGsqN)Y3S{Bi!TxMO>v!M6_lhTl8DT&xt%CNs|HJh`F8vy2oLH(Q=69^)p0W(E-235b2)nl4ho! z(k=4sAoUr(t{1jVS1f_jDX;mu$7+79XYN25=dj($X77wYHF zCZajkRLm>iW*d6ty^mlrt>}=UWY+h9(q=&y9U^~8qBpgEHXr^{J=fajA66F&YgESm zBQ1AmS(@3*K&34?g}F|r_q(eo%uX$+I8_!?1{;UM+oEPnm}{Oy`Pt3IT~@I=D2FXw zBRp=8&At2!Uxy`{qA%VWH&9NvC{jFL<*w|#uAeIa<3w%M!%b-|<+%<1rFBP2V^r~>L)EG6iazDyY@N-@p_*o73kmfaijdekk#CcQ7DQA>YVf^GTQIqq zU|1?x8zyPAlA?|Dda|+lhajtlQ9DKB>pu9WKmPW~U*pK*6h%3=iO@X0*|si1rP7g%4fK9}D$JFD%Mp7?~M!)D}*DFR#%0MxF zO!diF{)$^~YU&Sm@dUgdPEU&zcJ2B~q_KV<_FZtf)15SjvLh?sfx{hl$=~T)T`o(S zOUVnhoeYIV<34g1p=dCP*b!Qmu5BblK(qtb2By9SEl<8$%4@tLy5HM5zL_+W7h4ql zRhEwaEh{TQ{&kOr+2#jSF*M{qKe6J^yQIXZ);nk08wVeT>Szs^TJ0Cj_tm$NovIZ7 zKHLACL9~4i3XsIj^Q$0Ojgc^joRxLh-DJ(jBeqOb5!7vW+rcHS*k^$z{-h|($fF#Vv4qNn1}ue3sVYquB_X-Y znF(%^zgG6CfL1p}n-~kuWvYFgxtzj!xwv<*jmpW3TPf>%j8hq25H5s$pMULs9dV#L z_aQ&WX)ulSR$#JkymVZI^0bIkxqV#qr!OQN*&mR$upEvk*yKBpha8 W{C|M}%`=H70BkJm%qvWNDE|dm)vgBs diff --git a/res/img/flags/BZ.png b/res/img/flags/BZ.png deleted file mode 100644 index 33620c3f3147e9dda64cadfc8a6e43f6a26cfbaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5281 zcmZ{o^;gpYxW>O@Fk+Men@FnQq(*m)P(r#vVkihmr=*P0B_JV6Hw=N%C^bN&Bor7( zr_!NF3zvJ(J?Gy0!+p+q-_IN8`3Ih89W50aDkdrb0BF=ymG!PD_Mb%$x#~0H4cS*9 zwNubk0D$TQ=(#o7)z1D*RZkND{J8)C69xdMS0~IG0C)=kzy=xsq|yNZ=9c+MSLW&g zdHPsI`HELMQECpp0;QX(spl2Z|5baAio;g}xtE&eL-Iv3W|%PIwn5M?0NhAaQ&uqW zo!ZWLY0faw(94}KsMmz*5kTEDf{GeT(i;jKt4Ec?Mskypwvb+4zx2S6LbD?(ZxOTJVUlA5Rs zc-FzOz9w7uX2`xhnMA@t$i8Cu3anqYh;pGI&Q_X2Y7vM#?6_F(+S@|k++QaIEf z^aiawR`+C2Q0xcBtM2v(W}0@NxQYkk(K&xT>2_~l^cZTH z=kf%{2S|@@498Ou{F@qPc&TFU44iu(EuM6|WtnRtERPSLwl$OYaLt?T+W;~d8IxR| zNQ_iR?tOee@A#So#z2!F(0P3W%r1eZM3Lzgec_1K4dzj0i*kFSJ~D_S{UcH;2n>0= zRi=MSH5|r6V7B~5UugS7FuaNo5PcNw4@GZ(tgdY)Q;bEnPMb}37C@@r&QoKF4{67r z)M0G~sHe{w7kcCGXHRo=#rA;+W4uv}&qhE(nud9L*DkKlZtFQV_3 z(_aHc`wF2<_>ZC53g7$USH=l7Z%!CIt^a1M7lB9fdeU544TKlF56_z$=M>e0Desz`h(VyE+=JRk8-hMfZXhgx0m9Q?3Z>tdyVPu>gUkQ}sVxtzV+n5yL+f3QHS)GW(H}T3WoR zu}l>H1SU-pigx^Zaj^;O+)nh0jZ%gu5>Gy_0c*0gp3NNfi~SV!!N=FuR+p!Xs#xyv ziQKw4XSQ+No+;Ab)7*i1m1}3WvFk=uZgd@X+&V0=j$&fad31}alrfqzUtE>JFXW-Vwf4nt z@Ld+`(oawF2V^LIPsuqSJGfDcGL~yca;{s+Q1=0Y7W$6fu9LeA-_WDpQ72NhBZ2U+ zT{RDx9H?0FBYq#s#D=}u=D4$k*Jt5B9nplZ5uT89U{`A#wMlz%IQy1{m1dA!ZPB}- z^E~=2zhqTuubU&%m>3?j^NAzpVdt9YV@8%b@HjNqpn^`dSIQ5Lj-q7BrMBRdpT;C4 zS=-tqLUCD3&ig8fl`Go3*-)_AVcnl>z$YpDXz8?T5hLwNd)(y)ee2SCrdYtm=QQ^M@cNdlJNbHDZD4RD|Cr}*feyiMM6njnu{HT-^c!^J{dNukCqkSQ1J zaL1ntBp499A$C(s%2G|Xj{cErrM3=ehE7mJ>RF z%_TDanSFhK;UujzX7WyA=dz4zpTK%K>ovZtJpaJ6BF~7Bp3X3xMyWl7>|rENhug&3 ztF7v6`lHalsRz5cAM}moC!}@0RXK&$-adYb7oK3oe81MG_t}uXq|=^IX%v6LU!Uid zzl?m|j?qrinYJK>ew(2|f8NHp#4~niMS?5tMq>JjxMVd6)f$_76W}>y33ohhKma*| z2cM+L7)e6Wr9_QL?S_*b509|shW+`uOpvuJE2GmNNHb90Gt}YcKb{_wH_q|u3$b(9 zQgKkEad4PTVK7y5kdyE8n7Uts90_q{Iw{9U%rxLChNU-RE7Ri3 z=>n-W#hy=#$ddZ~`mVxt5Skt)D}H3wF%d77eUJ^+eiU)R>BLJdy=-{Cepgj|*h77a zETd;;4u5z9p8V~Z|3D+Kp`{qC^SKD7t;mkeJWuSt8$!^3+@cI)e9d_I zZe@sjL4Xfk2H}u2;Y6ChEA4V^cK;2?ccyysMf1(JRur(Duppi;au9hPdc8of55hAl@C)$~kx#G#8@FY6OaIGM&7makhc*W%$`U zeG0XGK~rJM+Kco$D|DlOLGi8gcYngORLy8by1dNoTyw-rqBAxk;&s3lZRh6Rn-61u z1=`R#yS;uRa{0QiVE6Zg>l)XEsn;f4m*BZ0f9rqU7v^x7f47Gp&0Q~+%xS(R(!u!8 zygjl->}5&zJ|@nVg-HAa=3^#to@xs5w~Sj(lU>L#sql{v-TPb|jGlJGyW3|jI?xfp zStSxg$b8CNIZ0%QEiS%R({AKnr*{ltH}P>iZQ0(2#v_l72dXT_CC@j6_MFzozU2wd z+#8V36Qz(9Q8A#+HP>Uu{a!NhzSWQuuILJ!c&-Kr$d{y2i($GHM~510@n4#P?A;K) zg@%nzCUk{Wl1S~#)^=UK44r1`y{+HxMn6>L4()^tgqDOhdtQ)dtea&{TJn3h`?ynyG_^l zoInn(9=htJhFtKW2#e6`Ep!^;$H^Z%YsuK>I8ict0mzSr-3z~!*>O(K7tM9VlO|H; zB2wL-|}yLf=vX}dvSY4X!GTZHL>3A>R3Jv>5-LDcjWwZJ`<>>n)#j; zIsGZsCXV0VkSkp%inHGxShRbNT3pHpc|7Zt((@77yq+FZIr)NCvD}ELFjt+}tS>Hc zS;gh_L+MtrO$hxRTE<@(3A1{WRY=-Ih4kb>WW+j4Wuqf7!DQ3Q;DQQER#=asaVvN< zv`lPUu%7=}*6_ffN>^X(9qCj3eXKv2V%)Gj3W@=&$>h)FvVSI}S7eiNEH+vNN#AVy z7!Yi;W{N1QlDO%}K7kXcY~jHin^RmmUS3#`N>{+Iljgpwa-nuVT+gcMB=nD=8n&rJ zwxyb0JA)|wer#TU0Wvnt%e-i9?{M$v%B8Vq#EpGP?yzb3cJI$)cGL2Cri}$B<=^_< z^fAVEntp;zQlz-;0@+1xzr28nK#4|`M(1*5`c7rq@(<>(#SYUrW&++sw8NLASGLe( zozpEX-U~EJUvJMuvb^bM5U1A>lc?Qdd;kF>PomT$WkiEcW-~Z|jXX$q@V3>eo^32G z=i_}nM$B4ecD_GYQr7C@>II2*o39VwuFU7NR334yuKGSY$Ls`>iH*uynPH_(`x4Te zuEclgN6VY2sOb}*jZky9^a`AVB=Gug&`iKf$0(WXpng{>lX}%5#$n8L-d%(Q`IprO z@y{<3Up74-t$CODF0JO`JHLHdg|r$aq+{Ym#Wy!Mr0}g@C&DA~_WYg2@kx0ZM__1n zv7JR&+ibui8Y^g0wR?x@D90}yA|X&T>aXS(_#uhp<358AAk{l(^C*FQzkVM2xfpPm z9mc!csYu?*UAF#ch7%s;h7l=43VRR6@6)iq{gRNgfoxhCU)r6+X7eUFy11YU zA9%WAQoD~@5|IC-Iw*wd&gn|#jNff$aw*n^nh<|yzSnCF9rg89KDQDg%m+&3ZREq3 zw8Ks6`Is#;Z#U!NHD`09X}1-1(8=A<=UwnN^n-;mQM0X2*L{j%U)!0WU^e?_@pFW> zH?hcU4f1nuW9}M-CQeJy7|;jKyG2x%ndMpn`~M(CDV!{66F_>K$S1Pt)*Iqda`1s3qS&faRJx^ zb)iHR;LhD23Prmb#;YY|N3TT+$vJYRO0*1T$;upe^751ER~mmdk9wm=SIG9|Ug15a zbBFSNuzz?ZUd9eydY_@G0iG#g>ItyK+ASxi@u(11i^Te7*_;YQy{SX<7JL@92ZJFQ z(E3BEqp;^>+;({nWPYTu`UJD|f`9Ar$|%qZwr#Ca#v@P7^=*~5IgFMaUBFqv8xy7h zXsaMW&V8o3&=)zcvHP{eZ8@;P*8y+-Xkgs^v1hU-yPqn*hcw_MP<}4(DsG!0fLCFI z`_{lVO0=u<(KPh1N>cZ}5Zx4U?~}nFc-;KNFT+1h={m1+SDScCqgwoA^~v;~A6$Cu z8}3~uXpf2A&qYYP7Ij~bI$e5gV9ADS6&fqm!n&Vsj_y}+{ED+*oq>6@=M{yDd$o*> z_HOXn^QV7#SBmbMF!rgahL8_zDKNp{rX#No!=9Fo&;Ix-3RQfTu=S~thIUXoXjOrt z)ZZ-q{c*_HlNShbP=v`-#Z>1igI09Aba4kz2$-g{gAJZrKcdnwsmGlw3)qX_e!}Dw zVVdCIn3D+^BL6(T6M?@RTO~NRE}BgJIqUh=dH&v_3udY)O+G(cY2;=#^pW|5!mQH6 zb3L2VZYz8CqZFlC%9v(VJIE(4eyhEjUt}F2<~2(ymtc7Rws}PFOCrBJORmw&UoBJB z_@mQs!F@}CkN?CkN`?U?jjXtAtca!08&^=t2)=nE?9>*G3ZQ9(9o=uo8)(qS?eW%_mb^o5$u1xExQye`Lfy8J zPX(!=M{oD^M`1L=#18GO{LrJ_P(#b@4Wt~&Pu(I|+%U=K8%?Fk z+<#Gl_iZT8P!djhAJoEZpWhzN{u_CBsa`7qY+a->V&0x1@Kftos(uj4@JTx7If<35 zI76{1#`EK0TEUG;IRO^5JV{K6NyCG_Q2!pY!iIFRQ9`W+X-Z|8iQe2zT9`!zteJ_i zVg8+8ko@P=?qi!kGMoitHx~=)#K5$JQAcbbbVZk4x%%)K<6@v&SwrjqVxp^ydpzyZ z^5@}$IRMwQWQ)mnv~2{q&D3_#83uM*@sT68Piu#>L`NK)Mt`_85`2;dJ-epRM%FU3 zz3~2o)QJMN&u1m;Lf03EPA601cHDlPTh@63_#Gq``Qk z1n3yry7cu)C!cPg+)%H#aE@sY9xc1RdPgZIoj<|zv5WU9%~FArEy_6ng^P_^MDie9Hn)q28ZINcC_CZ$;FvMB+* z$d>wo?YcD8OVq(NS_&=#w5FGA)sa(o9TI~~{z2DiOZ-L`hR&;W1GyD264~dCAv~Py zN2$mMd>EOSi(BgTd|7OzNRi`Z>N9l5g)Oa8)9+UsH9buF?8%Kcv2P9>tG~AQT1N%@ zs-Fjxa9=ny9g(-UpG`)r|L-X5zr(RV$iZL|18@4*+$Q^hS8*Mu*FzI88*49Hsb?Ox zR{(?r1jYFTMEQgy41|QGL`0BR4l Klq(g{*#7`I5(Iew diff --git a/res/img/flags/CA.png b/res/img/flags/CA.png deleted file mode 100644 index 4bbf8b11699889977bf699cfc413f8fb6106538a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2246 zcmZ{lXHb*d7KT5-&?FM2YG}C@P(*_C8bXU0K{`kYAiV^T&^v^#lzXL0RY3*m9+8fO zBS9lYiU}nJEg)dxjSP0I=~j0}B>a z{tgHyYb8&%ma}lo3u%G`faaXz2d*I2Udrv7g$V#eT>yZDWB}M_l@h1`5DEu?Z!Q3! zQ3L=YL8Tq$TC4`=Z8XY&MV5Z*cgC~86LjqsjzyQ>vEipT!b-S8j7>4LEl4KTOz$YK@Nc2IzkdVU-5kvJC~jB6 z`E(stNvDW9IfuobJ_PrsQ5Gj1u?;H8kYN55iNnsYqrAto_e_P{3gQ#3D40iP?DE0! z;NS(pr@GIMheG6X3Wy~sD+C-wE~7w@T3wY%BOq1``0P5vHnIYx{Q01;+ALpJ;v3B? zoYLw%?>^?&M7 zenM*7!3H#q0?5{1rb<&7Jbf8WgcF*4*Yox0L~>4UEqb!AslzpNG}w}4veEaB-)3Oa z!L#*!^6^$olkyb?%`3(?rcX^DEZ0in!2RpkItropNjyxy_L4Q|Zi91(_6!P|73kxJL+u=}Y z*U&L#wApr^=~_r(*S!1Ah5OSlI@et}&b2zczjZ5baCN(d=stB6wdh-DLz2=M{8+xw1L;OT{ z6xEtao@nP8t9XJ)X((tAj__vc&n`v@T#~jLSaWg?jRiG?YZrOgBx*IPdJys=VvSe- zV?mvnu!hq=XQW9J9^T}S<*iY#QGZkZ9NC;!U28cx8jK=|2lXqeYH<{XJI=H9L(^0V zYl|33uA1hWX0ul>0;KN+h|lpxqZs1g4`bdJ)1x-kTyKbSJeHLB1$T^?N(o0|t+7HA zj9LnaD^*OCo#r+}d@T~{JkeMC#M%UoUHzk)b(|7j1?uPR>)3VX@%r4ke40;C{`1!m{ZWyG#8^4L341@7wvM($2Qe%s<+P>O zjTC+cb3;c|9k+CYN}g)xPc2hezsHWqmNop;ze(y2mk4}IW}jnr?)6_gi(E_^0Kt2) zaZvY>k@B1#U2HQbmTi#Kcn7?XiP_qW=@gc$ye{NUYVm*{HT(=mF22g5jEOv>J9oq< zzOOHKI2z7b)K{>vi+iEdLLhu;621D=!xT?mBD-J1nqpI@-eF|%nFE(9fTpMJ3$Da>a6^ z-EGl#dgH`wIr}BTTJC@7+*{(vpDmo_s!_D?(jB_@;B=G!PRnFa(@z&15`nsU4uxCl zpw5+S-t&h}b1FAZb_o}*>@Mx<`l5Z&rO~Iabgr~SFEDo~jcGK}EBUl~W-A?!MPQjc z17)got=p2iTkS(#PWYrg!6u!Or~nVJ`N&?~*_$bgwFB0D%xDUQ8U8I=n0|}f6;s4@ zUsl?70FB53R5nmk&XeEX=;T3IT@$E zQ)uaWbe1WZLDHPnWIZO+;At?Gc|zq)UeX<|^LTX^R7E>=!kFR~;c4S3?2Z}k5)1sO z(Bq~RQct%RFZ7xp>Vi(8opXDDZV^Jl;)zR~%|7w2$tS7WA@`-K}BddBDF}ks$SfmN3Km z)6a((+J(5ghInYW1$(dnT!kyB%E6W8uBusGRn$;c&`^TQ!WA^&@Cd@P_Wu~Lf$lz@ Xk^kSoQ{j}zG62SgrUngqE=hj@W|}Dz diff --git a/res/img/flags/CC.png b/res/img/flags/CC.png deleted file mode 100644 index fd40fc8a783c2223eb26f17ba01cc40851c82a53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3728 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 IP_+&F7oFT69RL6T diff --git a/res/img/flags/CD.png b/res/img/flags/CD.png deleted file mode 100644 index 230aacd454fd3c7edd75b5a117b437ba967bab8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3704 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 diff --git a/res/img/flags/CF.png b/res/img/flags/CF.png deleted file mode 100644 index c58ed4f7b2d3948a1e0753d40773de5dc5cd2228..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2655 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 Y@QeQc0eG=1i5&pUaMs3ESdXNC18?QJdH?_b diff --git a/res/img/flags/CG.png b/res/img/flags/CG.png deleted file mode 100644 index 6c2441e3e03061a3eefa9c550deaaccd348843d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1381 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_&;mWFt`IEGZ*dV4!ICpcB&z{mfV z&+ls8WREr2J&{9|*|}7_TV>aSDH~myh4y|@Hq?_+Z|f9SQDN!m?mpFeB4P4ookX{t z25|=pDhz!+e14cr%22tS!gcAamL7%-JW0l>;3OJ zaeG)5TLhdqAjGCa9^V=QG(@;sx19SXz4tZ?Q=@}I!kvrmOZPd1hsVZl(@*9L`E%Ox zoQ9OdBg>kEJ_%hN*7DRfk^9-I-+mI#Qhu{4K6c@)13#-CvF>9i=AFM$B;w$tC-I*( z)h;wVs;fC5daY2f zf2Q~tyGZlyOEWLzADs8@fukwc?pN2>1jQfPQU6Fq{lJ^Y%3TLE7AH(w`0gRJS-*dK5_9O3gocgnMj{#P=10T7Iq4o}|FUV~{Kn1e*7i4j z-B`bUlj5uGvk!?1#3q`zhBwZPkI0Jk*!SZRw^{9%)<+AgdjE$_uoL}63fwSe& z_ian2&wPDJ_SGeu_Dz4S*Q8xYzf;!7T>J5PrM=gr6L)2&tqX8F<}BOSzG~U*|8-L; zUaL*4K3J6d<*wwZ+kvOkg-%VjK3G)#WvS|v^oQ)H|6ZIvEnr@&^cy|-+D@H42}ZyE zT|dOBwpd^FCcoO^e78;FK5qBdq}a{q*=Kn&#z3+*)A0YnlrKxK{$ZVb(OmzMJWzU% zS3FQc((pS_w^7zNpmgfdGtH4kzcy)pP3ZJfJo)1EiYv{&_SdiHn*iB+t~6Jwr`DT( zJKEnJdo?=sOKQ}q<;!~Hd$npFp+mv9BtKEiE z)St>O%RaX1Yx~ClE~(^$?N^No<`pf>1U!xO;8Qgx%$#&?;b34c*dS%92 z0o$uZHZ@#}UcYHN@i<}YukvW!1?P8|$@;uoaWdGW+X!UhwFl9+7ynxL@!KuOQsHB( z=19D6`YHTAkmH!qym>;WybPzL_b|#lSd({MHo;7{@*>xvf}_i?|IccDp}qF#L*)cn zjmofGhQD)fpEOkCPw=z7zFot)^2vKQ?vO?Mr8yDVd7|onCX2mW{_?alfJ!md64!{5 zl*E!$tK_0oAjM#0U}&yuV5)0m5n^O)Wol?;VxVncXk}nfapTBfy diff --git a/res/img/flags/CH.png b/res/img/flags/CH.png deleted file mode 100644 index 9fd87167df80850fdb00f8f10a0631b545282cd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1500 zcmZ{kc{CJy6vuzIEM+OOgm`5w%OJ|kC^XF2vqV(JUK+BDZAQk>;)x+4YhxQjy=To> z8q0`MGV$y~QPyWm5tArydVjog`s3Ym?)}{5e9!&s-o$gZNMWHvLI40^3lzeELxZ0# zwuckn4%L%6;JspEV*)@;>fRksK2ELZjdHL70Ivc7@fHBzI4$De0E9yTSo8n@nhk(d zaQ;(!IA^fO%L<9$kYihC>9HIL2BTcD9D4lgpD?DqoP#v%qnN; zYYT*lQ`Fc>UK>WjM!M@vI&9TRLeQ(xve{f}~H$PvHv9C;|CX5J4{(pE{-%g){d{8@w>H}QW;=wC zWRgbh)M4W@)s*wBWJ^hdc5YhQWtDlJ)U1bWJ!i^@L9d8o1l0_U89Xsy%w~@87_onu`-}Z4lpW{tFU{x|Z?>Dfswm3_EZ#!PgG3dZLi!8e>BH){i0p}AUyN1`#E$8R zvUYuAE1KN}-&1HVOoaL?m!fmYG%TSfKZmE$;fpeC)GMs+ zOUgW6u|5#Cl5mQb!6gDlvo@896)d-YQjAvtWv8+>7rI%KuCO%}6NXkufF8RjGGm%@ z)cSV74#c)}o-NCk?Xx+sGghL`BuRub2J;@Bv}p4d_ZDyYs7m)MVF5@M(-$0pj!j-U z&C{9L$PFO`?i^x}p35fnY4YEA`*_LRGDY5xkgf0vJ7nJ#dw91=lRvUC9oqI>6G*x) z54FbPc6AvRw$$&|Izt1ya#%p4)97tU(RDMUp7s8)q%EcNdumZZq2f>dn|i-xSYIWD zI+7La7t4kFS?>d{^Yj&RRX5eLWMrn3Be_Ff-K19m<~QgpFGr zr|NQS$yTNZ@Ezxofr(TEsXTx#8+S4DGV3v;Ya?E&W$Lgd&Ngv-`7{{5aII80;PqjV^+MtfFSNnQN<%4eSed|J&qVbI=6W98V#GzTS`dvU;=u*-c# zC#0Znj4SNt<(Q-`LdwWi83()PZgq2^CBJYKly0f`BP2)zGwpnD>4t^r;&vjjf1OX# zfl!MX+)e-O#t{awJMN6eQ9`U-gd3W&Uq#q{+g^+L0Iy{~jEQ;Lqb`0diUxZ>fUWSo z{T2ThCI8@i5A$2K_U5UyP;PW}D%!?}R&!f%?jiNdCP> z=tFPoCb)Y98$00gU2qfy+tkExm bz#t!gKivNd1Pd<5aRk7^%ob5;>Jk4BT0o>6 diff --git a/res/img/flags/CI.png b/res/img/flags/CI.png deleted file mode 100644 index 9741b9b11f0cd0b2b086a59b7864d3d7d1c8582c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 568 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#P((T^vIyZoR#2=*8?P(e^Ok zWWhnL*bUN`a;6@VUUG_+Db8_=!0astZz+ZT+H$C=Rp5kX(2|>O&p0NEu(cS-DX_3c zUgN*Nd~V{u#CugLKs$h7f#Ad4yqZg=1fBDZ|FXZ+@R-D5$NAU%`CpVh|19x(cS1&c zq{fmx_r4dawodQ2Gr-j+<)_RKx&^zrx3otHwKHASi}1l^i4 z-&{UC=>5)^-tU)|-O=5)JxIf^dab)=c;&42uX~-nnh&NF)%;zu@8SyPgJ%TJ@K8+L z@BOzT`F=0NKMid)jP5+vj-~rAYzK;{mbgZgq$HN4S|t~y0x1R~14DCN15;fiix4AY tD^o)&69a7nLn{M=ibGFrQ8eV{r(~v8;?}@9KeiEMr>Co*%Q~loCIC~k&}#qy diff --git a/res/img/flags/CK.png b/res/img/flags/CK.png deleted file mode 100644 index 6cca35967c1c69a3023e9f26ee4a7bb2427795be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6029 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 diff --git a/res/img/flags/CR.png b/res/img/flags/CR.png deleted file mode 100644 index b351c67a5300b25bd6f8f1591539a81d2aa28e61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 785 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 X`Go&}gD9KA5Ey_Bkz`R}<`MT_XL`?l diff --git a/res/img/flags/CW.png b/res/img/flags/CW.png deleted file mode 100644 index e02cacd3dd9d242efe2c96433d9caea5da6ecb93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1756 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 X`~MeEWSA2!1;9OZJ+(3wY~X(Z<Jrl+fIc0q-I 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 diff --git a/res/img/flags/DE.png b/res/img/flags/DE.png deleted file mode 100644 index 93e269166b550a4a32d7c455171bcbcb0cf33419..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 568 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 diff --git a/res/img/flags/DM.png b/res/img/flags/DM.png deleted file mode 100644 index c3a0e9d102afcb8cfe930bf17f68c7350097040d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2636 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 MX=-ayYvh^qKj3-NhyVZp diff --git a/res/img/flags/DO.png b/res/img/flags/DO.png deleted file mode 100644 index 5c4a004fefe1b0e54c1f5a48159f3c9b3cae1d89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1682 zcmZ{kc~H~W7RP_tpb#-4A`(!73n~gGtW8+*M0N;BBnXO{1lgnz#SkPKc8wxfUmFW5 zLD>`)kSbMUuu@qfNDX^{009&UOGpT1k*)97_fO|d=iNEye(pVYzH?^I-1%NR?B}7Q zjn)PLK*!6|l?>AEuiT&k?)_aa3P8Xk50VZ7z|Y?!S7-?EjtTQ5lK_Bi1^}s<0I&p> zQsn@UfCYdFDgY4j0KnjE{_6lo@Iiy_V-(0y0stb-%k^O3g+7Ip<4Z{}7R@Xqy~3npFy@4um z2<6fr6C2*H`}Xt-?en|QtbByePcGrz>bb8?)Ca#fY*Iq-@9#~CpI>ZF?degg2ZYLs zNwB5k7X9F>0cn^22`%<;xxr-d98@TM{zpfUNhJ!tG;wVypmp|_qI;3wGAl`(adIq`0xCk*>O@ z@0>_%z4$7ZOM>^dB@Wv6PVZG>%S-94wO7ngK5}cxbO9{ec?rF0*4g>WK~j-%vMzt` zR=u<{=8$)E<2HBwP(dh#X={@0Ze3T#UBCO&zL7D+yk7F7<=b()HXN~It{r(^d!bOl zz8|Wf6D?45qUcOk` zA9OsgO6cw_F2Bn+((D;ftRh)@&T@NSOI|~LFDEY~^HVJxM_x1UPQ$s1yF@N0t~~vX zkKAqYXgs-)SnU<-ttM(4nw*MBuw4J*p=jHUJsFS7JKZ>BOqM4BqE7m^g;~1Y@yVy* z(2WO3EL8N&mM}So0gkgT$|5U+l^8pGXb2YTd}~T$9uh`-BAN3W-W5fNymK_srNvBq zgLS>Ivu%P+-f8?H@lt%zfy{8e6XhoSc9?X=46`}fXw)0ajvi;*-Y;|t9BYvrv((hd zhS-d}5XKVA-7uI9*@63ZBYA%#3o8MqiK2f@%6eP+BPY##hm0- zy6C`=5yNZg4*u-GtmkjF!SYmNN)nn(_Z}qhQRBB)?IYu=rlxE1z3}hp0$y}#uGyu( zMnE{nlZn`ctaejdC6{DSQcl`GkwAUSGf3p=o0Q#r#*Rq(TIgR|Zc;;BKAX-XXTex6 zmoVvkCYd(-a!91NAduu;`b8hAjEnyuI2$|mv#$d8Y zA)%}(=an4Y?)mrU)^sMc$bd9{=<$pNrM{HH+b<1vbyrlj|D>x3gKQtI*cnVPdh>s)XR#8 z76l_5k1^=j2-m}3Q$<cH&}k{l_B(UF4gBNP))9|>Mz~7ca~GmppC30I z7Su|A|1g>3)Ohq?k(@$jO;rHo{y_UnbsUwbJ6R`nXoOTZMez|dkK)%JJ2Rek6a9Uw zE;c)y4q!8IiwVIu-fzA;HQig(nc^}DY0-VOhQJ^{KT&G}Kix!rGf~E%2?^*Z`1ZKB z`n}H%Ux7I^1hpB|Z^4E5LIX_augVnL+TXba`HXVMn-2+4=2aVtp-9|6u@?8oP2uv% zqQ9LFbitm_r?gL0so;9IWu#F=|WBa4=5rGJOBUy diff --git a/res/img/flags/DZ.png b/res/img/flags/DZ.png deleted file mode 100644 index 1589d0cc40c5cff4163d2e8b5dd8eac9d320f904..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2506 zcmZ{mc{J2*8^?cxF&HY#*uvzMZHfk2Bm2Ij3??c=2@P2?_GK&)PYlTxA$bhZm}D$5 znu+MizC|G_LmtKwGPbgPxk3F9?h^K_iC$lDyD9e=@=02vB;L)IOh zRDYT>dfMH#FSQnTXR?pqzJ^(Gxn#K3SLfG)2{J4I-XygpF4?;LH-ZMvT?T|sU2T}bk3?wNFO{;%lIwW zIOF;*1A=aknQF$Ac4ZW%*cQ$4ug!mm_t?;Cqs^^DE9o1b3hLA~=tVXCsQUfAMQ6X? zTFf|91-B-pcy#mB=BjaEz3{9MP-sgs}wh?%8*2EsSy);F>=v+T(#ed_6C!oPOa zL?c{FRCVz}7V4a=%*keWyrbT8{R3xo&!6S_jzHMDEC=hMIG{PB|F{QPPtU%f(A!QW zx1x`%TP}SayEC|RGu-W+eAU%`Z<`efo#WeetsA>|#`Mp_BTn??j71TOh@OApRwt*y z39nC^oQv`xCVWKo81EF~m80}By}9HU!tOSy_S}w)QSWd+KsNq7;EeYDbxXA9M2+ey z_yt_($f(5-{B%ucgpnUnV|tGl^vA3kjT&gXs(m)+K~woI$Yy;uiKsC+ zv_8_KY5qiAFnGsH6P1!O`Za}2t}MEj%#gdiL;Q*KHyFmYg@MYx5>6%sJX~-Y%g z5zaJiz{mB+#U5f;swp$xZ|<)5SWruZ27}@QGu4F)WGR9l@g@Q|e6j$RY$=b4Nt{l= zDqQ3!n@c}Cv)t=srBk8r1e3c&zkJipmb2kS^f^qbLCesL?SH-#5@TjT}oK<^? z+m}kE8ss__A;ZRtw;WwqF2LMOtOQoo0X1P+?)*&sx;;W@Kv>xi-2u*C$vMjjb6%fCYiNcaRnXB zW`ePV=G_U|W7isVRg>5)gXunRO=-HTomGk4tl+C8-1 z$8%dF%$>=yo=ka7!fQx|cj@%T+eu7`1hsX8Iyl|v_gA_KP~oxEqg-XSvxHJEZ_% za1)ii%UfHx%T*MU-*2NNOQv+Mt}t-Ty9JT*TeBr60%>6Dr&v|BW0eHM*3`GN%FxIH zB1qpv7o3-sxlO6thL3MN3v>&NrmW_y2b$y`&0CJzL>qM|+ExE>XH{;6gVY6+K?v0; zx(v*48eBQ8P=C>QWe$f)9qt$OlS;%L7d|Xk!T0}BZ2FxWcm4DWRL6dRVyQ?S?PR~d zC>G@J^bRuaurdBXGN@d)-7gk;=UOl1DsxshHZFkCJ*#&mC~!S8W@I;(M!2z7TxT2g z40#Zfx)VJLlx@PUt|zic%9&R0q7;YTc=6QTLX6a7!c0B0(V*MJO>qbG#kfr+*kFxE z=ZsyrQB#lg9-CEG)FKb5$pOyNYU(akmu4D>Phw#%j;md0w-M`@K!tDk!7c0DJ%d&SVUJ{)% zE=`l}Ac7&fRgN8Y8_Y4y`Rz@774nDn<$ieDC?%n0OS`)kTEi2 zH30QJEO7Z4v$3sd@OgjC1ET^r?91))?Ro;L`A7i#$UYiO&%lsnb1mAn^5YF9SyM0P zosqo|k_dkJ^eMgFr*rh7H;uDb?x@mD@f=WwfaAAN-u%WD5tk-Og+?w*kGXPXU7_acaBM@#G4I39jT_Rg49$|*FmXk u=xM6yokgBPs_7w-5pNg<{|E#G-tfB_`TqmFrB@T!0l?ba!Hi^rN&Gk9#*7RA diff --git a/res/img/flags/EC.png b/res/img/flags/EC.png deleted file mode 100644 index 4c53dead1c596e1f2e427d3bc4db6dc4385a2d45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2818 zcmZ{mc{tSV8pnS#mcfjDZJ3ZqSsHuISjHMjmK0(#<{e9=j4k^%LLo#=_9bB~$#U#v z87bL?>?CU=4T-T;XWsX^&UKyh$GNZTem>9heDCjn_aEPfR+leubHTX)0N^$=HL_t+ z^Y7+kXPz@-^|?&2y6ao$13+~$^vH#c`Ih?2)W!k;g5>}p@;(3@Fux+#0Kgv!05lu` zpwauv2mk+14)J&YMmfpd$p_ZN-Ts5_mhyHtCp zk7vccw7?R50^91du9GSvcR;oxrfW3b25h6lsYEJh0%q!68 zbJ9@>+3&>(ZxmO#9_Yr}iE-mw3vPh>yig}WHR1!qyi3u9ui@Zo%k(}L{f=<7V3f)& zbKXyWu|_FreR9R5JsU-L89)Q*Ca;P%wEnDqktCi@LI835{LZ)s6BuO<7&l(viCBE9 zQ>v6N@kWHCTI2PQrQkyh9heVEZezzwM!b^XaLa*zYml&6zZ`VF2vc%3iB4|gnAP3P zbes~bh~J1E4+fXOdGJ86V4@B#fm;|*Z(v-Tp)9hC3^MFlWWRDdoZ0Vs%kAME3sg2&0Ib!Ia;Wh*) z_fDo?#ja4|LqyP9bzzD3sG`$XaqC{#LUR@?=Mx+gRK0U7Vnk}|8?6Nf>ic+wC}@;4 z^WuicmQ*(E@i$QO+5q||3F=!*-jjsn$>=~bEUAvQg(6OepqT)49{Lz;r_w>ZFwQWW zA(vlzvhJ`SB9j2|SBkJo$p*O7m`ri|<3? zN|mq+ik~?2`0{AidijZ6uM|}_y*;j5Yc=e;Q*Ko{Iqph?iupgUP5{p)clSQ$D7){x zY^uj6N`?HC;Pk%IyKOlb6$RxYzw;y+{`%pzmL+|zs5F1=w!F@DjV=wgOVMzA^Dnm7 z^L|?>2J7bQ=4*Zs-365lZg~z=`@>sVENK}=DY%ZF=dMozh2EB^UIWKF%s1TRCsbOZ zXEngeJpLJByV}{ugObo{9aX)%zw#YYew}Kgx{SDBNZ23bM^&`rCKBuIm3YU$o!LQ}ydIF)9)9v-2Vy7k2 zH^3l)t3tk?*PMkG4Y;Y96>x=tsURXgM ztivsU15U1uJT=u2h*!=?%@$nPKKRgen-0n1{W(Iz7d&g4vfo8H1&?%|e<^w7ce16a zgeOz7Cg@+I9J!9O2Jz(RmVxFte|L`HI@L)>UY@Vl&W^jaH#|CDP~eNp>|CiUi5UEij8k;Za-tcq!E<=Fdg5@qSG@EBKNlmL0Q^j&fe- z;6wi`-(o9ypU_D&{M^%?sgk2DHD+l6tBh&i8Xr(_O;I&zO;-U-+|QYa+=Wc<)s(D< zU@V-&9{7t(Lm*(b13Ga%_4>yNgwWV2!GS?ai#rd01ce!?pRerwyXP%$gxI1 zch&?mKk7F)tdys9bdDT$W@<^f+}xPGd~9=b?v=6=7Ls>%!;8ojRWZ>Vn|g^-p?Nj7 zvEzZDUR=>&w2pGW2_4I~TQg3p5VS(o661TVF~fr%2W&8Fl-_or2agoyJL%pUEa9f7 zY+U`o3AKlOBHsjD)y{xz36ySdtAHT^p51CQ+I5QmlV)<`Aw*$f!s{s29gh(W_w&$K zuLwln{!qq{3i705b&nz6E>o+Ith%#O1y@1^@NIC3VFhm8T;YkT@MGF^Z~Vl_E`TrA z=AoH1nLDwLwX=Hj-9O$%EqICV?uVei#ni4PA}nyqc9J4&n3Ox#FHcD%4%n+xBx;I9 zaJifNSZbUQ_QBd(!>Emd1}f zKI5y-{#$YP_Y#xY-+*vgw(Fp>M<}x;60x)XubdM%##aK;E3MeejL8a@es*ySQl?*^ zBWK?qs68rN_(6(4{HA3XI72&ay(mRVcE4+l*vs)hTnRnF`s;^j{kEn(z13rRb9VEi zOs@={9+`8xC9K7b3T0^{a-E4?@{aMwwitHhH`m?cI=4H*@XChnm}lnM2w=3#?st2p z#MplE=rE!=N-}r-(cD4IuArj*xpe+^D78Dt!$9|RF6)qNsl`xsIhqhAjIS9S+(ZMr z`m<#JS(ef;<=NFM0K>V$iJZg1@AVy_vko==)l6`C6^5&nM=u4zDoR>5R4n3RrCiBt zyphidAYSmHYcK?v&4v**DYih@#sACnesAz-IArA6eRos!P zAIk8@Y4%t(3B!1L`2COBPKrF6+F{fB(_CGA40)z_l5QaVB)lpj`tXo%m)w8w!=ow; zD>`Ha^haMbkr&5s3MYMWNJ-w($%z7o?y*+M!anTO&(+k&DK_rovRFbG38ao{GVGfP zxXM7EP1*W^QdOq4ZPaU{=Mx~RS%vi~DN*EUPXkfOCb7;tX8Eb`m9|=Ts|FQL;*#1h zOi|`iF58N4q!LD#g~F0~w{d%h$33oTu#1Cb?9Po&61?X2_L+CVkF2%pvU{R%zjl+IL4H7UEts z8z@fs9bLE>#o69SZj0oJEj^BrP2pau3wYds`$D|kiKu@$ex#yQHJvCjamNJuO><t}55M{x0TMg8UD$^@W_RMApG zYAC6mvsG0?X{eyokqSr^6cQOoUDo*@!yPZeO}C)`Z{WH=O_J^!8;>H@%A+_%r7#IsYT^vIyZoR#+(Tmwpr1jx$ zso*8tSu>NogSqV*ZY<++scD{4$?E+!=M#_9sy&T2qB0V9rLsjk-q2uaG78%`bLzok zvrqqtubkG(+@6{q&H}Ur2m%8ClpVBuK8M?Jcfz|8)p|I)p$%r|FA zy|3;eC7mtVNy?TH<(KA`sNXW(I8kQJtI)lxmd6^~Z@m&^{=_CRdeyhB>ucwH=DQsx z`_e~%92|sW|^WotP5FgoupDG zqf(SxO^Uf!j-}kzT*Jw|)cJM(>2>}%&-Z!0@8@~Gug~|-Pud*V$~7rUxNM&IalhJqk#px`!O;Ts90U z+E?ftxkHp_l=*GrWpPlgFH7LuY;Uxe=oT5874NmK#Z3B++dT}482Hd^B^%9H)n(RC zEEy`6&9z}pwtkuTDvd;1w#nJKt^JjR6!h4c<)0D1S!^=9d5rh=b4!Dnv0niL|-V z9VHsv8;0zcuHkF(9kh83bfIEe5yp8Q^He+`aJCzrKoKGomuZ9wdF#g(mz zyX>AMj;L}|>Q(vbDs*gL*(c#vSxmFL=e;NO(a)%TL{lyL>6lt8%|M~$AtT7&u}(LE zm|Q2_zj0hK3wbT{cGv=5W8_Cxi2Aav{nJ|d>*m4A+ZkA%*#Yc_k2{(t?%p7ES4!@D z#MfNZEaNYZz(y`PC(#Y%htIPHIB%g3cT9QMGTeMz6IFUB;YEf$IFIBXLM2nxadQSg5o+p=WL;>k*gl_lSzle zo(Wj49uHC{0BS_erk?A$$ksOrQkVqowW(f}w6h|E`Vi5&oc`j9m1^U+@KP$~g2VG7 zt5IG&Vf-`rxkrb=HyVm+Ow;`|{}&C4fU5e+v^8#?55}c;1VZnjnYr>a6~>Z>8u60k znHtjdE=kpwX$@4UPX%*FRCnbCtC5sxu<^|32jnbD9hk!hE`60fMfhQ@1;#MRH~c>3o|9564}v1d7%G#7IlTMJM6@sTst zjiq8^*hzi`iGrAQtbe29Ypv0gynKf$U^h${oYk27f%i5X56nx;#4<8Y>AaX^)WEqP zRa(bNAhImA(4kM(WBDZ**BZqQ&;5FQpm{m$uoV*($L&MAWm(pT6Jy?$A8a4HZ?(cA zb4jqN(FwQ=%3@Sf-9oKbuJ)a-EP#UpW@|nCd z?4`$MN!8fa7?UfVvaknU*vsV`pTzZE6}rQbl~mu8z8{CpgT2^-@kfFM&&4gL)D0+c zF$eSj&ytIN$@}j=n`}wq-IsYTWVD+Xn){gm31N%2Hg#&9v$43G>oba}(LVWVNoqy& zI;FP#n+~0NXT!UX8Mndu%Si_*I42%*%~zuvsW<8q5pJ(TTEMeSsFr4p&Tdft4BIDk zH#lvfdoGL$=rf8RDGleDwT3`{E3#$7V^1qx1JrJdg#`*rf}@>Bk|0k!{Sd?DHrs&O zaAi}kR;IzsplD|`=bH_qJqfGh#(Mv8J<8g#&0(^v+yu8CvPW^ px8b+q31mDzwn1w3A3@l$z|i2h{}(6~9OQrkz|qcyUTWii`X3h;$KC({ diff --git a/res/img/flags/EH.png b/res/img/flags/EH.png deleted file mode 100644 index 148be93c083da57f183e96c9c3b8c4cd45e0036f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2687 zcmZ{mc{tSV8pnT@F_sx4uPj+p$1Cet!VG4SwFYGggKSwNOLoZ&5%nTjT8y3H&Aum+ zWlEMJqDBl}k|hm|VNjgu{CBQ%o$qyh@6Yqx_w)VxxzjFMnL+ta@B;tU~ zg?QL?X0ol24Q^koB^Cf0GX;KnfY^6AFLN790Ekrp0K#nm*k`v0D*zAy2Y@wq06;zh z0I?9#^GgQo0gvYeGh;T{+B?^ozy@E4xzi0c-T&jwYeu8&1328m(geH!k`mKWl(dVd zv!7kJFvi+NPj5^oxQIl^3~YUjirfMB)yXTZoKyW7PbgJTN_lXVP+}TT=(E#5fo!a4 z)_i4Si=hj4YS-f!AHS?tpt|njdQ}pVogQ;4#WHz+l(>>&65sTx=`&uSBabCD4^z&? zjWCKle5lmDcX8;V$8-Zx2v1V4J6!y~psjX^VRq@avU1YnF)2rC+P`JzGPG{vek19Z zD$(EON&XN0rU1?yn~fnZmE3X3(2Yo3#8kR>lG?iH0~_7JxC6&uzdHK^vQJe{4ve8} zsl_{7qZU(I&>Sv^r+g}qxC-&>*2N!dWd=OEvIe>=TJO8A#tYNlXd)#+^`D?bTmTDI zRe>inu-Js1rV~ph=UKuzfu7OgAt$pw@c7=2a{VBHb5%4=6`L zwxB6pT!zyy&1H%M%kmodY!nfo{C+dL%Hd`OIoFlG-o(i;Kpj zXozSV-~G1^Mx!zI*HnhxJ;c6VsK_J~Qf^HVr!%~z04lAecUxP?O5{?vbrrx(z7|+S zQ^!lhQDKg}3gUi7+#Uo<@_N%zr^RIcodU!}XB2KEv#V@**%R;yl#3eH`k}b;La+C_ zAIc`?y*A&E(O9eJqCMX767Y z5h{7n_Lwjf8Z!0}B^Na)V8f+hG@}+vKx)HJhG;yatDI3oaNyp5T%i_kZy)s0&&Zh_ zRbCNfrCF8sdmp?Qbcs)PO{@35tKql>4nk&q!l+hC@XZH%*7<>gGRP`LGZOf&?6z>L zuzqOy&v#$8s$VBQ@@m8j8ezUsYWPgj<74YxLw{?l)$UU+>-yy-pBXzsSoO^7Gh>UC zvhBoiBdW1=O0(Ixn*|z_@iA(fD#1N_iz&t!>UNhE(W(0!Ire>%#Bc#PjmuXAxwA&# z#iUU^?l9u@$lPZ8I#Vq zsm;nN`Qv2R_PhEfDLLn8(}3pU6_`5w2;sN;)i=dDU(ix&_HvXe$9n0`;^$-_h7zhf zmLx?3aVtT0nL+T6^?hqkJC+}XxPwQy$018@)nfK^E@oX1r3Z#-wrAOsh>6w%{=2jM zhGiSz_R*AO@PjbnInV><;l6k=MlidKh}(zrC|yB+cZlX4$yKevcDP&k+kS|Jk|0NK z_i`Nd@;hz>PHD-_g&TgiDPHew?pbu@oEi2wjE{{o*tg3BjJ)aU5lf1_Y=4(%3f*qDuX>*03 zdxqtc}b`r{_C zac1Tz!E+3*U8wbUNX!M(rSwRn%JPaEqOc^L-SWWb z7LlPlQbjg;LQh{l#XIatDLMyA29*(x?Muw^d@_-Z)s2LpXP7u@10x1m(~+?%xp7o8A+n_t2BLd)52@}L)!Rz<%6UrYjA31qT3qx7uo0J@(wXAl-LUa&EdH}dm73heTU&(o)Xg7Z%ak~dMJt$(`T@SB@vR>Nw@U!eD2>0!T% zIt@Pt)p@;E#73eMZn|YJS`3~OY~mTseL%Yt4@V(-f)L^ykNqc4VYUn}%=GhjjS9Di?KM;4pAjXyN)I0@gD+3~ zkcz<5G;ARV_o9UpwX)#KfLl%$NltSLb^Hi0ee|Bog!YLZ*HUK;b-8Yw4p=`BR?_6C zMB!iZF73%Mhj`HONhc1C+;bweg2}WhrP9QE#`&E@j;>RdM)SSJ3r^| z{~4Hj|4Eh}nuTR4)G+z-WfccV`r3S&rY=Iegu>IF6q%l(lcXNR++oM|S-4AbEHMqd zV8fRgsS!j4YZ0 z6Q{5eieZ5Ao_SBYr1aRcw8B#}tToV7xUao)JW_-dyb)~3*IapeiD#5xD|`D<&;fRj z@|X-FNXfrTTPXfBmBUk)R!kDl4KJ7!_(m@>E=MMwJSY3JJ?~}mnr~nu*|In?;?&NMKYaPW8xHFW3+9$DK8u~WyTe|_{uOTG7=G0w+#Bf? z=FJA63D?k7g`ZW`)U(snLY~!Ne@x174I~^M-S@@tzXCzQSN(lr{(pe4$d$+r02U@z K#&t&SiT?(F(%^>x diff --git a/res/img/flags/ER.png b/res/img/flags/ER.png deleted file mode 100644 index 7cb8441514c3969a8a05c6a861d82f873e9e8881..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4082 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 Dr7z{v diff --git a/res/img/flags/ET.png b/res/img/flags/ET.png deleted file mode 100644 index 7b420f02f4d484ee0d02a55cce74514986675130..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3460 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 Nz?U54E%pje{}YU1q4EF# diff --git a/res/img/flags/FJ.png b/res/img/flags/FJ.png deleted file mode 100644 index cecc683c9cc928b682c3b48a6534fe2d6c595384..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5060 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 bxjQ~`_W%C_&}>`$WdNX~WvE$p8yo&VabZPD diff --git a/res/img/flags/FK.png b/res/img/flags/FK.png deleted file mode 100644 index 6074fea09c8d84381552b99f71aded7cca8cbbc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5273 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 diff --git a/res/img/flags/FO.png b/res/img/flags/FO.png deleted file mode 100644 index d8fd75c63895c5925d6fd6140cc492b8bdfd4b5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1715 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 diff --git a/res/img/flags/GB.png b/res/img/flags/GB.png deleted file mode 100644 index 589be70063cdc5e26fcb78a79e4d038a2232c438..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6309 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 bovrL`y#Id#VU|hItpQM0P?P^AYmWIJ0VKIQ diff --git a/res/img/flags/GD.png b/res/img/flags/GD.png deleted file mode 100644 index babe1e4cc652b87d626e0f87d97168db415f8092..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5753 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 diff --git a/res/img/flags/GF.png b/res/img/flags/GF.png deleted file mode 100644 index 98828a5906186b635ef6cbf154eb1fc0b6d380e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2342 zcmZ{mc|6qb7RSG6Fc?PJr)=5xvDQq<*w-`aI8{=Okj#77!i@9smF!R+grYEb9MT zP)^o4!>p&XaO?)k4g~^|GvoRUIw`871al&8 z006hJl_|=JF!gOZ!pUh_{N3h8)CM0%j5Jxv(oMnRz3;7xVEF*23dL7!W2VLDT^@{y z)!nulasBYpqNqdz{Jp*Sr*Xc%bSw_8@<1}?OnZA?W9Zx=n{QEq zu`JJr*`fP)zUMaf>$Lqb+-|+m?xp?MR)O04H_Al|OAOBBp-Vp~dlU0lj$jF$pM%bH znf$6A-QhUI3#ok-ia^W8xw_{n-$m(vzN@!r4!kyt0$xuDNu zs-%=kkUB-f;X62|aNo+BU~f+NGg>6PHvLvI#wbG26EH~-RmZ;Nqu*H}f_04=9Cv?g zCoWJ(Y8i}TCkFlB$>MK2Tz`l9o$d5zhGbB0<{g!eFP29kVL{G!QT_QT_1o*BAY zQ#YUK#&``@H;<0TWk*kTKv5W`v)nF5$=C?2aA4DGGyE{Sml2hAk9Sm4(cZl~m2E8UQm+j> zw@>$n?YJZJ+Km0|q`FDwlDzTS>_o&1`X|G6_~>SV`immCX8Ooc_fpCCwpsy&K-JX+ zl6RdYPW&cP*KRQO$8vePL78?$4*T!7BIh9QAERIpQCiEjN5yYRQzoW;4h3$NCDYAU z3^i2%JC!!A!s^`ix)YRur5dPh@?TaTMn7Df1Ope8ZXk(*buXTDJw>kY$an+p=|2^Wqx$=*F11g}~R z?vLo9?+=U=*rSFp^WAbd9;-9a0*Q*RS_At!*Dm0hjXBLld|f;qg~5-$;0CMAdPFew zFQO;|q#yeG#jOrnwMx6jKB_Acl%twEu$chwwzBouje%D?s)1*lk)9UK48HlLImGj* zPeu{XRdJ$(+{{T?7>(+n;KWyR z-Z^SLOguRSNcuq<)BN^8MK!0ggtsc4QGD335W$q0bPZXFF8|Yyui%K6_LEO?Ymc-T zbw#g;2VMOq+eQ3~%kR9==%h`cRo8@tB}zzZc@> z<7EM7dNlX=OO3@)naFVStn?UMuTSe+?wD)`aYbwMnDnFH;r>uv2|{BdT(V{~wgS7< zv9Y_eN}Ky~YoKbB8vj9l>~i7W3DI_F0D}U3wRolNJ(Bcs3OV|fV@|dEL&j&LYc7_@ zC|E(o5SjURn%A*}4$;f=(EU%rBFNEYY46}^Z?o6<_DrQV=Sx4@VwEQzkxWfU*-sB$ zCAq$!do={P!$jahWP+J^hqAQ$%Tgc(A}^I#Qt%RU`|K$-hUo=u)bumu+lYq!?EPzR zyqMXA(4=Flv`tyQDiuL7lJyli%RFNtqhTpcO1V&|$ij9_B{x?}AI$HRf=Ca&pi=+s zerF{8NO=AGLPfK|>U68GV`BL@QJ}dpERen~AFa!4pMtp?b0W!;ET7z+cr3(E%Mz4?V5o&R1 zYXMu~b2jdr2&J9!h1B=xa-{S*W_=$6rB6J(tH)>FU1zJ-8>c*o&d}cgu%#LN^?=-_ z=Hcao&jVy;Mgp}IPtr3}qqLwjwd0kk?Zb6a+PvoU&~;^B_7=2$%bFnvRUpqzD$j8n zKhOr#!!Qp%_WV7A|2vV(6^}T1KexW##VYx*b_V${Gv_cbe3&=FGsK$(KwArLpsuB- zu6@QyTL+;BN9by)YQYg&T7)-?=l{pxAL!+CJ>vfx!1-6BSq8w$3~lo diff --git a/res/img/flags/GG.png b/res/img/flags/GG.png deleted file mode 100644 index aec8969b28a0153043202d5fb2f85cdac0871725..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2777 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 O0N7eOS~Qqp(*F&Sc2V^J diff --git a/res/img/flags/GI.png b/res/img/flags/GI.png deleted file mode 100644 index 9aa58327e359b86469c294a44fbb2db4be5b47fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2750 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 E0Kp*!tpET3 diff --git a/res/img/flags/GL.png b/res/img/flags/GL.png deleted file mode 100644 index cf1645c2b5d42ddce6f72ccf173e4f989c8f00bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3101 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 CSHuMX diff --git a/res/img/flags/GM.png b/res/img/flags/GM.png deleted file mode 100644 index ec374fb3c3347398bc3ed3713ded2b8f18095d56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 709 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#O#Bx;TbZ+bMlUECxf_9e{3ae}H(t6gl zVnM!YoIFvlHT9A6+nY!>%3I zO%F`2^5Nh1rSQYg6ScjJ)2=2LZ79>+Cl>!?-!Tr+s}p2$QX;PPuiu%^X|I{D^}Wl| zGD7!$#D3kv`NDN4UrpE`T3obY=G&XQ=cd0aK6HL zIMAYVAsX_Vc44E_jKUnWCv*WF2{cn*C_qxK2GyxyuA9r5N=lXSr z0~VMKC&i`WBI>l7ym^5_swJ)wB`Jv|saDBFsX&Us$iUEC*T7WQ$RfnZ*viz<%EUn1 mz|hLTpyJR|TNDks`6-!cmAEx<&W~*bS?cNP=d#Wzp$P!a#2OX= diff --git a/res/img/flags/GN.png b/res/img/flags/GN.png deleted file mode 100644 index 46874b4d985d0b62ccae3dadde4eb47aec14a8a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 560 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#QU}T^vIyZoR#2=*8?P(e^OE zq%*YZi&?P7O6HeA5geMAmQHZ!+OpI2-6W?yP3#`R{R&2M2i`Qjoz=6nm8EsV8u@+x z*7nBsd%k)A%?APp?L+>|noFkyoy*n#b^nM&a?iu)`H!}Xhg?lCkTc(&Afc71{`Bv0 zx8j$3-spagdNut!|NH4df#0UJZ=Le}tJ)b=Ugt~izLbC7ELW;7`q#i(XUX>IRn>-5 z*X7UOWv;xkYVG#9D@E2F($U}dZ1$u}DVw5X?d`MQWtuc5q;aIRQB1sdtG}}Gy&Kdo z-gb;vU)np?H9vd~6j3d4jVMV;EJ?LWE=mPb3`Pcq=DG%^x<(cuM#fgAhE^s9+6IPJ j1_l*}p4y^l$jwj5OsmALfpdOrBgjrqS3j3^P6tKpd3y zlmVbNndGlE{=b>kR`Zb_00eRa04fpyF8{4in*iV=0svb`0FcQ906LGHRztae2dIsX zhT1>=(}ikV*gp_?XqtNcBl3T1-&tkkUqj%nrKe7?iVvp~<7G4o*#iI?oR*rhk^kJz zJ3oJ;$*HelS2toL3nn|BoZqkuhQhq1mGbHv1wxxeSxRWfp*}ZJmnqcQmbMMpzpU1R65_=_E-9HQ!Esthqv`faA*N zHl%q{OQ#`tf$b(;l||O3mUCgrsIMk39eEzi&O2c{xKmDzhf�KtCKcaXBmRWC^jb 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 Z(LUh+4-n;9p#KE`Ep>ghY87Po{{YiCnsopG diff --git a/res/img/flags/GQ.png b/res/img/flags/GQ.png deleted file mode 100644 index 7fd1015e8beb63cad1471ead7f66ad5fb9083587..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3090 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 a_ymxn{=Y%0l$asCJi diff --git a/res/img/flags/GU.png b/res/img/flags/GU.png deleted file mode 100644 index 8923085d5a0db8a2be8b54506ef3f20c70d55380..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2591 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 RTM{Dxm>F5)UKrq${{@I~p-}(; diff --git a/res/img/flags/GW.png b/res/img/flags/GW.png deleted file mode 100644 index 20c268ce0697234b88e1223c3254d0a5b635c356..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1608 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 T){LvvBLiThZ?0FQOQih^Yq)J7 diff --git a/res/img/flags/HM.png b/res/img/flags/HM.png deleted file mode 100644 index 8d1e143791ff36a8e5bcd8b6c36d875b747d2292..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5229 zcmZ{oWmMGN7Ki^ZLwBcu2sjE1gM>5;rF0|BNC`-Hr@+wYs|W%TigZW}or8cNDbmt4 zbjMJad%xYg)_vC6=h^4%_4|I-j@8zDMn=p`3;+O`%5z2CJB$9iDDm&k**~bycLKkH zYrp~Edosz@OT4=~hxKz^4FCw>0f4YK0D!%F3flkxZx{eEaI^;2tio%gZBV{#!N*KuJ1R! z^T|I*mp7@|a^G_1_*7&}&;JZ;itmutm#NJ8cUMP>RU8|7in&+D2d^$~~ z)sHwjUc*wO@BiCKnJP}PGyMl$nJpaSi{R##e-j0}LACeu9@=F$0g>fNS43k>!GXv3 zh$REqt~Om>BOfz)EXBWAw5hHsRJ#^onej#(3uCA4BAzJtE3JfGXdLAQ#=JDH(~3i@ zA-cxR1(LVGN(@i0E1e%rUc70Ubf)d{p_pqyJWQCSf7v!d?vy&C?zu_0+5GOS?o-G> z%4Phz{dGO9JmU6aL^BV1dxosD!XkVy^%}?hEn*UL8r`p={rgK@kD~mlj`<7rEaJMh zmhW7?(#VgB*4Avjd$v`XhYYXOaCy`j!+3;qiILrT-_s}#)1-KMKtH)WL6BT*$Wo6~=*A>@T(+lS)4UwRjvp_tA-pIG$oL?JL`M)hTreUFd$;%5HYhypDT+!3$ z8S|LA7;M&7wBZz9{tMNi`L!W#rVwK$$t<6(a9u;*I1 zf4#rm%N(Bf<`QE~vwdywKqE~WBVYlB}LS^ z=&P-dZ8+kwQ+j)333+6F~&U!aP_`!urd)HbCF2ChJiSXWU@U;pOE zDOp=Ks_hd?Lss4vyc6i$XIeor(bEzy=@q(#>1L96

    9tx{;j%xi-5bgXB=KgJj5! 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 diff --git a/res/img/flags/HN.png b/res/img/flags/HN.png deleted file mode 100644 index 4cf8c3112c5992d0e50b3c41c82adea4ab294d10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1644 zcmZ{kdpy(oAIHD;o5|fH_u%aHob(MU`Lsbc?1OR|4 ziHP@?(f(U$KxAD!*vgRs9PR4k3IL5amAAs>Wjl;Y^!EXP3{wDLT?Bv)*%NCX08)_v zut)&_Y#9LP(%5Z&jeDGVk!(;%A^8v#Cglxv zZ4d?ljAa0j4<+GU1JXv8MzXvIq73;f>&ebDIn{__uf9~QoiOZLppD1&`BOb;D~q~I z!>^d;59|7WHR+lgI7;20`mla0#BYXOc2(I2)QvJT0T<-Jw!t`N1>b0WL0$T+V{e5% zor`P8da<6Fg{$0Tz7VaabC!)_%J0Q~mpWnHtLH#6K_#RXOFABR)LKt zL0S5Sa{N4yT7fHwRgTvJdN6VzHtz_lC-jTg`zL=Ds^6?tqPSex^$WP^c4k~VxsG{6 zbZ~z8-gKP#CpOgAq`4G(qJ+>lHlIPz$sX}E?qETow26cyE6k^g?VL8viC90>mtR!S zw;Jj|)IA5AJah8jncndPH`QE(#N3`2?>o%5!w+?;ksDCAVE0C~6{WYwh~3Sa*SvzYPd%`Wc>hOi!xmuU`q z@ryQ2pE+aN@GeWx&xf6=z>(@^wF)h6aHL+|-T~kE%XX{GF{aahFFQj0BFAYd(UV_jxU#@k7)0yNFsX1;iDo-@Am`yt;a_cuOfdB?rBHcppLJ3g3cYQ7pqjBOK! zYu4e!>?yY7Cq|-#2U@ypWf>#TJXrQbuSDmCsO;Sv=5TTUE-l)%ldw|a2B3KbuHyfI zzH=6<-C0s(>nbgj&jbHaq}&Wdh1F=sRBP)ZulwQo2@4D_A5Q5{v*XiBtrH^N=TY6U zv2-q(#*M4}E47nU&vi&xA9lVG{EAV!KcH`Blzn^yfApg*(YHL^(!NW=v-FGwq|t~; zKBGdjVD${)T)#DZ7xfhSS|RfWi&=F;+*?>;#nYF6 zh)rule&fDg*{}7yB}P1d7$$1E?wPMcnnTp)3~q{*cf$|7S4c{2JlC=KOhQ*X;}fk> zyY?V&0rse=FoJA05H{sf(pZe*(pIER<%7r?-<|mW5DY)l9q7#o+lK-pqV=gRaC7B% za&O5umpUFNohDG5_a3Xkwtsc`a8KIM0R2$a+F~qGf=(Nq_;y93Ty^0U%y!Nr1dE>E zk1MzyjbXHxwA-q=2H#z{GHF3h9yoo^W$aV;{c?IXw9|cx<=@+{q?h=)aZLI+QRRZ7 zT;mGll1A(3R_mlnXGZ$PW3;H;Ro9>cdYn1f;qxajBpZrSyaT!}&BZx$E}Z!i6Kc6f zFi3!)O)9;HllG{ZYPl>9Ltt6-FMgN(O#aj7wz+dO5#bI5=~sekZ>%`}FIyK7U(iNE zre})>+jz+CvlS=U*GZE_KC$Q3KVs*2w={`MLm9hAg;#@qvs9p@aQE@o#^ER11YNo9 zH^@)pj!3F^9N*eFzssnZ5Op;FSgkoEoWHn+#)d!78?Txkakh^8&d+4_Hq^5%S5t{W zy$KR($($FSLI_TY3{Q!|QqM%m0HBd52P>qV6&e$Ow!zw=u(n7GBnpc}roEcQeJ4mr ajEp^*{_g_C%46qc0)Rv~gn#Tt$^IL{@9K&G diff --git a/res/img/flags/HR.png b/res/img/flags/HR.png deleted file mode 100644 index 413ceb1586820b1b4aa269c906a88d3aa5ef5887..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2420 zcmZ{mdpy(s9>>2MM(&APxetj7nW-s^NUE`zlKWj^Y-Qz|A-4MU3&;JQT$9UC$Xq5$ zMHIQ;nuW||jZiLgcFupl^LU*12Km9uNG!CTJ4?s7VmnaTnm#N}d;O&;Ss26aYvM0AP#PBK-gWq7DGC+yKBJ0{{-; zbDFN6;|(Almo3bAyeBiR5T z+i zhZKKWl0VJP>hHo}#!ey=WBl*acg620k4Ge2+KHp`WgQ|{%!89k+)K+Kx z2|*isuimGBA#`tPAKcF%NIr*t=7e{>T`bD(F?v*;ETQN}J=o@Mgpy2@LfFm5Y+2cO zsiyR?^|XB;JC$DeeorPN`iptnbUMWG=nj=Se;n`HmRI9^o&Is!upuHs7IPM>d-(J6 zN{>S9d1d38oxDJ6I%|!y@9a#$vpdf!JG`K)Bizhze`VIUxOU$a@N?VbubLR{YFrlnz|}RxMHTnIpk)Z+70%-=P*Y*}hN5BdM+qZv~)RS2&M0=i7ge{jRC56l5+uJo}m- z-fRBqZ);LaFxK*T z3tFv3Z(i(}N^0AYbiqSw%xiH9G5zP0BG0DAOgq8hHwAJib>8dKqN$U+7J~Wl?>mb7 z6lfA*t@|6gMj#@5y-W7#LWp$k79m_|VX8J})e!yRMa1@EJ%co9XqpRtn&u#~SeSWm zQ71ohNF5QFpcinf&7-77z-D&{dtZU?%f0*QSHlG2D|(t=)bCoy}w zJp?1rEmbCT&cVi=T$ru$F}xYbN6vpo|AB^aOEi}zR5RLq2_J&GNHhW~;J4{$OGwH3 zuoKzj?)K8gHQxhgVB5t&hUMche((^~T1s?0X!JC}Q=3vTJ$!oa1idJ#)QR6`s%cH( zG=0vv`MLnfwF9$JDyZHUCw-}|PeM>Gd(owW^cPuiXNG}PlE5j_cG+$b-?El9`CGlE zv_Z?*=0|l+QdNb1X+Kn0S#javcl)1NM8amc5LA)NB^SdMROiwd{;QMpIhCSh%IjlA z&hHPwN(z-*TbI6X*uIA8(ijFwF9ix+4kk&x5DAOi>p1Zx$HS^-iv!v@<|aXs{xFY9 zimZqfrEGIYObSgRz1g$*;v3?xZEu%=N>$)0aFD0R)&m64qYPv;EGTB*jd909Wwewc zoq8Hul~k**Xn|z9$-nsUE$lJS)2%WipeWIUs0L6e=9QgWP7((+62WXY;zc5bLdkUZ z3F+$UdfW9-uhKPZty8`8XlGbgw(Y0qFqj>}4q;4lYgnpp`hgCNCuWd;)~!ckyfCUL zmn$x!^wgy57r>&K`d&v+Z|Wc50QUE`WC=Rq3Evgrd}(pX+{3y15>xY1#U+U_7C-7% z`d2L=#dgY}$>^hC_=wi18q7lro*rsZ%3s7!(Ob{)oI5qJ-KaiQw|<6Yz*>ExSRXNR zo6Vf_xKnelsg)6L*fZg`k|O#-Q4tWwOHw&ni_w?n0Q@GkcE2P2?wQ~D?Hu~A1n|Z% z-+EV-930fmi4usq=|gnTpkLV2J4rcv>X?iYvJn`ye}3pmEq8Mf_as$ zSK565_-b>LC<8oHT@5+TF&gQpYL~$vE|^_FK*rUpteeo^OY@kS&Ro6jfXD2NU-MJ$ zFx{R5u2HR;A6T^$BVyt9Rs<`~!r#}7uK`f#)1!51rS#pLEbqs_Ub6B1y-1CsIWubw zM`1ksOZZmo;-#h0#`A95!E5~$ARuQ(I^zS=NIr

    p`1WDFsQN*wO*r#We=_D~b_c z70^^JkZP>-UmJrz%xDaOzrDi|Wl*MgQz{N)+h`t(mO~J*E7xAsEvP;06@?6DCrN=2 zCiVBDpHr1eCwo;k+m9D+N*lH*Ea7Ox1p){fD1sG6*{!LL5Y|(PfUB>xYs}+J4Uy|d z+h6$2P9E@ADvL#OjLnt88_mVQ7dVoR6H5J2Xk*1jr0QN=?k302 ze*I1SS!+Am z-wz0F;U!c`glD$4mAz^I`?c>X{?Yb12a_c{c!c6zAZo$p_Q786!QKX*x4n4)bahUh zKBWdxF9b-pV0p=*q84d%@Y8Y=2m7^rfxC+ E29JSs1poj5 diff --git a/res/img/flags/HT.png b/res/img/flags/HT.png deleted file mode 100644 index 097abeb434461bc2b49bcf88fad320cb147bded1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1944 zcmZ{lc|6mPAICpq#@w;wTp~viW6mKrQzQ{1#}HCsj#6W6gh*MaM25VAvCo#RmNzaa|Y z^?r3Z=F?JOE%^Z?4VI}?F>1m6obP^#qD5t<#4|Y~7$}&PKC3Nx z3aO3JEy?+wojX}9B=IqapCTH%i0-%+`9iCiCI{$4WNZmum-O)LJtA2_ll5___+mzkygh3A+)^B4ZDca*zPApFWITy?2U%Egsu6#h2b#S zq^Yx{$T>(3;qqLuQ%eeC)9m3*K8+x%V5Jen?FYLmcFS>o>`R_6J+WqQHQuo&A=@xj z1m8%zwoDErfL#LeukN}D8;5o;pxpVU{C1r3#Ai$*-g@%stUF|@io-D~Ctx;>>Y~%( z(~yut)l#TE{pbR;tK324UU`BMvVUE$3eXOFvhTY5SxK{rvDp*!I_wH>P5NEI#JarD ziH9Tnr-R1N=U&jm?P3XomlY4wvR$uFY+vQ-&h*+ayZ*%@rlbk*CN@ zQUQj-#b|WPG-+V8Ab>r8b|ONYi0)>QPEM{F54_R2u@tfD4KZQ;@>2w zmfuh5sKo6yY;6|40emhnZz}2Xq7Lz%qWb|g=)+ur@W;aFL-011t@od0#e} zXRg_CX{k|^bsVG#4+Vw1vhqw?Zm|2u>Us49YxuC;cNL}>tIZ;#qY`cSz%rv z8Kx$DAfIo|`mN5AJ0|kQd`y5Nv5DGH9xQk@An3zd1H+iPVeQFBIUVT6kgV?xz4(Y%3rb-SJ#s@Zq-1`BfP zyV6?gi@u5ZArb0feeab=tsy*8o%2f7$}5YeZid(?b;9z46k6^;y#~vqum7%Gr#EJg z_Scs|@1!sje>LexJl<~XB-=Z*hx<#ccvDeyTwn8`$#e@a?0UJ#A+% z)wX1h0$vl3;L~~Xm!HF~kUo26q>m;kpeIzHMsenDqV9Ur9U6ll3Og z4$#y39c%!+(DZ6Xp1J1NrNPmnN2zTdx?L&_juNB*6^A`;`s^G`O>U}mIBo%#=vrpV zmf{){uyURUiC!>Nr2=slXfqq;J43vFd}VX;FF%}6j*9Yazxm+lrl&TD@z+E3V0>_F z)(^>QC5@i@d^V}OzPllaTG>*9ZkN+~);-0dmIg?!We+s9c>E_$>EYhKdb2(4U(obN`1`$*!TOFj|IUUpsyG)j>K%OwlilU1|G zxb?qV6ZdC*oSiCKp2A-e_O5Qm8~YdQlxvE;eQh;c>Vnm>;gRtF6YmCmcLj8hX*J{S!1Fu`bGty{38N50JITW`X>;&C$tS*w2>%XEtC#I4WWfX jAa1;yHTgpj5_T~-@aDe@poLx}jsUQ;K4bOL0-Nw3KIe8h diff --git a/res/img/flags/HU.png b/res/img/flags/HU.png deleted file mode 100644 index 23499bf63cc9e96bd7e8f87f2d55aea489537046..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 677 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#OE`x;TbZ+xNtZ#cbOwYMKF`UW=AAEQ{H)oMt+{ws!IE=OulchctiK%+h145y`93*+mkNNp8YXLWSdp=x%@X- z$6Z$Z+M?Fpc~e8D`0{@9377jiPfVz>zG*5hyEMVV;+kLQiG3YCM;GrbteaY1dD*Yi z4`QWr;nC}Q!>*kackh5AKM7B(bLt>Wt~$( F69ABn1xo+` diff --git a/res/img/flags/ID.png b/res/img/flags/ID.png deleted file mode 100644 index 80200657c63a59c61de32747f4e75322f9e3eb9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 579 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 diff --git a/res/img/flags/IM.png b/res/img/flags/IM.png deleted file mode 100644 index c777acc490b3bf406825f9ff14762c9c0d20e113..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2533 zcmZ{mXH?VK7RCRBkWd1Nw4fjzh7mELC?hrWCXj##VTeI`l>h+*#UvnAr3?rTphR>K zMXC}QK|q>_R7s>`kd9KM4%HXmw^?t!z1F_Jd+%9$oo{EI6s(;yIw<+q*&wZzrAlbxDLL_7{_%FB<(DDoN0`mF>ihm)K3p-*0s%GA2b z@~oUFM|q3oOEHu4&LKU6jwlHjB>t^C`d?U68`yjF;-@ZH6Oms3tbUpPsRT5E^0>S_ zYV{6`nCt5&Cce#b9%CGC623ZN=g**xKHzw2(ye=0RAp4yaRgYH7tA)}J~xnnc5fV3UB}?dgAf*& zhEnpeQtDx~ur?x9Obm^?Emp#|!^2)VOaCQ_CY%<{!gQp#NJFaI(!Y4K!S5A;OL?In zo#!&-4{&SVM``A4gus1}yqjT#A@7n@RKk3Od#w&G2s+1Z<|(QjwK&fg(6Cp)I%Mf5&uZ+V}M(ulfWt4wixy$RJP zkE^I+{4|P-=Z+V(B7YW6J1b(2#+Hwpt0jx)vi<9rdPmpbe7V=RM~+VjNqrc{O?qVb zr{BnD9n+cI_h;o~B0fbpE`L>(TXSjBchw+U_w;l>;IqwI4mY_@%bVHlx-R_0@rFvO z5x%HkZ5tfy>lIUSlKBT~Ft-s><7?r&vkXl$GLl(5j*$*sI>czjszCCpu53lTJdmp# zc;N|M5TC_+pK&n^UkMdTTA10Y+CLZPmg{)bVnC-f`a7Lh;d$BiB!#_D>h(btd$gze z`-VYcM>aw8>k-VVx4a_45cW1i|Dm2TzpIay=sD$hl}ZDj82ANsB>Y+~cW$XZ_v2;{ zgN>P{Y1wj%m63Ewx=njI@;00r{o>u+3D`Q}n5qVq?;u{k@oJ7C_>=K(a?LuidMR{o z$lbGICT&Zr36U_6hJD){1rlK|8 z{;ebCs<4&2%ZYu>lf5c$Vbq#qlb^mE-?8xy zSr97?It4zCV`X{L-vKjasAwMMy(U{47BHT?+04*#R+ddUiOkgUwoJ`hFN_&ztG;S5gDe6wY#q9-trZ0(y_&95tLfO9c!={26ZXq zw|uE5FsB}!6!{J_Ti_8Gd}4fiy11uQDVylBv+lt2yssd%QuE9P>6PrQGAsbX=8&KM4svo{7q;gnsz z0;|OlO6O_pr@{v~S9oy(N*yH~AnD`7^M)tQf1oPO1Iw@9v*f}KG0uXbkIH^DISyoE z+G~i}_vG!K#2Jif_UQ^H2kh7_#3CLZwr1oZ{5rd(w>Ar@qvfr-%TQZ%QPGB0=>Jkx)Cfa+Q6Z(M*h| z-Y)xu@4n)=;J_|%t}Z8T*0OooTE!2p8nq_ACikulL+6u}CZfJ{?EdKg-qi35vP*1k5%%391MrZ3&oioy#;wl|xt^kh_I}`?}q?6CuN9S~yu}4>_4iOTu%^ zElYW>HCaCzqptMk3X(>kkg9sDHY2$HcZ)!e(|-UBySNCv-rYgY%A-U!b0K?OA$#k1 zhIw-UXrR@#)zD|vG=96Np{a9LT}KP8idNS_qp!8h>i;Vc9OC8g6aD`Ke1!xWCjeNP L*_oCbyT|(wMu^n0Eu`2 zkTU?lQ2+qQSYea@PSs&u_^+PsDym}1tvO8vjo96EmWqu3)lIHU=5iR~GlWFCJlD#v|+{_!*P1D^QHj7?M*9|yYXv>3H zCLXDJVKsDG#5--eagbV3Uz}51HYg~1U`|3@psl$YthwG@h+n}Y%&v*zPACR3ryDdK zF3xwqm3{1;SGFBjo=_yZ5KDTsbUplk5VEWqNxQr6&MWMViL=C*ZTh)S!Z+p5Oi#%{ zrKP9fV)2~w)9)oOY@>WhBt>Gz1Pr@c4q|P`;_ZF_jyXrVo)eVX_>C&~{2<%~H0W*c zXKL>!xQVvL`j(HtzVqbGk}SeGGGfWN#NH_P{$t?0?}8er|F8S)qQQI-2dh3LAIJ4& z8Nl$Hb{W;=n9#w2_4+^OiUg6^9XK_vMF$OXz@aDF>)MqX_-na{c6gg!HGny1HVX;~ zp3-M@Y%HJXRKs5qOyuH1DOuTCsMYuO2I9Uxe)>7{=SC>u#Mw`g%5xExge_U zRcLhE3b?95H1k2x$K*p5YyIQ!HzOI|Fj3RFIVN?uR4Hy+cEY$Zb}_P((PQ3i7slw2 zS*_2tr0K20vhmzab)-zT^7mvRJUzOq@e`)bW;FF5%AfK3bSkHRT722Rj^KIqQkN0p ztuboA_U2i~Ce2+|28&{T{O(-urJeEGV|3O~XDwviFH7{Dmpa-THzL;v@PUzmkvt-N z*zz9JQ^p-Lijq(fi{WK7sAebcQ67s7`mGiDO^1ecT+qIP5-PesGrm6e!Y?yA)<2&>axGs4H3zOyr9biO{;AJY?dZ*S81#SbZoK8Zeq>jf8yR>#>6 zRNU{uG&@aS4`I$hw)zHh>9a%jk;KTO0=Qn0UeWz5#0BJqDBn!EL@uc)O`|_@ORDi! zSbUqcO@ve=$?ccSbPt8}p0S7hE>8JB2=3$*bf|#rf4%hWm#QGXqWq zK*v``moakZ$jRU}SOMj_Wb#Wi)nto&lXMIx?jA-on<@7k)F?dSNEonHS6-P+UicKx zb~c-O|A$*_a_4wWRU^Z%A++HZpu|l^Ke|quL&lJleJ(Vn_0 z17BRdlkeZ_aO7Gyy@}W+uP?O7n?Z>)3rngbfvNE=g%*ol$Y-NBo~OjEKEAEp+WbB! zG_5OkNxJhvSY<@4AWzYJHG@_7j%bgGHRO9S1cwD!&Qww9e#8Ab(&gf(F?W~x%u$iY zG{DK=CV*wf2&Nbee>v>_HbRbrzAhX(QT7qlDt^dxF>>hAcO?`A zN*yPBKofH<-kT+W_GYy=PB@mv*N}wJwIl?^ir<54=vy_Y`@Yts9@ds*Y#5N_fFIPH z9;)E7gT7b30MO7DwV&Lq@euRZ%{IstkrQX~*h5US`>nqgyxPz9gn8TP2`>9{A8!6H z;!=XrW_`$H%Grr|Y)+Z^4=Qj`8xN=K3l3-Ls-E;O2_CeB17Qh~juG*ZDgXq$wVf5- z#)@E1C2V)Jv3A^nx5QgJ;_>W`x6c1#h+!T$^skivZ_p?S;i?RPmxr%=6`67JZ$6Uk AHUIzs diff --git a/res/img/flags/IO.png b/res/img/flags/IO.png deleted file mode 100644 index 1675d8e7dbe93d314073ed5a52598454712b2c39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8096 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 Bq{{#R diff --git a/res/img/flags/IQ.png b/res/img/flags/IQ.png deleted file mode 100644 index f2c21f7260a8c9b4b132981371f647e949bf9a1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2119 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 Zdbx-H{|4$phZwQ}(9<&3tWn3r{ukaKYK{N^ diff --git a/res/img/flags/IS.png b/res/img/flags/IS.png deleted file mode 100644 index 5ee3e63c5c2b060713eab402c4f7204d1932c6e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1483 zcmZ{kcUaSB5XXOvK#3v{R3IcmC#X z0KldJfP_zGy@fWnA>eYsNS{mYaZtf#4(vCV^Ix zwu)Hh4y`xQ*R=}%v^a9ptSX?lY9?sW=T-#+KJJ=x9+E<9-Q3k z*+ZpD>JNk4htwT967o4={U3!D>#rluJ4kmDGf5?_-J;VwMW@q6r{IGTtn354VqNvp z{Fv_eX2@R9$nNX$EnM01*85%DI8VY8rN2!Lp<158QlbVn~@sf(jZ_YvK;Jdam3!1nHxCWyTaV!>q^0j7C&C> zyg0FaZ7!<=k=93T96?GwKSuclS0|&1h-7W(gNOXv@)Y`X3vIpCvtW1fG41T)vaT*n z1*K)I+~p3q!^O(!6Q+S`N{RRl@{MP2p!Z5L2TvYtzyFy}{O3%f zU_mOiY}GNT!3ge^tSOUIQ^4X4wcHKl7hKv>1v>rds(8h)m8}_`*HfFE-pRRx#@TKQ z+I;>&YVOSf6|ynSoFNv2bL|wQ#yL{3T_ zc~r$O-3(;fYDO0tTJ;ls`2psFFh`khZg-y9U0SB?ZFsbk4yEqv#FOEm9A0KK%vxu^DY`4gR z!O|XCs5#K(^-TguA59f+qr(yFjgdc67*(*nM6$gK8h`%Op+UIZ#DKeJRW7Sx+Q&%T zzTP^da7_=X8F#9O*%)jV*@AVVE6Iv)>uri9H9e9JC^Nqz6Uq2GsEi5o-G@08OX znf_GXxvxUvj*8IX_XOy?O527U%9o()Hp#ZoS|7Xnrhs`Welw-UPLtq62_uCaD>p43 zc;2KL)G>)7`i$#Uz4JIhKBQl>fA&BgrBx2ay2#Dx8TC|R-Zd!7v4EGfU~*;*E+}Vd zz=q|&VOMyrVl6K7bhkgB!+seb(;%)EoLBzHOVmyh#$o56YG3zf3}}LJCWn;^&BgZ? zOw0lvjzQ-~TzzH@ZN2&v-W4gdh4w~iEKtlmGa$*<8gbS<3yZIY%UWjp6n7L}L_@6! zV&$d_kju0Sm9|+t1pArel5P#u`Lo`b#;>zp7fOlz-s?@zI(3e&-~*e38q>`gD4haN z_zA`(<+M-m$bFp~MESus5B<-Di7`sO9@WD F{Q>ydrD*^F diff --git a/res/img/flags/IT.png b/res/img/flags/IT.png deleted file mode 100644 index 53b967be99fa1f77a52054fd8a297ab86c5b0f06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 572 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 diff --git a/res/img/flags/JO.png b/res/img/flags/JO.png deleted file mode 100644 index 8934db7ecafe170f9a832b2b291c3542eb66d666..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2572 zcmZ{mc{J1u8^?cUF=!0gw~$@7VQkkr7=t@;Z57frcCLL=ZrK?ONCa6C3_!e%ER6u5?!mbeS16+wcQ?1S1c19T01!h2fFs5zh6(_;kO1%<4*)tj0Kgxd z_r^w#v0!$?nPC`Yh;Gsv%>Zk#x#LX+@&Ao2KVu4`fQ4FEn!*;KBK#;hVf)BU0AM+` zz!=&8J-MD6X>ac-)ET{*FDT$4V6Ezd^0ZYSy#LvnM}utdaZ1Hi4VC2U4FaS(kewc+#F^!lLOC;W70%J_+cf{`;BV#-Xh6W<(uo?WpFBQZ z{h*IJh}^srwcED2J1uA}$HSIjT>LM5tRu~*?)(x#UiT=Gr@Vh5SX%@U(*1?iwK7+7 zWxp2pTU8H@tr-Gs5@`(F^DfJpL?rGKvqDYC5ua8s$M}Tj>l94Y-IDOFwv;*R($k}< zI)s??WNg&co}8PS9(*qz@`9dLdmnGV%d60JC~c|;Z1YCufF=nUhx#Le?4uUoTy6OW zyzAJJCGVAr?}sYSPiTcUvxivu1I@5+1kc2*@ZWXBXq7m+TVeq2AnCbC!`BnE!G{5!Q@oipgXg@^!$b+<$jGgwSXuws<(a1rJ! z3FqKq#S|CEHaSTpE6(e}+pMF@6+iPc(R=1&*D{r^O|>Vky}5pu*ot4nZ|2xRu$N-j zlj*QIR^|_2Sx7EAeBBIkmtr!HrS-(BKA_xTtB{7E@TL&R@6ucS#Kx6q=`H9_=SjUk z-3-$`oZNC*v<15H=<^t zJt9fqd_XQ3E3NB^@UPw$4Rl~`InbbJf8ziB;E?cC6oij3gRTB#>Uf-OKpR3;X@F2( zoj45*^dH%~Qr2W#6*G;7=l6M;d~wlcUN=-P0EJw>pMIrD{dHhRFRuYO@8$cF4fQSG zW|cyF;G-k=oTx7Q(%_`-qRogx+G*>V5S~Aoph$AId+RI7Y0U8kj1>pBXrs1h2~TRd znd}F7cX&B(HWugdF2Qy->)}0@*RR*HE-7GB+RjyYpR*EYQy6c;Rro!%sWL?yh8j)STd~B6s7gP2rHci*R`T>D~j<0`SJ(w z-B^bWv8x>}T6^xD${FThf4Hmoe2He!VYkFn|9XmPPERU-k7Bjs6rwL^CUZuJIDC1a z^+=GUpVQ)DbzX%3Ltci7wO!8RW}Wk|oee1NXt6rSHm0#{(S!yb)j&8LUrWUqj=+U{ zLCijLK32$8jM!QR>%ELjK@j_>7UgK-+}zm<{JZgC&i#|amXa`&p-K)N?+!#$fC)F( zF|gLaHO%^2u2i5Fm9lW*!s*STIJQepR*k53WLAMQLW=a0q=L@AQ?tuw?D19mkN1Nk zznzUg?b9-%4Z#TB`Y@T{0{({xMa?FGexp6^!jyw3kBHwcEdN|OiaSXAf z3o-3^J$hfZtAgi7Pw<2jce8Q>6JfLU2l~)eZif4yeIEP;KPY;4gqi32)LU2 z2r=OK*ASN^O%O>+6tW$6ta5}OSy8=u8J6K6gz*FrN0|Us9SP;kDkL8TUsPLL%6#>L zYYI1VHX;DHN(y4~b#cnfbq^!xq5`{^`W)ac>IM}O@z*h{;nGe;M;E(@1^~-WAevfN^Q8Ha)T3!Yu(-upA>QlP>js()qujSl}5f_$0Zt!KA zgU7d;?I0JlgN*EYAt!MsEo+6>3{$<%yv>DOcdm`4v+&eqknt)3RvKk-+bVVT_hOVd z`U5y31qq+HgBp5`zm;lV^HGeUzDIKIZ$JqbNtR24VOd2#%I??JUUrEKja9|M-6eSZ z*PlDO5ZeO4t%>F2A9)4x#U?Q#mKmVM@B~R$zV1owv%uG9~i5-%#bcDcZuZ<0)J~vcVRGKP_J>5M3 z6%QLm^Zw7T5wgAI^6J^z(3`yEc*bWW9ctfsvdspC%YWB^b@s%j}AHI&q}?bT2^ t8mc<#NCl*-4ifoy_p<)K3;{tNzFv3!zk#*zMl8bsSeRO2YK-x5{{ec*i(vo& diff --git a/res/img/flags/JP.png b/res/img/flags/JP.png deleted file mode 100644 index 6f92d5236561007f7d1049be4c1e45b1dceab05c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2402 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 diff --git a/res/img/flags/KG.png b/res/img/flags/KG.png deleted file mode 100644 index 56b433c7566a47bd1b7bd635525bf8ba04808896..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3258 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 S1#Z+M17L1qZCq}Ii~B!iKkrBY diff --git a/res/img/flags/KH.png b/res/img/flags/KH.png deleted file mode 100644 index e1ddd5f84c1fc14c1be1b3f012bedb3b4e861c82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2888 zcmZ{mc{tQ-AI5)XnvrG39Ae6Hj5wNXjhzXD$ePAhmeeGr$T4M?m>Fa@WZ#zxEr`kz zgRzt)p~e!jgt3e*N|_9=&L8jfoJq-~@s-ng0 z?ydmzdE|I}?pTFU*V{q?4Ruv z{O0z2p7y*;=;jVHcQbbm5>6*z4)a6*i(~Dt&dtvMmc=5A^y78eZ=r8JI%ex98J)QL z@tAbmaMhY_P|)IH9+u-@|Aj@khkJ`&R=RS?KSP=JQ>tF_}gl=9M=0y9$8roKX@ zbReIBZ0jsP@)fyR6TJ6Uld1yk=t64-^VQUGv5!(RADjA=;W`{++?+H*e(t&xNkQa9 z3aD7ND1ytsp43M&iX{SbnfSW*>P5~oPA}*<%;MCR74`rxZ&Fk{kL!_XHSk1QWH2IH z6eSxT8t+)F*>5vqESMQ=D(-!X{!OGk1XMEW;#8|hexW@Xz^PYc#CI)axNt8>Rqse1 zurkXT2b*WUOZL%chUfA%p1v>0e;bX|f*DD#gJrPn6*1`XusyW@yd{fPh9(K;38Kz8 zK5eI5H@kclI@|PtS|LpI@N{-x&LOaq%hPnp>D|sAYITy_9Q!2IQOWCf#YN9NReiPk zXHuF(O|2DoUtD1&P@L+ultN%0V%(Zf4kk(3}if zjGyU>KKoQ#QA>E|&4N#KRBZFT%7aU>M)>7 zLu*0kML)EJWHwTncO3HilLlzxhaXRTAIK*pB%GOpYApJo{}g7<(MTLYXazmtcq%%F z|B49k=|Z3v#j}qLAeWfm-R3!)wb!4<9gS)mrQ^_3p^;Gg`?tHrk!Np$h($lTO z{$uZu-;Mr6r?@3GD5tK`ye-OkrbhCz2WoW#gEJ~C9bo2WQ{pTZk@4*ZTUso94^C^~ zhc+nUU+8d8Fp8&*;pmfYc|!fL?md?acom3cPyVH`2C>=BU191L@N3LmuO4AFW#%ar zs593iw+n&0dz_x67U_7J1i$Z@!fl7(t)=@Xg}R)S`cGXmlS~}Vvvr7FmbnC?fyEe3 zQ+qGGraCSYzVG#Y^C>l`xUm&FgI|v?1Ye~Bq8M- zpJh+))0Y>CyJM~3NDYGV*ZGb+sOts|^JDG$U&kwbs`E)so{5?`Yp#hDbDRYdWqqkU z=P@>@GVE7WPk?hK1%e}BJx#&i%bG4u!jLCodq<&|m5X*5UC=0Vi(OqR+{!3yql**X!3ntBRL?b=Zt`ei%lzX8k-Dg3@wNzz%v#1R6fsh!Iq``5dagw{mVpX&}e4 zL@;r44ejmJSic<#O>!u+har zNs0%^Wc7|hh+e1u5AdqJeu>CK7*J_zCdDIn7Wqm`5;EaGt=h(<! zKomKu$=3&yJbg{MSIZP_GdKb#aS36MTx~GU%FpSD7bfdh5kSk&Zyqw98q|;(J2K;`sB|Z4k z3)jRjUs^d8`Xd+xlyds#mbHf=cHWR~ky}pM0!36TRcnvu%uLUW9aL2uVld&&vC-zE#=xEbs-`5_l?`+=bbkb zK~WI}om@ph?BLgwao>S+$pUV1_O7V@q`R}^8>Khu7k!eh+L)gRv}jas+->QJcT;Reks6nu$nB^Gh@M3B&P#XQ{U}rb^ z?U_(*A*Mq7rB5dq(a>%KTrK?|Ns6ljh%*NYqn6?NjnUi$sW>ilF@i*F<@ z1JdKt0N>K3drU~I60KPTIDru-ajHGeRy*G0YKb^PDtvODme(YzFWY??P&+0HynPg+ zX&<`F*5gUm#5<&bX_Fi!4wGBu!ll3C61-);*OR%;XkA~@EwTKAoihoO&da~#CGO!m z{#~r diff --git a/res/img/flags/KI.png b/res/img/flags/KI.png deleted file mode 100644 index 8b7c54bc0fd5cb6776c02147df745705114a3a59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3661 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 F|1T6US`7dI diff --git a/res/img/flags/KN.png b/res/img/flags/KN.png deleted file mode 100644 index bc6189bed120b39722e2b809bafd3916a6116fb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4213 zcmZ{ncTm$ow}yX637tq05D^fhN=G`9P=rVeMS6!IMF^eHV`vIW5d@^8K~bbh4IsTq z6DbO4=p`UcARtKj;`i6RbLYO#oPE#k&Y7LrncbQ51a7FqKzo%I000JP`@u5n`y_Tak%DJRyJ+Tp<32Tt3C;L9sS=|p77-e z-BNpU!+tQG*1rGaQd~<3>VzhT^?4TaEp0j}0VypqZO5ssIUagX(Z0{ZHL^SE`>L}0 zRfpDdXM1+Px~M)_Ry+43vWc1hj|3+~9de=({7?07@W1HJ9J>B1&Bl^D%7f7m|Gik6 zqp+(%kKLmtD?Zuxk_9qRKd4K9+^LKd{X^c*vmOkEjGqijUPsrl;Dy|HVnB25$`&5L zoE~TS3N`9$R9M6F;#Bh-X)_;?21Y7V2g3EPe2pIdgoe)NuP1anV){ab;(LBfGDHzK@ri{b4OPnEUHbJ{u;`+@_+E zEZg;$oAK{G4xfj;Lzu(-hOd-GY zxG*tgDP+y#EQr2r7>kTuvJQtUXB#A@=^b>;fB)vUQvy8pCTvF^f_C%1Z+;R};rlzh zle3}0_ea;&YMoVgCZM#%UvV_{Ry7bPF^0NLzx-*ys~b3+a$$OG_Oh?M(Yx4_*5lk3 zW$g|L0N2wkp(xBgDW^n2>Jj5D(eH+_9&YK%{l!fTy!mW7o+99_m3sbPEQ)`;`$A+> zV%~bi$B06Ww^y0hMl1F)~_v4F;@XU zUdfE_goYRgrasP|^WCkSdWU=tx^bBqrdz%Vn<)XO1Umfkf?X2E(fs1bB=4b<@sW0O z)+VLl*p;FPn0DKHUk+wj0k{4esNmk3%U=vZ;^s-?@@Ni`yNPLNG`c+~eTb4Zf|AB! zl;K6@o{aEagaQ}zqNRc>t;)G~NQtph!{p#i*@$0A!TH&~SamOUZ)2-rUW4cGk=(th z4-90uUaYEJ@hO+dCneUKrwsPyJ;sddiU^vM9V_cx0-@F^y65qI@n%Nx+kr` z>y`m)>Zy%%_fk;xmrtLDJ1DN-x8s8Oz%#>3UpCSgF+6SNp>y*vvKD6l71L3fu(Y7Z z&l~(A+Va5q$ucwyTR0fz;1R??cs>-lz?zNDno!W#^ z9?dWDKC#yiia@C-!Qc9eoVx1yQOaj>)WMi?-bXVw+(mcMsr~eV=w-2+yCJF123WtL zot~V-W)reSOkJ)8cL+FXysIXM_egx}z+njY` zJ?NNanWYK7usWUn!@a7JPbscXH{J>1!ZM6eK`+eDY=}t8n$?jU6)y>Q#LRsIG7$~s zcB;`mKNqQfn#s8L((7j3$(2{HbO`XhYM){lSZvD|Zw0;ekGZs!tO@PF90z|bGAP$& z{q{37bo-N2h?mI+(gj-X4*7A}`gqB|a1wnI{90{LAZ#B{vJhKczBfe zQeBmS2jzo$u;f$a;jYVK=Ty81fUU_wn~pQ@MHb(>Lo9S= zT@KE7@KmL<7%8ES2dBzUAAO^R`c8fsUxd=7?#BY{hVBXUBO`su+jtw0)grQYFJKIx zBZqe4y$_4wp!sM|gVk#Toa@j9wTJ7S)uzuH=dikUSW2Y zF)HVHy#D8UyX}cT{pJON-QALIe@uvtE2kan#3J+XHsH;0Kb5_89K}$@far@%*7xyE3PXDZfiNEWsPp7G+p9Fye%lT!Pi1q>m_FuJ zZf*PgNcX(`ZnfRhV{u+gSB_jnFOZLBxobcV5X5OT*)k5wbg^tUce<{@%Do%NxhCl7 z(JjVwvJ6hE1qW=xxq4hl!_iJ-Ws`y;ailMQ&UMW0=F^}D*(HK(wBoh=Rr8o1xmL)| zj^)1Yq1k!P>Bdq~`pj0M{c{?3**jGpUq^lku7|9=%>R`nDeI zOk;T0c5n#$-snbNUwgoQjFH(v{7{LGX&J_;R{59ZX9-2QzbHK?Szi+li4yW=DA{|e z0p)TQ>a)1>PSc{|;w@?R`9p=#azPwsLd&*0otLYO>0^VMP&w7;Ng7k=>sM+AgGH$? z44$q*X~gT;Rc0%MCd*+V*1>}~Q`)Gv1+}=}(fa3LHnx0ATT02e)|G{GPTPLbxjE@C z5lkG99X$3?`wfDH;Q_{oS0vQhn^4f7hwXmu5Dna(#96HM@kQF4==AZouVYQ$n2s=Hjl&26 zft`z+6}{M%jRX3GM^(tFD+wo+F*>1KHt$yRCV-Jmy7&Hymk^b2n>c<#j$&#mPvoh~ zdPJ^~Z_(7i7&RUQ+;MP8^_D_QT>c0qAs;k z|G6=r1dM_`YZ-f``z0H#F5~pg>u2H+Kc~=8tyL2#jqN zj~8~sY;$_>s}#L5?a{@F9Na#Yb)(==71 zFfMM*i^`bM$LigKJ3LO~!_T^r$Snot;y)Q~Y!%S)GX1aih{2MOTLs_uGQK zhWWgMri^Z9uuzg+Tm>)E_^u4~-IQx*KM8zQ+g(9C6+eJOD2dn5q|qC-)Nlt22aB%u z@BhRu)B7M6@c~q*#q*;t2lG+uSOZVHmvT?l3S2cV^x4rtNbpRexw)xx(f$42QlZ28 zI#6)A!svc2`opmhZ7mUejeB}wulN_``{LC+Ea3(BLxr|bwnhk_dW;KKUwv{)CmS&_ zOq&w_x9KQoNAtY&wCHqgemA?zl(90QxI(jy=Q(YP{X>;Ebz;lrt4ysjWD+QL`tw=N z%qwv}lw3QzJ@_iGHURGAWd_z;QN!4%B3scQunItyoq^^Tq%|kVStuyP@Sk)r{@)qoKCj&CQvL978S~)m=31v2@RhGfeK0 zRTob|0;$HS|1s5ooXh%~=x8*uEw7Sa9HEa3=+X0yeQnc5)})U2p+G`5(2bv;HDUS& z@vSUtn$t}azJ6lMCnHFop*S(9$a|&cUlrcu@6x-j)xan<0AI7xZ5TCXT7dY))x_J< zwrW<^epeEPJ~MVGm%U#YafuTNU3AotZ_9*VB8(Q3YrO1KoM&Bgr{8pDNvlFlykh&B z()G1_DS6r(ateD)i8|_kx^K7wX69fqTC=QymDHWMFfW>CqP=koUPc!y!Nw+Bhr|LU_ zW^1%wt@*k3ZOp2@A+m{*(CL#2ML+K4;If;P$TzvKdt$!nh)BJi-x_YvAGW0!bJr4&V_X3WAJLtKADXBl+vQoX2Z>ll`QMAM{^c`T;RQw3^e0 zy0BASozW=vC~;H0H1O@OSBQm$rL9z5Th36&k4X3+x6M9p2@dX@tVk6N$4@FAIz;yt zH>}p^6oUMGkm{Qpl-JiH=t^!0s}#&w^vC?9GRAn5*@g<#b-spjvg+MRr7bL|pe?7XiFt*@c<0!3)k zu{S*#T+u(sYl#ECY$EgRPC(b=P$4=C*SN)&fw%U2+`tJ*d8P!@k>N*6e1-}`n zZ5in56o^oE@kfvhkdcyB5SO|wE~98BBddH{T3Jp?OiEf=N($AvqV~TEypgURZlV8w U0ZpOZBT@kX(>Bzq&~U{32SV%QEC2ui diff --git a/res/img/flags/KP.png b/res/img/flags/KP.png deleted file mode 100644 index c92248b9101fa5a4474c6fef5e011bc16652e5bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2293 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 diff --git a/res/img/flags/KR.png b/res/img/flags/KR.png deleted file mode 100644 index ab1cb94943f8ab9abdf63a26c8b9d96abfeaa545..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4837 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 diff --git a/res/img/flags/KZ.png b/res/img/flags/KZ.png deleted file mode 100644 index e10a1255a08b1d59c662f3a0f21bfad58f7e0eac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3466 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 diff --git a/res/img/flags/LA.png b/res/img/flags/LA.png deleted file mode 100644 index 6ad67d425584503b532e66ba2cac366a34b38e63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2119 zcmZ{ldpy&98^?d!vRTd~hmtvSOU9fU)|^7(E@y?tMoz;TGGbe0Qi>w&rWh)EBI{O^ z!yNKR7(%!mQ!DGvIWni*>wccs^Lm~?p6m6xuJ`x4uGi;!egFGpoN#lL*sZ)9000SR zCwq4x&3>jdR9MH~)f5V`>#U8d4FEjN659$A5%vhYle;SbBxwTx?J@vt2uCzN0K_8! z;7=R?pqT)m5PP@oq?K?14R&#~7g8AOcJ)*t;IU4AWFc{X=VGL7ukZnjb9QxrO^fVT zKJMlvNq0*%;8=_y!E}@rmOcrTFvBv`U$puSo&{H zvsYLS$P*OrV81{&J&+oniSi=^k&ok7pX^`sd&d9PD-k;B~hpm>OUEyK7Xr&#eeNmbXGbNd=j%R(UVQ<~Ewbb|^WrEhPT2L;^i!?j8P z%Q3sgaNg(cDPtWS0qq~pLtc*8jYq%o4n-eGe$mo;L$t~POo!$!#XO;LeC~(uqgRi* z5#c6#k~Wm}TSh_}Gy+(vZ*$trL@go*+#=9YT$w)NCX@DTsFm{V z)bJS5H?R=Tc3{94a%#ZlK%-zUE%4wxsC*+}uB;hS_zV63_SpbQv@P;Gjb)!*9T8X; z1S!`gl>sB2E3)q|Ek4VB0<>epVee5rAnEH67U^?>Ni7$dQX}G00v#k>g5pHq+^1P+ zdxuZ3f+!Bb+^^ZUEWFPq}c#Xz6E z6_^^e3u{V<$0y6c>-MLn4TTY6k@2DCrN zF-M&6r1yrQBK)ONd#Z= z7py40h4I=tADCJPZM`97*bUja<)MgCdfDyAmzz<88X>YwrO)*i%?CAd>) zZ;Uo(*AWQuJ1FTKmCD0U=rZ9^cgC<)gEQBxX)r11b(ipOfu;e;@g%SAVGLMfR8V@5 z#$4vBzZP-Yo-9r0q{t+&@gprpEW^y);;f5wnMj*ilE+qp^WarI9EP@3aX~bx*Hysd zq+h7>>j?74URqPazhX=tOLMKOZJ^NHdj!16$Fe=`+91Uvw@Iwq?#TH3k&0YA zN}{~gb#X~D&TjG3&BIHI(38wfNR_ItQ< zgVN8-W=xQ#fcMex?hOo88r!R|v+J8oA;%=3n;`1rP*SW*I|!BRYdXq`<}S84t+ z%-WC4Q&RY}``@1~Ucnjj3&3T694j`P?yra}LsYvY6m8uNRS{&A4{Fn9jItcRi;(lz zF*k9AON>>+{3ab)D?2O3EKJ?Yf2e((Q}l<1r54p-@WzYWl*;`pu5_guJFKGhZ&9m= zXKgX1_TUUPaOO;=A9W%i!K8|FcH-Q)4dHOJt~Kkj|N!6o5?+V$-YnZH?|R}#9t-lv~Un zfa1PBtOr_;rZ+%vnqATW<|7%XOO&EMkWX(qG<*g;(-6OJGCv>vu5rf`o9se`h?qmA-Q3)4_-HKgsyW@S z6@pzelw&>?XkCYQD>g@QQochD)kgc)-)Ymowpo?(f$}(+JTnka`jUAsW{RP8vdHx{ zOy#@|>Xh8}dDVx4s-HH}$#(ncDsSgmrIl2#|1zk*?dqy!{tnQ_%}Vd38y^#zs#ctX zZyX^gE(DD~7a{~;j5IPgK$;pDTX-6y(56Oc6Qn-U2#rK0wtlky9|19j5FSeT{{nbX R09_~moE_ZkpV;Cq{sq~a$M^sM diff --git a/res/img/flags/LB.png b/res/img/flags/LB.png deleted file mode 100644 index 865df57a42f5044f43d3fe10a850666d612f255f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2537 zcmZ{mcR1S%7sr1jvA3!{+u9^%ZDN$xtgWp!2r5*~ShZ*E`<570H9G8A6}LsDsnV!b zTPb?&S(^}U?)%^S+~@s1&pDqnp6}o1JhiegW@g}H004mbrir07g{uDq8x18-kG2$3 z0QQ8N!vUZni}B0_Lg_`^OsvfTAY2>(ViEv=L>a}b06;Jd0M-xyppg#%+b(lh(7@!{_h&CDS$GVYC1$LqlxKNK zdEBv)_F(4oy6siKP*C}_qLQjC_MScmPb?u8MBBgkT(_j8+hnO=U!ahD-ZaoO_R~As zn|z2H$91%`Jp7kh!Hc&f78d`})7GiMi|gq(%7-4>$`2dQPSHGxG|o&<4+_2>Mb7V| zW!?HQ9?-sq0;!y9D&wbk3K5T(%H+r%LiP={ye{t-bt>H+c1Rqe9)5xzdK3KLA=uXJ3#RGmWaA};u(N2H=Vx;qkak=GFQ^c-BbgSW2pE3M@KJpsMv#|O9oJUpP z8OY_}sy&3EHIg)i0%o2iGfSXFnqBGw+MrJT$U(UwR^_7DoTJqHYA50~MTJHCyO}g; z?sDKi@?c*XlekHq2bpoBS*&LUwz5p8Fp=hg0}&yXv`9M1Z5gbzOH6g3#`VSwcR2^# zeV7A8(8Fg0=-~NHb-LU*GReGensbQ|g5dL9_YMPH?(qMzK66(D_AYIa#Op`SL|?wp zuSk7&7xgm!$|f-{`WdL9sWGW7ga)0#pf)YT5_CY~B`G7s=W9T!iV1(V`ug@tygb8H z&*;`XzC?8D1y9nEe&jBXZWmU0(g^iExXw|9o6>Fkf-eC%m+4n`HouQ*zQ!f5ZIkC) zmt2C^k#hclAKBO{Pi9R_y>@`RtK*F_mTi;ce8@q}obwA_hIU6n0#y^%zsGy+N>%)P zQl`b=716RxAvMQVVhmqigSQGCahVyxAsrrZjc+QC zaRkja!F{Q3#lw3;J0;sx%Y(xYIbpunkegLC zlBtjj#euIKZZ4>uQX=;_{Oo*sMru?~!6t?FRwaSyl}g=@X{IBt8nBGGmG6}p9rLc$ zK(iqTwsW0bJ^5%Fh>-4()0t)!Nb8aeAv_Kb4PFfbe=$zn=UZbwFS!3lhrxVJv{CpL zrq}ni# zXj+U-x|_;p;hvdXYvyP>%Qqci)HlLOmK%G}V;hU@+@oo5u3Po9TMQ)?Z^CU>J+sj@ z-=KF{53ripKr^bt)lXW!G1jc>(f#Xv~vFo9;=zv z(Fu~|&YhtKmy(=OrUiC{tHBP^yJt!?5s{TGvK#?}?jPIm)5QDMxLPO2_=o46XcJ0D z2paFKA;y&{d!iL>Sn&mGu>@YtZHB%Ce~Gv;mMJc$b9)mS$j7o?)cdivI~B) zgS^GhOgbP+t1yNZ{pACU`71R!YpZQ7xb!D6(U2$m9_URD+;A7k|JWQce$G<-g#5X} z+>1^3^sHJ+m{7}2HjUuc+dP?CX?!}kS%mXk#)&Mb3)_r`v1t(_yvC!cSH5dw4AA#a z7N)!Ba#Qy6AK4$5Ea|^(E`YiF^~4)2cc$RTmPZ!UHYhR~lj?zfR2~ywCsZUp-A$04 zXoxdg%&q}LzR2k9YIh|Km$Dt#=RJ5^?q}?ZFf^3jFoD*XwhIdNFs)xdH&q*J@PS+C zEF4xnc{RriEYi$~S=q0I^Y!D2v#d@kd)Ioxd)v-GiK?k!UG<9D4{M;skySkMKi%Z2 ze#dS-f0B9nf>u}SLkNJRO%$N&8p=nGsn8f~5mhYBYjXp4cNV+Ww@#OKEHP=H(Ppy+ zYNl7oj5hc1U*C|9yZfJ8FQw|8ZE0GhR`lZ9{jgak%fAF?`y54o1)0Q|p-x)9I;VEO z{3*>5xg=w7c8R?kwiAH%Mt|Z{m(j#V9bt0{Q3v8hLaXEEAARw5k*a*@Bjsh(=b_)( z7gU_YewO%re?0P$t`oDwZI|(`u0jY*VBO9r*k=5bQx=B--u>8gtNlQ=)`!u_ZVQ_x zRJ+dgSInJ*mSg0Is^wcYgSnF7qf~3YWDmj&@R>>tH`UjIvJ$op7`ZwJ>X>)a3ki=hbA;WakW9FbSnpeI>53J7aFo8^2Py5CWI*0e|#rF&b2}k(E zw2IVkDLRJ-(0b_Y$l>kPy07vpv9${H{Hd%_A`M7C=t$wD7{4C|aYp)R|u7hGT3PWxMtMF)k}b%>74JUfx2rkuA&S61K6pJu$0 z3(MEUN-9TDQx1KSxFf#-XHCY?n&i%{i>kqY>)38j7()%;ICk0mMR|L!1sOR8Azgyp zHQWN+DF75<3fJXeDsqZywu(v`Dhe9PFd3MF1`HPZX;J%s438coy*$GHzk&Xxb1cOG N+%&Q$A=lxvQ{d}JLxv%eE_dm~djMHhbq>3Z}0N^ud z8yA63{wj!=;2ayOr3)kyjB-Q)!1GKgzMrU|hx(&k907oQ3;-y}0I(%^qRasR2@U`Y zz5rmF2LMWhf(B=#U?6tU{~Q z_XIEMrlMhipmtkN5!5Kbeh*X*s-yfdnb07IQBPIts0pB6WC%?hn{p~G+a8y_75UV= znGw-lQk&pIp5bhm1kqzy8*DSM;=jYPt@m+r|Hbd~oMfH&g1lcSAFck0eD3>p{d->@ z%V}A0aKwOpZ$Mkv5ZG6gIeQWDp`ugkP_!pW!69!AVp ziVQ!=U#b3NEg_bbxatoy?49D=PLN5jliz$_UNMcsDLlwxXwSF;g{Gp&4$|D2+AeGcYS`i5ttOklbGR{m5v{xBuYJt_kt zS>R&7YJN|$>_+xjuin?9f(mCVZr7DBH7DjLigvEkzF#gmq=L-J?W=kH$7F-nLe=Nerj64X{pGug|No5oFSKc_oL z3@!a!9%h-{FxEwx7-+Dln8WOKSslEoiy{ByKE9=d@-C*ilZAy6DgB^MDJPl4^bC#4 zBN8d7fk|`aa%(;@`= z6k9#>ra*!|Z&&IJv!f!~VGuR5$xxZ6qj~zER5RrnSq2dpmDU@b9zN7L%pFg9Wo!2s z-6`=Kx98GbDQ=2iSc-Z1BBP3R3Bm6Dgq-!9LbIXxhOX9s|_0Y4U_egTUt#X@QuSS z3PjZBth)|RS$Vo+693#oHh+9fDBvtksfIO!IDd*9fmx}9KKEdwYD2OZ8{j&}l$wOQ zSMda+-q(w>!z3)8N>>|X0e&BnBx_pf#!m_D>qBq4Hf+*Z$Mk5|!_)_TNVgC8L#MqQ z5)2_)Vz>X%HJ9mR8QsxmUm!DlzJx;G*LdJsG$34HusneAP2v%20 zo6htkw`E^*T<|L|jB$EG7YUr#%xQ^*(O>$J(W;b}jgi7#qCpRIg!{w`(U7P~hEyK5 z)H)Yr%;_+M#fP*`Wo>``Dh9iD#!hVEC}1}TJ(7e$zWweb$@flVY4InH^;oMn*kYhn6(2kq815DHUew+Ot^NH(_<-cfRce)_w_=iNj#16c&lb4Q=<~$3s9Ql@e)mHS(vr*v zxV%CtD$F@Z`KQp!--E74FlUy3!b3Kn!}Yv^K-Z8ON&6YSgs$ctd33ZMk5ws?q*woN zx6m~Ut~Qw9V!C(&+5CP}e(b`-uygyeT)#|VAo)fKGprLM=wb|$?^S_FvtoiQ(!8Ww z<*VZw?*sJ&!s;;NAHy}_PHMl$evk9AOeb8Fu@@duYytRRBAM0t&!nqUq%s5e;8dd& z*@aJ1G6~<548JMl`P{qOUBpDsXtgs@x-o0tSIKYNVodENXf>Cgx=4FhmV1A7Gz$Xw&8C_P{VCaEUc^yKXW>!yY%fIj~f!Pe&JMGvODVj4T_?l=C zZ9Rzre#Agi|I2{_0eWzR(Qk0W-}H>#^z=;)5vB%kZ8*Xd4v%h`Hv6AII6fdGDCYkM UB<_1B3If0xTPK?eE8nF50Ee7!1poj5 diff --git a/res/img/flags/LI.png b/res/img/flags/LI.png deleted file mode 100644 index 57034d367c4b0548a44aa72be81269870b30b53c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1759 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 diff --git a/res/img/flags/LR.png b/res/img/flags/LR.png deleted file mode 100644 index 46c3b84a92509f9adf6d103e7c273e71044280bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1903 zcmZ{lc{tnI8pnS`5=$8!TM>fV$rbxnJ7X8rs7etGt*Sjz4QZm3hKm`sjWs%MTc)+f zQn94W$ZgfWRZvUoTB`Qgqm$mh?)-7jbKdhg@B5zbbDrnC&+{I#yPLfrzZ5?J0D_JV zww@dsd^2GPXPupBDd&Larj@G|05s$XoCSh8zFe?_rz-&9l>va13IHdZ5NQC~)vyR@cegcV zDC99*`mwRHk@6m3+U)CVtP@>drUu$rPXix&2w8~nL%R;;WB1+FWF7ZOPov*f_Um zV{2IcKz;L{3tMkbxMn+0q+={CiG_HIU+Q}<>e8|l(sGO8B4;)0Z1O0wGzhxtFO-=- zeA>bMFaqTJ#=TB_ID8p}equmk(sS(0>eDmZ-pM*|9N+FsJg8Y7VV-EgB^O|D(5bE9 zvgO^08W}J~F@>bw&-JfMs(;w1$?gA84CImDLA=B2!Y$i&ofe#AQ+q_yJ1Gz~aUuG5 z9f1c4LAfPph&T%7E$49gCA}$6M?jP4{ZyllbTY859WPh~b3M)=Xsv3n0@gqav6Xkv zo5L`#rtm#W&@aY>nhydAs-;zt(9fi*+ozCA#m(BkQ(^ep93tHtSO-Zl&E?XSf;y&~ z$YxUnEcRtqGPrt0!M)G-K5*tjaChd)w~S=W0El^3$mw? zGaZ!jjlDcJ_qKbhWQ;iwUmy-~_6xGuOb zICn&ZnD&zt;;99^W)%%l>s>-!|ABii-2k#!t|A?F$Xqy8(lK4uzfflV=9+ z^Md;Joj=dPZ~Li?nJ3BC&P_~;4su6eF_`Vo(G5XUEtjh?S}3188mZgvtRFi?Q_*=k z0~^a$+m0owh)ZKbvhpN(g!8E%Ggif$Nc%bv$KKVgM$ou)Prl4 zTJLE$=-y@Uy!*6Q1k=PE0!8>gE+2`ifN+}Lv=;??9qac(B zCB8ZEd|F}*z>B~8)ATzV}tbV$e>{yNpz+S?c z==c}=_)H4jP;uZbq7yEF%_ye7f=)is`xdzCLk@~^-T6)w*w>q`}_UDC#8d zEqVic3w8SWK`)mu?}9N~(F#~p6tv_MP)R+<#owez6)|RJArvaPlX7py9x}ycv#(Cj zC+%kMDpRxeSe;CO75p~z4xEe36849z`v{9z9#t<=razL+QhqfgI2AI5eQ+TM&-ZKR zv#@=YAa9r|X;9@fOI-?uH3!jqFnNQ)m+9{?r>KB36xW9Wj}dQ#D!Aj25M(;K~GPbez)9l>HZ@bwUqs08hyjAt~ zuj?-J#OR0r{?1^h?9l$VCFqMXm22!i+KqE+oXDHw617cFX>Qv1{qg&^h70RsDSNo? z>B~p+xurR@qXen}4{l{TM9Fz12;`HyCKBsyrQy~;7PRgEBPgQ;LYtNwc{=d|^JMk044-b1R`Zh>Kd;ed+SK*h; P5de;MZnm}7mLu1c_kbU2cZDbH~C0v&zURC?|9(z}m4%5QzcfDpKoDb!wt@8G zQHvad_KD%w#gK6OqOd3cUgZevx${8tX-`udEC6^#0FqJx*oCf=m;gk<0a$VaK(_z@ z$*`g(>r2qXF%NSSG^9}NTy0K-gfGn0F%nX@zj{5;Z~!_S$6>HW$7gtCBsI^Sv`b(? zMkNdyWfwcX%80kJ^Om7*u;L|%fr=_dI?1V4v6wy@s^>(9%KOU76;7;{?N2V~hvk`t zok*Yj?B=m%(!bXokp)J_Oc+u|=zLZ&^S_E`kIJa%dI{yDFdUDIs;6lj z9Li)@-KeciVFwypS}jUnr-+pCOL*9I7~Z?!@XO-n1?x>ocaItxy%qgC4{Hh6@x?W? zi1mnu`B)?d)SQ9W-D_Z9ZC?%SM@>6}Rd2dE7PuB+5Xc7Uo$q6goB{cWFY`P)+%4W;;fgzP>y{2?cSA`lc!PDqz6T2*?M6T#n2`OJ8X zZRjCBcwAPC;@z7++W!=;;_omts9<^y8>{+wh1kR^q^{qxxo!g=(11w3T9xi3 zTyKa+K_n+8YS`Zs_vDb3on%@`4lXj3B?U=142f8S&hNcn+x#PIN&DG!CA}f#$x7fV zgnkdw5n=9wIUn`Z9I_A&ccMp(Y~d9+vx@dbxuqjQZwNU+d>0URm4aY~lI)2P+C@MSPThFHNUaD@zk1&*n?!tz1?j;p*g_ zCc!9<*gF^;hwk_CzhE#(K{sm>GKlkMB6Ay=E4O(VRIww>9Irb=$iNRg zrXk8~i`(5?97Z(Bb%`$QM6A;jqlP5=^8J^pN%GSdTL+1NEs2#v%qU7t6gX-~?guU?&ryAs===(5%$;7Qg4kEZ2O` z^ztf`sUT^t`Hj{L%aqif*}Q&jR0--o!i)bp*8hPV|Fdt>!ev%~rT!a)#aawTYGaAA z*vU$974SIj`Whq|gZ}4pfq|fxbx>!(B{|>K*u6A067W`(YHEytd9}6J4y2FPJinZ+ zo?#R;iT?Fy0Fu~V~el;jSiSbe%1|K=t8(4ztQi_gWAzp_K_tM`iL6tGBP! zKqOWZ2rGSS!XgH&HxFSW8@|!RG7!;LB>YHe`8|jzE#fsOL~doTllR08h#3eFT(T{n zbWZdvP`J-)ptlPAjHg1vk<^OBuMD2=g=A(Z9=?a4y^VYKI6GJ{G-eOCYi9aYhh5SY zP*!ovqIp!JrB+!o(bru5awoB!uQf1(g#2feS|5hsa`~g>%KwgMD5{U`2)yTkt*@1S zRe^qyvp6FMoR>S!Th}wf8xnwkYiO&&wNw#EJA|gLmWJ-naAmlLE*u{FZchInhTu>y Yf1kMjZ{RC&NrnsnV`PDTY3O$QPau|BA^-pY diff --git a/res/img/flags/LT.png b/res/img/flags/LT.png deleted file mode 100644 index 7740cdc0a09abc9a6a36f2bef086a4d1e5e3a376..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 640 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#Q-#wsLAL+01oqR+@=|m{ypW+li>R z^M$!r&*ZZMCbNP<-=aEcebzOFj4W4Ku$++1Gx( zE41@?Rta16{y$x>H@=^CA~$rg@r_qEzg|4H5XiezYVK;+{f6gTp=n?G&(_w(+TSnf zFEXAHX*?&9@$oc?ea%G=EPW)|g4+&GDLiLTImu;S?RBTTAlt)t4o>r3{>z9Z?k3Rm z=o@nH{hrlqKN3IZpx(Fq_g+ diff --git a/res/img/flags/LU.png b/res/img/flags/LU.png deleted file mode 100644 index 8f383e674e84347f49327ff69841dadc6401d918..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 677 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#OE`x;TbZ+l~S*j<3|39$fGgkg?Ku@j}h7sp$>}D|_bD zCJtSx<$JD3vvU_!Km9+uh@*vFZqgiWCZL5t5V7zO_u8%3tT=MmovhA(wmBcH_4}`z zUbxP*)7u^^Udg-udTW$TdJg-c_W?7KHO?4{Jd@xm=4rJ&7V-M(mRBp(Z*LT+d?DL= zsOj&!qVE^Vy#5@~(AjJpIrGG~&l-O^m)^U$BJIzEHB~iP)~ZhHFWt&ocXabl{^&EZ zy}7shIy>%vnq6lzOMZX4~M$2p(c_L|#&+Lo-eNs)J|MDV{v=ipa&%DhzWsI*VfHC(}#)5)y* zv#pR1H=O_J^!8;>H@%A+_%r7#IsYT^vIyZoR#w>+PH<(f;vw zpt^>|1+`5DO-D7J0UwWP?je^J zUdv^l=bSw*&QtXHz*q0xkv|W!RwpX~tpfvx>7Mc~fg-MflQQ@ZU2jt0XgV-s<#~UT z*@+Q)+2@^CMdX-dZGAKEf?Ugf#Tn@w&m@~F+Y;shnREKTrd|JXcJeo!h_@dvbAGF{ zU&C{LOZcHGS^K#O#?jp7pD*9iPMqsyQDt?|%lrE8ui9^?df0mT@0$9itjRb2N%%9q zt?7rlste7}`KiwkndG!-)n1`6?=PR$a5L<p=fS?83{1OU^M^G5&x diff --git a/res/img/flags/LY.png b/res/img/flags/LY.png deleted file mode 100644 index 2884c4c0a9cad4e68c4f07e93d5191e1720e8fbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1273 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 diff --git a/res/img/flags/MD.png b/res/img/flags/MD.png deleted file mode 100644 index 8e54c2b815f714e64a395c206b3e8a814b4107f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2238 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 XG5_DdQR+rMG5{BiF5wys@JasxgAPW$ diff --git a/res/img/flags/MF.png b/res/img/flags/MF.png deleted file mode 100644 index 6d50a0f544ad14e2da315e53fdeb187d3c8781c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#LMOT^vIyZoR#|-pj>NqU~e( zkyycIoumjJqZ@lTPbZm3x(Xc8kUp~I;_VH3aR)VEXouPVTDHYHQZ_R2 zHFc$JGZW|i@dVlc1P;oV%B8(Dmrm(eCjaaHlR3rbUV6{}IbZ(5>(J0zexKQzOB+QN zPw(B%z4CIrr2ab3?XSbltILCy@87d!gX&QYr}X*1O@Fj@t7om&&I~;-1 z9RK$I^719$C;$H39H=O_J^!8;>H@%A+_%r7?{*NT^vIyZoR#|F=|4FuJ=VJ#KC{Pj1yTE+T}2fe@nykx9aiR6?fHrym>P@!9V)B`T9m} zw&l&$3Ae*GJ=*_Y>G8I0X7>Ac+^Dvn{H5VjxyTt~u4j_0pL?1r-45C;PM8;Ha9(3Z zI#_sSY`k|*>=oOz-N)4!8*&XC8Q-j(oy3we)3}Ghdy0mNZ3z!s&9W~n+`CThE5E)x zV*~Te@86oN986AUH@uj$m+^r>^@m6Lt7BelpF1z%^%F*m3z4^+&EL8$ELE>Kklf+N z7kZcXL0aBbSysE7b8Nk;UPw&&mA_nVMykcZ59_5%qL=2(y=_qU^F+!&F_ZW8v(LV7 ze&D@rZZ!MvGosQJ=I8C#i>>&2+uzqf>Pg{&i1f_zyC#b-+>!6u%dT_cMSBV#L5Ln{*lZ39Cq1A~e~ gPi;{&S_@sdME1jyEFHXduQ%5bKcK6?>o=T``?*)UZ9NhXsNlV0RW)ArLTSWlJfs428zp* z^s6fK5@gOAh8h4+8V@^lAitdXAL!pT1c1Qn0Dy}CfaA+6+%f?8AOK(m4FF2-0D%2z zMy-j;Oy!|k=gnJ2fsnhD4T22lu-hyjbNM^8A5-fye9|`|(*fzU zP*8`@>J!4kB5}xqyJVU$vX~?mCQ4yspwW2H6#cE1pqkNVkA`c!HUpY6c2zpd4?>C$ zi)O5X)@dbdzCE4$9tmUr-_7p}o}6O?tN$o1>0%|!=JZfo=Rcy#o;r!n&zz{;hr8a> z15f+U)3J08KA~VB43Q6P{QxTtN}d0jx_~^>YNi_d%nw)^xh>)*?%RysL&hhx|Kb7K z(=(lcJLLvHvNscE&)e(1*WZW7Wd$r_yt+J4Z?wU3RLw9UNBUHaI{UhU2(aX?iWKhc zWRk_%#f8%y$_!v^8zlepO#mLl@aO>>;!YnMtw#LQweqhJw!vt=fp)^k$6(tlbGsv@ zUOVW)mNt)~+UFj-Ax#L@Pa^uSNQER1 z#olE(v?;~%J%?9^A^f+P=DBOezC;f$23L*G7mB(xRR^N0oA z3Sq|a3EM|>#0+GPT*qgy&nuGgTX+8>>g_Q90}@&>x*(;;B=8-VrcUfdE_w36eLC`e zJw`_rTGCg>khnd3EOPq6dsL=PH^Qb+S79*bTXEoX!$Az3qjPEZ4#~KS6=T z#vA*&BJ|Ctz@S#>@aQkK+g<7cMS&EGowM>WwVE-9xRK*SX|{@h30PP8Y(Vc$?PFoG z5H6mz1sqX(W~s+m%Q9dqfB-`muU39&#!%(KwHW>UZua<%%}y%}t^@@dhaaQt3DRZu0}RtH(l^G#e&X zLeb`!(Wd*`c=)13TA95U zHW*`pM_0@TRYHVvllxoJ@$Y{j1%cSos<~s8fu%9CKHNl)m0lfveQibBq&Sxd{*1tC ze$!MnAmW%9?x_|6URSHuuY{0cS5&(*K)p+&+?-oNvb$e*u}Jv}?%@`Nt6*2-FNu!p zbP9qVwxWLFAJy1JJx8^6f>LvKPqaMOMFpu>kiH>j1>0O>^-mPNLWR5hw*f>d>s8RH zk&F?l=FEhV1NW91tZ~P&UX1*jQBks>hQ}vAd0VimM!c*s#mtiUJF7c+57hoIWCS6ZgGi$<8UJMAh ziOCwqyrho_%UAL{`=(*<;#K3|IzYt_*pmt;y2A3deM~PvC78|E*VK)|e}8sj=Vg3) zBH3E}WQge7VPX(M^{$)tB?x|63PdKMFKEeyDX-!!zG^tK4m}hR3Uv(4fCXAiZ5+rh zZ!Qm!PLOCw{F@BS)}3yv!h`n?Pc7qaLEDfm&%L@|@(8_0liE`gX6|h+$x|nNvKfiT zdG;kPtkLWQ=mMt-9dVV6aV`4xLp8N+udy7xyF!8%C3$f0 z;w+;|H&P?bbQ5l{$)Xu08DZWxLKkLt^PJVIqZqu0{9ZfVtgs_(b>jI30`0>4Gys^W zPUmY+a{6#ec8dV=m7?O$K^|dr`)OIUQ(*QR&fZO`RHyL$gJ(08e)TVnCzV36I*lTJ zz>H^tEIz>z1IiJpco2;$r|dd(tW|*?BhN$+Me(_kzOc}N#mvTW z3_|5wO8>O=*08ULWnlYRU4>h*;s)#E<;Q&#v*k7 z!iR5abycnrvR_t(5{|Iq4hsxg)Ov_5_%#6szY12Xx)TvoF(7B>#=mxgZWZNg(JalF zx@8fYX0FXz7Ku zLirmu;}~0E*#fNxkwd)8f<;&wY-?zi&w<44WV~xO6E8jL4puBRJceEHBYfF#KXKz3 zKG$B}Frp-Jgy=TDwKivEdr*Y?7CVsh0~u2n6zK(JneoW5xP7JRb#B}UU5n9)>5>$~ z{)hf?I9X-srix_977vH}`YwfKdeuI>l(h%8auDEu196&94JSiaRIGSuY$UKvgK|^u zu;c^6cBXHU#o{|HNQMBjSFTEbKVG~+=v?lhWsTY)1izPl-`MZAgqq_vsLndSx9hBD zzs9V~Mm_Iu=>1*KlhmVd()F2q@t8tK>2?h@fzchxn9%R(X>SyAKdRf*db^W8 zY$psaet$vIdHN~XS9i{e*rstewD_tNFG~9+-K=Qr#ns#Y9xv*Xq0wmYC)MtSbpDUa z0`o}qMH)E+bhfOleL+M21foHz#gBTmOdnoWz)5Q7u4^ ztSAwep$q%j>>dkxXQ3D8&PzFx)PsWDuw~Utr5Mx{KA4*TeRN(gC2L{ml*s&;`~Xyr>Oc~KwqU1 zNIIO|h0@Az-Dh12b>Nov*A|7Ra~FvQ^Dos|+c_ztFOJ@BkB64{v}Qm0+gy@=|7S$e zG)SI%t9)+<}jb}i5Ig%olRksPd$fzZsd zKYd54?L#rdtsZ7|FuWvBq=|e3$Ij)1ukZHFm7EQINgI3R_*Du!uGKTnlQQk-c(`s) zES3w7xr&Ku=cB3#SmE(+BG@9R=la+emHPqo%B5A`SYx4UbcqMjX#foKT5gjnUq!r_X-~K6cF6PE4mc<_I4fa)TFWbi8A_T zDsu%DD_`|iKGiu!AI&Y4kKc?$9Y1Ka?-ap@M|1*5hr{~Hq zY`}Cezj#2-dO>B=tQc_#>{my&tAsk~&-_#`l~d%Nv1qMi_LNtrYyKD&NIBw-aD!m- zSpCAeH`z#H>2&uEJedtJ8XLjY?I{bm^}?5r`h@WM4T4dS>5AVR3>u0$_$LB`F`zuJ zTP>kdx8qA=K?%Z+EEOdu*YYPE_HbKE%roJ3*P8QW*tQg}NdLL|O{UPB6=@e7%!3=} zvEjk;h2<#8ze=Yau^kl8{7jC4y3%6K+WK2m^seHhY_nEm!{6kjxI&SJCRyg!K?Oo@ z@z@vc;S#gU6-m7}J&@m_(d9$-QM^7ON7tDZC%1PZ!!UqO$Y(_={58@0z@l>AHGJQe zL|FtVSVzoFiB3N_q-@s6-RxY^I)iOBfD~ zf?cV?)xL{e0S$=EMirxPkC&GitNzVWWo9ah_WhVooVGA3>b@PeT3xot)(Fs)i~Fe2 z%$_I7!-!%PhZ=4x7uoGR3Dtkjc7g|tx$Hb4%O<*#53V7Y{k(xbAla|^-{H!U+zsAj zw=`Y%Q)FJJ>_6#*k8LsjPj!`-INXT==Em|yTA!Uw^28~2%3=BDN5~Q9fcTU(h#vik z!f`wxU__!9xT`AR8+v3ea;$__S=E6eWc5mxh5&)PaFEo!FwK73=)qorz>R6h2Lo(S zrZr?m=D-@znMp|kjU7hyz0eQCtgG-BewW zv7PXW&D^i#>L_9#r=I(JxhoFCbGd)}f6!AconkP!vd#eGqzrPjoG6ZSQQZxMm#ugr z<3rxs?e$_ZA5GS6TL$Hbi~Uz7uDJAfHMXnLPu(6OXSo-jF?Z_j@XJ)a{jO*$V=rJ1 zY0yzn18tbP)1llQg&!6*ZTp%qBPP0K zfTOCGZ^nD_{$k3_@?HLxuLq=rG$1GP2MCoW-d>=A-WaPeKdk1Ll~!7K?}W~ra&aJt zqSMx=XLbfJNO5H{tfIW_v(dG}pKGQZCcC4J^XMaand8}%cTOIe}Dq$Rgq zKz&yp38j7fZgc7`2k;Va{l)x0`T<&h&IOQRJZl$J?=3G>Da+YY+-Y5VoB~q z7YX)`s976)2*wnk=9vqu|IAO5xHluc@MK~sO7-UM1VC(;1kN|tMs zM5YJFWW(1Q6~xnVff4hNHa_pjm%{9Zpk#x`h6|ob&Uylqd5MXErE? zr|+UUAYZhuaxUQg5?Ck92L}6(yrE8Ufn{65%d0eN)lO=$W4zeMtJh;B=x07b!<}5p zJI}hC3*DfTM_2f%e`E!fFapdm(cD@a{z{U>OoK_|50c@ zg0Mr7+`8fZJg{M1aU;}x@nJ8!>|9gl1F4R3Y5hJj)mFu;&SBGc;16ZNJc@+^Vyp$R zCCbE29*2+!gmN=cPN^G%SBfyCBU8<2s^ul)b$;WlQn22#oDQ4a{yUvtO{Q5dywWrG zd5f56F8-`)^KNJ|7<^_Tpr6Yv_-!6z<%JQha5(b#t-T0UEG6&R?S?7PO_U1 zgCG?XSz|mesa1^I$-d7`r`k(ga51S_S^E2`t-X7O;FqK7Bh+~2@N?mZhu%}#jJ649 zK`eFCrzw2mHg&pPiS!;l=rt*tah_O0oSqZFkvcA}3{VG|;2!9UWc8dAVoPRh-<22m zzkCdN=T&hc-*+1x5pI=`KW;4&KmmXK9V#;Cjx!6`* z3)$}I_{8M7^K~5K1g7c}CWCyFl#he*DJcAOMArSapQ{4JYI!#GfamK=?To-@YQY62 zud^3w*AV9%d|w-f&uXigqp$i}~T`o!DwjP#jkK~BGR3d1RB%7Y#S zVx&((t=2*&xG42kOu%jJZRC%k4?b;|@W9#(jk+;7O&;nJn)?BZTNi?tAGaa6UZkVW zz8o~w(*2+0@PD$zZRIU^Ksmlo`_;FgY&_E$}G*na^_KVM$} diff --git a/res/img/flags/MK.png b/res/img/flags/MK.png deleted file mode 100644 index 84e2e65e766ba023f5a48903812a5988dba7ce26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5066 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 ba`RI%(<*Um;G7@Z2(r@C)z4*}Q$iB}jbq3l diff --git a/res/img/flags/MM.png b/res/img/flags/MM.png deleted file mode 100644 index 70a03c6b14d65efcaf70611ccaa5ec7415cbcfbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3123 zcmZ{mc{tRI8pnSOW8e4fm}DO^w#kSZjD1N+9NXAQvX4D8mdH}$WIdLs%!rb*RK_ya zP__ygVq^~?j6K)6|J{3^`+c7G{k+Tb{qOzby=QG@%)u(k3IG6ysR_#FjPQSg8+?|h zMjK1dz~HNAsRsbB93N0RU`L zrYJqTD9Ui0}dnr4FKF-KpPasiOMtQ<#| zA5Nbp*uy%>P924J_dSZ9_~W!;{|D`&aK!YO=N$i@2ByhX-cI0HkuN77hoK~V`HjqU zbAJ?zqvZ*#U!qsNQ++tahRQAeRthe*mX&wH`4rnM(Th%3JI#eLI0gRHW|K8TsWFMh z!p8@cT@Q4M3jXTzw zm(<4@=z9+JBmp18h1@`Hy~Jh>%Ov_HJx-Mkp>evpoc!FrRiNf9ti<#N58AEDG<5&6=(|dIpxx6 zT2x^nE$}|NtdJ;!O~1=(Rs|EgPnK~T5A$YnCx0lYaDTK7W>v_?a1X(p>#YT9eVZzIhzV9G$n^p=KTFmk>IXdX#q;v(^Uc zkUDuW%hlc;k$ZB10q0)1?Dtln>&{OhCalw@VPbL59|%y6sz<3BFF5Ygj}~Dl@F7~% zqB^I9AVOC2;oaB@N_m!>9VnZh*l0F5GEMg?%i)!Pb;zbn?@X<24>so7V$~zP;Tffg z_IuXz%{pIxi##1VkyY1a&Fsu!=(Ip*AHNKzce6b=G-?q43H#^avpV#r9))X?Bov6X z4V;ZC`wIRg?YK`a91z&@jU@9&rhfZuG3-xlFedJA)W^>|jad)1lzYW|i%&PuVSJpZ z+i}g4DG>IEWg4UsxNP+}QsoJ@5ZI6UnYoKuYPLS~8oc6OGv~LKA&L9Abd8~wx%w;T zCnRo-;p^~^ip%JQZ;}}JG2%IIt{L7@&Cw?@gz$P`UuVAM8vOjm9_;&Ay?>{tyMIw} zPR@zvW98Nh(CpuZ25=aVptlHA`5NChjimRk?nv|ULCrQ;M_9SJ@# zF?%$pBvD$YDkEW}^|^;Lh%LIVUv{2@eokp2elA1v;KmTK+%KxVc|2{pEGwU{;T3g~ zQm{TrcRXit=eMVO_tU8wC@cE70MtI0*FHf_xAN^L$5}Y~4}!YoIpqbdf1%QBfaU>U zdQ0?ux=3~Y`WE!y`c^vkkpQTmF2`;=L~D}xcw@p^xNQ?j3W;?$%%5_yZ)W)&Z)tQ| zPMw@CSc(<$o2&ZuV(^p_Cz{qIS-e`rYNv?o8Zqj^2`VLNLh**u#_f$SCcK=$UOIQ~ zc;DqPdQ0;=PcYCA*&9&VO>RfLFykk7Gwa*TEsSPYO4Q(+aTv&LAIw_+TE1TR-us3lyQk{i~tU+hmb_Whx>71U*9ORlSunkS&9%v7C}_Kf5wPu5$>NJL^obrH zPZE3dsGkWZbZq1ny>Cktkd#$DPY6~lE0{{JxzylB_@l4^v8q%+`b51tt0Mn3QbgZ( zMBt0C#m$SM{h7ZY4#rc(6gJ9 zi=o@3M}9T9~n4&xI&&5;IFu&EM7WL|Hj%X*aJ~}KRZ4dizmUy_X5Oc1^A} zTO(~4`k*KV?sxn46vSSHC~Ay7a+5g{&*uK5+%9nB3z_8Gt?s{2(@GZq0NG|7Zbh8> z^qEu&w=T{Xk;qHyruRp9%099<4u4mthA!MDa*z|>2@8hnx`;xl$4${koI^}=@ycq- z(GWS(ji#C1FO}zR9F{uWj2K4HIA2vaRJrXx;OQm_?fr&#{Y8PWK+L2_3! z!5wX8@;9nMVw~?gE5?0Zm|1}L4x8r~RXRp@))%?@A&|>`TQ(X6=^LgiF3#$ir+LeZ z@iAEV)q9*Kbj1~7qpD<#s(CR(P4DjUlUafbT*6_e^EZKXH^TOHE($OBUj6N(OCY@_Rga zPv!GPOKq;!u+sQjG0gJW*(VgbP}8L@8j*Z*aP4U6yx!De(RvZHm*4w_o=NkB2TjCZ z<{P{LcoXg?-A1Z(Pb)lv7ofw*76 z>aO|kmA!-}@#N1cGaCr}M5Z?%5>)a=e64EW+fJ*Nld#DZyy?%_scOAf$!mcl;4e!< z;X31d7mm-_OAxTDbD53Ca*5yhLc7N3yl~EnZ?HO#5%rTmwS!z9?&BB5dKliVHzibE zen9_nLj*A1deun6GKDQ6GZ6k!^2^eo^JQP4oA+?3M+{+t-kYBg*YE4pMlgHQKtEk3VUWO&FRZf7qJQp@;lNm#6T$)*w8URN5Yfp=5nL0~r2W6j>N*9I zG*!R}#u}1m5423Up+mTrd$_l@XQ=lX05zEEMP-<#vYM8in!2{8spMN~U;Xi(>zwns?{lv2b)7%%`?~LBb5ngzc42k^05}Z|bS#;? z^ed38%sesLRKx_t18;%{fckWf10s~UN4pqUngBrfc>tiq1Hc}$L|F!aAPfL}CIEoy z9RLs{7tk!!mL@tcFXTJUf?xMH&l%!vE}mcbWrim|^I5hPjjRN!7HZiY9pZ>HC3t)L z)V(yCt4PZ*MTlm}fz2}pkz)myAs-BSxD8@MXs=LuvNkCy$b913wm?T(Y)e5}KG8Sm zaY)e~@NGfw;YJ0)l#k=(HU*YixBr1R*qEh6I%i})9CLofuqmDJcYkAEYfnc;!y6fo z;c@92H?Hy8D4T|F zC984DOJH#TQGfO+%YfMT0b;WFQ+(BXuRN%zJ1`mJjwn-mH*+Z}q!?2OM^9gy{QW^=}O6kFmg}H_`mwB&T0WF3O;;SWYCNMxhgDbm8d+QoR&?7jQag&Xo z#jn@im?dO>^!m=qwDd(`uRhquY^Oe{5cjPa;woNebpERleau8Xr-zpR_)kY|{UHJ6 zUbjUpIpOXL-VgJ@#C5DK4!mtZ$d?3td^WEY?XiiH-Ewe=@uijsVeAuGJ?-SQQGbt& z?DDwJ;=%Ps5jv(2mrN;psW_qIAMT?Xpf8DLLHz&3#?M9NzPp&PQ?IZ%-_FU%*(A9u z^P>c++VUQ1uXBLa;jZ49M*fGG3iz zn@*Lb`Al->zQ~lIZqv8R)QbVoh1D^OM~a`~5{+iR1ZAf?SK)-a{$SnG&ODpW;&{>M zHB>)jDSYrp>A~b+`KwQmzOR+C)N`8~RieaUv9d>#-s_*tRaPpc%GEuMzRdOigC3!p z&el?@WT{%>b#lU|h}V1xV1`^_J%E~pb7~Yr9SnE{~S>9sO&2)S42veO(;&?srZ&?JE^U0##BV$vq+ch znqOW47mC%iyh>pdB46D1u3!Yw$-`7fde9M$9cdUbQRfU79~Egw`? z0ax4FlZviWNz=L^EltoAhr`!}Ye^~8dwwsm9Z%$)v&Ka$XN}4L4lcy{+APPdnjX)C zPWxJK!WOMbfR0^VsYs=~e_!96!oa;LFAeC6HNQ_f#Qed^P`fPloQ$x}b@k901iR!# zJk90u8Fs+%Re~)4chavpwkJsrz8(X*eXCFNq17Z7?)&jiJSlpyHq_yDZujs3vhkj_ zldWH!o8o@{F{?orRz@Z!)L1loyp*eT#VfM&AjcW{1`D8L!@b9OYFfuyEiZLcTP*d7 z?sxR>?hr!?7H!A2WO!E4@Dgg1boE`gefP_{k!K zogo@{Vz<X`XWKP;{Y*HSabfPSy$ejhj}Eyn5~r6!96_;?b)?4z8OY>(#*qT zLjKz|)D#!_dyD_OA~xdiFzB9aq*6el=M}D=h&HjiYz+!e$6*D0b1IPMPVE$%HjA#Y zx@_u$v*snT6|#_atL)m1xRlDX?J2`}#7GlH;9K^NmW$FI1s2PzFk72zPOac?_B&St zIE3tr_!#I)p=cko{@dt9uR2JBNfYl=b{(V4KGzbk2sxgnaw?MZb~n5rlwxIE1}5uj z(t)}I@h5aF=bm^(RXt)};P8et|*nv>_%qvkd!xJ3wW5V=;#QA>W6gWA8nz5KdAWp`nROJJVo_KLrL z3F3jec7d+MKsQwve>Wxod5oO0G)75U9&0VHpsFONs)&)o$f;s5p`8orzX?cwuGihe W{=a~&*fEAF01S0ab!xN-vHt~gp%(-I diff --git a/res/img/flags/MO.png b/res/img/flags/MO.png deleted file mode 100644 index 3833d683e7cdccf977da589ef5e83ebf1be96f8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2994 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 V17Y5)um=M`MNw0sQqD5`e*ueB;w%6F diff --git a/res/img/flags/MR.png b/res/img/flags/MR.png deleted file mode 100644 index c144de17f7b64a8731fa0d8ebe507fb788251047..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2897 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 F{spdsOC$gQ diff --git a/res/img/flags/MS.png b/res/img/flags/MS.png deleted file mode 100644 index 12217070421ffa3e914ce25d1fe09a97428405bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4967 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 diff --git a/res/img/flags/MT.png b/res/img/flags/MT.png deleted file mode 100644 index 7963aa618a42abdd533d93b310cb167fc18e1360..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1324 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_&;mP&iNIEGZ*dV4$8XL7jA@sIB- zPkBc>RBm*V)L+|^dBs;oC$Bi4b7p6CpplTTS!!DJH?f_Con5;mPfp=pS0Y(>`kr{1 zVuDzcxO1ww+l@yZXEqurT~I7cn9yVt#+7+qZ^6OT;%+T8qKeECV`Im^ud`{xw@ zn)8HFu|>d%141lvy1T0J_~VZiHc{@syZ_zaaW`-K?X~}=`TOi(-VviW{WPnC058kS zbOwWh$;<|s-}4z~SQ+n?RakiVAJ>D;dvZ#c%<2~MH>B$PN$vP^>D_z&qfTdv`<`Y>E^vPPY~_MiV)&Im8!D%0uxzB1ym&&ll zao^n#v%!WxIRBQ{8uw>*2)*QWQ zx4?O?mmbfYxAO0_nWHCvmCIJt`T1s_KUaCfLN_fpKgVw?e_R(Yan30ZD)v%S`S;4l zcRiCGn;%1bVbI(@kZFGo{M#@^DtE%CM8VZ*>q;0^!k_JZugAD`V`+M{){jeK^1jl| zZ*JTV_kG9me5-oWwQWovuDtOup0BR?)OA6Kse#;EqZ#f$ycf;QvpMkV!In6#U8&DD zRUO}@Unjj{&Vh{&b{j+*|N0tXcf>B+ck|nsuh$hbzdOKv!0@dqU&SOgJ9efYGkQSo znDl(Z(jASD-IiPNW%<4+n$xwHZDziuxs|`eKcm;zTK-PRD8069`T5eYt8TlO%H3EJ z^x?k2Dpu)h8PgBi0E0K}X2e-8hN>MbJkoK=>`Sb=(*Aw5OuKE%VPd@fOKuQvJ*U^5 zX&z}2C(fK~d6rkiz&>4q#q7n}Dt&?F^4C-yn&&A9M*e!Y;Y7N`W_97><-(R0jc#9; zTK&-9oAPqEa$b5{r^ciMK5k6LlALE!R179hB$9Kz_u0zXd-GHfdD3OdAI|@et&d;i znj!@(IaEtrBT7;dOH!?pi&B9UgOP!uxvqh!u8~EEk+GGjp_Pe&wt=CQfkDNgr?w~> ca`RI%(<*Um;G7@Z2-Lvf>FVdQ&MBb@0G+lzivR!s diff --git a/res/img/flags/MU.png b/res/img/flags/MU.png deleted file mode 100644 index d5d4d4008dfb8b9e00c2bb9021bdaff6969f6888..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 723 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#I(Ex;TbZ+nD*{fOl}?q|<;KCitN{-kElox|nr-Yh^1!Qg-s&+o=5L0*z=ci2mNpI6R%-f90= z#pl1m%rj5BT;CZ!I{*Fl+qB@h{)O@aiyRZDL6BjbRUO|8Pn#n7>x{F1-Po~VXZ9`` zksZrB_rF`gwOX`kYe|3goFCePu`fSywDJbrkeJf;L~xx;qjsUpr!8x`HM#{xl)p{D3lU83(ETPgVR?*h8{NYEmId4>Lu8~6m@u1tP>Xw{>gM)x1h zQ~P(yXz|%z?%PZAQXjT}yb=7YP3&sr677$#o2q5p_pDmX;q5+S?x9PDa_+Ao=I&2J4XsQJv<(cc3=Ap`J+(#Akei>9nO2Eg1LyqMMo@Hmy85}Sb4q9e0CDmjWB>pF diff --git a/res/img/flags/MV.png b/res/img/flags/MV.png deleted file mode 100644 index 0f2ecb43896a924d5f46e5b972a58bfd29d37005..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2047 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 DckS{l diff --git a/res/img/flags/MX.png b/res/img/flags/MX.png deleted file mode 100644 index 096cb1111fa1b35a18c0e60d286a5c37fb5a3ca3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2140 zcmZ{lc{JOJ7RP_~os4}KYqhb2A`!%1l&DyWhDuUOEw$E`L4sOlD5p#@RjS%*r!AeT zSW|mx)l#(+OP>ghrDLrGoxHyD-g)njch9}|bC>h|&=m^Kd?!i|a-BAFLtOWqXOaNfAN5oYCxB&%#FIWIT zlmdWERCx>9oW0=1J3H91$+kn=)-*N*q8xo=*~I>cuVFUB?1C@O31!c>#G@#4R$IX{ zWs5y=cCxefOq|)6B}94BFYAsn`!Q1rr`hf#;NwRBE4j~;xX^84tltlj`KOB3O zc%Rej;rY`s&xnuQ1-rCKhB-Fb&UWrNTZc7fASMvy1E-4 zG(}xw9fnm>6NZxJ4;q7q%3@cD543;zFMm(Toe;DCVeW`lRa%X&j`Xj+YME8XVi51g z56zp-?S3EYT_qEbo0&~_&6cKrQ5BNd@9tCmG`i3au&$y$O%Rd3!Q+EKn*r`kfk=qa z2*1m#k`O9MiRt5iTCyN@DYqoMtKl6ceoL6Qdzv_Y;sq{R-8snWaXe!gIvpR7CJ&1_tzvqWZowzTT;@$*y+5qLgKtBbL=$wqPdm@FxALe;c1(NZz^fsf zrEldPeECr)^?A!FDOHJAyj)_Xg#(alN4t!#yXmKyNlMp*LKW)exK_(@KTa1>V3U^F za+#-8!TH-QE0g;->>bD3J~z7=?%X|v%*#5Gx|Wt?CZ<<_IIGX#8o9TBY0H97eg)Py zE!MrDUUJ~)$FCAWsEJ#8N8ae?nlX$x<2K+`iy*u@SV<;bvuu%ts~+?Rf+)Ql_bmJM z*E#a9s2b^N>%_=T;de7o)T-D^bAw9(B;)SOo4BlUB%N6-!W~AgbMEZoc9Eu@GZXxO)uLO7L}U%N}d!TRS2wK6`+JU>$}&U_$8PdHRyt|1CVtwZ@#E)DL1W>Yp>5oci{CEzn{lb|q&EZc))>>dhg$S3XS}>y~+MHh#UySn`YRZ|_d6*vx#EIdEC$ zNP0%|O~N&-9=cY*^etb;vD-hD6)J+$-chq>$dM<)e2S$YGSahj8AH; zWfB^yp^LonL2I?)j0w_2bpPm7lXj~--kmXY=UBOoU|z1+u5j*xGH5m!?045+;r9&= z4MvT;rn&KAuG4S{u?@daYw?efY~`p<`c|z>soi4Yb|kibZv5gUB*P@JC+-QM?fNy^ z#Z|N$tuaB(t{~#%=<`67sS6D9O;Lk+u1#S|3L%ZL)N#%1ciz7FhvbM-OVD!{;{6kx z1zhK5)lG(v^mPmgw>> zjr6L>{^LD}v50^whwe)qf~eEw(KMZ@_!$+U?To&@J_xAaQ=w`c=^!muQ!AUe}PCz>a&-jC&Sqm2@Ua&H&5#r3q#6GSh3y z$_VYm+wbBFZspJnFJyFlt(Xk0OUvM>1^VrpT?aVb6{>1zee(v=#j|&5X zLHfZL_UHX9UtUD?_)~x9UxI-@+rMlArhIgFJL2!u%l6ZGy}+YA=cxpu68xx}+z~}T zdeMN)juzXLm>LdCsvSiXIq6_OUdS6YYaL`6`}V$g(lM7O_+jwhX!M@5W6VN^Hf_<8 z_W$w2_Pv1c)LX1d?XL%65mS%k3x!Uzh1 m8X%z1#4eh}{|F)?1Fv08`u_rfN`Det065vZ+SS@%)BgtZc-g}M diff --git a/res/img/flags/MY.png b/res/img/flags/MY.png deleted file mode 100644 index 17f18ac51924e8a76856b89a194b741bdbcb9245..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3081 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 diff --git a/res/img/flags/MZ.png b/res/img/flags/MZ.png deleted file mode 100644 index 66be6563c63c40bc14a90eae8ec739981d47fe3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3367 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 diff --git a/res/img/flags/NA.png b/res/img/flags/NA.png deleted file mode 100644 index 7ecfd317c71654c146f2a3e1fcc702f96bc6a96e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3679 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 diff --git a/res/img/flags/NE.png b/res/img/flags/NE.png deleted file mode 100644 index d584fa8429e64def9e3d6517b4b215ce237da7ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1660 zcmZ{kdpr|*AIE=e%VlH=bBJcOIFx2MF?noku9-MEb8I!2Nan#>%cXXaa$Jf-G6$VH zQH!I7BOQw6xFxqHI=QAYxl~R~sU_xpW+FR#zPpUlG)4{c2&O#pzl zmnSJe$#4EH#1>^A8@hK@31~FYmk2;jE_^Kvrrc2xo&ml9r0fBJpALXRdE&nX;1m{s zIR*fDApppP(nkM-%Ey*)9}kj}%8m574**H&!JD6=u> z?&J5n(CTR&2vipwrCZ?ohDf|kvsCY{r?u9j@;p(RG4)KM#bs&5DFLU!d1gtV*^b!t ziP==r^C3<)RT3{N=`D6lB@Ej6{wIynYpwF0&o8GuL~A==Pnh8}jsLSDW#LqAt&>?r zRPTw=dtpe-j?BHGSBkz{b#Qm{Bc<9kGIZUMdt2Y8kqzl$^&4=5umzXlhG6rc05?CY zwXP2iyrL4h;f-Kmh^wFq_;tb60l1D0wl_&wxJbyA6K zc{kM7Ks6Bf z8dk|vv#a@XJ&||x6RM8rv`LvszndgfJo9OlVfs;Dj}FUdm^H5+b~_Xh;QhP|Rn_ZS zrxlqfj%nAC9POZX242fyhCnUCf2em^_qlwSYY(0Ocz+|gh&tI5GaZ8YgPi5Jm$g;l z`X;UpO zHxZy2DZ;p0b~Q?Vb*i2knaeGZcDON8xj_?bET!EqfucHOsaO}*p~%BpRq!#2v+({q zA5ru7zd5{fOKR+#spG{!POy8V?sAE#ybG^!@YYsQlv$Tc7Sri!;R^Cs`|FMvuK8?m zD$0$BSetw=%rAxs+SWFb#~;;H$cH;J2tAdyf(jI}Johsw*k&z=NL}*1sN>2wzOnFN z;^onn*Ut~R9CS>vI0-I2vGIc7o_XyuOk0D0T`qnf*1BmL70|7Z3em4JTWzxHEGsz^ z2^SgkLBT=Uk8`>N%#5RE;I}yqH_PBjJ!5nJ*S3}Z1qvhjE;`lT9Cmm-_mdGV_5oIZ z16EbNvYjyQtiMsUy6NFh%6OHadt&M+R;||)+UEtA&vF}L<5u;=r zd|VFk|4l+4q(E>c&Nqh7(R36lw0S&}`{LW!(v#AFdqYP1553?eTBDz=lvxpW))VD~ z<)%^nnPiiG)kVJv-qQRHgyEHt4^ViZDt`SI#WhlW{>9=3kN@y zAQsfkJYk6b1et1VHNOy4(tCRT)MB7Zc8sH_R0kQ`TKMJct!&D<8}Wmesz(G%#nA^i zzADY(?8F?RR|8*e_V_V?68&V^Smf@Qx;Cs#R!+`*@}dzCo~LXhJ`mbF^)d)Y*#R^G)Hla{hAZMKCdu|ycggsv?_ z+YjVZk7&_HGGZoqW!j0%{Zub+)X-@(dwYwAI&S-03CjplXuqGAt9I#&R51Kt51oI8 zb9);j>*=@<)+R0fP9+-^szSbt7<1ogUGd(G={Mxq?SOb#an<1Eb*%#>JKrWi#B)c! z7;%`(9`(kH&m6riD4F>f-K3UGy(yl~py@TG@30@CbF8W9Phr_ur73l+M6AE4D|3pU zoER9C{)D-`w^1zglunFcld0^;F!nKg1nZa*0Ee|Xun%j$59bhwv&Gxn q;O($hSQ|VRo76h({6B)Y_{f;3#+MB{cU< zg%CM%eCvx!m?Kv+efRtR_xzyjoWuriq~)b(HogAUMhN;Hd*H@d*_v^G;*=EAP?T^=U;qG5 zzm=)66LDs3=6a;l(#if!#&zwGby?X|Ds=obwIu4j5d|xlTO#(G@^Qf@iZa1hMbCwC zt|>}!QipCxiz$2U6wtC|7i*L-BhpER!+Ydrz?3c#UX7 zjq`P1rZpH$Lq^2#dhsI3ykhjKruZNK!53lo2!5`VPA}@%G<58cAoOpcU%4L`TffOV zIT^XE#_y+iv)?S0hl4&6_d<@VEgchnv~PPNI?iiu1npq)I)BB{;YBYa|KqQI;?@}E zO5DVIbCF27`F*g9Qz!|}*(mKco4*~Q@lTQjXU)}kAhXu4V#iz#ze<)hRgDj#+PcnV|IO#+U6y&u7HwcU}MGXiNN{U zTi}ObFmKU`>?VYtA(;ddZLSmh_3L{pnf`YweB5kHu71=}l~^C(@J(`moESwg&#kCF zGG2EGBT4X~Bt0Lt+AyFtr*b=ZK5Q#0RuL^?L4yh(v2U;GO1dqVGPTFs=69Wa^>E=0 z5p^F@UN{fBc9BH=w!9m!#TCzsU?;ht5Rl)!JLkYs(qaa#%})`qt(B(?{cQz5`&Md9 zFd}~AQ~GpJo-t%gJJ9GXB43W|f_Qnp`AJ#z9^`}Qc(cu)OEM_RVhv!tjXY!7SDh_5i1bYT*%_i+-goVs{^N~C^MPYi?`6*E|=Zzarx@@dFR2x z)gom0$Y8Fr?CV45_u2s6x%S(puv6E~Nct5+(hNi@X%0{Bag_Ih<3tYK*I?LZL+ zM_6fTn2uwlbE}~gJ1;+WI2EQ*z7rhHFAe8Ls+dBQ~srRs`mcT0CeF^U7 zm7Q^{t_nJ+o(FeXv(PEaHp$AAtr>y^Q?IxRcX5 z2@ge6_!u`H@ol@&Ok}@z9K^;l^!i+Lwu^p5;kON4Tx zY@)P{HT>Bu97qHk+)C&(j=lI+qh3sMdu2Dhw+S0aSkNeJ#o$D&E5mg)hc%?HKJRF& z$q0}RqU11>7|bOhU7Z?Px(~$Z_PGWROG;-u?`HZuaHIlPG4v#@x$GpAKv+)hR6~(L zf0vRan674bty&|)*EtYX+Aqyzz_B<+zu}vV%-?QTI6t+^Rm=ShEnm!iw)QZRELTaBlLVi^ zSDxI}LWWG#TICfQxsmH%$wBb-Whf$2C^TgCV3#iQyJcR8QK4Xy+HxVa5W9naZMSiy zvTS|xlufKIDsa&9W)^H8p~(SH^dH#Z&2>0AuikFRbz8czC18fX`#d^ply$e2_rh=t zs5$F|TtkK(puk~s_c$%v1KQn<{*l7!AlzfVpC_2S8vBCXFxtRRx)L=zwx&{Oj7zc= zKUaVFZq`0ss9?H=fy9ptaMS*b0*(z~Bz*Olb<%`1t}IjG;p^$C0&~pHKA1MyV(-jbgYP zJ(n)m$W6j*a;ljtrpWI~oI;4ieYyk&PEvKG+bdnWqjNq1yZYy2Z_A)sbwyx2;6N-! zSuw2#`i9owZkpSXZ|}AvTrDx>EZnYO3n9%8fyW>zlbitpm8qQ&^>SwVg3oDbB9*v~ z+pS76Z+DM)c_zu-Z8EQY*dy&fk>TF}QB6+bkPQxyc;hH&!cIBzI5RBH&l~5D@{RIm z15ih*>8K#JRMd5y)HP6AYA8*lGExnNL=wA}4E|#Xi|`8yi2eTt-ZFPG+W=UZ*_l?O Hy^{X{CJl@_ diff --git a/res/img/flags/NG.png b/res/img/flags/NG.png deleted file mode 100644 index 73aee15b3f35f4d032a1998db4d334eb32219315..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 563 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#Nj2T^vIyZoR!_=*8?P(e^OE z+%?2U@gq|)v%X@J!Yzqyp2_K|F4o!Byb(8VE{RN9%+XZAnQtH-prfR9=v@>mckr=T zyNdZ)ZJN*0@0Fr!@g7#@>&z3XkGK{SVA%LEnfdj75?gN(chIaBPGEDyT* zUqkKqrGKZ7-Fmjy7B2)ROPRy8K$tr#tLc$t``O zu+yu2>Alx)pZ|2(6M!HFmD)cRRypKMQ{B_Mg35>a&A^F^jP? zImDkoriOoi-u@;7^+!Yf2WBogTl32n+Ao1ZswJ)wB`Jv|saDBFsX&Us$iUEC*T7WQ y$RfnZ*viz<%EUn1z|hLTpyJR|TNDks`6-!cmAEx<&W~*bS?cNP=d#Wzp$Pz|O}T*p diff --git a/res/img/flags/NI.png b/res/img/flags/NI.png deleted file mode 100644 index fd044933e4896c68aff43327a8175533e1f716c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1701 zcmZ{kc{Ce(7RP^4M0i?ii?x>6X+u=fSo2U+v?zU+B0(5c%Tpa{sRSXawN)Q6mcf+q zo-I;qm5|rgsFtRbCZ)0Dsi#WQQA^Ru%$aj$=8w7O-ut=B`TleNxcOe^U1g=!qyYf3 z?rzRLB3l15at;7{q7nH$0N0TK z{7wJ>TLFMdLRG)Ft!N<`=HcorqR4ig9%hOFOK=OgCL-Zqu^IFIgs6ZfxqG@m7bG-P zP)6#$85;mdl({?Od{emVytJzq{WMsgHdeW9L1=UJsaU$(91GKQ^`exdOL=~{y`#93 zm*NR;b}cUS65;0*|ZoFd%h_&l98TlT2`%v&}Cy2kB#6kC)z*~hT1 zhhO6@ryuqk_B`57-g{=Zl6*eMOVP#qKORgQKGO7RH3@rv%0^oso5x;Az~ms$*7$d~ zw0drAmf_B?lu=e;R zMxms`yQqnaZ%xfpqBWaw{A4inHraCXafPA{! zVfYrx(QBo!<@U8VR~_Y+eb%`(mkIiFxmO957Bg7++dZld_#4tW(~}We(9R(H6Gq~< zD)hLJ6LFOz+X_)if^Un6Onm$sO~J4HkTBbq${x+@*P5mU9>yfcwdgVqDRJn>^y;!U zYR$7i6%XV4Um{l2j1N#>?J=p(o40qZS2cGX(1}IpF^wl?VbMor78{_OoC`;2Pn-Dx z387Q1e)qD^pif8bPqUWA!*3n=QuF@8=D9yZY*nq z@6*0I#Noh7EUteR3TF^z9=>8Dn59*9k!2<&cYgJ`mqMOkfV&k%DppG@r`B**?^J12 zsEk2gbmlpf)kK_WYkGU!1R+ctTvM2?KW3F>(m2yDSQ`j?E0 z!2w=2-+JypMf7s9YK>xBjaOp+b}+efeXH9N`u90rsn4F0Myt&wUJK>j(%jPTVr+D7 z?Q;krCIu)Wa%Qeun13la>MkXlz${9X3);!99UkH_nY)O$L=*a#1o?`P2W3^Spu>fe zM*;houBPKaWN&GVV_G!7a9)-_^oGX^gMKbo7G`O;uf&Z}0xjv{2tr|VoyEsng}8En z%B_6e=^g)@HD#!~o%x$d@egWZt3ldzrVLZ2GzguPsY`wLs5%5`<Z#j~Q|ii<9C9-0kE3F<@0Ccbn6RNb z$>rd>pRyY$VS76g9Ua9N$k;u)+jyL(pU@~gx2wUH*cM{0T-%|Ou>%(G$%2!IZWt#%k;wJ0VjmX7KxSK# z;Ze~Os)HdV%m_2T{ITe;OwGosfB!4hdmWgDfF;rbZH_!`Zi(@=L}5=`V6Bj*NDC|ynKB}<`yWAU bd_;8QjsGuz)do{U0^sg)-ns32Le@V3egf=% diff --git a/res/img/flags/NL.png b/res/img/flags/NL.png deleted file mode 100644 index 0897943760ff90d0323d3207b9bde50e08f26c41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#RCKT^vIyZoR#|(3?3?;`qns zciPtZTuCs9jgB>tGv;Le&*Uh^IytoYpn;{5f>b+CmU$9S}IUez?v5$fEDD#px~VUwtLo5+&H|f1SL2 zZ^7-}MNz)hy+6ZOmRP;rW*L7$PGIvwgW~}+k~Pj4iae9xD(?BZ(QXC%QH85=*O~Xe z+*q18e|F}qu&vu0OB1^%Z@qjq`E6lh?2WRL{{`hMY~THhA+G1AdoT5V zvy$_0J858e{95bD&~Iw2Z*y$|L?^lz=fp?YYH%$-vVVF_Jey6sW!oVc=fu8^|M*Ya zEzxnm^|!QkEuoy_%*TmNmj@bBuC;yT;wSMD7Zu6~x$7Mv7z&O&w7 zV@s&lcv_+MJ}h2bf9lIlXlN~X!rk5#Fze>SWBkCdQ!R0gC`m~yNwrEYN(E93Mh1rF zx(24YMiwDP##W|=Rwf4828LD!1{H^%+M;O4%}>cptHiB=bAD_iD0)0y{an^LB{Ts5 Dxuyo8 diff --git a/res/img/flags/NO.png b/res/img/flags/NO.png deleted file mode 100644 index aafb0f17761442e115d157c6b3ee29b7c6758645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1695 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 ZOQ)d!-$0&kjkqxYTIzagl`7E4{{T|%s-6G< diff --git a/res/img/flags/NR.png b/res/img/flags/NR.png deleted file mode 100644 index 58c2afb228aeac0c04d19788d9ffc67a6b0dd8e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1620 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 diff --git a/res/img/flags/PA.png b/res/img/flags/PA.png deleted file mode 100644 index 3515d95d371fc49f62d94d11c8a0f4f41b8941e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2285 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 diff --git a/res/img/flags/PF.png b/res/img/flags/PF.png deleted file mode 100644 index 2f33f2574f00952986b822b406ff60549712cd74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2379 zcmZ{mc{J1u8^?c!84QD~MOA7^a}gUUbw0DzgBnb`8E z`*%t}cy(;B_6ZLH-o{qO08o)Cvg;1!&2XZbtrY-7o&o@RJOKRUt?2Ur5Q+eR1vdad zX90jzKyCy60`CC1VPR^*BQLfuvS>UA2behr^XT?ZuKHp=^BTbrb1SUi6j)a3tn#mR zw^jf^2yJd+Y)2jWb2P%vZdk5)Z6)dx5F7gv{53O( zCAcRSML8JX$vGFiax2{ESszJT=C@1#0aB#6Tuu}c*WxD8Iu^4(MveG8%ndtI%bQLs zE6)#UXb+6FQ@2s5YxP0v^Hp^pIbyiKqO0R|vnQ_!3g`#O{Mg*t=j4D(aW#9Qc zeQ-{VIx(_k2!(7IL&y7BN|cg*fjuFuY0l864B6=%`PeOObz!KO}i4G`6Z1EsGN zpBs+`@=xd$1TzzzF^Fw$OzsfoXHywXc;>a6q{j{3u@Rb`;Nf z%?urP&-|nGH8fms0w`q^@yS0-tdL`>_Z1vmqq5CamRZ97;jF9cTWZXnus56mF_Xf6 z>0#4m1|uwQ9#p4TXMp$;!zcRmr>^xEAi{b&GZUeKvJmSM>8 z>->ukCBA+?--dC3mx1B@9}oqd-&fOWuEUgymddeGd<57JKTv7CRM^NyvGS=`v|Fmj zlicnLtGx&4Vyx3cVV0c-J1Dy3yYT`zIO(awPX0~X_UzVU^h}FUQLrg%H85@?E~thJ z+B_E{81&L!i2iE6P;jTG3#gHe?@Dv<2gJKR*8++Cm&hA5Ez$HgD3Cn!h;`Y=`9|w< zno!mo4Ho}BRMBm?HOe83#NVsXxJZIK>)5NuYtcqMTx~k8Mh%x;1hFHM^9;z6?Ap<$ zwP#KUE14y|lLD0)JKuIaCDw)}(eW`VpJx0Q1im)tQx#u+d<3SlK=-gk@O(_r!*EbQ z(m1F5cS2?slO-!yTEeh=S|53Qra1hATmV3&Y9WPlCCQP7DRk2$t6|w7xc(YPn2RVp zgPIPh=0EHy6E-P{W0rViu8AEZOk7v8it8ewn4Jhx&E-doY)HUlC`GhGR%nk(HR z`nl=8SjT4ljF`_eSIz}@_ z;wU>RXyBevZ-n*SQkxpQKCMwbTi6v-j6D7BvI*fRy^)Wv<~kZS z`~e;DGdX;bUm-Z5E_vK02xTPQ0X1V7HG*3C3zgv#rP0R6g|y2Inq(39!IdgH2m5Lq z^6pNfVavZv#&>#ZH4KsAfwxaK*_}+JLsjuHlK4xe%~q9Iak9~8m=WBGvP^Q#&*hHe zx71*J7nW%DXX9P^%_v^W^d~vG>FcuvN~P(2l0zLNVPB7h@%fjFu1EgMum5px&hrh| zYPS)ZSB-NX@3Bw{!8(O_xQBS6i9wz`09pv-ISqu4hL)b4)>*U;60MC;Lm<%z1hsWm f|9=F26px!;5&vHxoOdmTCjiW`)+Xf`x7dFJiOoV> diff --git a/res/img/flags/PG.png b/res/img/flags/PG.png deleted file mode 100644 index c796f587c634102586fa2f81fede56571b727b51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4393 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 QKL`M4EFB3I7UYEg15A>^?*IS* diff --git a/res/img/flags/PK.png b/res/img/flags/PK.png deleted file mode 100644 index 87f4e2f49246e9d96d5bd056ff6c8960cbd9247d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3165 zcmZ{mc{J4j8ppq5W{h==eP^;XvSls18Ai5b$(m#aWBElGd$utolBH6XY>_CkW|u7_ zJ4Lduk*q`6b#?!`_nvcK=RD8rvz+&TpL0G>tjRT9Mmiok000>E^{{4VzVx>c)MtHi zq&n+N5EqOQ1^~(v>5uWyvpv#L&&&t_?w$t#QWO9jo*j`^0KiWM09J7TpppszoL(9A zrfO#w)DDKa*fXDTpxqFDCR#5&8=o`d{#{$QwFb@>FkgKm9oQU{k5gWZ*F1C+0O+sk zV=?A|MaQj(o9#B2o#N<^hr}>NZA5Zw!HvIfrZUikj>lnwmN7YA-9yx8-da3Onsh3_B`1 zoi1qpxy~aa`@hsl$Jo<}N&Y37a#wRjFh2D!T-(B$tEC=DmA@SR2_y?=EGltXP;9vA z4Kl1nGm=8^lamU(?jDW7hp*yt4ploZi33w^Ak62$hv{F%oo+g9A`a)2)qSW(n!23AO7Hw&!&5pwylu90V)>t(Q;^D`% zkb~+;$*-g(Ou1nlGuKtQy@-txH?t`Yr-yu!4dj(hDG`!nL3(%3cpcIH6*4U7V(9u- zDBdqO>yc;Ij~s)z7yYmkM=O&)dgM{vj9)yto!O33KLtrZgxk&vBporPGy(1Ia$WVs z@6pFJz=5dl(m8~LPHrls*HPgjS#tKBBvt)zf-Oiw+%k!pa^vB(8Fr2sO%M{*-9e-- zJQ7FjXQl6MEhQIS=% z`uu6brzgtD^v4o6aWCu0nS$WFw2w|@(lt&uY{`wr8Yn?%9lGRc4@N=wp&t5{op%$e zx8Zx2qI(K2TK$f4eggQdorR@NfUEl3Un{?}Tez3g?d%EYrk(aRN8=Aio$2rLr_k^F z>>=(jWy|k9qDW)2Hn%YAqo}8uxsXN1&a3KNEJW37de*RB7lzL*JM+*#k1^5 z?{n51{0bhR@a~&dA8rM5B11wK(K3`J7H+zVWFY@Iwd)54`hrXLs+o$Ca-J4H8Xwjwy_|baxNUktzExHS39(IbJX3qQ=SVO@Tf!* zWTk3ce#Fp7NjVt0-rp+I)8q3ooB?L9krf)q@2jCUZ~wj~qQZ2St+GX<`w@=wzh?zt~j4)XQ&gbaf7gBwowiHD>2KLd_2jVC-4V?e)%Ge~{Cq6`7Sl7}F ztB(Q51zqeY9CKMmSd?MW*V0R%J!5S!{nDU}c%kG9>Eud7aYm#T2$(Imm5*J|4*dx` za-jTP_NDgIaSZ-UkNdVNMz;aU<(|WmCG#E-5g5p9?OnGme!Nw#V-6StiOJS8*)vv+ zuV1GjJt}n}#jxwNf#gyaZn z$o9ce64G6mOBJ;T#79JU|EgbCZ5u6r-iPBx!EIHj?%Nq&th)c$CO>UC%wd&V;a%|f z`}lKW`T8UAd99yk_?O;LE%AHbr|@x^-n&-a-J*Y2Ew#B?F z$ae)(BndYG7FR=;98NnuDw}P2#ct}hfT&O-=8x#1r=J{{NE7oaRKZ7!1p+ZeOg_>? zPa*-cU=tr5%^1O{5uy~7L1psDOogNPqK&|He&ncJeExK#kE~{L>MFudxQrT=0=)HK z{9>V%JS1d3$ymG?#6g;LddcgLaMWLtO+qqV_3T~hl7|eWAGrb5w(G)k?>8$s zL)mT!I@`NT)ntMWd_6=L+z9B+xdL2_OG~zH2weK>w=eURIg4U$-9lxrZfumXkynrp zu!t?C3u-jGA_=MySE;ulF>^vDzTgRy5r;mIV;X8Yl&R}k*4~t7M0lEg94Q`|!j;Ht zgl0IGcEqc}*d*K=S3bQ$NRC()L~Lx`k8EJ_ICcOxURFPvPP|0!VvcMV^4c5H*vTkq z_PnR^<3kYr><>a>P1pu}(B*4!ku=r7H05c2QOo|Y{K(1qvil*wgAI*4kiqg8IMlHz zIQBNYwpl&=G?;$hh+<6dPH${+#s>Nrsw-a6S+#{13GJ+v@; zas;f|A9ZL&J6@X>VeI!4w++VgjBQpVlpBG*s%E|3ko~pSOzG<4zdnrj>>9>rFSU{q z5Bv2uX_*_^9MePS<-Y1&K5pIrvQAuwZClkpaB?MHqNEkp;Ph^~_QE|Ui2>BDb%=cZ#+SIgl4C%r%g$`}6?%4G7ntS~? zv;&lstl;na&-t|sWzW@dNt)*fUl}Lq71}GsO?>ZccP$TZBf`s#!cerEk2-#$b*}oE z5@<8@F8tV?5-sd440=0G+nNS?k??s?BbQM6T%JUO1Pe@TQ}TPQt&8r|`dBa)e#6gT zYtcR{2ji7UAyZ#iKLdQ2KL2X7N6vl?i}`2%Z> z_5{jy+vUAW8OR#J3p;m@EB$wz4`N@7*UFUX45|-CJj?gks9V$89M8_{zkWo2hkSoh z{&!+*Waz+}YPknX;Y3@)l@REST7fr4prN$UT=lAS9usr^CR8zev-)PENOW9m4)-|R zL#5CrVq>;y>*PyiT0sD2=4&>cu?KjHZhj|tjr_tWxFj$~UZmKqp~B}9wu$*LbU_L6 zT1z~0cD|2YqK7Z(D5y2&IAHc9@7rEj2=(;OhPPfPw@8MbBQz$4+DDhCA>(f9SA#*W z+Vn#Y#yMBToks%hjhKECeS_&`6K?m(c~5X3wTv{w+q%?{1II>tJdy5yaGO7E9q_6R zm%|Q~(X+5tC_=5v`%*2JWVji}1#T1XGG}88&cP4jc|Ag)MHo?DMsdr_i?OhWKO2G~ z|GpPyZV2(#jLijCDH^cvfWMc%>Xx{J)SoZK?SJB?z|a2VyeneX{YnXt8tN($EK?#C z^P8&{aP++@qOlEUZD563&92f4zFs$+;mgaM3ooS5p{n~K)&eoFgsf^YJ+d6!QkY#~ z(_QMDfnGi%IwNyO!fOWa#;df)${k>{Y%^qL0`4KiJRJwRLcGirL5WuB=V8LKXgMYg z^xPtHtgyy+92z18odhP()+S@1`Pgx#tq1j;$EQ&zEVo|tx=8h4gjfk8TbX-@ti9jA z9eTY$Htq~6a$}m?H(d;lBXM*)vc1i`Csz*Ynt9XyJ)!<*yNNmlpQpYv(!czPcs6Q_ z`s!HwI^lf@Dvm_LnE*K%*~?Ngic)e)=5q2Xin1ySG7>VfDl#&GZAH=O_J^!8;>H@%A+_%r7#P(&T^vIyZoR#s=*{9NaqMGx ztmvAw!#-QMnj8&cxBon=bBy~JCyQakkxlXs9`Pha+qiBvXFK@d9?Ruw{?Gr9PUq$S zbNbyZMxfz9ptoy(`;;KBl_KvGe+VY`7?$myyDgi)O~8rcUh(az#pf*j-$&m&{K1|@ z*xA4k8*#P1bDM^@^@n-aH`p3i&zbl7Am8rV>W^`EH{{4qTmC$2!_}+5e^fr+yDQPy z*m~x?)d%OT??0~>w>R88r>wqu=d&2zZ(F6>w+Fw!`u5e?W2N7-HoVLHp7H!nb=l>2 zZxXB4uxWR1(%GY$C$sPH5dj~bgII}>|Ek~q8k~84?=!?#3^^V7xw{P=%B51@0!36y zTq8@|CsiBpLfwqC6m4QLUp{KSe8glbfGSez? UYv7z8+X%AL)78&qol`;+0HOTMdjJ3c diff --git a/res/img/flags/PM.png b/res/img/flags/PM.png deleted file mode 100644 index b74c396d924b2a6ed92ccda1af761bfc26cfccd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8583 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 D84nhx diff --git a/res/img/flags/PN.png b/res/img/flags/PN.png deleted file mode 100644 index e34c62d598f45963cb6e8fa94d45148be7fa9510..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5945 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

    Wey9xTIcg$?DSP(GcBClqS8Zw0?g&Gs?c!&_%3 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 G!~O$9Te$fE diff --git a/res/img/flags/PS.png b/res/img/flags/PS.png deleted file mode 100644 index 7a0cceec00db13aa85c8e7acb9ab795f3478aedc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2147 zcmZ{lc{tPy7sr2N7R(T78S9-PTLxi5Ok@~4V`(sDX$%qBHK?&KC5g1imNF70vV<#T zkDFZ>Te6gWk4fl`ckcV&eV^w&&pGFF&i6duzt3%JqA@>Q6b=9Yzo`kqmP3tyN)X2B zUxuo4Ie>WLE%5+Qo{ISG3gzr*HxpY+0JtFw0MYRPu*Z?27XW~!0su=C0MO0=0AxVU zJDand1B_~JOyH0cy9RYp9PkF1TnOfn^55FHs^7~QxUZR78gfrV#gSNfF;c`jN3k^} z;7MU)t7CL)(!5Cf<~qGcxzs5{l2J-@bpBXGl8Jr%!cNhi(4AQIk{R}itWJDE%xcT% zzoL$2>62#O%G$M;zYHxoUhu8Jt*FV7T8s}63ZQzHrx-0k3FOhsz1R1-5yBeM-%5&C z_jl(vRt}x2>-C?U&uLMVPh$K#g)TCtxogH(L+T3nSP0wttj^h>S|^6;o3_SucLF&l z`}y0pEx0;A$jmFV!yTTz)RuoJ@lBYM1gfKa*XVPWoR*&-hQ4hxlJ0(P#7pklt3D0K zQ*j3o)qTjf-uEwnnoa3@AQ&1X#_(!TNHw#j)XZhwN-piAzh-NW6aIQKm$9~|{2V3F zS>_oh^2z2aaQ#sbF)kzquL$-|y96gD?3h5H9=pXR$XaV17yIlwy*v2=Sajj(ps4oT zd*vs>-S)!;F@dV^t}`iHvSg}=709wl-G?f1?5n}iqZz-!RbL>^Ns?0B$xT0=J3)?p z=;m*`92R)fH>#_$tghxm)V$l2Xn_RpGK{^vLgiVAmHZz4OM|$VZ!~A%!F!|irXF}# zHPTyeB;hiBzl5KA112a+pX|)*{!=*!>oDltr74tQmf=4 zUJ+W!jZ#G=%827wxPCs?c+?N_#qbxd5AC=`mrGDIW+pXBK7L6k(?61nDV!$NgD3Wy z^at`tuN6& zzo_ot{5XG{t^$5pYR3(PwdwkPhIG{Au_~f;R@pRie_c?7RzznX4zQdY4DB{dBuh-P z76lqjSeIB1pu^N?69_}ZK$K!_YF9LlbXzeDaCxJP!mi-9LK=n* zN^kN-JUItle-(@|lMauR)$+AC9$pw``L)7uV{n>x@tg}^PN5jDo^fO|LhtBFJ~(Yh z|5>tHN0!-YJ#tT02n_BkKLRCRX*rLcpk1KJl7pzW`Ki%bAH`O6U`SZKibv8BzYq0M zYutf)p+82!U7GWm*JF+iHM~H%Qn(}}RElOarsiRq_&;AGN<@EoI*6BAfP90CJM7~m z*9Lz^WWR}Z8wwt6Q3mFB5BGx2t7b3Wpcv9NH+hU0NCek{)SX(0bdp&`lf0m35h!Y{ zs(!W*tyX!^X{y<%9x;%j{y>spmHPPI-$#;3!PzztLK$%d%J?X}2EdMefz#^r(RUvB z_$r{zmfci6#$#sj&~PwX)fSTnC?dK-g<(JYtNb%f`$FcHQ4Q6?D>V*>oHl$mg7#c} z8M%V;e1I-LtyllmsMZP_jO7A%q#${(u=>TRsGeM_R#XNba*trp# zi3!;{ov|993KGP9e&Cs#(9Ab~_Nqdcsc2rPIKQ9qGV)FYfWcW6L#n;*v^D^(TALAo za)oI0e7QQikZ%+__%q;4kMUySmS;&(u1{1mMpUp#&O5DuPe>uL9 ztK?ynh7HUHZIH;pgp*ymIy2Am1-_S9jtE9V8y%$DW9*lCb1$5PF&rB@nOzHMb7txL{ zG*=F9NAD^H8m~YrZG}gpeRx9T2TaC?cO5!~!^p*jH0>nR^860GSdjr4kvHP{+8BE? zY0(u9?@DtXXNtoNvADMgy1<-|McqOMH_|QV5wq!;9X%vN$UUb>XumP}hymA$H^Qg9 z<#ed{n7>cf4Zqs3ySHiDfu|oD{5bONs$8Sm5O&Z9%r;RvuLwaW_e2v*M6Vy{EM+%X zB|h_KEBwz7JHWBQ1GeZqJ`{q+dAKsy49VBrU9Vl%b_=@90idR$s;Q)+uB3K`q=wa2 sSJghPf>BY`R#6FSp4Iu6!Pnp2%j5e0H}F1nj^P*pQ$r%5RG$+2AJwtL_5c6? diff --git a/res/img/flags/PT.png b/res/img/flags/PT.png deleted file mode 100644 index 49e290827c89fb6aaab4b06b34b894009fcd7bc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2617 zcmZ{mc{J4PAIG2X7-Jd3T)O7k#}z3{BfBhPH`yk}l2k$xCEJv-j-|$pP*T|mH>rHo(En8Gu+d0H|pI?C?v}_W+P_ z04(|eU~(4#OnA}Lqo(`|gukP`4WInQwPqyoArkIzEQ(LR|HgW#)gb>M6islp6`B#0 z$LOldkrLMU&(sMvmZX^Rm5I=pJ);UeAJ_Vq=M$ANzwRAsfZ`?bdk!G1LUJM>SNjTP zVAZ8{phc9Rjf!a3USb;_mX{F>5#TMPTj}Onw#vWegd=aW)kJN^&O2ZWPc$8l+VMBU zuDo*}rk&-~Zcz05iWd5lHrV;baRb`#qfLrk?!Wr*FU*yBbVShOzt0;WXO^sz&N->& z_66SjrlQ1ZxtvoNdWiC8_ry>~2m=itFK1%2bJS+wwb_@h8Cq5iVQbT# z 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 diff --git a/res/img/flags/QA.png b/res/img/flags/QA.png deleted file mode 100644 index bb091cc88c2ee7548fc207a5bdb851a5d0149343..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1564 zcmZ{kc~sH~5XXO+fVbHpl|`~WBHpj}WCT@Bas zVgLXs+F>!SRQ^2w)Nxn$?cAmHhUik3mZthuT;Ksj8QV1dsLufVnp4>z7}4p)I;zbY zVGk4d9?VAPIxNH4^w?DocR97FG@MVmE5=EW2$sF`UPddayXQuNt}XFLnbF%Z(W+%{ zmp$2`2r2F=L_)XXod4~jR(vh(kI`_m>-NWLkhfP6RYRe5UdaRgv`yQ8nndA3gSy5^ z`merAputov*vtdIikp7obA#Y^gKJiC!mjwZj1r=C-`c7c^@?}vOaLmCpzjqg6KIqX zMCM6ma5f)5ER4Kpe62K|2!c|qN=i4l2cdWv@u*pS)?xOc>D6ZzDuTPHoAD$$kNSp7 zv!4^Qsv(!@hyR>D9h3RNsD)4#c&7U7epPeQ?!y>dpu^xdQZ6*#6omjAjE|l;BhfU? zYHt06L2k;^OR2RbKyFE1&5iVsXl>SoTx`h|6Cc^Au1}0ks5PHUNtH{feCh3O7@M*v zpP||jn-tS!c^=gVuBdoYrM0xfmYm=XUY*+bRk8ca$sSO*)i8}2P?9wmJFToKyz$mp$x8NJKn#s*($daS>^z&D ztH`%H-y%XU-?Xd?;SeR^z5B;~Ww_6KzeM=7MF+V%wt7wohM88uwL$%2hcbulfba;w6naR1s1FhTc$Z6fW&HKlUH5Ylo}qjF$gW}YfA zMXwlL+R-mjQ6!l~S-sga9N&vqt=41s<&eU7$(UD+tz+pqnlvYlU>eyrZ&3`0_fITW zLk_AiByQ}C&>E6S&eCo-j%9V?CSod3I1xhOGUi9pK*6m^{&vF-Y|i}{P|H5ifa!;X zkTB8`R+4 z(!V!^@2hcg9LTYG)iBgAt9IZ@2X^f-$Yjmd)h~SsR8?9Kb|1fE=7!FR(k~ga^%@D0 zxAc&+OeOZA=EyiZWAyB>`K{>#sX}7ucJO50an|UgLY_q1s6cf`?`M39gg@wsmkkpw zUJXc_5Wyy)Y?bGNn$_s?r^&hZhvJd#?e;?}h)%-vLba{q#s+NTv)G>OekvC_r>vJac4z)2zVs=n>Fl~6o9W&7yFj%vyybQOu-I#}l|lZBF@&x{P6-AJb2>g)A6gd* zoW-X+6~#Kdm9##3S4B0m!iSOiwZ-xHGa#p#zGB%nfhHD{9w&_$a5~o`IWOK9BU!95 zG^^32+#L<-mKjDdS4wcRAD6+obq*1p@|sC_W->?bNZUg7&Lqi>WUyTJ zxMSMG9{aV{DDPa2P-Vv}?22-Xo~xo$osa7{;b6%>Z+c~OUn{m7Z%!5;`OgQ!Is283 zZ@3mVe%-V6$bRXk+(*HAPyz!eK`7FhASnQ2xDiqxj?gzYcQrOaA&gL_@ZaD@C^($T g5gq!6;B-XbDRSKZ3*?J^6Qu&c4(EV@~ diff --git a/res/img/flags/RE.png b/res/img/flags/RE.png deleted file mode 100644 index 6d50a0f544ad14e2da315e53fdeb187d3c8781c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#LMOT^vIyZoR#|-pj>NqU~e( zkyycIoumjJqZ@lTPbZm3x(Xc8kUp~I;_VH3aR)VEXouPVTDHYHQZ_R2 zHFc$JGZW|i@dVlc1P;oV%B8(Dmrm(eCjaaHlR3rbUV6{}IbZ(5>(J0zexKQzOB+QN zPw(B%z4CIrr2ab3?XSbltILCy@87d!gX&QYr}X*1O@Fj@t7om&&I~;-1 z9RK$I^719$C;$H39H=O_J^!8;>H@%A+_%r7#O8IT^vIyZoR#|FptTQ;n>IZ z(`UEF%$Ttxt%|egA+N!VPRY2&#g^^{A|_ z(mEFO^+M&J30rEbbzki*v9{>%fB*dF`mg)9ovQu1B;X!Tv99dy_DI8tX65HEpYyXS z<=<>D(J7KI)Vp%&zN)i(okQ1N?>_qV=c1j9FS0bvRGcA6F|kkjZ{YQP(u@#q=>BB! z%QtmAeavSKP(ZcBHKHUXu_Vv>Ka*u7#Ulc8d{kcXd4(>85mR? gdTNWJAvZrIGp!Q02G04hjUX#MUHx3vIVCg!0GwUKT>t<8 diff --git a/res/img/flags/RS.png b/res/img/flags/RS.png deleted file mode 100644 index ebb0f28a7bdf6b76c944ac6808319a7e4cb98945..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3349 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 diff --git a/res/img/flags/RU.png b/res/img/flags/RU.png deleted file mode 100644 index 64532ffa58af755f27404820c7be89cbc260bbbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 662 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#LeUT^vIyZoR!>?|s-o=GaH| zuktAcFRtk>oW1(}0Z*1(cJ=LkUEQTIO^&dAF8r&^jir z&^i5}-1Xme*VJ2ne=NA8Dg?9$2p+h6xz1cU?|EgM$U1SUSth=hO?vCT8t4CRQt_Om zQfPbZjqx#wG7$|iM_GG-s(?9DUiSG*7~ls+}ZZI`E&2?oR{|P?kktoZ$Irh#wT6p zTNcwV+`#O4{b^yZan8c)73H?R0(z?tNo_x}D73)4r0>1K`G6Ve8fT2JrO!~S3O@g} zi1~xg%Y`=E^m9DtT7G-{|McqQ*N3M4K6-Y?>#A7_Z^BxywZ_irm+zmoE}hfCJ!*9a z(B{0l&4-sIhloarf7>Zo*yek1QAyO)+y7@hnr0!pamgB+wDT2ke?e`#{>ws+XVaN) znUH{DFn-2fH_iP>b3(-fponUTYeY#(Vo9o1a#1RfVlXl=G}kpS)itsRF*3F?HMBA@ p&^9o%GBBt(^wbtbLvDUbW?Cg~4V?318-W@aJYD@<);T3K0RVE30(<}f diff --git a/res/img/flags/RW.png b/res/img/flags/RW.png deleted file mode 100644 index 64b3cfff04b69bfd82c843aae87f239df697b74a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1695 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 diff --git a/res/img/flags/SD.png b/res/img/flags/SD.png deleted file mode 100644 index d8711a83d695b5f01815e1733b510fb86e701f61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2103 zcmZ{ldpy(a8^^yJHpk7e(d1Ah$L17G{KiHi%VB9KHs_o|YayO(2pvR`^Qn>QFxU-y644QKpGDe?W{002mxvd6g! zcjOBIwop>|LDzAnq^#(31h+mq4P=0>Bj%0L+m9 z0G$T_h{&Q=mlJ{k#Mkj8PC!9yVqee%5R0_;xGW&)f4LND(<>;Tlv7T&&;wpSbTmp>kGgT7D9LFx^(10Jeg&pLh|CG6Hh9GZheIzbOt%^C0c;TX+7AeI3+I zew67bp9P*(Jj45)t+14g^oxA((cVm2E5 zUQk7R7nX&_cDNUiw>43ri9_Oy@ zq&_%b$S)DJ{r$U=0yjB^yXFeN_#Z*kBGi52c@kzv`)fgxlGv=uq?*Zx!cc9#>I!NZD~J%x?aZ08-C_T!$r`#xEY_i92EExI z!cHcHaHv7p>(AgtZsm5wE%LM*TqWX2%Ka7C%!p}TA8~lZUCgIgA|c%$^&y0-3?8xn z#@C>aszdxh)ObMDbfvcQK5ey<_U`C*O;0I_f3Zd@)!HIRL&A)h(7cUI5yD2w}WqZG$I*CzKH%}~ni0nFxn2%=U#Ht*qa6GY>o})A}F6+n6 z?{7+OKz;r2&M#!kdb%h=SL=kNW0qZpQ$A!hrl(Gv6T{gaB1*Ny=zA}U8{NW&VHG~~ zN}+V5eYR}I9rRZ!KIg+RD<)&=KHw_1p{)m1WRKSKSJV&=PWd0NO1!*hxbtbbkL{%= zRR6y4OcmF#gfDF2WCmk(Penfm|5&XX^)Ck^s{cr+SnYa+(1ywKxVv&dwEH#GF-`HKmdmDBD>I&75JqSu!Y^H}H=?x4Dc ztE$4Xh)JuZt!b6@;*9y9nkvz)26Jrz2E2I$Z7%38dudv!QXwtqDgV=Ud*ZWNnH@C> zjuUUsPA!&TgB=v5=Igz)zj7i6FZ`-jm9)RDa!*2w$LV`OP-1Znk{vKu|4ln@s=dHeXw)~BVa zST#Vt$JU_Zw{gbAyvmx9##ks%wFnaXtyQg zqSwU7BrF_eshC#xkfd*{oe~KgxBd>zyz&>g1b-{c3v-1{ zV}AM;pwBJnOG*kHd~f>O8*(#)lU3S8#|N^rFwzd85}4I}vjVKO4Ijkp(>y;5OJ2Cv z{tG}AMvsB)LVMF{%aD^;eHF#djOWnDZ`nz$xf_-VUYy~GSmL(;6M7rb5fWVBp8(3_ zvz7sjhuwm58RO&hS8iM*o#yH2zdsKx6DYQ%{dUu2$Y<|xebJO2JULu}_spidN()ie zXX9mnIm-+}vP-;l$^nBwlOBk4U4t0rSfc{wgQiq4dz!yG;H)~YH~Ml|X9&dvs($QW&Eh&Dm#q72a}R7}T|myU;s|p;&HV$q{M#! DldQAM diff --git a/res/img/flags/SE.png b/res/img/flags/SE.png deleted file mode 100644 index 81880931f392086201cb9faf68efda479bcf8df5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1278 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7?|IBx;TbZ+ULJC~qNF5JIB}b_r%codrzLui4!LHkrW7n*_P|L% zGgLWGbh2wsc3AJlB_GnnryRV(=a;nn^SbWuerhM5aB^18jIrH+w$-?}{qW!Y#rG|r z-(z$Q6hWX&jx|NAD+7yetKv6gNwzvJNLUO{IQ&qxXA2$^{LknCH{Q8`02!9%Zf+G#ATK3 z4?Q~Wt=zwd@ma(5&ktNTY>qJ$j{d&>BFn)G0r~lR?`CgFKJ_f%po}wXF^}jO!w`ex z2#yeUx@OMhLvM`5E%?f={YhHic=E$CT_(v-A`BdjFD6FaF7JFJc}wHyXFsMHiobPc z)TY@VXM7|2+xhUd(&`mgW(%=S=5vYa2ng7F(}r>CNrU?(ayxRL@8FxGbY9|vxuS0N zvTe);Y0oR-HvjTrxFqAXgaJKHwUUrUoM)}zlxs7K^O!!X}vqjDOd@jtMAzCGU-`$&{_tN&= zo|16svN!L|UynM37VerAojY&0&A`c&k5V3HvuT zKeH;hlA_7rI?eO)|0z4!@7y~u@5b8uyURZs-}k?|+(7R3<3hQHeIINYtdGgeP55@f zai!Twy?|xHKK7Ab2X>Sj{(Et5kA^5}dvriApGTunEPSA4LfAW)U;H8T@RnM2Pt6S`yXc=f=dD53#vtnuAq%Sd> z_PzVKtvfYr@8Xm=nLwp03tz5JyZ4{Bt9-hC`Mkzy()S#;GHg51uDAT_W%YZvF3i)I zA+vM2`<0m!nx^mQi}E~w{3P?%6sL~ucAXl6t4wy9TqqTtkz@5~0sn!%8E5=-^SSnH z-uN>w+s{T>Gb=jqTN0j#N zThY4Z(##d2djc;7%%A7}?T2jW?O%(4ff%#Dg_&pJ^nyF?SQ0KU6<^pd{kG_ue1cZj zA`Lk5YW~5#pn1~OUw6&xfMtPdiEBhjN@7W>RdP`(kYX@0Ff`XSFx54(2r)9YGBva^ qG0-+Jv@$TLIP}yOMMG|WN@iLmZVjCCV;g}Q7(8A5T-G@yGywqTS~f@k diff --git a/res/img/flags/SG.png b/res/img/flags/SG.png deleted file mode 100644 index 6f00e57923a5c9f0c58fa482d3ba6a27eaf514b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2210 zcmaKtcR1T?8^?cwsMVOY+tfKnQ6p-PYGQlMQj}7Ai@noILQ81XJoYMTw5nU||9P(P99Ac>n-Mv=U|o0K#AZu;v5+YB>PF z7g*4KQ-k&ab}`b|p^>ITZ9JL==0F465E`9+<+iWZ812FoYG|U%^o>!NPhMQ;*8MG7 zCCyL=aVzpOK7#@vD}3(wQoE;*n<#PjLUQ_ zzHA0+qBleKH=>HacB*@hu_l#@{~PnX^Ih!XlK&`uVulszE&5A+=tWn*H3p?ST0MX5 zLp9JMEQ>yTZuQLp9j)UH>k=_nDMs?<{9k4RfT8OG8k6=|L- zcTS^#e29WVK+9Hlbq%@6ccEYX1Nz=oh6^N&c5P}dRF7Y>@j5i4;7h?V!ZFBodqfrL z5*PkymZ__t_zsg>T#&u7-QIZ)eW~kGAwV)mEJ6p@(q{~x@0n`Vd%2U5d5JTJ@R&J} zI2BBf8%XYD!)Vz2X;%o2C&{E0hIFsBtmQY}_OiU^w?1nIbvhymO=iVq%`URWs{l%no6$ z(nSqnK2bZEUr)Fp7W1_VVUGHiESr5XKB>%5*YZN_4{8?kj3#4N>j%8FlWEaf!8Qwj zZ>jRZK9f@9lPI;=m1;u@+q*oeW>C5i+0P!udQ?rl+aPNj$|F}QPdu!>cHqX5-K*3R z68m#0g0E9mgs5P$Ge$q~phc|029DHPtKU0?p0}0BO~9!51?6&Mk>6E*MAwy{$wkf^ z!}i6ih|$L=N9P}fe0zzG*~c95Fpy9{YM`6ZS6RhMjoWNfz8j= zwG*cpS8D0&uUMiFUbY;va_KJ1RSJ99CZstg6x2xAch%;@IJ%tGj+Y_u!p-dts>Gq^ zwo{fRqCZzJXT)`TQ(JxXAson;10b_FISDbvXd$nP{in{%@Y5NZ>irC`{@T zQ1N(NV#gc$W$LY>BUW?IZhaR5ukFfp92aaXFIjJv-8k5jk0*->sqkX$;;qkvm<0Z?GoSwFR(Gau0V(nlbn^KAdMG zQY9_JRBt(=oYy)!OCluh21+pZA%;~$&>XDE7q!)h8pt|+P;kJAtS??W?1gRrq5nIh zq-A?y2AAYE(w?HZB-79}xP_i70A`!@Up|T0ipWW@H^t((P&(k$`HkcE$mcCd;>hQSsNwfRzJC9 z4{Wx&t`2myDUx!8Gq~OWjf$637|`Q&szD|oN^i4oEMA-N%qE*815Dlt0E;Q>cPpWy<>2 zN^#saWP@9UW$n9P!EummYLNSHLm_aK67}g5Fl;zcq_~>t&4;NN_exAt(NYl?Oi$ZXU#dx-3cZ6>>w zuUK})V(f)kXZK@$LMo4HlkWvsk9=*+@9&1vY?Rq>2c!c)Cy`6KB52bJlONa#&K>nQ zlz{R-V)uHgZ)I}c*oeJoykZKH)p;Y+{o0sML&yYYIcK&**S(|3?3Hw^{ z@R>2bNC*qZiSww!ajoK}^rnZ2WadnwtUKMD+Z7ZYyO1^9!t6~8{$Q>U z(sk-_$a)sH>?}InJlMXWSpzGWO|IM>q)wxfkGh<@{AF9dwvqQ7<`t={bCeg}oV$n1 zg^x@iH6k+q$=9&+t`*$)xMlB;HOsu0&q5lgBHVlYe_)(3#zhIofAK%q59Zaq$@6dQ zq@(GRZMq{I!K}Tsef>wM?(I-F=TLVw*I;)VfNL;0WoekA^fi@R*W}d{<I()Ir`AOqaIJ)-`%fw|ZLOEUn5x~4j{T28Tl11DPo>Hq)$ diff --git a/res/img/flags/SH.png b/res/img/flags/SH.png deleted file mode 100644 index 055dde68bc14c17434eb2759857b8818fbaeae42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4615 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 diff --git a/res/img/flags/SI.png b/res/img/flags/SI.png deleted file mode 100644 index 96359834069bdbbf4ddfacbc677565d5baf73c2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1613 zcmZ{kdpOez7{`CJS-I^Qat)DOj$CFtG`6)c!!r|$CT4AzS#qC|a@?xv!km(4(wUG; z9pn~s7b=lNq@;35oES+dx;U%y&-=cg_ws!Ieb0D$xG2eM%L4$Q9kAzh`+13(-C0NyeHz+MOd z8c|o8y|B^)G?3&%kW#93r;#Y)NeneW0J2c^vxt{d5T%ap8+2Fi51chWKd z$YR|H4&DjllBXO`AC_k4%I0wmTaZJPL8HRuFO%q!XcJgl`T|wKAO_sHrJYjXq{(W+4uHjTgU#nCicVF zf@1~8ms(PaOwaxrcU9svPW==`J0N?wy7z}%4b0RUkE@==g;4)~sFsm%O-wqpv2Ymk$;+#F+78q)85Ms+~74}_%Cq4CXo{VZiUMhDeF zAR+n_m8Q5I3wMIL?S>fsY80YsJXX} zVFaCJQ!Y_B@EgH%y<*_O{ybg_=_+IF4o}@AboJ()oQG-IIFo+)vy)B~p?v5!mKLUS z8a}4ARVY`SIn>R<-aO68=eB$;QP$cOLA$CnX43zXaXU>eBUFv@dWRxB$G|eRVPD9G zSU;g7ve^*SH%Dz#6|3ooMub}vxQcnN$F9?LakuU#TEX+lv(q~I;+2jQ-Nb2<|Ni+= z#A<%2DA09g^|JLxwQgKAA5}TFP6c@!b+^t+G1&KIwL3cXjWtp`04LUUa;h+5r@Pb zU-Zje<06KFCPP*-Gj5c?#b)KZ81k(x2%dkVCE`t8Wa8_Ild(HkWP8lEeV9dg@JkiR z=izxK>S1kH&HBfXv(WDF1fchY|;p?r(h1`@A+pcEgW! zJ_OGlFbnr=YOQ=>3+f?KJtWJM^a1pr3KhobrK771(_px@sCqrCv;rNSaw5+w&?=*F zT#mX&{O-u-_9_hHZC-fnpn#t$VD0tK-nu?D9$%T2ZfJ=u3p36LC5!deumUxcWWbVu z65Xp$7#OQ=PPGZ@l6w!}+(0!1{FDfmr8l*%yXFYnz+M2{UEClwgqG)#=f@z`r%(C5iWvN|@)C72C9Jm$+_m^xPpIvyV!m z#iq3*zT@ZCUqzbQG!sfZqM<1E$hkJ{gAL=ggULigq}gWug^kotMa71=;44EmW{sTS zx)-X6Rtx@xUSZrzec@Rcr(2IXOz&<#&CzOgqD{rA6+bRo$IkB1k(rABey&Xs9)t@D zPla$5!cz58_eXg?1N%hQUFMV^&Sg^jRg|zjYQeoSlj=O*p0BZM<5cqW^un5 b!Xtw@A; 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 F2>^841hN1C diff --git a/res/img/flags/SM.png b/res/img/flags/SM.png deleted file mode 100644 index 1af1ca284fdcff936c14d6f4a59e427d026789c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3009 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 U0Da;~;R*mtQ#`KnEaBRJ0G45cFaQ7m diff --git a/res/img/flags/SR.png b/res/img/flags/SR.png deleted file mode 100644 index b072dda835cee73f1c890ba76614664c78aa8c24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1942 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�=$Co5EvpO`aoR}e=I%dm|_8f6)aj<8VNybDn&%~~8gh{v6^ zdWy#a(WnhWZiE!K`;)|L2AnLf@{9Zf;3$JHH7_|f;~Dygz^Sn`N#~C^hi=9!mKj{V z9T)`pE>|VpMQuX3V*A2@b4K@j1?B3;Eg5?SKg^{$<8QtyoWA~&qw8#SsiqCGj@(GNQ>gR%^m=^8ZmN^a&@XF4_@&Z3`*1|lyw}diLKf01R}P(!jw0l)OSZ~|Gzd-k=N%P>&-H=O_J^!8;>H@%A+_%r7?@{yx;TbZ+sbvW@lG z-Q}!Hrv!OvLWr2eW7djOy_N=P3T|)qGhG;>q9 zey()wo&#?iUj55Rlv~_d*(3JMFlxqeAm?#KWd5|-$Is|)f9%J&zt8r~jtyVz|BAm+ z&D%d)bAfF2n#AL+tZ`K(&z04SWb!ipAL03@qrkrN#P)=;O_RmpkR|u_&CA>5 z8WsP-XUlSzH5upI&YhL~eDsOC<(tJeeD61KYU|XxZu2<#p)lG#yz#2`r&mpnSC@r% zvq&ZVzCK4#bI#u9udn8Ju)IpHzCK4NGQN0ELV3uNw{Ol)Db-BgcluM`nUDVSJi~9i zHQ(myby@s<-M%f~E^InAgJaKj3zP6AU%H+9!}InW|C)cg_+`}pXOinTbl!gX;@C3& zikUxkWa@TRIv?LQ&22{A(hsW_Wp(@)So^z1l%QP0mm zla4DM@8-*#z?OO9AM4VIt1q##HAixleO#N(Tw739_;i=QvOt%}_9;gmZjC&@KBkbZ zDxCkzSNn;Tdt;{FZ@8bS@?yUY3ul_C|Gnv7%j=Gu5uUhM_P*ATv~Nu!p7Zx`?>S#&)^syvpE=_L8{a=HESv^s z+bgwJEJ*s2cs%|Pr~0AJ0wwmwcP2YnO_EMOuRB&dO+9kz8n3Y4f2wl|d-u40HN4+% z`P;)Jb=jFImbTGPPq(ZW3N8C$e-1V2g3|Hh)W84hFYJ^Jhh_*+)_6MUKLcw~!Oscq zd-{PHSGB}7q9i4;B-JXpC>2OC7#SFv>l&Eq8d-!G8C#heTA3JV8yH#{7*rg3YKx*F bH$NpatrE8e&iS#8Kn)C@u6{1-oD!M<6V4Q% diff --git a/res/img/flags/SZ.png b/res/img/flags/SZ.png deleted file mode 100644 index 2182f4ff9330ebefcb10ab7f31a4ad77b114ab6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4133 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 tA{|EN%rAz<- diff --git a/res/img/flags/TC.png b/res/img/flags/TC.png deleted file mode 100644 index 3e3e19d4b3cd6794aa2d0f88df3e5d12b263aec9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4631 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 diff --git a/res/img/flags/TF.png b/res/img/flags/TF.png deleted file mode 100644 index 6d50a0f544ad14e2da315e53fdeb187d3c8781c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#LMOT^vIyZoR#|-pj>NqU~e( zkyycIoumjJqZ@lTPbZm3x(Xc8kUp~I;_VH3aR)VEXouPVTDHYHQZ_R2 zHFc$JGZW|i@dVlc1P;oV%B8(Dmrm(eCjaaHlR3rbUV6{}IbZ(5>(J0zexKQzOB+QN zPw(B%z4CIrr2ab3?XSbltILCy@87d!gX&QYr}X*1O@Fj@t7om&&I~;-1 z9RK$I^719$C;$H399Mu6yqPX&4QEm-O_XRtQ;t_?JSc(Cq7@p35iEz42>tX6I6`;B>@{NAg z_KsqVqSlR>gSCOT<s5(1a z<{O<#wME)P&7JKpldNS$KbYGZP-R*PZZSRq69u$JiRayAw>n?J{E!c8#xak7$vlXw z)=CnDR@?p6kN+*~%W8j`B+Rk?yAz20Bz+NBAGvl+mKxV8`EKK|FA1sc`K7sUc@&aO zQE$DX)5{L(PXI3N{y|I8vaYdPWMoIVVO%N$T6FMJrfN>Lx$U>vKx(6gk~q)wOlU_B z2q2i9b%2a6$OsiOz-nkjYQEH{2(5N^> zko1y1e!JBgX%Akt57oOV zqGk3mWm^YePr$-TR5%?75MmgBVP?YjD5?X_D6oF!6pN1sgZN%UZ*u$F+D2WO)5@?o%~GWyTe_xC2f&d@QG<|NNV z45{aCDsMM6>e{YI16#9z9v7^W6em>PwLg`?tQIqPgnim9Q8zfdj9_LriydP`uH0Al zrz#M?WE+NIdj9NrJA;gOd1BgW8n~THikJX9i3FubVUVSDR`BT=FzoLAMFq0ul1ku9 zoBzyJx7>_I*owZ`n5O!)CyMeM7cff{;`ce{rb>3059_|qIVkNTZ&#n~XfJE2x?jR3 zB=}9OW6HmfFYL?J)VgI5k9|`~t)1Z_CM&(1g1TI*y>+>JELE1kpI)KfXtaCs=&2%u z$X^icGZr};e~T=eu0*Ivv8)J{lCvg`WwEf4)=^EcYQZ#kbltOdOv>j{*|0c>mgij_ z`MCwP>x#$HHxP*!QGkl!FIzKXlD6ILqjJ*jWe@$qNGhVr0Vx7LGT@YO3 z=t@;-2pkhFz<*V8zwB{}_cyLsl}PTW=mH0_W{UX{V0o2`r_p*u$5#Qe%E=B zZbBu>H|TXqV+zR!^BOncE@?|n<0im+lw8PN=tSZP)m`cP)=t_Nlq&HqsY2Srgp2c(KdRxbR(PmmyGUIS!h@TlT?$; z+#b=uMQkepZgBKmP+y$fuXlvn?v0BY>vqo~rBE)_Ud#k`l2k~vRyZb{CVWx01+Dr zkn{!D@K>bYoY>Fa3dYok@s8v1B-{PP9Fe;L9f0z!f={eOeNA6^uW0a%;c Kn>CsEr2Pl{GJ_NV diff --git a/res/img/flags/TH.png b/res/img/flags/TH.png deleted file mode 100644 index 0c884c329e1e463255364f44f2c4ba4703e567d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 764 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#LrBx;TbZ+^X(-~Ie|8;+$6*2MnlS7Y|U)^2QTs`YSwP4sX<&!U~BdqEKUKjN*X1Hu*y{z2l z{^41*r(++@a}#`i@1lTv=R(c5)2fA7_i#qfxM#T2Ks`%5&VI-8K!?~hr;~~jZ$2q1 z$p)FG-Nn7J{>9wM+}X=-xodu=nASnesa~+;j5(J?m+l-UM#%D?+zFTE2VAv~xqz<7L$~$M)WN@S4MW z%e=kCznm@ZR@4>Esh;!T^^9pZCq3D*_mlj?Z(aR8ufBCfZ!Mpr@!f=LhM;BO_r8;@ zH)p>*nlq_diZv#-YmthY__g!f%WrGG%bZf6%MJ9ho=~q%!TCiE6Ky?imE8a6bws}4 zi6O{oe--C2=7++ffWcuwEpx4Z4O8kDk3~R1)e_f;l9a@fRIB8oR3OD*WMF8nYhbEt yWD#OyY-MU_Wn!RhU}$AvP;uy~EsBQR{FKbJO57Sa=f^gJto3yDb6Mw<&;$S#pf&se diff --git a/res/img/flags/TJ.png b/res/img/flags/TJ.png deleted file mode 100644 index 3c9026fa0f0c4f00dfdbf89162b8c5725949070e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1647 zcmZ{kX*k>I8i(J6AhEPFqLkE@mZnG}2>zC;T7uBiNHs-C(N3KPQ9+q85!IH1V{{y< zV;NmthoX{Z#;&-i*jh?0RZ+E8ijFG5IRBY%{czsvd7k@u-}m}`z0?2U830s}hs$xs)iLR402_N+t7Ub!CvqT9Bow~UMt=0q%{YB22N*m{%}_d|bTIe1 z>wCjJ30-TkIE%}_hjlkcoSl@k3fo%P48)v)8|aC&u8 zpZacZlEAxfd1fhowx=)tleDLx2;q7P`*l@3u;OuQ1Bv-wp5^Lv!x*T@=aKK=QiL_* zj2*lVEf9L?zUPSfCfE;t#`o>_pRSH`)2Jvy2ei$1(DVF@@&*iFKq^O>wkRyKXvUW` z)=nu`PxK6be@h3`rX1I?sG|3?lIZC(isOh8LO`4Ti2OcT#wyfek9UWV9>i+-Rp<8w zAE{-8#O8f-X~YACe8a-OIJM9;% zlC+JADHBPt>E0rQodXj|-DaG1=;HjxSGT%!GdpH$(B_Z)-<)&GDr*}Zd_1GeXJw+x z5gp#YL9dNpuk+nD4n1I+!kC9ByDz8HSa$0oZo{GAGmQr;2HSWrGw6`QsbqQtsqYyz@u zWJs1UF!HfwI+kv@=036i;&bf;d*?49*)b@POUPv z`g{(HYC49`jLlHkr3_X!E*~t`!atZ#dNiHB`nV%uXB@x8JB8h-6hfjie_jx`g-EAV z)Gd)iJ>O2BC~_+i9~D)~wFSIP^1U9u7UN%-)I`uNlcv=wsJwE_CPZ2hhaLOZlA17` zj}Ek4Exj@~Jo+#i&W=8`zni(U(EP4oFdcF0Y*jWocFZrf01DOP(6AJo{9B8EUDo6) zy}})3OPN>py;gi+(7dJ!M@Qi#!(6r!{IBxYd#YZtRm@$R&F>R zb5y?6)LmkKV>+y_Pgm~+5 zAF}$3&nQwqZ{saWLL2l|bs(%`lbeH26P>CMak{$`v7UtP5+V0|1++2wn9yxr{1=FRPmj#%m0sap;!lA=4;#iQFVh#CQLV(I3<%? zKA1TlSM7jmVKln;xPacMU9=N*(qHoZV%EdC(%20^tua%4!OJQ@;BKM$5QrX|Ly_k@ zF#wYi!HBMPY~Sv%ZS}q>dcAm1@7GP+A25xe{qQ6a5G{vXb>7zO4Eb%TUQRr5ehJM+ zu$(x>iVNr#H!;5qs`Bq5!%plDg%bScHf)6W2uSydVYqdQ-kouF`FAV9shXxGq3;7= z!-N=IV`^dUt!4{8?foxHnt6n2r!Klt8`zy!5QW$H+GkkT&5|AEi(N-439JeMEZ;+1 zS0*>?Jof?=dgTHPKqi@6n~|){$TkeJ1!QFoS&~dh<`9W=wROhft3X6lSop<+{~th? Roa4g*;Nj}yQt8Y}`5!=o(?0+J diff --git a/res/img/flags/TK.png b/res/img/flags/TK.png deleted file mode 100644 index fd605749ea4d64fa780d884cf3659f6c522090b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4829 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%0AaWpm7*#@osy30QgpYCl^%t;aT2j zN^Ha5khD^U{lbGUn$l0}dK4^4m2?!F{yR?W+AhLp51VpyWoUQZo7k_JwpDuFhQ&HQ zvP@T?>YJdORaAinMBr7tAX&}4xq)DmS9lt3*Q2=Q4W_N&_R~0M!Zq+=cXSP`z48l< zchu?Q0?Zg%*?V#Me>HaZ0y=5=9eraO({#0B^80IA_&<8+@1)@9>vRP`T2kt^xFkYc zTFyjTMgbwEa7$8DQc6KmGWgq)^8Yb-p&z+9hy4Er@;sa9D+8ddsi#q)W*_q}U)oDU diff --git a/res/img/flags/TN.png b/res/img/flags/TN.png deleted file mode 100644 index 21c4b98be71f6876be9b7aa3506430f7670e2ca7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2635 zcmZ{mc{tSV8pnUL8Dfw$Dr8QUL>R)@%~(RRkD@GNC&kE;-5{Y9Udq^~#qwIB#n@hq z3Zc;|vai{Ou`gpg^PcPcbFTL~-|PC`pXa&n=X*W>-pQ8cMu;P)jsO6FFflf;W>fWV z^K-E4P%pKB4X78+3U*^-#Ff(+p^{PM`yG2>l2c#uRkJ7`FU}%K(c_3ht-p6X#c>=IJar%ZDA_4 z8Fdi87R?+PWezjz{p*>$C;p+goD(5%yUHu&y)quA3hRdttN#{y#ezj%`VreEfc#nI zY+Bgh`DgSX`tusoKo znY*!%x-uq?VxMZ?0_9tGksgE>?;+g_nw=FuW#n#C674b?;LVeZx=~xA;!fr|o<^eA z*j&bA$}Yrq|8<5=QRr*5Jxg+8XvIXKW=ryoUW&q+`gis>K$MbM$1*Q)7FjkQB~_OD z!=B#bw=$|$m^;yP(zBgME#M=Q6!A-nH-5G}RJM)M;qBI?jU~70ifHL3iy(sqE+_7O zVg&PK%C%-dAh<#+Cp&x2p1YIREqFk?;`JtB8CbqP&&(LkE=!NAUlvfQ3y5%|F^zy# zMcQ5ayO1&3*KbdW8tdg`MqEWT~<2gx6)8xz#C6pA7Z@YDGgIm6fXkicNrqJW}xvgl@=L_wwIwZB~yMC zOgUq~2?$`M#p<3Dq%M>AS_Ix;x9`IyPR%ALJ*Ps!PhMWz8&O%NN=dY=>!iVl;G1vb zUDTVNK0Rz6isy@`GKMzZ@$mb@4WU2*%;LQ80bqx;h`jY_i{F@)V)ndMJlf3t(8N;Z z{P_6J8rDZ#ezyl|FViu>-QWLRP_p);@>XM_kJ^+Wzgutp4Zbghf1Eu2o#xNV?HC;x zl=$KCg}dv1RS~YuP5k1cd??1+$RTMStkPMod4B(bx0BH5xz}<1Gdt;CD79jddgknn zI+NAa$EPU)D+dz^V^QAGwL*uS(M+j(3Mo+SD}Gg>oFD8qj@M-QYA?kNdXP_0*75q- zD>tk#SL1gU<$L#$B&MwF9?}tLSIMikNLb~&XPfc}wwq*AIK2eeP!E&7bo{IOd(VmFAvbr4Pw~F7TN1&yCo94?%l>&$c^^qC`i9zr}$ zK#TNgyMxxMcQIVY`Fbki+Da-cF}Ka=tT6eAr{Oc9y>X{Rs7;dqsx6(FM0^;r+p{C1 zBj$d#S`yUsSSfw*8!lj6=j3m?$OO(Wz|+SD$Cz%25n3j1ZvQMj0h|Hdd{HiD0UYIZ z6$^DZ&1xH48S5+sDITVQi~BTZLRRBe-$2SQ9)JugEYj}?S9_hN>lVkgO=ios6mS=u zd-dS?U>!qC@0p+00MbBdI|i|8rJWz-_AOM{Z741oBIF z?=2yup*72`FVYSuiAc#z5n$hY&a^Kad=(oW*YONzwO>`g*WbLKA?^mkJ4LrEPjY^A zqMlUc#;@lMuhko({>;7BcU%kN>ifJ9rc@)-l-TVgI`W8mlyY-Z0a3xBx`LTO@yEKB z8{e9fu1_cEqP!0-m3$>DnkxfZXb5Fw)wR5vFXL!S&9m^b@8Z89Y ze4(j|09z4$xxd1FN&ayx*9JS*)V8avjQ3!<-{NrX1*TtgJ89ZobAAG0t{s zlbfOT=Sn{Qk`tB02vqEhpo+8oO0Q#ICd{u9QU`T)BH|a&+@HyXT|hRUk|@JSM=V$k za%y!e`Zl3qL2afhFrHgA5@VZWIKHM!DwSnfLLozXWw9#5iSqjEl?^<9`Fs!_U-o{UQJ1W)ASb) z%-lI<6Dh7rczXU{u0PeQTXHt0W**Q4hkZ@9;H?p(ku5@f4UD4aFC!cw-d8Kd6_()0 zY;k&t!(=d~4>7WB%AY{kL8MjHrl-q^3JUq1C4c&EaYGWtD*x4-MO*3pW!~{^%ya#^ zeRne~B>Z0Z3%%uO{d}dHW5M3r+-?Hc@=Bd+>--M2?d}(gXb(H1I1ruj^IM*k7HIv4 zecgX@Q}ru-rt7xowD*@9ULRSO$azX!+mT>SOA#4b7pD3-`1gAiA{FA;pZa87(~yy0 zs^glG-waYlM#-g|;V{sQtpkNW9de8SfzModcx^{LG)sb!9az=XY~C>3}eUe0?gvg6iGZ8$Z*aa)2%tJp}&&;j^9 zpwk`U2%3IQDSpOBK^n1Tm89eOE)`9bmmW6!&wD@p-7T3&AXi+1k$6 z?J!9}AW;)Pmm6Tzn&a~qG#i~y*2#Qp5MkKQ&^TgqCY^lP4jK& z;uc^g2bMoHzavceQ_C+S+!wFGbnhW;`sdzO}3hvJR$03Ne{gX%BYBtown zc57;FY5(sofrk2e46W#QEFRdp5dNX%H@}&MM>8H&DBBvb7c0piL%Se%mmm)fx7!|U z07_^@j2v1;PDu@~bU{N!Q9~Imi&oS?qeI_KYyVH+mcP4?XW0J_a1}bnvIBsLp}E0J IJwn{S0f(l+jQ{`u diff --git a/res/img/flags/TO.png b/res/img/flags/TO.png deleted file mode 100644 index c828206e35c89ba78ab8ff0ccc1ccaa8639221bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1618 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 AI{*Lx diff --git a/res/img/flags/TT.png b/res/img/flags/TT.png deleted file mode 100644 index 66d698334bdbd74bc80d180e73d585fdd0ae41ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5253 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 diff --git a/res/img/flags/TV.png b/res/img/flags/TV.png deleted file mode 100644 index 7a127f51ae3b4a7b80a468b6b5c4ad95a79d1cbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5915 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 diff --git a/res/img/flags/TZ.png b/res/img/flags/TZ.png deleted file mode 100644 index 7949f65d8aed43e1db20399e2f20311258cdedad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2289 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 diff --git a/res/img/flags/US.png b/res/img/flags/US.png deleted file mode 100644 index c3a245b767982dac3198f5005ab285b82946b212..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2845 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 diff --git a/res/img/flags/UZ.png b/res/img/flags/UZ.png deleted file mode 100644 index 643b6ae0cf6112a4145592ea3ca7fdfbf498d057..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1745 zcmZ{kc{CgN7RP^NQLzOj6eHSG^l3CAXk(9ECB>krGbJI6ncABYd!#7|hT2A}s+Ov0 zD;3r1Lse3$wY8m6dsQt(mqG2~nU|UW=AHBIx%YnVa=z!>zb?;{?4p1;fB*m}xVbud zOKARAAmNfc@wTa40_czSBzpiF^5k}DFiDRNcJ(F!kf;v;ivz%pWW-tk-~twaPgDR1 zR{%gom$i6VNfz*+lP-=DN^IMqHBAE9XxB66C8Yix%jbx%B!vvajpQWr0j7;IHPrG+ zSponibaS-#VUB$rN%HjZ)fTQSHMjO2LR**-Z%@31L-@QQ!63B{?@`-#RX)(;Y6$*z zrFw4e5M{$Vv7q>b4dP)=U0*{o^-5iD-5%${^9P?yz?^T+JQxeyXF^8QCjGu@vm{M$dAGd9m}4cFr%8A zxz0$%l@_Kvy}@K`1Tyt%;BG~{?p^g}#HX~_rM0inQ%crO?Q*Vja^OoDXIx6I>0?6~fdCAH~G{jAs9#)Yp zDiBdFKkEvgL5F3SpBz^hZSHonSj!w=;+}cahD_GgQ0poLeRS>DgWejbLJh?#uU+&c zxNL!i=pW10(oIqevve#o%oGJz2R7d7m~yFp-)N&a=KQ-$k#H6@)Ah_5@*@8z@LnJ( zP5B>`Rf>z>`?GI8f+u8adSt_bEEkxuDO%L^z1CYwS?rznRslrh9|{D#{F*3;auCnr8g)i==gU}}@>nu;;ujrfoEO_jJ5%)Ddb} zU{-JC0^fF{OhX3Ozm*%XEY2eZUT=!sP%c0lbo=~V8TRw_Y7xYzC&(PcFlOY0+38Xx zyPYFKn!B-&z=&wAmn0Pp*;2O2m#2~+dT?Y05IS?$(Bdur!1S=)80+S%84Hn1!d$y= z9(z_TB{)gv()8)i_q8%1^*lW*X*Wo{Hoc#PsWmb^cQ5@xy6lb36=I~L@1s)f=)QmB z-nH!G>gTu`9temJ?7%Up%NI^>+Ca4sMj6970BJnbG~sT_vU+xvy7?*X#r7tas%uVN zEG^vLh{M>f)P_sPSB=uIQ$ah~YLSsw6`R>(`dwG+wyn7_wQG`rH2 zt&wGy+N=D@-ftO^P?2y%C5oMYD#ruDPuFGY&=u;x9hq`=VRH?##iE6m$d4>_B99`) zd|fm7ha#SX{NaA;nJv%3eefj=ag`wqCICs4BU<8iq9{WHnYI8dl zqYGWVv+PKNMLa%k94ECJqBke>+X;eCk2(+pnFwcy>Tl{MLbBrbh@1C0osBS1k)x^& zoIeD8C-}wTCPW?Sq*E~Yyyobg6eRX(xcRmIP`S9=o)g9;y>qc=shsZp*24?z`d$?O zf_!xqM&9s>A(r&}W6?|RpXQ!kx{KM}6l3SADiA~6(0jCjwWaksYHiH}e~+V@5wxiT zO=I}MwOB!;kN*Wqhcv>^%;3k>@y3hSYhrT~hDNSEr#EF=mSgqt^q`j$)Y{u+jXFKg zH6mi{M5VfaYzD1uNoKpGfN`3g$ipu_qg`)A^Iv>&OkIk`R#clqa)<9ldUI(PR>)T=AQk0zNZ$Klh7*NBr!hhZ z!LcC{036oD0)sWf;Ewy?ObKQt1U%LVYeK+cnNR1e{~?HoqW=_{@c#v}H_oO@1i;OS K?0AnzW&anj(EgSH diff --git a/res/img/flags/VA.png b/res/img/flags/VA.png deleted file mode 100644 index 63a13c0e81272ede252bd979f5f5df7b091dd44c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2211 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 T!4h{0PXJis?66NP2}yqg8uHSq diff --git a/res/img/flags/VE.png b/res/img/flags/VE.png deleted file mode 100644 index e75e17c9f0406ce7b4656d693174a523a6af2f79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2157 zcmZ{lX*ApG7Ki^yBrzq%V=9^sXpf;WYfyp|HI*NiT2o^WqJK$ z2iy~u1)EFuHdyz#@x`%Q?gb+%Z&tSwr0s-~?s%VxPH``)XslSESX7^Ld9olr@~*Pf z!V~lHd`(mIkpIP~`R_F~i~nqri}tX6N!XY!rY*7&pNBB9HEt>;j5_iJA|en7Pa30Yb$@yAaT4TO(-QAD#sPQIX{a3D9S`~&T2BqLhALMx7@zrI z;XitxzW0TzpH@Jw+-3y*c%~iCME0A!*Z1AXihdZ87nHS{Rb}?*o&H`J|9H4a(PY9H zue~k7fY$z1enebk?eLyJq3|*@d2$(aC-LvGtpfn{d}VEI9S^%3$91h zVE}X+&v#mQiO25X2yrIZU?2;Umxx@sct88)uVj@`Hp_*m?K_<=!V$g#SEB;jr%lxl zV~cvGx=G>Akz*Tu)83yBQG>7+RThW)B!^W=eeSTn!lzOyGFaBIT!s+ZtK@KUK58yu z=9fim9&$%*M|`eq&YuWD=U&ZkR>U7PeHS);VQWKmf>6G^Vc&1uHcx#8s;-c;?3Jma zXkME!wFW9(KR}r!M#U$({1H}d3MQ8~?2}9Ukex)vYcPp1z=Hp$QVEX74bcX^( zpIU|7P8rqynxZ?tQXT_0@xNG_!$k+ZUHJGMQ+HdLiCxX`v1QTloz<0_bCYNu1c!P-qG4hPYazcCWa{?-$mk=17eDQBJmey-CeS%sxNU2JLZD3vx-rvUk|v zq1=w>3A$$(FgP1K8-uzR2LqKxk#s622c0t|zy($IGIa8pnhxaEK(PjjZ0w6(A&t$S z8{GE|<6GH6bU2r(luWa(Zge2zky3WdPG0q0yT>U~T zVCiV9*GPF5XDQPcJ{&5pz^4455)k<4Z{OuR^3A6Cd9ra@r%K5QHfkz^nQzG z%mNK&?Z7s%MpBxOUopr#w5TQ2n`U%P@0CmQ)bLM`LQZH)QsbI^4x}g-`nYrJ)+5ZP zI{W-^xrdQuEuoR}*CU*3plq1{#BC?BK7Ex`Y8f##`y?O||9ne=1F$1<8${MI#lId% zk~&-_jxVVG8js2*UIrD6GB2S@f8K!`W#pcR9L)%*Oz}N5GaEq3d7`88CAUX4<4>ho zVqmGtIbp(i{)6K8=KPzx#e1C5h?~FfpYm(^{Av{#3UP9oY96X8TeO0w-7t1-hn~!D z1ZvYcg#afNnx+1u{2x!JNy8IQG$6D9X&%MOwGV@r%8Zji-_Vev&`LC?=9&w9KC*>m z-QHfs-&5`!YCq9q=nI%{?v$*}q8MZ47?Ue#2w|7b&bYRu{tC!=hlY6Gm;& zt1|M62)zzuNvwf~Q;P6sISJQ!##1TGu0Agn z8G^@t@?8d5#^C8x8|uj0h&5Ube21J9J{ilif@}v$hy~?TulV>$?@EbFyXs&7V(}=< ztDfiZd6M#b^(L*B4!DO*!J55~hT?#F?;NPy+A&QKd%ufrV+|20^pVP-*6zGxgf>jq zKZ*(DdDM-(XdS-?Mm@-YW1mUCHab|H-^EQtQN1wakzh}c2(Ow5IZQ3bmT zmiJ#FSG?F?c0DqJ>-gN5A z4+UMKPteHI%zpMUm?XHSAXOQrZDo3R7qZ$dEwbwuMQa6X$&1-RY6t8}T;!`Aj>=h4 zQ0Qrjyh>u z>N%eVARGxithY!QEEK&CKf{HEe5Vf;FT9?y@9YRiF-sj4B(otJ;S-UV)&cmonHJy{ z=Cg@Gf4i(}OPfoD72b-?+g{3?+&ARToU0f_h@l&P)|0*{|Bq_~=3(;u={;_~dml{q zu6zAWW&*KU?7&0Z3WU;z2eSm~Rg1!TM-d580T}-q0RjMeXkBA%w4t`1iMyUY#!wey pfYwCoV$kTgPOkZX1+Ik=g9GFLe?X+nCrJ~YREwO07#zW~aG%ZUI0 diff --git a/res/img/flags/VG.png b/res/img/flags/VG.png deleted file mode 100644 index 46f93cad1ec1b088f474e004c924e00157c9969c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5427 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 diff --git a/res/img/flags/VI.png b/res/img/flags/VI.png deleted file mode 100644 index 8c849a733e369c9b9d61964899fd7cad8659090c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5938 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 diff --git a/res/img/flags/VN.png b/res/img/flags/VN.png deleted file mode 100644 index 6ea2122f9d1dd9e5aefef30ba4c28c5b943ca5e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2304 zcmZ{mX;jjS7RCP{Y8VzyWs-`QQpzEaG&L1)!ZC++QA9`JHq2+TRb$;S5PqLO}um07)xLGbbT+ z|66b|VV@dnx+?_aGSQ9*0JUj*w<)5+9qDQ5WCs9IssKP^0>DqJ9(~ z`2cV*prF;!P-uvG*pSSG6zVV2ws;|+0hZ3eLc0H5YgCgF;UFGjWoIt_QS|UZ92!B6 zT@_wdt;~qzi1#aZq65fdiv9S->9)w4$gIV5CR7e2Q{2rY`GRrXG()lpd!H9L8>TrX zCGMdq%lW92T?)HFAj*3@C^SiwQZT?-wBejP zcM4Z{Y5XWAL^;t@8V;DGJb~&IA12MGEHeO1DO!3Xp?_!F|Dz zoHyT6@Ld+eMUnC_s%fzbh%O4PBk@S3qe3G*u(gw-n5eg4u0hz}054&xa6^RK>@hL!7f6u(?h9e)vA#bW6;%Z3 z>DvRy!0^7n!HAxw|+8=e>M`-dqVD_5`_I_ zNalAUPf5A5NQ~+@t{Tn0-`t3%mUX}yzVSg(Y_(@)@s~SNf9@n4KOvHIOYWYCodDVG z`qSXgpL=Ey74GI>$vTL7a>-Ccq>`DXd%Qk8<&~!HQRS5OTr+QJdBowZ9JBP@u&RT3 z#NGL@tU3wCAi2=4*pD@ceN7`>2wjGR2ERa~BpHJZdaDtF(?1cyNVXY9;1YE_(%tY? zkmE6cBDt*gh6p>WIuuN}K1Cn1sZLwl$*jy^B6{HqQ0INxrR(9J;7q%LM?S9N8PEg^ zPks3hckZhX6UOy_Ku;y>=N|Mj8t|GpR=Y>TchLNsSas{82HSCP02H~wE)VAAn$EX4 zXMJN{U%EV)ZBMri>Ck#jG*n(|j)7%Yq~rQxDwSKjgMI9M_UvwP()SZ#(1DBvH*QJSP<-w_$2k>fe2juQu>7i@-o?!N1}35i_8Y+>U#)e=m{r#w&V0`4EjQ)W zH$iMvd`O;KyppawLu+Y=VO0~5O`CB{^zw#yj{$d5P80>Yr5BR!T*dJ~q228fFez}aM)ZHS^wxqBho^Q~uxz?kdA7KerICcfl0S9;Zk8eqCUBs~L1 zH-M%sT;g-e-gy#KTT*X0Ax&WwuZPFi`RjGfdv^7~ZldFar$Wa~1C$D+=Gsn+(l zsVOVRuBni9&KM(p93$twsN-C{{_wrqHtL&RbE2E?t8)>8C%8IkMO}w5^BBqnarUBa zuk}d8uN!!TDya8ldC@jJ#qZ?_Rt`KyANApoST3)_`U9?nKbEO8{v|+Xe()M!-~Cz0 zCpG$m;uRai)w{sPq}q&xE#r}tC!RHu*tckt`6Re2=*h&Ha23d;c2J>;dk9raTHR>w zf-J`2N5d#$mDp-W3>LXCW?j2HXr zfmj;w?#A9x{f~1gitbF^0w*xdV?lO~j^=Af(o#j_*6O2iyE>2OZoY0|Nth*rZ__*) zndQhwDT5xU*-|-4I3(2d=G3ieSIx>;R!6E>P$SmV7L+-3?ddfU=9a z=2p41z;Mp9Rao;D>GZ_FmW9!?lMii@aewJnP%gsW)MzF8o z4`n6Y-UU+6{@_}edQS+yfukYj=R>?GA>Ia_LEb_D+8FF9O^lAFwjNmMIEhim mU=1*si02DN{}Z_8@8x?b^8W{*MHlJ90AOW)#;nT3o$((KF%y*l diff --git a/res/img/flags/VU.png b/res/img/flags/VU.png deleted file mode 100644 index bad3ba4d46e6b5983023a6897f243374d13fd598..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4080 zcmZ{nWl+@b*T%oJuq-7F(jmR%0)m7r-6_2*(zU?S-AD*Ok&s5|#RUYUyAh=usUNL$ zDE;t%-aY@B=bAa^bDwkOnz?80xnG<&y4osWB6=bK0KjUhO8O6!_)n1GKjfw9uXzu^ zwO7zm0Dzig&h(bQ|HhHC;^@PH0Hvk{BUr;@q!E3}U>JM|03<7FN(zR4 z3;WsrhDOtOopReb&%#+))`5>!Ag#yTVw~GpoPDgZ-BWQHFG>n7pNa>XImVOQlC*X6 zzYrjb&aw9xVbp^VXnG72GBzgqO8Va40o^q7fmO4IO+mS%W|dx}vezx6%iCUmo(H}R zi}`Q$<0$anr{w-e0=z2JKgC}e+**$o5D}U z{9m!X?2p41Cod9Pa>P1$RQ}ohI^k?|Z_phuJ)%5w52i`iD#rN3`Fj4HDqL&)z+@H|{#d`tdhH{wV$( z)A%&*tfpfX1=uNPP7quEjC{LKv6GpOeYK$O+%fkcREZP8&Y&EVO^kfb>)JlMSUo5s z)u@hB_TuYYfeY;X^X#PVT3XR#-__m_xNTh*a`byfR_-&zjJx}(=}zu+1tb!>~|S7Wjd+QDD7xcxGfSl ztCh3a{HS$OcA}^O{{8E^WrKB0h|jkTW^5Ka+o3BjJtU^2R(t4QUDr6ql5B$hHxnu+ zJi5=~le$5@${t!p1%x-ya*p3o*U3WVDr+AEs$@-&cxLqnh?Z+|mpGl4SHG}Qe^)Jg z=HfO9_~f2T6V-lwd)qyYYh+#K$%w_*lhCr27qJ|kJ~jgPy9J{!Z)_WLb{JiA36^I! z3a`B3kN&Y6JT8!+Vu*Sc=e%Arrx-2Ikkx8k_zofkbJNz)wMv=X!QEBSHlNxZ@`-6;YZ{Reb0H9!?Wa9O`@a- zq?1!g_Vn#dd?IsLW65#j`E@=DFw(wn()W%%_^hn+EuSQp=FbP;22sW@xs_;%h!2OO zyLy}qp6yyKtHtt~oz;saXcp4h;x}GLmkh8TH~#3ceSdoq-=1e`Uu$XHx;_W#!QDxg zZ#RXn*b7cm@HHsP1bXrHsCG1&27nH^hR*BJbktMeNBWN>My%=GpnRNyYt8u{IHa|d zx%>5;>{Z!%TOodHdRf(eDeSk5`` zS6hkl2czHqB9fuX`}1FWk36r*T9KIVWRQ^ zuZeFQagEJ(AyCM}=af%o0vLRN;&4VCNZEF7sO^16NMto%F2$Jv+-*Hd8qCi;6LzQD1^o>_}H<{pamOGH0n_CCZR`W^ifD1w+QElaYiQ zaq3!{rg?OUo;Bp5RyNCf3z-Rzk==tDOLTW7j-cNT!2Qo+j%T1O9d>IK*4g}|f`pC; zh(cwY)!`RjJQ3Snwt#VV3Vsx+ z{8Ysmg?DJ?3H|8{_n;yXr)G3pH%9=w8cPnu7M*HCks-f3n3IK)hxiC?(ji`spj7vv z&_b|eTW-F`qpL>W%FoQWzXE>9ZG_;vRkm;L1>t)#wS9UlTDV)zB|NM@*n+Z;^#e6q zGE=#HAW~V(Gb>S!5V2TRSJBOQ_F~RJuV9TX_|EMw?JEKp)W;G(#Pl;8s*RN|bj2`G zBU56%hqceY+S5C$!PNnlW1T6|dBmG|@M~Rf5x}t;cf~Bz$w;efc?WixW+aSYt$VEL zF)bK#Z8BQs)~!LK#Q)ZHiEfdwER)CnC9LT4+bIf9Y2nzfo3;8o96Gr@BZRp5RPzSr z-jhrD&9;W2nY-b9`bi{Ju$>TU5qxFu?LiEzBr8T7V6f30uB=sIKMGIbw34W|GR8{= zUnrLcz{(O#wDw{>IR#}_f*!hUN5|C7xhZrVqTkvHtlaO`GS^S51z%fxE!M{)Pd$qB z%f-cr4A?C52(A$&Ao+!4x$gk`M9)*#V;g(wl53Mk*O!V-kj?k6O6)Hy+Q``1x)WoB zq8fMGZNlyK`~LJ){V_$nWK;6Au&6LkA#+P^w%E!c(~%jk%X`NeMJD&X!pbPF>y4}@ zu{td0q$CGM!|Iosfh1S_lX=31pql-b++3RGyTjM}_t_dxzZfh3_J!-|-h;Erpn{vo z1G)Hx&uA7j&eysh5UjuX_de}kAzwXSfje~p2Se%S91NYZOXB9dF$U<`>k4n)3A~M& zb3=-?-e_htdb<#T`l`~b%tUaa0qJd@|0@lA0#NMpNMV5;(nn%@o+!*c_^A1LXEUK7%2?80UR%4=*uenFRTtp5|-d54eh57GRwe3g)65iI*Q^Ane z-cpuDOt|Qu)Wd=)q#B?jykk1Pn%kO=t9#yzyW_fdknp_P3;llkAiZ_3676_TpQJLci%?J%6R<0zv@!l!bxSjSF$#k_*FCBwM7eCjM zDO$K}wyDRhHh;I$R;7cuy?l^I zr~Bnl#X!`K9;YNM|8}(nb6@qZ+&)EU9%R;w%Y$|!Wm|n7AtCB^R%F?836BRBU%)h&uV#1C)$|ss zMnJ$@iKBlBKxyeDk$L09URlbPC_2*VHYTAl*RaI?malV`hO;(FP)-%J{Icz`CWbVVy^F3O&2q)87gBVc_)Ee`(P|Fyx&v^$Pd zsZYR)84Jqj?cOLhm;IMG0ym9+^lK+l2yUxGxrfd!1rQ&9gW1!Js(<_L?qI0DfK_?5 z?1)5)s>vwas_2a-z#>F8zUXU2(%}!S3y-wJy(NBnPYV2uC^2Xz%M4T7v@KX>eFl?# zM`qEAnp=l-j;)a&Zke+>_Qep+Nc^!|JGEY5GncqYlHfMsH*C0!I zehUTyQ8nxzt)7;F3Hz(81qku%&HQOx;%Dg;w&!cTe^ReHj7zP^(HhqNq03O})V+yr z1Ivee{ES=uEwBg)_!mxLg)znh)rHu)R6UU)GodnnXpFhkf4sk@z||MU9t(H!{jmi= zYQ#)SjT8==X)`Bzn%kY(WK7#kvI_Yqm0x$1ZFTd}ysDsfi-P@Y+-jPGcd_YY-H*M4 zvmrKC4=OkErIhS$QJQwed;3Pb-SayhMSQkoJ61KSJ{QMjSZs(&{!TrBD2#y;8(He| z`3T{zc2AKOHB?^AkU7yX((`1hb0WCLbHR-?(U1u4BR`djIW5QzUHQ~+Sgmunn;F1V z@+06=BT{I@x});NG4)gRIt&XaEaRkMLsTD;>L}Pnj!KoJ(`=YQ?-1~!<&&+kb{%%B#uzNe+WDx#T#V`K@J@${E><<;|} zH{P*M_|>@cCs^nk?{dKQlVLNdPgnIJ0o}#JT>}zej^ed zC-`=q_ce_^t6E9zLhmm*Sz({Q9(6b^UCp$)xERDryx`b&kRLX2K?CTzH%b7fc>qCJ zcJZOeMm{%LRzavbCxUP`BTuLtaWTtjFW3zGs&vT|1!!q6#s|PlO-w6Q?aX2h0kIx45)G|+w z+3A>!ZDqzd{eKZ3M?mqTi(@P{BIqvY~BMNFG`>2t8Sbf+*h|!F1j<(0#?$rzfCxkwDgY4|5Ro(# v5tSAfmKKBXL4>6t5WntC+5cm3b${(>=l}m32=gt&9}IvROj`+~2#@$5>%ogi diff --git a/res/img/flags/WF.png b/res/img/flags/WF.png deleted file mode 100644 index d94359dcc403087d1c34a19bc5960553d4215e3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2509 zcmZ{mS5(tm7RLXOkkAPrHz*yI5=BE$N0M({ z^>4!~n(-KAZOu9*Trgd6}6?*PCq>xno603k>Kn8O1A z`Y`~&1E>vGwO9=Z!NgFHMV5Z!8e>`D3NW&}#UlP+Uh&rLXBE(3V^e+THx6;Qih`JB z^fCZ&HW}+-EyJ0Mxsk!gK1p=wgt<%ogF_W^2V6B7CnGN-4H1jCjUx{eOax6&K783! z(5@fMR4Kai2>nv4M``jC_w@WIfb5aQ)HFJs&ie#er~1orb-LO z-}}kv{nf15+}NzS9rH_VJ8U_RL-@ay7J-d&y1W0kq7>)%48+9z-h5dMO)A}}8Xm_! z(au$KigsXd$v8r?;WIQh9AoB>UlP8PL!pgZMGi#r;5XBSF6s4Wt_X5wTb~x~vhxU`rQx570IlAkm`Mg3_yIYfDp3vdweUm9a}0?pE5&v@ ztAA+%x?$O0{EHYg(j5k9HVcD@^y@bk9buHdYlgA|*BNBgL&MF_n>Iw*7&ECBf?gRT zp;;0l|3dLk#l*B);*dmCsxic8RA1o78=;jRjv$TB zQ%+5>Y@Hqx$`csr5oRx1!b47WmDp4s{OHK|p|V>_hFiR?hrj<5h*4a+Xqbp@i!{^v9XhF(Qp&2mdoZ1GZGaZu42pH z-JbhKRfkWcue${)aHz{Ij zZoW-k`tX;*f<);^cF=%8vo71ZM;23^+1`s1I6>GqtfA*Q_4SS4DA7xa|auAJ|_ z?67klrXqV7nI@1<&5XSMjFcHzeI-T*=DT35s@B=|vSj55F-oek{$k+72g!TY%l^WS zYKx7rI+S&aThR8{Z`f;%q*BCzobL?o*R&uZ0Xo7Gjbc-<8Mn9>_tt5#I23qxKedbK zD%SB*7I7+lL{sO$NAe*d>>t&b(DW~^s^*6h5@d^Wic-Y;+xmNnt<{a|nPzmEg(bn1 zq72=to#`6IZOkeup#TyMewAl;HwjKUJ-^fm=8JnT&>=O;GhW%sF3N>P-w!tD~XLDwSREmjd4{HV==nd2A)Ow_n4}iHivEeW)To2b6TR)*9ee@^HkR!OlLC0(E(1 zHV96gTCQlKV;n}52fl>_TxvY$`MZ45ArIw0`rbTMb3f_>Z$LvwGBC0rB@4B8I^$F-{$$Gaw^)o*F*m`9JA z{c45Vez{ddx~Lc9ek62+mi>$+<`f3yVl-9-04Pb4kn1{OBpeUc4jaRoR{$V-SsmMe1 z6aDDR-9ZRI6ZD&}(s91@V=)S9)3n@wiL3qF0knwD)ntFwUYR||EP9hpIRYGcc+0}! ziMiWS8Fhkj>k|`?8)-R5o6LCT*%tR5fm)l63;B8cNi(MiL^{*wBTqrr{IfH{ugm4x zi~2}me%%uZeC(;i9Nk79f7G7!GLy5-JSBOhlWp^ga&vR^iSY9HOS2l2c~64eZ3Q?} zm|k{6V7>F7xjvu6S8P$XQU~*UJR14al0OJL-;NMIFoQ{_&+o#C)+zWdHd}y@9G$S}IMAk3n`g%rWH6ZTPn{Iih}awwh#y_t zK`+E`E}>Biw(lnfQXlv<;+6qHEMgZUyD*f5*d8kvj0;LNmgjKM_@dMJ9=ofP^Zmv#Zqaw z&{M$vJI5hA$}qRU6uRH*ev)iv)*dLNt|#dT_-JvqG+F|Pzy;{+V90?<3l?&cWI`wi zugW<>kK=d;!@;Gx`W(T17M$t~1!eI7D}y^t(n{4503|DH|Dt3CnYIFA%XbFToU|RU zKKPL>rt5O-tlrF51P0&?ARi4=n#KMsG)BiD9>-loUT!@h`U20#`|n*_IO2J*eNfuQ z_#aKle>?)t7+T?&TjB3mUz^jx`nJKY&cSYImmoJ502ESLO$m8X38ij{QbAu-Mqfal nK`Nt>$ndu5OaBq@^>_7jzy1FMTu&TGtN>uFZ>IN37a#XeEC_yv diff --git a/res/img/flags/WS.png b/res/img/flags/WS.png deleted file mode 100644 index f8b80e5ba9b9fe5406e44779270b460cf1103c26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1896 zcmZ{ldpr~R8^^!fY`Kjlm*iURblL3W)-bY@@sp*whUS_}Wyy)wFvP*+Qu$e@xg?=b zyxO7MCP&dxh)~nnmcwx=!*Rb%zx~dCySD;#9a3yrZJff)^rZ}z4Zk`LV0CsXm&EVv`l%~7{Yzvbh# z{uv!&_K;QXYo2eTbt!kXkDu80$I_VX+DEKhM$q2xpVPmmuL;+-#7W$df_B|MhaUW6 zGM{I^b=CS#P6iE&kO4ZCkn6WG;|2q!^@o>T7eW=ziUMFS*2YTZak7rI{d!Zjf&&m#b;|-JqFqs5VqPv$U5`uFa7h;n}eoqoO>UbspWa;Bw30m2+&GX&aIw zD{A7(mgrl*7^%@m0J$nAMkI1CrLsIv41iXft5VU#Kz_B;K3f zUmOZin3~C4jwA4euq_{*F2!;Z-zb++qTM6C!8rcNF9tFu*zj5tKw9sALXz%Ydv86J z{-lIuyOYFN!wz7pG0EEZ)_%oYt_t2U@w=X0b8wD>KkQ5WX{|VOfF1 zq2E14XC1T-+(s>XwYPe&GZ#kTYPlvdOLX1W-O%VC4J?!f?$_z9w&0Wb?2`;GS;&wxZCn@2?mo0}Jlv>vk`uU-;=0^E;GTVR8H#G)6Dq^2cyx*-*Z2lY1u2j{i$EMKf zq*qDE)z)Xp{$hoNNfmKBU5CD~g3T*A3laJm#;5RVzpSv`bL^d-Beopd+)9T92 _ z@W8su5SMqvF{5~@c0;vi?r*(!(A_aFKOy@r&)$rJRQS~tb=HUdmTh~Lx|C(25{apg z?|xxj72e6WT(ujdnJxVIDF*kkBW=WfQdYQy>#_qkGnvaALSGr|eg^D4On{PeI`F}D zPNP^8v}M)-{oNotESH*gzEFc;VVr6<=Zh{knCZQwK=+<(D=CI=t!XE%)XJs$;W~YV z78n1r(j|Vrq?%0*30$S;D^B=5W33aYeakx*nzTeU|zt4k2O(_1bEI&BG(0 z33CU-=-BhBd*+)L*Q7yp_UPtEw5h5v1e$rK;^i@lQ5;`u`_P*sug|bNp}m#gda!dp z3@$M3_i{SJ@c=FfjE?^alW0@_S6A?8YMHoUN)Yv zGM&)^I7h-QKQxTs+_8+z)AJCtf5Nrsq;S0_?lZcKh@!J8a)tjYS6;r`+N&%K3E98|~Y_db~JdD$SDcGdsP^ZbG2|IqvBd zyU#~y#zfJb+u>3g$$U~HhMIQYWXf4xXKFBr9E_6xiCUYDgCCj#<*Su-Rf*7gmj7W8 zkPxZeVO3}Q_J&V4C8r*z1r#$33ftzo@!2$X65KOw$iv$K`Q{QiJT z?)i3}SYt^Yn=U$adXMDSF^D7h#DxaMh1rC}hDiX-(HP4^=%a_st;ptBo1++;AJArK lj13x{&^c-Qo!~-DXk_@+|1Xd!4M>p)0FiLg>9Hdv^*;+PN|*ou diff --git a/res/img/flags/YE.png b/res/img/flags/YE.png deleted file mode 100644 index 8b9bbd894287185442024a68bb649179c4d5e309..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 652 zcmeAS@N?(olHy`uVBq!ia0vp^W*{uU1|;uX-8K(Mv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaffzx4R3F27;f?yX%1z zXMsm#F_2CG;}6+R=Yb6N5>H=O_J^!8;>H@%A+_%r7#OQPT^vIyZoR#=(Tmwp;Mm8= z#lBpIO^m0N@7`n;{KT}(H}|D>#O>&3nl-Hxl(ycTy1e(!+_J8nSJ-U1wI}+9sqjqx z`+t_Unv8MH(X(x$j6h3(AY@0Wy++p}jjm-E^GwVfmC0}H^?y`mcRgP=|8?HVkG#fhx)&wRB_0!i8tt3_Vjj%?`@PX`cPu1`7`*l| z{Hocy%J*sGH=u}WiEBhjN@7W>RdP`(kYX@0Ff`XSFx54(2r)9YGBva^G0-+Jv@$TL hIP}yOMMG|WN@iLmZVjCCV;ezsdb;|#taD0e0syWm{80b^ diff --git a/res/img/flags/YT.png b/res/img/flags/YT.png deleted file mode 100644 index 328879361e55f4d681b310181a772c9c8a1f37fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5735 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 Z>k#<=HxT4lMgR>UHKkXIRr0SR{{xsjNj3lg diff --git a/res/img/flags/ZA.png b/res/img/flags/ZA.png deleted file mode 100644 index 7f0a52d3b2408b0facabc7bd6462be3002926b28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3595 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 diff --git a/res/img/flags/ZM.png b/res/img/flags/ZM.png deleted file mode 100644 index 87adc3afaa254cff5938f9ef55d49cb7d8c83e2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1787 zcmb7_e>~Is9>>3R>#qCHz4wp%$9+9M@Avcl- zU)NL@004czV?HM}bp9F!TQzxffM2G;mh)Z#UI5ULzio{O*7O#nVsf!CkA@npU|U%l=unQGp=ucQub7YZmS_qH z%`dazEc zMMZ&n@12ujp8RZ^J9~C`!VR*3UH4w8;tVUF6!nEwihWEGIzvAulftE1s-67i$rBah z%A&F1?om0y;TOjq{^oVGa%GKb&naQBs6y)0hVn+lulxM|ecoq4SEUtAU*+&b8$V6y zmwuJ$#^Lgo^)WBT>P@G*I*6LI2HV0A<`zGi=EJ+};=#Sq-rug+B;(1(7h<*`PHGLN z7>vq-D*91@^?Hp8)M+6{%E29wUvv5EOp=;KNR}b(r!JAFC>L zKbEgqJg6-J2xcv#J5SfxLl*q2u>4*!kMv#tm#AmTH@=ieQj*6l$Lg9bKlxuR&*8&T z3E4a$4{UX$*Zg8B=5B4&U>iGR{=E#cYy9Q5Fs4q4t(mL&Td6epuw!YVMB78vd%Guq zO)j>zdwA-}^0~Voew>vY!V_KNa$tnrNr&92OreRX?M(s5s{TWy*3|J-xg}*NYdJjm zLsKt@xDKv-(^(mAJ$q5LX!(L&m^78+DIZt~e(EvRr@3q}AIBm?aUoLm5J?C1YOjfF zEXB|oHM#Mwoj4l-D{&)Gw$#<3~S$BiW?nETu!VP9x} z9zM{=V9Bfsd4hOwu4{Y3{-LsVVByz!AWMIHcERclf$mGqv1JIPXY>_XGfo98r?~!Z zW#!D&PzK_Z^4i0Yk&T#}7EHm<*-m(KQ{q3C=N(AX_?yiNtC{>kPm{~x6>}q#HGK}T zT^ujpEv5 zW+dOgreB&Ac2qqs`hyEoMN?PUf~zh5SV!ZRXIe~9!dDLvEx%3Lqn5I2SQj@YGjX0K z6z!)=?e5D=ku$FkUhiDiIk*k}F=}+NJyxW}eUu>k+w&N~SxTtj>KcExNKm*|yi5-N zroRxslTUflP)|2bkR{+(Tr+E-`Q!4eX4?hSN_J0T9(s{f-PJR(_8|~0Yo`YaYE(uw z#5ujCmji!#*U?tzmsg*xtKx_7 zS_mxBqply?_^ogf+IS_g*78}{L>@BpzU#)Ao-R)8lBV_Ua&2v>mjNQLSUl0KA~Vd+ zlXrtIfm`;tz4%m6Iy<@PsC+)JAD550wx(FWp7|My%{6MX#+FVHLd)BBTyC6LO+qM0 zN3I8_le`yEM)&ZF$Ar1T$kPXSrW~zWyZ;a7E^5T0S3Z3If4r~zo`F<9TwC8;bx7003-eriOMjs{Kw* z2HHA5*-}IU-5otkJpicBU_EiCr=3M_nc7(bK!g+k;1U7gm{!7V06+*F0JhKofXD*? zKL4lfwwkmH29K*IhBVT2WY7^y1GB%WV-St#e{#=9pG4a*2Af$LF)q^!@hQs)+DGrw z+Lp}>_3W{;l-Y3S>llHa{l&KRc~gcvUFZ;*zwX!N(ZOY6f-gYJm@qpY%%V7=0VN3v!vVoH}QB8P

    S zoSp%7Vk(l&;Eni_RFbwkdcgVzv=8ZO4yEI8rfl7wW0dQbO;-`rZMFK^P{Xh(R;8@1 z%OcAU@;RRtT^Gwg(4N5tsfejAvLWHtlSDd^)IRlHisp%n8&fk2jHQSUnY$CI(!$jg z>5hsd+R0pW)gId8wf|E6wEQwdcbG$HH?-|y>*abv5U)gu_ zTGK^(#rmtACNl=u?e$?22RLKxbYMsuXbT!^1eIBR17&_Luq>Zwnw2~daqhbJtRUaf zAy~yCuY)Eex+2v>cK|1xX_}Z!uWF`RpsAN)e?zd{AkHTn43`)8Ff)zaSfhMySeAJ+ z`#qa}(nsy`BOM&U_xj+dvR*!cnt55Y^sQHFoK(m!m4c+&(3Zza9E(@`E~&BxM=8{T z;5Od$IUf6pxQUw)!aZMOR)%3F2|}N?mwH4|pTt9l+(<-@kLh6-Tj@)U@yDrty@bxj z3~k6nP3pP@tFBj2wSMy}FUz#(z%!^z*S)!}7!DtQ4q`mLvVT^t(bW>^!ZIQF@!Fg0 z9hTMn%~L7q`0tUv?N(;^r>xHt7NZ0UOpG-T1~{>Q8*fxUJ`f%6xN4KTF6Q|GdGXAP z)8S$-9= zshcm^tI37Ewq6PF{F2K*F;F23@~pG^C3p|L77$`I-YtDfxTELxW_gnguA}@MUP|#@ zN;!z`{yGXK<#ZgDKTEu5%?LYRpLETkh0j-$Irjc?&b?wf3~Y#j7*mNVZ_n3e@X}!{ z0uVNY(OBYK|LXgDDom|Mcl6~^mtc01` z^*=aQCVUkBWOa|YROK*oUEew8r%~frl-T8Y|H#rKK7H;Mrzkb=QqJs6$-xJfA#<`< ze7wD9<@z_cK=1yBcn>Nyx3rvY^7|1*axSSQANKl>E0cX#o7R?odWs(IvO0{)g2xA| zrW@o-pi&H`y7is1nM|*j!vZRgnP0yT)AB+wT^4cI3yhTsK0l8PR#I`=ScsZ}f6#L7 z%pXo3UgL2@cT5l_W}z!7x44#C+wKKbaYPB!$)l%T>k#sTBQTt!pIY8`obEj7u*oTA zmS`9jayvWB1trCUfo@CpkCjCC-G0b<6vWjxU%(Q8`FnA;{SwcL{_@Mnrw55c92Wd* zp{~i0kvO_-G5ycHWwo)sshn$~BOUro?lsUo3l*gX$NNSCVCp zZg3`$r>QYT1u0}kUNl+)B;o3NW0O8d#|5Ge1yidzEYz{_+`c!5l`;}@{z zuCF?nD{>#6VX8i;QKDuJEuY)iQV~T-j--cSF(Cp?V<{s}-TZ6PZAY_E{MY>kJjL_% z6k%^+SUmFwSG5*?ay;P?bIATeG4b-g1PM&hus9K((jZi5-T1gRk!U3C=b8_yhK<$< ztbsw#YM)sbv!7#VZvRZ?x&P(HAi<#NQF@1>3vdGYt@>mvFcr|@wF*DrY91eq5) zy*Qjjt-xMWQ636GVhzjygou~L}y1O2!C#s>5^e5?)*^BN}%etVy8#R z`lzPZ_kV3c1$1&3;|RX1RTXU|7L#e^ta&dKX78SMZbU_r;qI$Xu2~Te-4_h=G0+XF z?9nmSbUXj)qptHFFGp3-eCjkm6y$P>A9#kXbtFir#A_e6c-adJlZ) ztS7zQ?OWY4FTFuboRlDZNo#!Ll1_J#`G^PQ&>*Lv##n06A%*{f>j{8aD+%N2bUHpu z$%|PZX22{VGUcfqft*7ti0#T>12fO-Nxi!%ZpweotsqI88f@lI8eCH74k8D*#2NK7 zlI9rKd)}A4k-ml0LngS<{&Mmsl`tG7q|!Oqx2v7~b8s78i7iiNs&xIw72)B9Fqb^9VIge*+mtO9b*(} zkP+pm>_eb06r`emiN1*qn3`D2vV761h9449)Y4zW`7Z5=45;qux~q_*`JgPjFtx_FkTX;l8+B!|C|A_hD*-9X7&0){a>Jjtv zbUmCkZT^!CHbMn^x(8zrw*oOV07`I0bp^Ppf|7>4k}^V75upN?hbtoBaBSbI)_)m% b{XD&HhyQ;AbFoVt%>bAgSsB*qqvQV#KZ+Yf diff --git a/src/components/views/auth/CountryDropdown.js b/src/components/views/auth/CountryDropdown.js index 14a974668b..37b1967c48 100644 --- a/src/components/views/auth/CountryDropdown.js +++ b/src/components/views/auth/CountryDropdown.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import * as sdk from '../../../index'; -import { COUNTRIES } from '../../../phonenumber'; +import {COUNTRIES, getEmojiFlag} from '../../../phonenumber'; import SdkConfig from "../../../SdkConfig"; import { _t } from "../../../languageHandler"; @@ -80,7 +80,7 @@ export default class CountryDropdown extends React.Component { } _flagImgForIso2(iso2) { - return ; + return

    ; } _getShortOption(iso2) { diff --git a/src/phonenumber.js b/src/phonenumber.ts similarity index 98% rename from src/phonenumber.js rename to src/phonenumber.ts index 3b7e4ba4f1..5806bfae00 100644 --- a/src/phonenumber.js +++ b/src/phonenumber.ts @@ -25,10 +25,20 @@ const PHONE_NUMBER_REGEXP = /^[0-9 -.]+$/; * a national-format number. * @return True if the number could be a valid phone number, otherwise false. */ -export function looksValid(phoneNumber) { +export function looksValid(phoneNumber: string) { return PHONE_NUMBER_REGEXP.test(phoneNumber); } +// Regional Indicator Symbol Letter A +const UNICODE_BASE = 127462 - 'A'.charCodeAt(0); +// Country code should be exactly 2 uppercase characters +const COUNTRY_CODE_REGEX = /^[A-Z]{2}$/; + +export const getEmojiFlag = (countryCode: string) => { + if (!COUNTRY_CODE_REGEX.test(countryCode)) return ''; + return String.fromCodePoint(...countryCode.split('').map(l => UNICODE_BASE + l.charCodeAt(0))); +}; + export const COUNTRIES = [ { "iso2": "GB", From 1a713119d869da930ff8c352b07f4160d96d6e3b Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 11 May 2020 22:04:37 +0100 Subject: [PATCH 189/203] Add Kosovo as it is understood by google's libphonenumber Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/phonenumber.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/phonenumber.ts b/src/phonenumber.ts index 5806bfae00..fd189f8d39 100644 --- a/src/phonenumber.ts +++ b/src/phonenumber.ts @@ -635,6 +635,11 @@ export const COUNTRIES = [ "name": "Kiribati", "prefix": "686", }, + { + "iso2": "XK", + "name": "Kosovo", + "prefix": "383", + }, { "iso2": "KW", "name": "Kuwait", From 3fa13d7de3eb2b22fd665a87a10f78e91f40c73e Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 12 May 2020 10:23:53 +0100 Subject: [PATCH 190/203] Add comment for the regex Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/SlashCommands.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/SlashCommands.tsx b/src/SlashCommands.tsx index 3fa6c0d7ee..133a2708dc 100644 --- a/src/SlashCommands.tsx +++ b/src/SlashCommands.tsx @@ -995,6 +995,7 @@ export const Commands = [ args: " ", runFn: function(_, args) { if (args) { + // matches the first whitespace delimited group and then the rest of the string const matches = args.match(/^(\S+?)(?: +(.*))?$/s); if (matches) { const [userId, msg] = matches.slice(1); From 99aeb8388db698ecdd3db80e1ace3fb4e0e41af8 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 12 May 2020 10:29:06 +0100 Subject: [PATCH 191/203] Update src/phonenumber.ts Co-authored-by: Travis Ralston --- src/phonenumber.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/phonenumber.ts b/src/phonenumber.ts index fd189f8d39..6dd44a3c12 100644 --- a/src/phonenumber.ts +++ b/src/phonenumber.ts @@ -36,6 +36,7 @@ const COUNTRY_CODE_REGEX = /^[A-Z]{2}$/; export const getEmojiFlag = (countryCode: string) => { if (!COUNTRY_CODE_REGEX.test(countryCode)) return ''; + // Rip the country code out of the emoji and use that return String.fromCodePoint(...countryCode.split('').map(l => UNICODE_BASE + l.charCodeAt(0))); }; From 3e3d537fecb3a989a120ca9372795dc594278970 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 12 May 2020 10:51:27 +0100 Subject: [PATCH 192/203] Fix topic dialog not supporting escape as it didn't have a "Close" Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/SlashCommands.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/SlashCommands.tsx b/src/SlashCommands.tsx index bd7e60e2f4..0ea068d389 100644 --- a/src/SlashCommands.tsx +++ b/src/SlashCommands.tsx @@ -365,6 +365,7 @@ export const Commands = [ Modal.createTrackedDialog('Slash Commands', 'Topic', InfoDialog, { title: room.name, description:
    , + hasCloseButton: true, }); return success(); }, From 7fe40a04701bdd0163359bd02f5cd786b4ed6cfc Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 12 May 2020 10:55:46 +0100 Subject: [PATCH 193/203] Default to public room when creating room from room directory Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/MatrixChat.tsx | 6 +++--- src/components/structures/RoomDirectory.js | 5 ++++- src/components/views/dialogs/CreateRoomDialog.js | 3 ++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/components/structures/MatrixChat.tsx b/src/components/structures/MatrixChat.tsx index 3929711406..e553057acb 100644 --- a/src/components/structures/MatrixChat.tsx +++ b/src/components/structures/MatrixChat.tsx @@ -623,7 +623,7 @@ export default class MatrixChat extends React.PureComponent { break; } case 'view_create_room': - this.createRoom(); + this.createRoom(payload.public); break; case 'view_create_group': { const CreateGroupDialog = sdk.getComponent("dialogs.CreateGroupDialog"); @@ -1012,9 +1012,9 @@ export default class MatrixChat extends React.PureComponent { }).close; } - private async createRoom() { + private async createRoom(defaultPublic = false) { const CreateRoomDialog = sdk.getComponent('dialogs.CreateRoomDialog'); - const modal = Modal.createTrackedDialog('Create Room', '', CreateRoomDialog); + const modal = Modal.createTrackedDialog('Create Room', '', CreateRoomDialog, { defaultPublic }); const [shouldCreate, opts] = await modal.finished; if (shouldCreate) { diff --git a/src/components/structures/RoomDirectory.js b/src/components/structures/RoomDirectory.js index 0b07c10c8a..86353cd532 100644 --- a/src/components/structures/RoomDirectory.js +++ b/src/components/structures/RoomDirectory.js @@ -367,7 +367,10 @@ export default createReactClass({ onCreateRoomClick: function(room) { this.props.onFinished(); - dis.dispatch({action: 'view_create_room'}); + dis.dispatch({ + action: 'view_create_room', + public: true, + }); }, showRoomAlias: function(alias, autoJoin=false) { diff --git a/src/components/views/dialogs/CreateRoomDialog.js b/src/components/views/dialogs/CreateRoomDialog.js index 74e006354b..fb08afa5f7 100644 --- a/src/components/views/dialogs/CreateRoomDialog.js +++ b/src/components/views/dialogs/CreateRoomDialog.js @@ -30,12 +30,13 @@ export default createReactClass({ displayName: 'CreateRoomDialog', propTypes: { onFinished: PropTypes.func.isRequired, + defaultPublic: PropTypes.bool, }, getInitialState() { const config = SdkConfig.get(); return { - isPublic: false, + isPublic: this.props.defaultPublic || false, isEncrypted: true, name: "", topic: "", From 5c0920da425a13e5b7d72461baab383266d61a0a Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 12 May 2020 11:05:30 +0100 Subject: [PATCH 194/203] Avoid soft crash if unknown device in verification Rageshakes from the wild indicate that device was null here which implies that we somehow did not know about the device when verifiying it? Log and null-check to avoid a soft crash. --- .../views/right_panel/EncryptionPanel.js | 5 +-- .../views/right_panel/VerificationPanel.js | 32 ++++++++++++++----- .../views/verification/VerificationShowSas.js | 7 ++-- 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/src/components/views/right_panel/EncryptionPanel.js b/src/components/views/right_panel/EncryptionPanel.js index bc580c767b..e9f94729fa 100644 --- a/src/components/views/right_panel/EncryptionPanel.js +++ b/src/components/views/right_panel/EncryptionPanel.js @@ -45,9 +45,6 @@ const EncryptionPanel = (props) => { } }, [verificationRequest]); - const deviceId = request && request.channel.deviceId; - const device = MatrixClientPeg.get().getStoredDevice(MatrixClientPeg.get().getUserId(), deviceId); - useEffect(() => { async function awaitPromise() { setRequesting(true); @@ -143,7 +140,7 @@ const EncryptionPanel = (props) => { key={request.channel.transactionId} inDialog={layout === "dialog"} phase={phase} - device={device} /> + /> ); } }; diff --git a/src/components/views/right_panel/VerificationPanel.js b/src/components/views/right_panel/VerificationPanel.js index 67efd29d27..ff3700e143 100644 --- a/src/components/views/right_panel/VerificationPanel.js +++ b/src/components/views/right_panel/VerificationPanel.js @@ -17,6 +17,7 @@ limitations under the License. import React from "react"; import PropTypes from "prop-types"; +import {MatrixClientPeg} from "../../../MatrixClientPeg"; import * as sdk from '../../../index'; import {verificationMethods} from 'matrix-js-sdk/src/crypto'; import {SCAN_QR_CODE_METHOD} from "matrix-js-sdk/src/crypto/verification/QRCode"; @@ -161,6 +162,11 @@ export default class VerificationPanel extends React.PureComponent { this.state.reciprocateQREvent.cancel(); }; + _getDevice() { + const deviceId = this.props.request && this.props.request.channel.deviceId; + return MatrixClientPeg.get().getStoredDevice(MatrixClientPeg.get().getUserId(), deviceId); + } + renderQRReciprocatePhase() { const {member, request} = this.props; let Button; @@ -217,16 +223,26 @@ export default class VerificationPanel extends React.PureComponent { } } - const AccessibleButton = sdk.getComponent('elements.AccessibleButton'); - const description = request.isSelfVerification ? - _t("You've successfully verified %(deviceName)s (%(deviceId)s)!", { - deviceName: this.props.device.getDisplayName(), - deviceId: this.props.device.deviceId, - }): - _t("You've successfully verified %(displayName)s!", { + let description; + if (request.isSelfVerification) { + const device = this._getDevice(); + if (!device) { + // This shouldn't happen, although rageshake would indicate that it is: log a warn + // and leave the message slightly broken (avoid adding a translatable string for a + // case that shouldn't be happening). + console.warn("Verified device we don't know about: " + this.props.request.channel.deviceId); + } + description = _t("You've successfully verified %(deviceName)s (%(deviceId)s)!", { + deviceName: device ? device.getDisplayName() : '', + deviceId: this.props.request.channel.deviceId, + }); + } else { + description = _t("You've successfully verified %(displayName)s!", { displayName: member.displayName || member.name || member.userId, }); + } + const AccessibleButton = sdk.getComponent('elements.AccessibleButton'); return (

    {_t("Verified")}

    @@ -297,12 +313,12 @@ export default class VerificationPanel extends React.PureComponent { const emojis = this.state.sasEvent ? : ; return

    {_t("Compare emoji")}

    diff --git a/src/components/views/verification/VerificationShowSas.js b/src/components/views/verification/VerificationShowSas.js index edf860c4c2..251c8ca04f 100644 --- a/src/components/views/verification/VerificationShowSas.js +++ b/src/components/views/verification/VerificationShowSas.js @@ -30,6 +30,7 @@ export default class VerificationShowSas extends React.Component { static propTypes = { pending: PropTypes.bool, displayName: PropTypes.string, // required if pending is true + device: PropTypes.object, onDone: PropTypes.func.isRequired, onCancel: PropTypes.func.isRequired, sas: PropTypes.object.isRequired, @@ -116,9 +117,11 @@ export default class VerificationShowSas extends React.Component { let text; if (this.state.pending) { if (this.props.isSelf) { + // device shouldn't be null in this situation but it seems like it can be, so show + // slightly broken text rather than soft-crashing (we've already logged in VerificationPanel). text = _t("Waiting for your other session, %(deviceName)s (%(deviceId)s), to verify…", { - deviceName: this.props.device.getDisplayName(), - deviceId: this.props.device.deviceId, + deviceName: this.props.device ? this.props.device.getDisplayName() : '', + deviceId: this.props.device ? this.props.device.deviceId : '', }); } else { const {displayName} = this.props; From 3c5c7f56f3f4fffa08a17ee53402abc49250b1d6 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 12 May 2020 11:14:05 +0100 Subject: [PATCH 195/203] Adjust comment --- src/components/views/right_panel/VerificationPanel.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/views/right_panel/VerificationPanel.js b/src/components/views/right_panel/VerificationPanel.js index ff3700e143..76507d8d4f 100644 --- a/src/components/views/right_panel/VerificationPanel.js +++ b/src/components/views/right_panel/VerificationPanel.js @@ -227,9 +227,9 @@ export default class VerificationPanel extends React.PureComponent { if (request.isSelfVerification) { const device = this._getDevice(); if (!device) { - // This shouldn't happen, although rageshake would indicate that it is: log a warn - // and leave the message slightly broken (avoid adding a translatable string for a - // case that shouldn't be happening). + // This can happen if the device is logged out while we're still showing verification + // UI for it. + // Leave the message slightly broken for this edge case (avoid adding a translatable string) console.warn("Verified device we don't know about: " + this.props.request.channel.deviceId); } description = _t("You've successfully verified %(deviceName)s (%(deviceId)s)!", { From ae2645b69ba5ec7b7a5dea0561021e5ee9da5741 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 12 May 2020 12:42:16 +0100 Subject: [PATCH 196/203] Provide separate translatable for case where we have no device --- .../views/right_panel/VerificationPanel.js | 11 ++++++----- .../views/verification/VerificationShowSas.js | 16 ++++++++++------ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/components/views/right_panel/VerificationPanel.js b/src/components/views/right_panel/VerificationPanel.js index 76507d8d4f..6bb2d3646b 100644 --- a/src/components/views/right_panel/VerificationPanel.js +++ b/src/components/views/right_panel/VerificationPanel.js @@ -229,13 +229,14 @@ export default class VerificationPanel extends React.PureComponent { if (!device) { // This can happen if the device is logged out while we're still showing verification // UI for it. - // Leave the message slightly broken for this edge case (avoid adding a translatable string) console.warn("Verified device we don't know about: " + this.props.request.channel.deviceId); + description = _t("You've successfully verified your device!"); + } else { + description = _t("You've successfully verified %(deviceName)s (%(deviceId)s)!", { + deviceName: device ? device.getDisplayName() : '', + deviceId: this.props.request.channel.deviceId, + }); } - description = _t("You've successfully verified %(deviceName)s (%(deviceId)s)!", { - deviceName: device ? device.getDisplayName() : '', - deviceId: this.props.request.channel.deviceId, - }); } else { description = _t("You've successfully verified %(displayName)s!", { displayName: member.displayName || member.name || member.userId, diff --git a/src/components/views/verification/VerificationShowSas.js b/src/components/views/verification/VerificationShowSas.js index 251c8ca04f..09374b91af 100644 --- a/src/components/views/verification/VerificationShowSas.js +++ b/src/components/views/verification/VerificationShowSas.js @@ -117,12 +117,16 @@ export default class VerificationShowSas extends React.Component { let text; if (this.state.pending) { if (this.props.isSelf) { - // device shouldn't be null in this situation but it seems like it can be, so show - // slightly broken text rather than soft-crashing (we've already logged in VerificationPanel). - text = _t("Waiting for your other session, %(deviceName)s (%(deviceId)s), to verify…", { - deviceName: this.props.device ? this.props.device.getDisplayName() : '', - deviceId: this.props.device ? this.props.device.deviceId : '', - }); + // device shouldn't be null in this situation but it can be, eg. if the device is + // logged out during verification + if (this.props.device) { + text = _t("Waiting for your other session, %(deviceName)s (%(deviceId)s), to verify…", { + deviceName: this.props.device ? this.props.device.getDisplayName() : '', + deviceId: this.props.device ? this.props.device.deviceId : '', + }); + } else { + text = _t("Waiting for your other session to verify…"); + } } else { const {displayName} = this.props; text = _t("Waiting for %(displayName)s to verify…", {displayName}); From a000be2b018d8f250f32530e5447962d52ed055c Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 12 May 2020 14:03:40 +0100 Subject: [PATCH 197/203] i18n --- src/i18n/strings/en_EN.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 27b4252f77..72cb0e20d8 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -492,6 +492,7 @@ "Verify this user by confirming the following number appears on their screen.": "Verify this user by confirming the following number appears on their screen.", "Unable to find a supported verification method.": "Unable to find a supported verification method.", "Waiting for your other session, %(deviceName)s (%(deviceId)s), to verify…": "Waiting for your other session, %(deviceName)s (%(deviceId)s), to verify…", + "Waiting for your other session to verify…": "Waiting for your other session to verify…", "Waiting for %(displayName)s to verify…": "Waiting for %(displayName)s to verify…", "Cancelling…": "Cancelling…", "They match": "They match", @@ -1278,6 +1279,7 @@ "Yes": "Yes", "Verify all users in a room to ensure it's secure.": "Verify all users in a room to ensure it's secure.", "In encrypted rooms, verify all users to ensure it’s secure.": "In encrypted rooms, verify all users to ensure it’s secure.", + "You've successfully verified your device!": "You've successfully verified your device!", "You've successfully verified %(deviceName)s (%(deviceId)s)!": "You've successfully verified %(deviceName)s (%(deviceId)s)!", "You've successfully verified %(displayName)s!": "You've successfully verified %(displayName)s!", "Verified": "Verified", From 03b10e7226e819ba869b622a08601e7243f4981d Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 12 May 2020 15:21:44 +0100 Subject: [PATCH 198/203] Fix sign in / up links on previewed rooms They errored because the out-of-band data was assumed to be non-null, but that's only present for 3rd party invites. --- src/components/views/rooms/RoomPreviewBar.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/views/rooms/RoomPreviewBar.js b/src/components/views/rooms/RoomPreviewBar.js index 85c41f30ec..fe7c57d811 100644 --- a/src/components/views/rooms/RoomPreviewBar.js +++ b/src/components/views/rooms/RoomPreviewBar.js @@ -266,9 +266,9 @@ export default createReactClass({ params: { email: this.props.invitedEmail, signurl: this.props.signUrl, - room_name: this.props.oobData.room_name, - room_avatar_url: this.props.oobData.avatarUrl, - inviter_name: this.props.oobData.inviterName, + room_name: this.props.oobData ? this.props.oobData.room_name : null, + room_avatar_url: this.props.oobData ? this.props.oobData.avatarUrl : null, + inviter_name: this.props.oobData ? this.props.oobData.inviterName : null, } }; }, From 004f75f289e1a9343400f57e44a1d42198fc1f45 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 12 May 2020 16:16:47 +0100 Subject: [PATCH 199/203] Rename `trash (custom).svg` as electron doesn't like serving files with spaces Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- res/css/views/messages/_RedactedBody.scss | 2 +- .../feather-customised/{trash (custom).svg => trash.custom.svg} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename res/img/feather-customised/{trash (custom).svg => trash.custom.svg} (100%) diff --git a/res/css/views/messages/_RedactedBody.scss b/res/css/views/messages/_RedactedBody.scss index 9ba35d7297..e4ab0c0835 100644 --- a/res/css/views/messages/_RedactedBody.scss +++ b/res/css/views/messages/_RedactedBody.scss @@ -24,7 +24,7 @@ limitations under the License. height: 14px; width: 14px; background-color: $muted-fg-color; - mask-image: url('$(res)/img/feather-customised/trash (custom).svg'); + mask-image: url('$(res)/img/feather-customised/trash.custom.svg'); mask-repeat: no-repeat; mask-position: center; mask-size: contain; diff --git a/res/img/feather-customised/trash (custom).svg b/res/img/feather-customised/trash.custom.svg similarity index 100% rename from res/img/feather-customised/trash (custom).svg rename to res/img/feather-customised/trash.custom.svg From d68b50feb6adbd751cb92bbb8705e76ab5e70b59 Mon Sep 17 00:00:00 2001 From: chagai95 <31655082+chagai95@users.noreply.github.com> Date: Wed, 13 May 2020 11:49:26 +0200 Subject: [PATCH 200/203] Updated link and added:Yarn two is not yet used. the link was broken and there was no mention of the version of yarn being used. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 69aafeb724..ad886a9cb0 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,7 @@ Development Ensure you have the latest LTS version of Node.js installed. Using `yarn` instead of `npm` is recommended. Please see the Yarn [install -guide](https://yarnpkg.com/docs/install/) if you do not have it already. +guide](https://classic.yarnpkg.com/en/docs/install) to "Yarn 1" if you do not have it already. This project has not yet been migrated to Yarn 2, so please ensure yarn --version shows a version from the 1.x series. `matrix-react-sdk` depends on `matrix-js-sdk`. To make use of changes in the latter and to ensure tests run against the develop branch of `matrix-js-sdk`, From cda691e3596cbab3967967a06ab36877106791e0 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Wed, 13 May 2020 11:29:11 +0100 Subject: [PATCH 201/203] Tweak Yarn docs link post-review --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ad886a9cb0..5f5da9a40d 100644 --- a/README.md +++ b/README.md @@ -133,8 +133,10 @@ Development Ensure you have the latest LTS version of Node.js installed. -Using `yarn` instead of `npm` is recommended. Please see the Yarn [install -guide](https://classic.yarnpkg.com/en/docs/install) to "Yarn 1" if you do not have it already. This project has not yet been migrated to Yarn 2, so please ensure yarn --version shows a version from the 1.x series. +Using `yarn` instead of `npm` is recommended. Please see the Yarn 1 [install +guide](https://classic.yarnpkg.com/docs/install) if you do not have it +already. This project has not yet been migrated to Yarn 2, so please ensure +`yarn --version` shows a version from the 1.x series. `matrix-react-sdk` depends on `matrix-js-sdk`. To make use of changes in the latter and to ensure tests run against the develop branch of `matrix-js-sdk`, From 92824411e82015d1d2e81ccba3af70002cc48522 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 13 May 2020 12:33:10 +0100 Subject: [PATCH 202/203] Fix persistent widgets on desktop / http WidgetMessaging needs the URL of the widget that gets rendered into the iframe because that's where the postmessages will be coming from. Fixes https://github.com/vector-im/riot-web/issues/13369 --- src/components/views/elements/AppTile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/elements/AppTile.js b/src/components/views/elements/AppTile.js index 6a5dfc97e0..ae5fe9a35c 100644 --- a/src/components/views/elements/AppTile.js +++ b/src/components/views/elements/AppTile.js @@ -430,7 +430,7 @@ export default class AppTile extends React.Component { // is used for is to determine the origin we're talking to, and therefore we don't need the // fully templated URL. const widgetMessaging = new WidgetMessaging( - this.props.app.id, this.props.app.url, this.props.userWidget, this._appFrame.current.contentWindow); + this.props.app.id, this._getRenderedUrl(), this.props.userWidget, this._appFrame.current.contentWindow); ActiveWidgetStore.setWidgetMessaging(this.props.app.id, widgetMessaging); widgetMessaging.getCapabilities().then((requestedCapabilities) => { console.log(`Widget ${this.props.app.id} requested capabilities: ` + requestedCapabilities); From 50107ebe47784372b04a995a44064833d5531133 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 13 May 2020 16:10:40 +0100 Subject: [PATCH 203/203] Re-fix OpenID requests from widgets https://github.com/matrix-org/matrix-react-sdk/pull/4591 reverted https://github.com/matrix-org/matrix-react-sdk/pull/4459. We need to pass both URLs as we need both the wURL (for the widget's 'identity' ie. OpenID) and the URL that's actually in the iframe (for the messaging). --- src/WidgetMessaging.js | 21 +++++++++++++++------ src/components/views/elements/AppTile.js | 12 ++++++------ 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/WidgetMessaging.js b/src/WidgetMessaging.js index 5f877bd48a..3b3926b724 100644 --- a/src/WidgetMessaging.js +++ b/src/WidgetMessaging.js @@ -41,9 +41,18 @@ if (!global.mxToWidgetMessaging) { const OUTBOUND_API_NAME = 'toWidget'; export default class WidgetMessaging { - constructor(widgetId, widgetUrl, isUserWidget, target) { + /** + * @param {string} widgetId The widget's ID + * @param {string} wurl The raw URL of the widget as in the event (the 'wURL') + * @param {string} renderedUrl The url used in the widget's iframe (either similar to the wURL + * or a different URL of the clients choosing if it is using its own impl). + * @param {bool} isUserWidget If true, the widget is a user widget, otherwise it's a room widget + * @param {object} target Where widget messages should be sent (eg. the iframe object) + */ + constructor(widgetId, wurl, renderedUrl, isUserWidget, target) { this.widgetId = widgetId; - this.widgetUrl = widgetUrl; + this.wurl = wurl; + this.renderedUrl = renderedUrl; this.isUserWidget = isUserWidget; this.target = target; this.fromWidget = global.mxFromWidgetMessaging; @@ -128,19 +137,19 @@ export default class WidgetMessaging { } start() { - this.fromWidget.addEndpoint(this.widgetId, this.widgetUrl); + this.fromWidget.addEndpoint(this.widgetId, this.renderedUrl); this.fromWidget.addListener("get_openid", this._onOpenIdRequest); } stop() { - this.fromWidget.removeEndpoint(this.widgetId, this.widgetUrl); + this.fromWidget.removeEndpoint(this.widgetId, this.renderedUrl); this.fromWidget.removeListener("get_openid", this._onOpenIdRequest); } async _onOpenIdRequest(ev, rawEv) { if (ev.widgetId !== this.widgetId) return; // not interesting - const widgetSecurityKey = WidgetUtils.getWidgetSecurityKey(this.widgetId, this.widgetUrl, this.isUserWidget); + const widgetSecurityKey = WidgetUtils.getWidgetSecurityKey(this.widgetId, this.wurl, this.isUserWidget); const settings = SettingsStore.getValue("widgetOpenIDPermissions"); if (settings.deny && settings.deny.includes(widgetSecurityKey)) { @@ -161,7 +170,7 @@ export default class WidgetMessaging { // Actually ask for permission to send the user's data Modal.createTrackedDialog("OpenID widget permissions", '', WidgetOpenIDPermissionsDialog, { - widgetUrl: this.widgetUrl, + widgetUrl: this.wurl, widgetId: this.widgetId, isUserWidget: this.isUserWidget, diff --git a/src/components/views/elements/AppTile.js b/src/components/views/elements/AppTile.js index ae5fe9a35c..80db1718f6 100644 --- a/src/components/views/elements/AppTile.js +++ b/src/components/views/elements/AppTile.js @@ -424,13 +424,13 @@ export default class AppTile extends React.Component { _setupWidgetMessaging() { // FIXME: There's probably no reason to do this here: it should probably be done entirely // in ActiveWidgetStore. - - // We use the app's URL over the rendered URL so that anything the widget does which could - // lead to requesting a "security key" will pass accordingly. The only other thing this URL - // is used for is to determine the origin we're talking to, and therefore we don't need the - // fully templated URL. const widgetMessaging = new WidgetMessaging( - this.props.app.id, this._getRenderedUrl(), this.props.userWidget, this._appFrame.current.contentWindow); + this.props.app.id, + this.props.app.url, + this._getRenderedUrl(), + this.props.userWidget, + this._appFrame.current.contentWindow, + ); ActiveWidgetStore.setWidgetMessaging(this.props.app.id, widgetMessaging); widgetMessaging.getCapabilities().then((requestedCapabilities) => { console.log(`Widget ${this.props.app.id} requested capabilities: ` + requestedCapabilities);