From fe24c8ad2a6989b674f9866fdf38401fa3583818 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 29 Nov 2021 17:42:53 +0000 Subject: [PATCH 01/29] Improve ThreadPanel ctx menu accessibility (#7217) --- res/css/structures/_ContextualMenu.scss | 1 - res/css/views/right_panel/_ThreadPanel.scss | 2 +- src/components/structures/ContextMenu.tsx | 22 ++++++------------- src/components/structures/ThreadPanel.tsx | 11 +++++----- .../avatars/MemberStatusMessageAvatar.tsx | 2 +- .../views/context_menus/CallContextMenu.tsx | 2 +- .../context_menus/DialpadContextMenu.tsx | 2 +- .../context_menus/IconizedContextMenu.tsx | 3 +-- .../views/directory/NetworkDropdown.tsx | 3 +-- src/components/views/elements/DNDTagTile.js | 2 +- .../views/groups/GroupInviteTile.js | 2 +- .../views/messages/MessageActionBar.tsx | 2 +- .../views/messages/ReactionsRow.tsx | 2 +- .../views/rooms/MessageComposer.tsx | 3 +-- src/components/views/rooms/RoomSublist.tsx | 3 +-- src/components/views/rooms/Stickerpicker.tsx | 3 ++- .../views/spaces/QuickSettingsButton.tsx | 2 +- .../views/spaces/SpaceCreateMenu.tsx | 2 +- .../structures/ThreadPanel-test.tsx | 2 +- .../__snapshots__/ThreadPanel-test.tsx.snap | 12 +++++----- 20 files changed, 35 insertions(+), 48 deletions(-) diff --git a/res/css/structures/_ContextualMenu.scss b/res/css/structures/_ContextualMenu.scss index 42e8b403d19..67e4b41268e 100644 --- a/res/css/structures/_ContextualMenu.scss +++ b/res/css/structures/_ContextualMenu.scss @@ -27,7 +27,6 @@ limitations under the License. width: 100%; height: 100%; opacity: 1.0; - z-index: 5000; } .mx_ContextualMenu { diff --git a/res/css/views/right_panel/_ThreadPanel.scss b/res/css/views/right_panel/_ThreadPanel.scss index 369c57cdd21..ce1d6d2d0aa 100644 --- a/res/css/views/right_panel/_ThreadPanel.scss +++ b/res/css/views/right_panel/_ThreadPanel.scss @@ -120,7 +120,7 @@ limitations under the License. &:hover { background-color: $event-selected-color; } - &[aria-selected="true"] { + &[aria-checked="true"] { :first-child { margin-left: -20px; } diff --git a/src/components/structures/ContextMenu.tsx b/src/components/structures/ContextMenu.tsx index 94b4b46fd42..84af76e282b 100644 --- a/src/components/structures/ContextMenu.tsx +++ b/src/components/structures/ContextMenu.tsx @@ -103,7 +103,7 @@ interface IState { // all options inside the menu should be of role=menuitem/menuitemcheckbox/menuitemradiobutton and have tabIndex={-1} // this will allow the ContextMenu to manage its own focus using arrow keys as per the ARIA guidelines. @replaceableComponent("structures.ContextMenu") -export class ContextMenu extends React.PureComponent { +export default class ContextMenu extends React.PureComponent { private readonly initialFocus: HTMLElement; static defaultProps = { @@ -411,6 +411,7 @@ export class ContextMenu extends React.PureComponent { onClick={this.onClick} onContextMenu={this.onContextMenuPreventBubbling} > + { background }
{ > { body }
- { background } ); } @@ -530,30 +530,22 @@ export const useContextMenu = (): ContextMenuTuple< return [isOpen, button, open, close, setIsOpen]; }; -@replaceableComponent("structures.LegacyContextMenu") -export default class LegacyContextMenu extends ContextMenu { - render() { - return this.renderMenu(false); - } -} - // XXX: Deprecated, used only for dynamic Tooltips. Avoid using at all costs. export function createMenu(ElementClass, props) { const onFinished = function(...args) { ReactDOM.unmountComponentAtNode(getOrCreateContainer()); - - if (props && props.onFinished) { - props.onFinished.apply(null, args); - } + props?.onFinished?.apply(null, args); }; - const menu = - ; + ; ReactDOM.render(menu, getOrCreateContainer()); diff --git a/src/components/structures/ThreadPanel.tsx b/src/components/structures/ThreadPanel.tsx index 3e1e658af20..4ede274097f 100644 --- a/src/components/structures/ThreadPanel.tsx +++ b/src/components/structures/ThreadPanel.tsx @@ -24,12 +24,11 @@ import ResizeNotifier from '../../utils/ResizeNotifier'; import MatrixClientContext from '../../contexts/MatrixClientContext'; import { _t } from '../../languageHandler'; import { ContextMenuButton } from '../../accessibility/context_menu/ContextMenuButton'; -import ContextMenu, { ChevronFace, useContextMenu } from './ContextMenu'; +import ContextMenu, { ChevronFace, MenuItemRadio, useContextMenu } from './ContextMenu'; import RoomContext, { TimelineRenderingType } from '../../contexts/RoomContext'; import TimelinePanel from './TimelinePanel'; import { Layout } from '../../settings/enums/Layout'; import { useEventEmitter } from '../../hooks/useEventEmitter'; -import AccessibleButton from '../views/elements/AccessibleButton'; import { TileShape } from '../views/rooms/EventTile'; import { RoomPermalinkCreator } from '../../utils/permalinks/Permalinks'; @@ -98,14 +97,14 @@ export const ThreadPanelHeaderFilterOptionItem = ({ onClick: () => void; isSelected: boolean; }) => { - return { label } { description } - ; + ; }; export const ThreadPanelHeader = ({ filterOption, setFilterOption }: { @@ -141,8 +140,8 @@ export const ThreadPanelHeader = ({ filterOption, setFilterOption }: { top={0} right={25} onFinished={closeMenu} - managed={false} chevronFace={ChevronFace.Top} + mountAsChild={true} > { contextMenuOptions } : null; diff --git a/src/components/views/avatars/MemberStatusMessageAvatar.tsx b/src/components/views/avatars/MemberStatusMessageAvatar.tsx index 8c703b3b328..f9c4fd8cb40 100644 --- a/src/components/views/avatars/MemberStatusMessageAvatar.tsx +++ b/src/components/views/avatars/MemberStatusMessageAvatar.tsx @@ -21,7 +21,7 @@ import MemberAvatar from '../avatars/MemberAvatar'; import classNames from 'classnames'; import StatusMessageContextMenu from "../context_menus/StatusMessageContextMenu"; import SettingsStore from "../../../settings/SettingsStore"; -import { ChevronFace, ContextMenu, ContextMenuButton } from "../../structures/ContextMenu"; +import ContextMenu, { ChevronFace, ContextMenuButton } from "../../structures/ContextMenu"; import { replaceableComponent } from "../../../utils/replaceableComponent"; import { RoomMember } from "matrix-js-sdk/src/models/room-member"; import { ResizeMethod } from "matrix-js-sdk/src/@types/partials"; diff --git a/src/components/views/context_menus/CallContextMenu.tsx b/src/components/views/context_menus/CallContextMenu.tsx index a61cdeedd30..38398e70b30 100644 --- a/src/components/views/context_menus/CallContextMenu.tsx +++ b/src/components/views/context_menus/CallContextMenu.tsx @@ -17,7 +17,7 @@ limitations under the License. import React from 'react'; import PropTypes from 'prop-types'; import { _t } from '../../../languageHandler'; -import { ContextMenu, IProps as IContextMenuProps, MenuItem } from '../../structures/ContextMenu'; +import ContextMenu, { IProps as IContextMenuProps, MenuItem } from '../../structures/ContextMenu'; import { MatrixCall } from 'matrix-js-sdk/src/webrtc/call'; import CallHandler from '../../../CallHandler'; import InviteDialog, { KIND_CALL_TRANSFER } from '../dialogs/InviteDialog'; diff --git a/src/components/views/context_menus/DialpadContextMenu.tsx b/src/components/views/context_menus/DialpadContextMenu.tsx index 01c7c6c1d89..cb1b877e665 100644 --- a/src/components/views/context_menus/DialpadContextMenu.tsx +++ b/src/components/views/context_menus/DialpadContextMenu.tsx @@ -17,7 +17,7 @@ limitations under the License. import * as React from "react"; import { createRef } from "react"; import AccessibleButton, { ButtonEvent } from "../elements/AccessibleButton"; -import { ContextMenu, IProps as IContextMenuProps } from '../../structures/ContextMenu'; +import ContextMenu, { IProps as IContextMenuProps } from '../../structures/ContextMenu'; import { MatrixCall } from 'matrix-js-sdk/src/webrtc/call'; import Field from "../elements/Field"; import DialPad from '../voip/DialPad'; diff --git a/src/components/views/context_menus/IconizedContextMenu.tsx b/src/components/views/context_menus/IconizedContextMenu.tsx index 571b0b39bf7..b648ade36cc 100644 --- a/src/components/views/context_menus/IconizedContextMenu.tsx +++ b/src/components/views/context_menus/IconizedContextMenu.tsx @@ -17,9 +17,8 @@ limitations under the License. import React from "react"; import classNames from "classnames"; -import { +import ContextMenu, { ChevronFace, - ContextMenu, IProps as IContextMenuProps, MenuItem, MenuItemCheckbox, MenuItemRadio, diff --git a/src/components/views/directory/NetworkDropdown.tsx b/src/components/views/directory/NetworkDropdown.tsx index 9a999625d73..43821aa8495 100644 --- a/src/components/views/directory/NetworkDropdown.tsx +++ b/src/components/views/directory/NetworkDropdown.tsx @@ -21,9 +21,8 @@ import { IProtocol } from "matrix-js-sdk/src/client"; import { MatrixClientPeg } from '../../../MatrixClientPeg'; import { instanceForInstanceId } from '../../../utils/DirectoryUtils'; -import { +import ContextMenu, { ChevronFace, - ContextMenu, ContextMenuButton, MenuGroup, MenuItem, diff --git a/src/components/views/elements/DNDTagTile.js b/src/components/views/elements/DNDTagTile.js index 97bae82e612..ed74246cb2c 100644 --- a/src/components/views/elements/DNDTagTile.js +++ b/src/components/views/elements/DNDTagTile.js @@ -18,7 +18,7 @@ limitations under the License. import TagTile from './TagTile'; import React from 'react'; -import { ContextMenu, toRightOf, useContextMenu } from "../../structures/ContextMenu"; +import ContextMenu, { toRightOf, useContextMenu } from "../../structures/ContextMenu"; import * as sdk from '../../../index'; export default function DNDTagTile(props) { diff --git a/src/components/views/groups/GroupInviteTile.js b/src/components/views/groups/GroupInviteTile.js index 0ec00841624..dc18db5c54c 100644 --- a/src/components/views/groups/GroupInviteTile.js +++ b/src/components/views/groups/GroupInviteTile.js @@ -23,7 +23,7 @@ import dis from '../../../dispatcher/dispatcher'; import { _t } from '../../../languageHandler'; import classNames from 'classnames'; import { MatrixClientPeg } from "../../../MatrixClientPeg"; -import { ContextMenu, ContextMenuButton, toRightOf } from "../../structures/ContextMenu"; +import ContextMenu, { ContextMenuButton, toRightOf } from "../../structures/ContextMenu"; import MatrixClientContext from "../../../contexts/MatrixClientContext"; import { RovingTabIndexWrapper } from "../../../accessibility/RovingTabIndex"; import { replaceableComponent } from "../../../utils/replaceableComponent"; diff --git a/src/components/views/messages/MessageActionBar.tsx b/src/components/views/messages/MessageActionBar.tsx index 2b0faa210a5..69ec20dbf57 100644 --- a/src/components/views/messages/MessageActionBar.tsx +++ b/src/components/views/messages/MessageActionBar.tsx @@ -23,7 +23,7 @@ import type { Relations } from 'matrix-js-sdk/src/models/relations'; import { _t } from '../../../languageHandler'; import dis from '../../../dispatcher/dispatcher'; import { Action } from '../../../dispatcher/actions'; -import { aboveLeftOf, ContextMenu, ContextMenuTooltipButton, useContextMenu } from '../../structures/ContextMenu'; +import ContextMenu, { aboveLeftOf, ContextMenuTooltipButton, useContextMenu } from '../../structures/ContextMenu'; import { isContentActionable, canEditContent } from '../../../utils/EventUtils'; import RoomContext, { TimelineRenderingType } from "../../../contexts/RoomContext"; import Toolbar from "../../../accessibility/Toolbar"; diff --git a/src/components/views/messages/ReactionsRow.tsx b/src/components/views/messages/ReactionsRow.tsx index d4caf4ecf8b..c4f796e0842 100644 --- a/src/components/views/messages/ReactionsRow.tsx +++ b/src/components/views/messages/ReactionsRow.tsx @@ -24,7 +24,7 @@ import { _t } from '../../../languageHandler'; import { isContentActionable } from '../../../utils/EventUtils'; import { replaceableComponent } from "../../../utils/replaceableComponent"; import { ContextMenuTooltipButton } from "../../../accessibility/context_menu/ContextMenuTooltipButton"; -import { aboveLeftOf, ContextMenu, useContextMenu } from "../../structures/ContextMenu"; +import ContextMenu, { aboveLeftOf, useContextMenu } from "../../structures/ContextMenu"; import ReactionPicker from "../emojipicker/ReactionPicker"; import ReactionsRowButton from "./ReactionsRowButton"; import MatrixClientContext from "../../../contexts/MatrixClientContext"; diff --git a/src/components/views/rooms/MessageComposer.tsx b/src/components/views/rooms/MessageComposer.tsx index a666a9b26a5..c16f8553441 100644 --- a/src/components/views/rooms/MessageComposer.tsx +++ b/src/components/views/rooms/MessageComposer.tsx @@ -27,9 +27,8 @@ import { makeRoomPermalink, RoomPermalinkCreator } from '../../../utils/permalin import ContentMessages from '../../../ContentMessages'; import E2EIcon from './E2EIcon'; import SettingsStore from "../../../settings/SettingsStore"; -import { +import ContextMenu, { aboveLeftOf, - ContextMenu, useContextMenu, MenuItem, AboveLeftOf, diff --git a/src/components/views/rooms/RoomSublist.tsx b/src/components/views/rooms/RoomSublist.tsx index fde2355ff35..37b7fed6523 100644 --- a/src/components/views/rooms/RoomSublist.tsx +++ b/src/components/views/rooms/RoomSublist.tsx @@ -26,9 +26,8 @@ import { _t } from "../../../languageHandler"; import AccessibleButton from "../../views/elements/AccessibleButton"; import RoomTile from "./RoomTile"; import { ListLayout } from "../../../stores/room-list/ListLayout"; -import { +import ContextMenu, { ChevronFace, - ContextMenu, ContextMenuTooltipButton, StyledMenuItemCheckbox, StyledMenuItemRadio, diff --git a/src/components/views/rooms/Stickerpicker.tsx b/src/components/views/rooms/Stickerpicker.tsx index 1f59d3a71e6..19cff10f700 100644 --- a/src/components/views/rooms/Stickerpicker.tsx +++ b/src/components/views/rooms/Stickerpicker.tsx @@ -13,6 +13,7 @@ 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 { Room } from 'matrix-js-sdk/src/models/room'; import { _t, _td } from '../../../languageHandler'; @@ -24,7 +25,7 @@ import WidgetUtils, { IWidgetEvent } from '../../../utils/WidgetUtils'; import PersistedElement from "../elements/PersistedElement"; import { IntegrationManagers } from "../../../integrations/IntegrationManagers"; import SettingsStore from "../../../settings/SettingsStore"; -import { ChevronFace, ContextMenu } from "../../structures/ContextMenu"; +import ContextMenu, { ChevronFace } from "../../structures/ContextMenu"; import { WidgetType } from "../../../widgets/WidgetType"; import { Action } from "../../../dispatcher/actions"; import { WidgetMessagingStore } from "../../../stores/widgets/WidgetMessagingStore"; diff --git a/src/components/views/spaces/QuickSettingsButton.tsx b/src/components/views/spaces/QuickSettingsButton.tsx index 59cfcb967cc..e54d5af5980 100644 --- a/src/components/views/spaces/QuickSettingsButton.tsx +++ b/src/components/views/spaces/QuickSettingsButton.tsx @@ -18,7 +18,7 @@ import React, { useMemo } from "react"; import { _t } from "../../../languageHandler"; import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; -import { alwaysAboveRightOf, ChevronFace, ContextMenu, useContextMenu } from "../../structures/ContextMenu"; +import ContextMenu, { alwaysAboveRightOf, ChevronFace, useContextMenu } from "../../structures/ContextMenu"; import AccessibleButton from "../elements/AccessibleButton"; import StyledCheckbox from "../elements/StyledCheckbox"; import { MetaSpace } from "../../../stores/spaces"; diff --git a/src/components/views/spaces/SpaceCreateMenu.tsx b/src/components/views/spaces/SpaceCreateMenu.tsx index c5e15ad855b..9dc52f21d6f 100644 --- a/src/components/views/spaces/SpaceCreateMenu.tsx +++ b/src/components/views/spaces/SpaceCreateMenu.tsx @@ -22,7 +22,7 @@ import { HistoryVisibility, Preset } from "matrix-js-sdk/src/@types/partials"; import { _t } from "../../../languageHandler"; import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; -import { ChevronFace, ContextMenu } from "../../structures/ContextMenu"; +import ContextMenu, { ChevronFace } from "../../structures/ContextMenu"; import createRoom, { IOpts as ICreateOpts } from "../../../createRoom"; import MatrixClientContext from "../../../contexts/MatrixClientContext"; import SpaceBasicSettings, { SpaceAvatar } from "./SpaceBasicSettings"; diff --git a/test/components/structures/ThreadPanel-test.tsx b/test/components/structures/ThreadPanel-test.tsx index a59e9aa6cd8..7dc50ebf244 100644 --- a/test/components/structures/ThreadPanel-test.tsx +++ b/test/components/structures/ThreadPanel-test.tsx @@ -70,7 +70,7 @@ describe('ThreadPanel', () => { wrapper.find(ContextMenuButton).simulate('click'); const found = wrapper.find(ThreadPanelHeaderFilterOptionItem); expect(found.length).toEqual(2); - const foundButton = found.find('[aria-selected=true]').first(); + const foundButton = found.find('[aria-checked=true]').first(); expect(foundButton.text()).toEqual(`${_t("All threads")}${_t('Shows all threads from current room')}`); expect(foundButton).toMatchSnapshot(); }); diff --git a/test/components/structures/__snapshots__/ThreadPanel-test.tsx.snap b/test/components/structures/__snapshots__/ThreadPanel-test.tsx.snap index 0be306a0a0a..2f1288bf63f 100644 --- a/test/components/structures/__snapshots__/ThreadPanel-test.tsx.snap +++ b/test/components/structures/__snapshots__/ThreadPanel-test.tsx.snap @@ -46,21 +46,21 @@ exports[`ThreadPanel Header expect that My filter for ThreadPanelHeader properly exports[`ThreadPanel Header expect that ThreadPanelHeader has the correct option selected in the context menu 1`] = `
All threads From 82ae39435c3ec45fdb3cc1f65bdfd68960b76ebc Mon Sep 17 00:00:00 2001 From: Timo <16718859+toger5@users.noreply.github.com> Date: Mon, 29 Nov 2021 19:01:47 +0100 Subject: [PATCH 02/29] Only show core navigation elements (call/chat/notification/info) when a widget is maximised (#7114) Co-authored-by: J. Ryan Stinnett --- src/components/structures/RoomView.tsx | 23 +++++++-- src/components/structures/ThreadView.tsx | 7 +++ .../views/right_panel/RoomHeaderButtons.tsx | 49 +++++++++++++------ src/components/views/rooms/RoomHeader.tsx | 5 +- 4 files changed, 63 insertions(+), 21 deletions(-) diff --git a/src/components/structures/RoomView.tsx b/src/components/structures/RoomView.tsx index e6780fce720..936454bbf32 100644 --- a/src/components/structures/RoomView.tsx +++ b/src/components/structures/RoomView.tsx @@ -2179,7 +2179,21 @@ export class RoomView extends React.Component { // TODO-video MainSplitContentType.Video: // break; } - + let excludedRightPanelPhaseButtons = [RightPanelPhases.Timeline]; + let onAppsClick = this.onAppsClick; + let onForgetClick = this.onForgetClick; + let onSearchClick = this.onSearchClick; + if (this.state.mainSplitContentType === MainSplitContentType.MaximisedWidget) { + // Disable phase buttons and action button to have a simplified header when a widget is maximised + // and enable (not disable) the RightPanelPhases.Timeline button + excludedRightPanelPhaseButtons = [ + RightPanelPhases.ThreadPanel, + RightPanelPhases.PinnedMessages, + ]; + onAppsClick = null; + onForgetClick = null; + onSearchClick = null; + } return (
@@ -2192,12 +2206,13 @@ export class RoomView extends React.Component { searchInfo={searchInfo} oobData={this.props.oobData} inRoom={myMembership === 'join'} - onSearchClick={this.onSearchClick} - onForgetClick={(myMembership === "leave") ? this.onForgetClick : null} + onSearchClick={onSearchClick} + onForgetClick={(myMembership === "leave") ? onForgetClick : null} e2eStatus={this.state.e2eStatus} - onAppsClick={this.state.hasPinnedWidgets ? this.onAppsClick : null} + onAppsClick={this.state.hasPinnedWidgets ? onAppsClick : null} appsShown={this.state.showApps} onCallPlaced={this.onCallPlaced} + excludedRightPanelPhaseButtons={excludedRightPanelPhaseButtons} />
diff --git a/src/components/structures/ThreadView.tsx b/src/components/structures/ThreadView.tsx index 605c4841571..2e618d6bece 100644 --- a/src/components/structures/ThreadView.tsx +++ b/src/components/structures/ThreadView.tsx @@ -43,6 +43,7 @@ import { _t } from '../../languageHandler'; import ThreadListContextMenu from '../views/context_menus/ThreadListContextMenu'; import RightPanelStore from '../../stores/RightPanelStore'; import SettingsStore from '../../settings/SettingsStore'; +import { WidgetLayoutStore } from '../../stores/widgets/WidgetLayoutStore'; interface IProps { room: Room; @@ -209,6 +210,12 @@ export default class ThreadView extends React.Component { if (!SettingsStore.getValue("feature_maximised_widgets")) { previousPhase = RightPanelPhases.ThreadPanel; } + + // change the previous phase to the threadPanel in case there is no maximised widget anymore + if (!WidgetLayoutStore.instance.hasMaximisedWidget(this.props.room)) { + previousPhase = RightPanelPhases.ThreadPanel; + } + // Make sure the previous Phase is always one of the two: Timeline or ThreadPanel if (![RightPanelPhases.ThreadPanel, RightPanelPhases.Timeline].includes(previousPhase)) { previousPhase = RightPanelPhases.ThreadPanel; diff --git a/src/components/views/right_panel/RoomHeaderButtons.tsx b/src/components/views/right_panel/RoomHeaderButtons.tsx index 5405689fb30..7e8ce5edf9a 100644 --- a/src/components/views/right_panel/RoomHeaderButtons.tsx +++ b/src/components/views/right_panel/RoomHeaderButtons.tsx @@ -81,6 +81,7 @@ const TimelineCardHeaderButton = ({ room, isHighlighted, onClick }) => { interface IProps { room?: Room; + excludedRightPanelPhaseButtons?: Array; } @replaceableComponent("views.right_panel.RoomHeaderButtons") @@ -150,38 +151,54 @@ export default class RoomHeaderButtons extends HeaderButtons { }; public renderButtons() { - return <> + const rightPanelPhaseButtons: Map = new Map(); + + rightPanelPhaseButtons.set(RightPanelPhases.PinnedMessages, + onClick={this.onPinnedMessagesClicked} />, + ); + rightPanelPhaseButtons.set(RightPanelPhases.Timeline, - { SettingsStore.getValue("feature_thread") && } + onClick={this.onTimelineCardClicked} />, + ); + rightPanelPhaseButtons.set(RightPanelPhases.ThreadPanel, + SettingsStore.getValue("feature_thread") + ? + : null, + ); + rightPanelPhaseButtons.set(RightPanelPhases.NotificationPanel, + analytics={['Right Panel', 'Notification List Button', 'click']} />, + ); + rightPanelPhaseButtons.set(RightPanelPhases.RoomSummary, + analytics={['Right Panel', 'Room Summary Button', 'click']} />, + ); + + return <> + { + Array.from(rightPanelPhaseButtons.keys()).map((phase) => + ( this.props.excludedRightPanelPhaseButtons.includes(phase) + ? null + : rightPanelPhaseButtons.get(phase))) + } ; } } diff --git a/src/components/views/rooms/RoomHeader.tsx b/src/components/views/rooms/RoomHeader.tsx index 26b101d3e34..2fda3decad9 100644 --- a/src/components/views/rooms/RoomHeader.tsx +++ b/src/components/views/rooms/RoomHeader.tsx @@ -39,6 +39,7 @@ import { SearchScope } from './SearchBar'; import { ContextMenuTooltipButton } from '../../structures/ContextMenu'; import RoomContextMenu from "../context_menus/RoomContextMenu"; import { contextMenuBelow } from './RoomTile'; +import { RightPanelPhases } from '../../../stores/RightPanelStorePhases'; export interface ISearchInfo { searchTerm: string; @@ -57,6 +58,7 @@ interface IProps { e2eStatus: E2EStatus; appsShown: boolean; searchInfo: ISearchInfo; + excludedRightPanelPhaseButtons?: Array; } interface IState { @@ -68,6 +70,7 @@ export default class RoomHeader extends React.Component { static defaultProps = { editing: false, inRoom: false, + excludedRightPanelPhaseButtons: [], }; constructor(props, context) { @@ -263,7 +266,7 @@ export default class RoomHeader extends React.Component { { searchStatus } { topicElement } { rightRow } - +
); From 1d2965a11120d5da12ae47911bb8d7e75735e939 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 29 Nov 2021 20:10:34 +0000 Subject: [PATCH 03/29] Tweak bottom of space panel buttons in expanded state (#7213) --- res/css/structures/_QuickSettingsButton.scss | 19 +++++++--- res/css/structures/_SpacePanel.scss | 36 +++++++++++++------ .../views/spaces/QuickSettingsButton.tsx | 10 ++++-- src/components/views/spaces/SpacePanel.tsx | 7 ++-- src/i18n/strings/en_EN.json | 4 +-- 5 files changed, 54 insertions(+), 22 deletions(-) diff --git a/res/css/structures/_QuickSettingsButton.scss b/res/css/structures/_QuickSettingsButton.scss index 24883478bdc..45f7447162e 100644 --- a/res/css/structures/_QuickSettingsButton.scss +++ b/res/css/structures/_QuickSettingsButton.scss @@ -16,17 +16,26 @@ limitations under the License. .mx_QuickSettingsButton { flex: 0 0 auto; - width: 32px; - height: 32px; border-radius: 8px; position: relative; margin: 12px auto; + color: $secondary-content; + min-width: 32px; + min-height: 32px; + line-height: 32px; + + &.expanded { + margin-left: 20px; + padding-left: 44px; // align with toggle collapse button text + padding-right: 8px; + } &::before { content: ""; position: absolute; - width: inherit; - height: inherit; + width: 32px; + height: 32px; + left: 0; mask-image: url('$(res)/img/element-icons/settings.svg'); mask-repeat: no-repeat; mask-position: center; @@ -34,7 +43,7 @@ limitations under the License. background: $secondary-content; } - &:hover { + &:not(.expanded):hover { background-color: $quaternary-content; &::before { diff --git a/res/css/structures/_SpacePanel.scss b/res/css/structures/_SpacePanel.scss index 42fb72464a5..706cfb44f09 100644 --- a/res/css/structures/_SpacePanel.scss +++ b/res/css/structures/_SpacePanel.scss @@ -41,18 +41,34 @@ $activeBorderColor: $secondary-content; } .mx_SpacePanel_toggleCollapse { - flex: 0 0 auto; - width: 40px; - height: 40px; - mask-position: center; - mask-size: 32px; - mask-repeat: no-repeat; - margin-left: $gutterSize; - background-color: $tertiary-content; - mask-image: url('$(res)/img/element-icons/expand-space-panel.svg'); + margin: 0 auto; + position: relative; + min-width: 32px; + min-height: 32px; + line-height: 32px; + color: $secondary-content; + + &::before { + content: ""; + position: absolute; + width: 32px; + height: 32px; + left: 0; + mask-position: center; + mask-size: contain; + mask-repeat: no-repeat; + background-color: $secondary-content; + mask-image: url('$(res)/img/element-icons/expand-space-panel.svg'); + } &.expanded { - transform: scaleX(-1); + padding-left: 48px; + padding-right: 8px; + margin-left: $gutterSize; + + &::before { + transform: scaleX(-1); + } } } diff --git a/src/components/views/spaces/QuickSettingsButton.tsx b/src/components/views/spaces/QuickSettingsButton.tsx index e54d5af5980..2b7595f9a53 100644 --- a/src/components/views/spaces/QuickSettingsButton.tsx +++ b/src/components/views/spaces/QuickSettingsButton.tsx @@ -34,8 +34,9 @@ import SettingsStore from "../../../settings/SettingsStore"; import { SettingLevel } from "../../../settings/SettingLevel"; import dis from "../../../dispatcher/dispatcher"; import { RecheckThemePayload } from "../../../dispatcher/payloads/RecheckThemePayload"; +import classNames from "classnames"; -const QuickSettingsButton = () => { +const QuickSettingsButton = ({ isPanelCollapsed = false }) => { const orderedThemes = useMemo(getOrderedThemes, []); const [menuDisplayed, handle, openMenu, closeMenu] = useContextMenu(); @@ -137,11 +138,14 @@ const QuickSettingsButton = () => { return <> + forceHide={!isPanelCollapsed} + > + { !isPanelCollapsed ? _t("Settings") : null } + { contextMenu } ; diff --git a/src/components/views/spaces/SpacePanel.tsx b/src/components/views/spaces/SpacePanel.tsx index 0aa2d44dff9..57d770195d2 100644 --- a/src/components/views/spaces/SpacePanel.tsx +++ b/src/components/views/spaces/SpacePanel.tsx @@ -324,8 +324,11 @@ const SpacePanel = () => { className={classNames("mx_SpacePanel_toggleCollapse", { expanded: !isPanelCollapsed })} onClick={() => setPanelCollapsed(!isPanelCollapsed)} title={isPanelCollapsed ? _t("Expand space panel") : _t("Collapse space panel")} - /> - { metaSpacesEnabled && } + forceHide={!isPanelCollapsed} + > + { !isPanelCollapsed ? _t("Collapse") : null } + + { metaSpacesEnabled && } ) } diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index facd3999dda..124d887c680 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1053,6 +1053,7 @@ "More options": "More options", "Theme": "Theme", "Space selection": "Space selection", + "Settings": "Settings", "Delete avatar": "Delete avatar", "Delete": "Delete", "Upload avatar": "Upload avatar", @@ -1092,6 +1093,7 @@ "Other rooms": "Other rooms", "Expand space panel": "Expand space panel", "Collapse space panel": "Collapse space panel", + "Collapse": "Collapse", "Click to copy": "Click to copy", "Copied!": "Copied!", "Failed to copy": "Failed to copy", @@ -1120,7 +1122,6 @@ "Jump to first unread room.": "Jump to first unread room.", "Jump to first invite.": "Jump to first invite.", "Expand": "Expand", - "Collapse": "Collapse", "Space options": "Space options", "Remove": "Remove", "This bridge was provisioned by .": "This bridge was provisioned by .", @@ -1794,7 +1795,6 @@ "Low Priority": "Low Priority", "Invite People": "Invite People", "Copy Room Link": "Copy Room Link", - "Settings": "Settings", "Leave Room": "Leave Room", "%(count)s unread messages including mentions.|other": "%(count)s unread messages including mentions.", "%(count)s unread messages including mentions.|one": "1 unread mention.", From 766d1ee3e86ac9a67d8558bbfeecb2be55901ed5 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 30 Nov 2021 09:26:38 +0000 Subject: [PATCH 04/29] Guard against null refs in findSiblingElement (#7228) --- src/accessibility/RovingTabIndex.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/accessibility/RovingTabIndex.tsx b/src/accessibility/RovingTabIndex.tsx index 51cc2322d16..a7f8f735cec 100644 --- a/src/accessibility/RovingTabIndex.tsx +++ b/src/accessibility/RovingTabIndex.tsx @@ -165,13 +165,13 @@ export const findSiblingElement = ( ): RefObject => { if (backwards) { for (let i = startIndex; i < refs.length && i >= 0; i--) { - if (refs[i].current.offsetParent !== null) { + if (refs[i].current?.offsetParent !== null) { return refs[i]; } } } else { for (let i = startIndex; i < refs.length && i >= 0; i++) { - if (refs[i].current.offsetParent !== null) { + if (refs[i].current?.offsetParent !== null) { return refs[i]; } } From 8905c5d2bb2041872c11ad2a9546d7158d459f69 Mon Sep 17 00:00:00 2001 From: Timo <16718859+toger5@users.noreply.github.com> Date: Tue, 30 Nov 2021 11:06:20 +0100 Subject: [PATCH 05/29] Add unread indicator to the timelineCard header icon (#7156) Co-authored-by: J. Ryan Stinnett Co-authored-by: Travis Ralston --- res/css/structures/_RightPanel.scss | 71 ++++++++++++------- .../views/right_panel/RoomHeaderButtons.tsx | 43 +++++++++-- src/components/views/rooms/RoomHeader.tsx | 11 ++- 3 files changed, 92 insertions(+), 33 deletions(-) diff --git a/res/css/structures/_RightPanel.scss b/res/css/structures/_RightPanel.scss index ac727dab39c..86628a5d9e4 100644 --- a/res/css/structures/_RightPanel.scss +++ b/res/css/structures/_RightPanel.scss @@ -103,7 +103,7 @@ limitations under the License. mask-position: center; } -$dot-size: 8px; +$dot-size: 7px; $pulse-color: $alert; .mx_RightPanel_pinnedMessagesButton { @@ -111,36 +111,53 @@ $pulse-color: $alert; mask-image: url('$(res)/img/element-icons/room/pin.svg'); mask-position: center; } +} +.mx_RightPanel_headerButton_unreadIndicator_bg { + position: absolute; + right: 0; + top: 0; + margin: 4px; + width: $dot-size; + height: $dot-size; + border-radius: 50%; + transform: scale(1.6); + transform-origin: center center; + background: rgba($background, 1); +} - .mx_RightPanel_pinnedMessagesButton_unreadIndicator { +.mx_RightPanel_headerButton_unreadIndicator { + position: absolute; + right: 0; + top: 0; + margin: 4px; + width: $dot-size; + height: $dot-size; + border-radius: 50%; + transform: scale(1); + background: rgba($pulse-color, 1); + box-shadow: 0 0 0 0 rgba($pulse-color, 1); + animation: mx_RightPanel_indicator_pulse 2s infinite; + animation-iteration-count: 1; + + &.mx_Indicator_gray { + background: rgba($input-darker-fg-color, 1); + box-shadow: rgba($input-darker-fg-color, 1); + } + + &::after { + content: ""; position: absolute; - right: 0; + width: inherit; + height: inherit; top: 0; - margin: 4px; - width: $dot-size; - height: $dot-size; - border-radius: 50%; + left: 0; transform: scale(1); - background: rgba($pulse-color, 1); - box-shadow: 0 0 0 0 rgba($pulse-color, 1); - animation: mx_RightPanel_indicator_pulse 2s infinite; - animation-iteration-count: 1; - - &::after { - content: ""; - position: absolute; - width: inherit; - height: inherit; - top: 0; - left: 0; - transform: scale(1); - transform-origin: center center; - animation-name: mx_RightPanel_indicator_pulse_shadow; - animation-duration: inherit; - animation-iteration-count: inherit; - border-radius: 50%; - background: rgba($pulse-color, 1); - } + transform-origin: center center; + animation-name: mx_RightPanel_indicator_pulse_shadow; + animation-duration: inherit; + animation-iteration-count: inherit; + border-radius: 50%; + background: inherit; } } diff --git a/src/components/views/right_panel/RoomHeaderButtons.tsx b/src/components/views/right_panel/RoomHeaderButtons.tsx index 7e8ce5edf9a..a9a0b0e7c3e 100644 --- a/src/components/views/right_panel/RoomHeaderButtons.tsx +++ b/src/components/views/right_panel/RoomHeaderButtons.tsx @@ -34,6 +34,8 @@ import { useReadPinnedEvents, usePinnedEvents } from './PinnedMessagesCard'; import { dispatchShowThreadsPanelEvent } from "../../../dispatcher/dispatch-actions/threads"; import SettingsStore from "../../../settings/SettingsStore"; import dis from "../../../dispatcher/dispatcher"; +import { RoomNotificationStateStore } from "../../../stores/notifications/RoomNotificationStateStore"; +import { NotificationColor } from "../../../stores/notifications/NotificationColor"; const ROOM_INFO_PHASES = [ RightPanelPhases.RoomSummary, @@ -45,7 +47,24 @@ const ROOM_INFO_PHASES = [ RightPanelPhases.Room3pidMemberInfo, ]; -const PinnedMessagesHeaderButton = ({ room, isHighlighted, onClick }) => { +interface IUnreadIndicatorProps { + className: string; +} + +const UnreadIndicator = ({ className }: IUnreadIndicatorProps) => { + return +
+
+ ; +}; + +interface IHeaderButtonProps { + room: Room; + isHighlighted: boolean; + onClick: () => void; +} + +const PinnedMessagesHeaderButton = ({ room, isHighlighted, onClick }: IHeaderButtonProps) => { const pinningEnabled = useSettingValue("feature_pinning"); const pinnedEvents = usePinnedEvents(pinningEnabled && room); const readPinnedEvents = useReadPinnedEvents(pinningEnabled && room); @@ -53,7 +72,7 @@ const PinnedMessagesHeaderButton = ({ room, isHighlighted, onClick }) => { let unreadIndicator; if (pinnedEvents.some(id => !readPinnedEvents.has(id))) { - unreadIndicator =
; + unreadIndicator = ; } return { ; }; -const TimelineCardHeaderButton = ({ room, isHighlighted, onClick }) => { +const TimelineCardHeaderButton = ({ room, isHighlighted, onClick }: IHeaderButtonProps) => { if (!SettingsStore.getValue("feature_maximised_widgets")) return null; - + let unreadIndicator; + switch (RoomNotificationStateStore.instance.getRoomState(room).color) { + case NotificationColor.Grey: + unreadIndicator = + ; + break; + case NotificationColor.Red: + unreadIndicator = + ; + break; + default: + break; + } return ; + > + { unreadIndicator } + ; }; interface IProps { diff --git a/src/components/views/rooms/RoomHeader.tsx b/src/components/views/rooms/RoomHeader.tsx index 2fda3decad9..7bce296e8f7 100644 --- a/src/components/views/rooms/RoomHeader.tsx +++ b/src/components/views/rooms/RoomHeader.tsx @@ -39,6 +39,8 @@ import { SearchScope } from './SearchBar'; import { ContextMenuTooltipButton } from '../../structures/ContextMenu'; import RoomContextMenu from "../context_menus/RoomContextMenu"; import { contextMenuBelow } from './RoomTile'; +import { RoomNotificationStateStore } from '../../../stores/notifications/RoomNotificationStateStore'; +import { NOTIFICATION_STATE_UPDATE } from '../../../stores/notifications/NotificationState'; import { RightPanelPhases } from '../../../stores/RightPanelStorePhases'; export interface ISearchInfo { @@ -75,7 +77,8 @@ export default class RoomHeader extends React.Component { constructor(props, context) { super(props, context); - + const notiStore = RoomNotificationStateStore.instance.getRoomState(props.room); + notiStore.on(NOTIFICATION_STATE_UPDATE, this.onNotificationUpdate); this.state = {}; } @@ -89,6 +92,8 @@ export default class RoomHeader extends React.Component { if (cli) { cli.removeListener("RoomState.events", this.onRoomStateEvents); } + const notiStore = RoomNotificationStateStore.instance.getRoomState(this.props.room); + notiStore.removeListener(NOTIFICATION_STATE_UPDATE, this.onNotificationUpdate); } private onRoomStateEvents = (event: MatrixEvent, state: RoomState) => { @@ -100,6 +105,10 @@ export default class RoomHeader extends React.Component { this.rateLimitedUpdate(); }; + private onNotificationUpdate = () => { + this.forceUpdate(); + }; + private rateLimitedUpdate = throttle(() => { this.forceUpdate(); }, 500, { leading: true, trailing: true }); From 5c895bf3f68dfe831a8c43b2c19c347c0934f13d Mon Sep 17 00:00:00 2001 From: Renan Cleyson Date: Tue, 30 Nov 2021 07:25:08 -0300 Subject: [PATCH 06/29] Fix newline on edit messages with quotes (#7227) --- src/Markdown.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/Markdown.ts b/src/Markdown.ts index 4adc450fca2..e351b8d4ef4 100644 --- a/src/Markdown.ts +++ b/src/Markdown.ts @@ -56,12 +56,6 @@ function isAllowedHtmlTag(node: commonmark.Node): boolean { function isMultiLine(node: commonmark.Node): boolean { let par = node; while (par.parent) { - // commonmark Parser separate quotes with blank quoted lines between them with - // paragraphs, so we need to consider it when the markdown is only a multiline quote. - if (par.type === 'block_quote') { - break; - } - par = par.parent; } return par.firstChild != par.lastChild; @@ -135,7 +129,10 @@ export default class Markdown { // 'inline', rather than unnecessarily wrapped in its own // p tag. If, however, we have multiple nodes, each gets // its own p tag to keep them as separate paragraphs. - if (isMultiLine(node)) { + // However, if it's a blockquote, adds a p tag anyway + // in order to avoid deviation to commonmark and unexpected + // results when parsing the formatted HTML. + if (node.parent.type === 'block_quote'|| isMultiLine(node)) { realParagraph.call(this, node, entering); } }; From 5ff810b687ce4eefbfe102ffabe3ce034b2e1e31 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 30 Nov 2021 16:04:27 +0000 Subject: [PATCH 07/29] Fix room list treeview filtering not ignoring modifier keys (#7231) --- src/components/structures/LeftPanel.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/structures/LeftPanel.tsx b/src/components/structures/LeftPanel.tsx index f25ae269da6..1bc1282453a 100644 --- a/src/components/structures/LeftPanel.tsx +++ b/src/components/structures/LeftPanel.tsx @@ -306,6 +306,7 @@ export default class LeftPanel extends React.Component { }; private onRoomListKeydown = (ev: React.KeyboardEvent) => { + if (ev.altKey || ev.ctrlKey || ev.metaKey) return; // we cannot handle Space as that is an activation key for all focusable elements in this widget if (ev.key.length === 1) { ev.preventDefault(); From 347bbefd46b77e1cd2db1f6eaeaaabb5e5edf56b Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 30 Nov 2021 17:30:41 +0000 Subject: [PATCH 08/29] Fix left panel glow in Safari (#7236) Add back removed CSS --- res/css/views/elements/_ResizeHandle.scss | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/res/css/views/elements/_ResizeHandle.scss b/res/css/views/elements/_ResizeHandle.scss index 2af2880654e..3c6ba254fa5 100644 --- a/res/css/views/elements/_ResizeHandle.scss +++ b/res/css/views/elements/_ResizeHandle.scss @@ -20,6 +20,15 @@ limitations under the License. z-index: 100; } +// We'd like to remove this, but this makes matrixchat's resizehandle's +// negative margin & greater than its positive padding. If it's the same +// or less, Safari gets confused about overflows somehow and +// https://github.com/vector-im/element-web/issues/19863 happens. +.mx_MatrixChat > .mx_ResizeHandle.mx_ResizeHandle_horizontal { + margin: 0 -10px 0 0; + padding: 0 8px 0 0; +} + .mx_ResizeHandle.mx_ResizeHandle_horizontal { margin: 0 -5px; padding: 0 5px; From 033c696087f979a4bce948e6d3ec3d3d3ca56d7d Mon Sep 17 00:00:00 2001 From: Element Translate Bot Date: Tue, 30 Nov 2021 18:46:55 +0100 Subject: [PATCH 09/29] Translations update from Weblate (#7237) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Translated using Weblate (Czech) Currently translated at 100.0% (3262 of 3262 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Albanian) Currently translated at 99.7% (3255 of 3262 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/sq/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3262 of 3262 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Czech) Currently translated at 100.0% (3262 of 3262 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (3262 of 3262 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/hu/ * Translated using Weblate (Italian) Currently translated at 100.0% (3274 of 3274 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/it/ * Translated using Weblate (Czech) Currently translated at 99.8% (3269 of 3274 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 99.7% (3268 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Czech) Currently translated at 100.0% (3277 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3277 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Czech) Currently translated at 100.0% (3278 of 3278 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Estonian) Currently translated at 99.7% (3269 of 3278 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/et/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3277 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3277 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hant/ * Translated using Weblate (Czech) Currently translated at 100.0% (3278 of 3278 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Albanian) Currently translated at 99.6% (3267 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/sq/ * Translated using Weblate (Estonian) Currently translated at 100.0% (3278 of 3278 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/et/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3277 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Dutch) Currently translated at 98.3% (3222 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/nl/ * Translated using Weblate (Italian) Currently translated at 100.0% (3277 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/it/ * Translated using Weblate (German) Currently translated at 99.0% (3247 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/de/ * Translated using Weblate (German) Currently translated at 99.0% (3247 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/de/ * Translated using Weblate (German) Currently translated at 99.0% (3247 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/de/ * Translated using Weblate (Spanish) Currently translated at 99.6% (3265 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/es/ * Translated using Weblate (Dutch) Currently translated at 98.3% (3223 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/nl/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3277 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hant/ * Translated using Weblate (Indonesian) Currently translated at 52.1% (1710 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Czech) Currently translated at 100.0% (3277 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Indonesian) Currently translated at 52.1% (1710 of 3277 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3283 of 3283 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Czech) Currently translated at 100.0% (3283 of 3283 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Estonian) Currently translated at 100.0% (3283 of 3283 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/et/ * Translated using Weblate (Spanish) Currently translated at 99.5% (3268 of 3283 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/es/ * Translated using Weblate (Czech) Currently translated at 100.0% (3283 of 3283 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Albanian) Currently translated at 99.6% (3273 of 3283 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/sq/ * Translated using Weblate (Turkish) Currently translated at 67.9% (2230 of 3283 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/tr/ * Translated using Weblate (Turkish) Currently translated at 67.9% (2230 of 3283 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/tr/ * Translated using Weblate (Turkish) Currently translated at 67.9% (2231 of 3283 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/tr/ * Translated using Weblate (Albanian) Currently translated at 100.0% (3283 of 3283 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/sq/ * Added translation using Weblate (Frisian) * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3283 of 3283 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hant/ * Translated using Weblate (Ukrainian) Currently translated at 70.4% (2314 of 3283 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/uk/ * Translated using Weblate (Italian) Currently translated at 100.0% (3283 of 3283 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/it/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3285 of 3285 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Czech) Currently translated at 100.0% (3285 of 3285 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Albanian) Currently translated at 100.0% (3285 of 3285 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/sq/ * Translated using Weblate (Hungarian) Currently translated at 99.3% (3263 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/hu/ * Translated using Weblate (Albanian) Currently translated at 100.0% (3286 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/sq/ * Translated using Weblate (Estonian) Currently translated at 100.0% (3286 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/et/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (3286 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/hu/ * Translated using Weblate (Czech) Currently translated at 100.0% (3286 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3286 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3286 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hant/ * Translated using Weblate (Indonesian) Currently translated at 53.0% (1743 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Indonesian) Currently translated at 55.5% (1824 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Indonesian) Currently translated at 55.5% (1827 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Indonesian) Currently translated at 55.6% (1828 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Indonesian) Currently translated at 55.9% (1839 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (3286 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/hu/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (3286 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/hu/ * Translated using Weblate (Italian) Currently translated at 100.0% (3286 of 3286 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/it/ * Translated using Weblate (Spanish) Currently translated at 99.4% (3272 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/es/ * Translated using Weblate (Albanian) Currently translated at 100.0% (3289 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/sq/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (3289 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/hu/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3289 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3289 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hant/ * Translated using Weblate (Italian) Currently translated at 100.0% (3289 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/it/ * Translated using Weblate (Indonesian) Currently translated at 65.0% (2140 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Czech) Currently translated at 100.0% (3289 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (German) Currently translated at 98.5% (3242 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/de/ * Translated using Weblate (Indonesian) Currently translated at 70.1% (2306 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Czech) Currently translated at 100.0% (3289 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Galician) Currently translated at 99.3% (3267 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/gl/ * Translated using Weblate (Estonian) Currently translated at 100.0% (3289 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/et/ * Translated using Weblate (Galician) Currently translated at 99.9% (3288 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/gl/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (3289 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/hu/ * Translated using Weblate (Czech) Currently translated at 100.0% (3289 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (German) Currently translated at 98.7% (3249 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/de/ * Translated using Weblate (German) Currently translated at 98.7% (3249 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/de/ * Translated using Weblate (German) Currently translated at 98.8% (3251 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/de/ * Translated using Weblate (German) Currently translated at 98.8% (3251 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/de/ * Translated using Weblate (German) Currently translated at 99.3% (3268 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/de/ * Translated using Weblate (German) Currently translated at 99.3% (3268 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/de/ * Translated using Weblate (French) Currently translated at 99.8% (3285 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/fr/ * Translated using Weblate (Indonesian) Currently translated at 78.0% (2567 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Czech) Currently translated at 100.0% (3289 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (3289 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/hu/ * Translated using Weblate (Ukrainian) Currently translated at 70.7% (2326 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/uk/ * Translated using Weblate (Indonesian) Currently translated at 81.0% (2665 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (French) Currently translated at 99.9% (3286 of 3289 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/fr/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3292 of 3292 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Estonian) Currently translated at 100.0% (3292 of 3292 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/et/ * Translated using Weblate (Albanian) Currently translated at 100.0% (3292 of 3292 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/sq/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3294 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Czech) Currently translated at 100.0% (3294 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Italian) Currently translated at 100.0% (3294 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/it/ * Translated using Weblate (Indonesian) Currently translated at 98.0% (3230 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Estonian) Currently translated at 100.0% (3294 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/et/ * Translated using Weblate (Spanish) Currently translated at 99.4% (3275 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/es/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (3294 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (3294 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/hu/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3294 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hant/ * Translated using Weblate (Polish) Currently translated at 62.3% (2053 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/pl/ * Translated using Weblate (Polish) Currently translated at 62.3% (2053 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/pl/ * Translated using Weblate (Ukrainian) Currently translated at 71.4% (2355 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/uk/ * Translated using Weblate (Dutch) Currently translated at 99.8% (3289 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/nl/ * Translated using Weblate (Galician) Currently translated at 99.9% (3293 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/gl/ * Translated using Weblate (Dutch) Currently translated at 99.9% (3292 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/nl/ * Translated using Weblate (Dutch) Currently translated at 100.0% (3294 of 3294 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/nl/ * Translated using Weblate (Czech) Currently translated at 100.0% (3304 of 3304 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Estonian) Currently translated at 100.0% (3304 of 3304 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/et/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3304 of 3304 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3304 of 3304 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hant/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (3304 of 3304 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Galician) Currently translated at 99.9% (3303 of 3304 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/gl/ * Translated using Weblate (Italian) Currently translated at 100.0% (3304 of 3304 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/it/ * Translated using Weblate (Albanian) Currently translated at 100.0% (3304 of 3304 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/sq/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (3306 of 3306 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/hu/ * Translated using Weblate (Swedish) Currently translated at 98.4% (3254 of 3306 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/sv/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3306 of 3306 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (3306 of 3306 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Galician) Currently translated at 99.9% (3305 of 3306 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/gl/ * Translated using Weblate (Estonian) Currently translated at 100.0% (3306 of 3306 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/et/ * Translated using Weblate (Dutch) Currently translated at 100.0% (3306 of 3306 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/nl/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3306 of 3306 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hant/ * Translated using Weblate (Czech) Currently translated at 100.0% (3306 of 3306 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3307 of 3307 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (3307 of 3307 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Czech) Currently translated at 100.0% (3307 of 3307 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Estonian) Currently translated at 100.0% (3307 of 3307 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/et/ * Translated using Weblate (Italian) Currently translated at 100.0% (3307 of 3307 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/it/ * Translated using Weblate (Spanish) Currently translated at 99.2% (3283 of 3308 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/es/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (3308 of 3308 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3308 of 3308 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/zh_Hant/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (3308 of 3308 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/id/ * Translated using Weblate (Czech) Currently translated at 100.0% (3308 of 3308 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/cs/ * Translated using Weblate (Galician) Currently translated at 99.9% (3307 of 3308 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/gl/ * Translated using Weblate (Dutch) Currently translated at 100.0% (3308 of 3308 strings) Translation: Element Web/matrix-react-sdk Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/nl/ Co-authored-by: waclaw66 Co-authored-by: Besnik Bleta Co-authored-by: Weblate Co-authored-by: sr093906 Co-authored-by: Szimszon Co-authored-by: random Co-authored-by: Priit Jõerüüt Co-authored-by: Jeff Huang Co-authored-by: jelv Co-authored-by: Michael Weimann Co-authored-by: Christian Paul Co-authored-by: Kim Brose Co-authored-by: iaiz Co-authored-by: Linerly Co-authored-by: Desc4rtes Co-authored-by: Sehrail Co-authored-by: Fjoerfoks Co-authored-by: Ihor Hordiichuk Co-authored-by: Balázs Meskó Co-authored-by: Bog Rol Co-authored-by: XoseM Co-authored-by: libexus Co-authored-by: Glandos Co-authored-by: Adrian Środoń Co-authored-by: m1chj <8hm0nutuhsa9@opayq.com> Co-authored-by: LinAGKar --- src/i18n/strings/cs.json | 43 +- src/i18n/strings/de_DE.json | 30 +- src/i18n/strings/es.json | 20 +- src/i18n/strings/et.json | 30 +- src/i18n/strings/fr.json | 41 +- src/i18n/strings/gl.json | 124 ++- src/i18n/strings/hu.json | 660 +++++++------- src/i18n/strings/id.json | 1603 ++++++++++++++++++++++++++++++++- src/i18n/strings/it.json | 30 +- src/i18n/strings/nl.json | 352 +++++--- src/i18n/strings/pl.json | 7 +- src/i18n/strings/sq.json | 27 +- src/i18n/strings/sv.json | 6 +- src/i18n/strings/uk.json | 52 +- src/i18n/strings/zh_Hans.json | 33 +- src/i18n/strings/zh_Hant.json | 31 +- 16 files changed, 2626 insertions(+), 463 deletions(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index fc8918ce8c5..ddb08661b79 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -1208,7 +1208,7 @@ "You should:": "Měli byste:", "check your browser plugins for anything that might block the identity server (such as Privacy Badger)": "zkontrolujte, jestli nemáte v prohlížeči nějaký doplněk blokující server identit (např. Privacy Badger)", "contact the administrators of identity server ": "kontaktujte správce serveru identit ", - "wait and try again later": "počkejte z zkuste to znovu později", + "wait and try again later": "počkejte a zkuste to znovu později", "Discovery": "Veřejné", "Clear cache and reload": "Smazat mezipaměť a načíst znovu", "Show tray icon and minimize window to it on close": "Zobrazovat systémovou ikonu a minimalizovat při zavření", @@ -1476,8 +1476,8 @@ "Enable message search in encrypted rooms": "Povolit vyhledávání v šifrovaných místnostech", "How fast should messages be downloaded.": "Jak rychle se mají zprávy stahovat.", "Waiting for %(displayName)s to verify…": "Čekám až nás %(displayName)s ověří…", - "They match": "Odpovídají", - "They don't match": "Neodpovídají", + "They match": "Shodují se", + "They don't match": "Neshodují se", "To be secure, do this in person or use a trusted way to communicate.": "Aby bylo ověření bezpečné, proveďte ho osobně nebo použijte důvěryhodný komunikační prostředek.", "Lock": "Zámek", "Other users may not trust it": "Ostatní uživatelé této relaci nemusí věřit", @@ -1992,7 +1992,7 @@ "Community settings": "Nastavení skupiny", "Use a different passphrase?": "Použít jinou přístupovou frázi?", "%(ssoButtons)s Or %(usernamePassword)s": "%(ssoButtons)s nebo %(usernamePassword)s", - "If you've joined lots of rooms, this might take a while": "Pokud jste se připojili ke spoustě místností, může to chvíli trvat", + "If you've joined lots of rooms, this might take a while": "Pokud jste se připojili k mnoha místnostem, může to chvíli trvat", "There was a problem communicating with the homeserver, please try again later.": "Při komunikaci s domovským serverem došlo k potížím, zkuste to prosím později.", "Continue with %(ssoButtons)s": "Pokračovat s %(ssoButtons)s", "Already have an account? Sign in here": "Máte již účet? Přihlašte se zde", @@ -2748,7 +2748,7 @@ "You most likely do not want to reset your event index store": "Pravděpodobně nechcete resetovat úložiště indexů událostí", "Reset event store": "Resetovat úložiště událostí", "Reset event store?": "Resetovat úložiště událostí?", - "Verify other login": "Ověřit další přihlášení", + "Verify other login": "Ověřit jiné přihlášení", "Avatar": "Avatar", "Verification requested": "Žádost ověření", "Please choose a strong password": "Vyberte silné heslo", @@ -3088,7 +3088,7 @@ "Flair won't be available in Spaces for the foreseeable future.": "Symbol příslušnosti ke skupině nebude v dohledné době dostupný ve Spaces.", "All rooms will be added and all community members will be invited.": "Všechny místnosti budou přidány a všichni členové skupiny budou pozváni.", "To create a Space from another community, just pick the community in Preferences.": "Chcete-li vytvořit prostor z jiné skupiny, vyberte ji v Předvolbách.", - "Show my Communities": "Zobrazit moje Skupiny", + "Show my Communities": "Zobrazit moje skupiny", "A link to the Space will be put in your community description.": "Odkaz na prostor bude vložen do popisu vaší skupiny.", "Create Space from community": "Vytvořit prostor ze skupiny", "Failed to migrate community": "Nepodařilo se převést skupinu", @@ -3353,5 +3353,34 @@ "Get notified only with mentions and keywords as set up in your settings": "Dostávat oznámení pouze o zmínkách a klíčových slovech podle nastavení", "@mentions & keywords": "@zmínky a klíčová slova", "Get notified for every message": "Dostávat oznámení o každé zprávě", - "Get notifications as set up in your settings": "Dostávat oznámení podle nastavení" + "Get notifications as set up in your settings": "Dostávat oznámení podle nastavení", + "sends rainfall": "pošle dešťové srážky", + "Sends the given message with rainfall": "Pošle zprávu s dešťovými srážkami", + "Close this widget to view it in this panel": "Zavřít tento widget a zobrazit ho na tomto panelu", + "Unpin this widget to view it in this panel": "Odepnout tento widget a zobrazit ho na tomto panelu", + "Maximise widget": "Maximalizovat widget", + "Large": "Velký", + "Image size in the timeline": "Velikost obrázku na časové ose", + "%(senderName)s has updated the room layout": "%(senderName)s aktualizoval rozvržení místnosti", + "Based on %(count)s votes|one": "Na základě %(count)s hlasu", + "Based on %(count)s votes|other": "Na základě %(count)s hlasů", + "%(count)s votes|one": "%(count)s hlas", + "%(count)s votes|other": "%(count)s hlasů", + "%(spaceName)s and %(count)s others|one": "%(spaceName)s a %(count)s další", + "%(spaceName)s and %(count)s others|zero": "%(spaceName)s", + "%(spaceName)s and %(count)s others|other": "%(spaceName)s and %(count)s dalších", + "Sorry, the poll you tried to create was not posted.": "Omlouváme se, ale hlasování, které jste se pokusili vytvořit, nebylo zveřejněno.", + "Failed to post poll": "Nepodařilo se zveřejnit hlasování", + "Sorry, your vote was not registered. Please try again.": "Je nám líto, váš hlas nebyl zaregistrován. Zkuste to prosím znovu.", + "Vote not registered": "Hlasování není registrováno", + "Developer": "Pro vývojáře", + "Experimental": "Experimentální", + "Themes": "Motivy vzhledu", + "Message Previews": "Náhledy zpráv", + "Moderation": "Moderování", + "Messaging": "Zprávy", + "Pin to sidebar": "Připnout na postranní panel", + "Quick settings": "Rychlá nastavení", + "Spaces you know that contain this space": "Prostory, které znáte obsahující tento prostor", + "Chat": "Chat" } diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 13c6a25d0ac..ff8e2069c9b 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -704,7 +704,7 @@ "Incompatible local cache": "Inkompatibler lokaler Zwischenspeicher", "Clear cache and resync": "Zwischenspeicher löschen und erneut synchronisieren", "Please review and accept the policies of this homeserver:": "Bitte sieh dir alle Bedingungen dieses Heimservers an und akzeptiere sie:", - "Add some now": "Jemanden jetzt hinzufügen", + "Add some now": "Jetzt hinzufügen", "You are an administrator of this community. You will not be able to rejoin without an invite from another administrator.": "Du bist ein Administrator dieser Community. Du wirst nicht erneut hinzutreten können, wenn du nicht von einem anderen Administrator eingeladen wirst.", "Open Devtools": "Entwicklerwerkzeuge öffnen", "Show developer tools": "Zeige Entwicklerwerkzeuge", @@ -3320,5 +3320,31 @@ "Reply in thread": "In Thread antworten", "Sidebar": "Seitenleiste", "Other rooms": "Andere Räume", - "Meta Spaces": "Meta Spaces" + "Meta Spaces": "Meta Spaces", + "Spaces are ways to group rooms and people.": "Mit Spaces kannst du Räume und Personen gruppieren", + "Show tray icon and minimise window to it on close": "Fenster beim Schließen in die Taskleiste minimieren", + "Large": "Groß", + "Image size in the timeline": "Bildgröße im Chatverlauf", + "sends rainfall": "sendet mit Regeneffekt", + "Sends the given message with rainfall": "Nachricht mit Regeneffekt senden", + "%(senderName)s has updated the room layout": "%(senderName)s hat das Raumlayout geändert", + "Show all your rooms in Home, even if they're in a space.": "Alle Räume auf der Startseite anzeigen, auch wenn sie in einem Space sind.", + "Home is useful for getting an overview of everything.": "Die Startseite gibt die einen Überblick über alles.", + "Get notifications as set up in your settings": "Du erhältst Benachrichtigungen, wie du sie in den Einstellungen konfiguriert hast", + "Spaces to show": "Anzuzeigende Spaces", + "Copy link": "Link kopieren", + "Mentions only": "Nur Erwähnungen", + "Forget": "Vergessen", + "Based on %(total)s votes": "Basierend auf %(total)s Stimmen", + "Files": "Dateien", + "Maximise widget": "Widget maximieren", + "You won't get any notifications": "Keine Benachrichtigungen erhalten", + "Get notified only with mentions and keywords as set up in your settings": "Nur bei Erwähnungen und Schlüsselwörtern benachrichtigen, die du in den Einstellungen konfigurieren kannst", + "@mentions & keywords": "@Erwähnungen und Schlüsselwörter", + "Get notified for every message": "Bei jeder Nachricht benachrichtigen", + "Automatically group all your rooms that aren't part of a space in one place.": "Räume, die in keinem Space sind, in der Seitenleiste gruppieren.", + "Rooms outside of a space": "Räume in keinem Space", + "Automatically group all your people together in one place.": "Direktnachrichten in der Seitenleiste gruppieren.", + "Automatically group all your favourite rooms and people together in one place.": "Deine Favoriten in der Seitenleiste gruppieren.", + "Manage rooms in this space": "Räume in diesem Space verwalten" } diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 12303886c7d..3a9ad86acc1 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -3334,5 +3334,23 @@ "You won't get any notifications": "No recibirás ninguna notificación", "@mentions & keywords": "@menciones y palabras clave", "Get notified for every message": "Recibe notificaciones para todos los mensajes", - "Get notifications as set up in your settings": "Recibe notificaciones según tus ajustes" + "Get notifications as set up in your settings": "Recibe notificaciones según tus ajustes", + "Forget": "Olvidar", + "Large": "Grande", + "Image size in the timeline": "Tamaño de las imágenes en la línea de tiempo", + "%(senderName)s has updated the room layout": "%(senderName)s actualizó la disposición de la sala", + "Sends the given message with rainfall": "Envía el mensaje junto a un efecto de lluvia", + "sends rainfall": "envía un efecto de lluvia", + "%(count)s votes|one": "%(count)s voto", + "%(count)s votes|other": "%(count)s votos", + "%(spaceName)s and %(count)s others|zero": "%(spaceName)s", + "%(spaceName)s and %(count)s others|other": "%(spaceName)s y %(count)s más", + "Messaging": "Mensajería", + "Quick settings": "Ajustes rápidos", + "Developer": "Desarrollo", + "Experimental": "Experimentos", + "Themes": "Temas", + "Message Previews": "Previsualización de mensajes", + "Moderation": "Moderación", + "%(spaceName)s and %(count)s others|one": "%(spaceName)s y %(count)s más" } diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index 965557ce1b9..b6564e74091 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -3349,5 +3349,33 @@ "Get notified only with mentions and keywords as set up in your settings": "Soovin teavitusi sellisena mainimiste ja võtmesõnade puhul, nagu ma neid olen seadistanud", "@mentions & keywords": "@mainimiste ja võtmesõnade puhul", "Get notified for every message": "Soovin teavitusi iga sõnumi puhul", - "Get notifications as set up in your settings": "Soovin teavitusi sellisena, nagu ma neid olen seadistanud" + "Get notifications as set up in your settings": "Soovin teavitusi sellisena, nagu ma neid olen seadistanud", + "Close this widget to view it in this panel": "Sellel paneelil kuvamiseks sulge see vidin", + "Unpin this widget to view it in this panel": "Sellel paneelil kuvamiseks eemalda vidin lemmikutest", + "Maximise widget": "Suurenda vidinat", + "sends rainfall": "saadab vihmasaju", + "Sends the given message with rainfall": "Lisab sellele sõnumile vihmasaju", + "Large": "Suur", + "Image size in the timeline": "Ajajoone piltide suurus", + "%(senderName)s has updated the room layout": "%(senderName)s on uuendanud jututoa välimust", + "%(spaceName)s and %(count)s others|one": "%(spaceName)s ja veel %(count)s kogukond", + "%(spaceName)s and %(count)s others|zero": "%(spaceName)s", + "%(spaceName)s and %(count)s others|other": "%(spaceName)s ja muud %(count)s kogukonda", + "Based on %(count)s votes|one": "Aluseks on %(count)s hääl", + "Based on %(count)s votes|other": "Aluseks on %(count)s häält", + "%(count)s votes|one": "%(count)s hääl", + "%(count)s votes|other": "%(count)s häält", + "Sorry, the poll you tried to create was not posted.": "Vabandust, aga sinu loodud küsitlus jäi üleslaadimata.", + "Failed to post poll": "Küsitluse üleslaadimine ei õnnestunud", + "Sorry, your vote was not registered. Please try again.": "Vabandust, aga sinu valik jäi salvestamata. Palun proovi uuesti.", + "Vote not registered": "Hääl ei salvestunud", + "Developer": "Arendajad", + "Experimental": "Katsed", + "Themes": "Teemad", + "Messaging": "Sõnumisuhtlus", + "Message Previews": "Sõnumite eelvaated", + "Moderation": "Modereerimine", + "Pin to sidebar": "Kinnita külgpaanile", + "Quick settings": "Kiirseadistused", + "Spaces you know that contain this space": "Sulle teadaolevad kogukonnakeskused, millesse kuulub see kogukond" } diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index d6e093113e5..fc7d556ba70 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -3321,5 +3321,44 @@ "What is your poll question or topic?": "Quelle est la question ou le sujet de votre sondage ?", "Create Poll": "Créer un sondage", "You do not have permission to start polls in this room.": "Vous n’avez pas la permission de démarrer un sondage dans ce salon.", - "Maximised widgets": "Widgets maximisés" + "Maximised widgets": "Widgets maximisés", + "Show all threads": "Afficher tous les fils de discussion", + "Threads help you keep conversations on-topic and easily track them over time. Create the first one by using the \"Reply in thread\" button on a message.": "Les fils de discussion vous aident à garder vos conversations sur le même thème et à les suivre facilement au fil du temps. Commencer en utilisant le bouton « Répondre dans le fil de discussion » sur un message.", + "Keep discussions organised with threads": "Garde les discussions organisées à l’aide de fils de discussion", + "Copy link": "Copier le lien", + "Mentions only": "Seulement les mentions", + "Forget": "Oublier", + "Minimise dialog": "Réduire la modale", + "Maximise dialog": "Maximiser la modale", + "Based on %(total)s votes": "Sur la base de %(total)s votes", + "%(number)s votes": "%(number)s votes", + "Files": "Fichiers", + "Close this widget to view it in this panel": "Fermer ce widget pour l’afficher dans ce panneau", + "Unpin this widget to view it in this panel": "Détacher ce widget pour l’afficher dans ce panneau", + "Maximise widget": "Maximiser le widget", + "Reply in thread": "Répondre dans le fil de discussion", + "Manage rooms in this space": "Gérer les salons de cet espace", + "You won't get any notifications": "Vous n’aurez aucune notification", + "Get notified only with mentions and keywords as set up in your settings": "Recevoir des notifications uniquement pour les mentions et mot-clés comme défini dans vos paramètres", + "@mentions & keywords": "@mentions et mots-clés", + "Get notified for every message": "Recevoir une notification pour chaque message", + "Get notifications as set up in your settings": "Recevoir les notifications comme défini dans vos paramètres", + "Automatically group all your rooms that aren't part of a space in one place.": "Regroupe automatiquement tous vos salons en dehors d’un espace au sein d’un même endroit.", + "Rooms outside of a space": "Salons en dehors d’un espace", + "Automatically group all your people together in one place.": "Regroupe automatiquement tous vos contacts au sein d’un même endroit.", + "Automatically group all your favourite rooms and people together in one place.": "Regroupe automatiquement tous vos salons et personnes favoris au sein d’un même endroit.", + "Show all your rooms in Home, even if they're in a space.": "Affiche tous vos salons dans l’accueil, même s’ils font partis d’un espace.", + "Home is useful for getting an overview of everything.": "L’accueil permet d’avoir un aperçu global.", + "Along with the spaces you're in, you can use some pre-built ones too.": "En plus des espaces déjà rejoints, vous pouvez utiliser des espaces déjà existants.", + "Spaces to show": "Espaces à afficher", + "Spaces are ways to group rooms and people.": "Les espaces permettent de regrouper les salons et les personnes.", + "Sidebar": "Barre latérale", + "Show tray icon and minimise window to it on close": "Afficher l’icône dans la barre d’état et minimiser la fenêtre lors de la fermeture", + "Large": "Grande", + "Image size in the timeline": "Taille d’image dans l’historique", + "Other rooms": "Autres salons", + "sends rainfall": "envoie de la pluie", + "Sends the given message with rainfall": "Envoie le message avec de la pluie", + "%(senderName)s has updated the room layout": "%(senderName)s a mis à jour la mise en page du salon", + "Meta Spaces": "Méta-espaces" } diff --git a/src/i18n/strings/gl.json b/src/i18n/strings/gl.json index db380fffb05..c6fe7972e69 100644 --- a/src/i18n/strings/gl.json +++ b/src/i18n/strings/gl.json @@ -298,10 +298,10 @@ "%(severalUsers)sleft %(count)s times|other": "%(severalUsers)s saíron %(count)s veces", "%(severalUsers)sleft %(count)s times|one": "%(severalUsers)s saíron", "%(oneUser)sleft %(count)s times|other": "%(oneUser)s saíu %(count)s veces", - "%(oneUser)sleft %(count)s times|one": "%(oneUser)s saio", + "%(oneUser)sleft %(count)s times|one": "%(oneUser)s saíu", "%(severalUsers)sjoined and left %(count)s times|other": "%(severalUsers)s uníronse e saíron %(count)s veces", "%(severalUsers)sjoined and left %(count)s times|one": "%(severalUsers)s uníronse e saíron", - "%(oneUser)sjoined and left %(count)s times|other": "%(oneUser)s uniuse e saio %(count)s veces", + "%(oneUser)sjoined and left %(count)s times|other": "%(oneUser)s uníuse e saíu %(count)s veces", "%(oneUser)sjoined and left %(count)s times|one": "%(oneUser)s uniuse e saíu", "%(severalUsers)sleft and rejoined %(count)s times|other": "%(severalUsers)s saíron e volveron %(count)s veces", "%(severalUsers)sleft and rejoined %(count)s times|one": "%(severalUsers)s saíron e votaron", @@ -3260,5 +3260,123 @@ "Joined": "Unícheste", "Joining": "Uníndote", "Use high contrast": "Usar alto contraste", - "Light high contrast": "Alto contraste claro" + "Light high contrast": "Alto contraste claro", + "Minimise dialog": "Minimizar diálogo", + "Maximise dialog": "Maximizar diálogo", + "You can't disable this later. Bridges & most bots won't work yet.": "Non poderás desactivar isto máis tarde. As pasarelas e a maioría de bots aínda non funcionan.", + "Add option": "Engade unha opción", + "Write an option": "Escribe unha opción", + "Option %(number)s": "Opción %(number)s", + "Create options": "Crea as opcións", + "Write something...": "Escribe algo...", + "Question or topic": "Pregunta ou tema", + "What is your poll question or topic?": "Cal é o tema ou asunto da túa enquisa?", + "Create Poll": "Crear Enquisa", + "Based on %(total)s votes": "Sobre un total de %(total)s votos", + "%(number)s votes": "%(number)s votos", + "In encrypted rooms, verify all users to ensure it's secure.": "En salas cifradas, verfica tódalas usuarias para ter certeza de que é segura.", + "Files": "Ficheiros", + "Close this widget to view it in this panel": "Pecha este widget para velo neste panel", + "Unpin this widget to view it in this panel": "Desafixar este widget para velo neste panel", + "Maximise widget": "Maximizar widget", + "Yours, or the other users' session": "Túas, ou da sesión doutras persoas", + "Yours, or the other users' internet connection": "Da túa, ou da conexión a internet doutras persoas", + "The homeserver the user you're verifying is connected to": "O servidor ao que está conectado a persoa que estás verificando", + "Can't see what you're looking for?": "Non atopas o que buscas?", + "You do not have permission to start polls in this room.": "Non tes permiso para publicar enquisas nesta sala.", + "Reply in thread": "Responder na conversa", + "Manage rooms in this space": "Xestionar salas neste espazo", + "You won't get any notifications": "Non recibirás ningunha notificación", + "Get notifications as set up in your settings": "Ter notificacións tal como se indica nos axustes", + "Get notified only with mentions and keywords as set up in your settings": "Ter notificacións só cando te mencionan e con palabras chave que indiques nos axustes", + "@mentions & keywords": "@mencións & palabras chave", + "Get notified for every message": "Ter notificación de tódalas mensaxes", + "This room isn't bridging messages to any platforms. Learn more.": "Esta sala non está a reenviar mensaxes a ningún outro sistema. Saber máis.", + "Automatically group all your rooms that aren't part of a space in one place.": "Agrupar nun lugar tódalas túas salas que non forman parte dun espazo.", + "Rooms outside of a space": "Salas fóra dun espazo", + "Automatically group all your people together in one place.": "Agrupar automáticamente toda a túa xente nun lugar.", + "Automatically group all your favourite rooms and people together in one place.": "Agrupar automáticamente tódalas túas salas favoritas e persoas nun lugar.", + "Show all your rooms in Home, even if they're in a space.": "Mostra tódalas túas salas en Inicio, incluso se están nun espazo.", + "Home is useful for getting an overview of everything.": "O Inicio é útil para ter unha visión xeral do que acontece.", + "Along with the spaces you're in, you can use some pre-built ones too.": "Xunto a estos espazos nos que estás, tamén podes usar algúns preconfigurados.", + "Spaces to show": "Espazos a mostrar", + "Spaces are ways to group rooms and people.": "Os Espazos son un xeito de agrupar salas e persoas.", + "Sidebar": "Barra lateral", + "Manage your signed-in devices below. A device's name is visible to people you communicate with.": "Xestiona os dispositivos desde os que te conectaches. O nome do dispositivo é visible para as persoas coas que te comunicas.", + "Where you're signed in": "Desde onde estás conectada", + "Show tray icon and minimise window to it on close": "Mostra icona na bandexa do sistema e minimiza ventá ao pechar", + "This room is in some spaces you're not an admin of. In those spaces, the old room will still be shown, but people will be prompted to join the new one.": "Esta sala está nalgúns espazos nos que non es admin. Nesos espazos, seguirase mostrando a sala antiga, pero as usuarias serán convidadas a unirse á nova.", + "Large": "Grande", + "Image size in the timeline": "Tamaño de imaxe na cronoloxía", + "Rename": "Cambiar nome", + "Sign Out": "Desconectar", + "Last seen %(date)s at %(ip)s": "Última conexión %(date)s desde %(ip)s", + "This device": "Este dispositivo", + "You aren't signed into any other devices.": "Non estás conectada a través de outros dispositivos.", + "Sign out %(count)s selected devices|one": "Desconectar %(count)s dispositivo seleccionado", + "Sign out %(count)s selected devices|other": "Desconectar %(count)s dispositivos seleccionados", + "Devices without encryption support": "Dispositivos sen soporte para cifrado", + "Unverified devices": "Dispositivos non verificados", + "Verified devices": "Dispositivos verificados", + "Select all": "Seleccionar todos", + "Deselect all": "Retirar selección a todos", + "Sign out devices|one": "Desconectar dispositivo", + "Sign out devices|other": "Desconectar dispositivos", + "Click the button below to confirm signing out these devices.|one": "Preme no botón inferior para confirmar a desconexión deste dispositivo.", + "Click the button below to confirm signing out these devices.|other": "Preme no botón inferior para confirmar a desconexión destos dispositivos.", + "Confirm signing out these devices": "Confirma a desconexión destos dispositivos", + "Confirm logging out these devices by using Single Sign On to prove your identity.|one": "Confirma a desconexión deste dispositivo usando Single Sign On para probar a túa identidade.", + "Confirm logging out these devices by using Single Sign On to prove your identity.|other": "Confirma a desconexión destos dispositivos usando Single Sign On para probar a túa identidade.", + "Unable to load device list": "Non se pode cargar a lista de dispositivos", + "Your homeserver does not support device management.": "O teu servidor non ten soporte para xestión de dispositivos.", + "Other rooms": "Outras salas", + "sends rainfall": "envía chuvia", + "Sends the given message with rainfall": "Envía a mensaxe dada incluíndo chuvia", + "Automatically send debug logs on any error": "Enviar automáticamente rexistros de depuración para calquera fallo", + "Use a more compact 'Modern' layout": "Usar unha disposición 'Moderna' máis compacta", + "Meta Spaces": "Meta Espazos", + "Maximised widgets": "Widgets maximizados", + "%(senderName)s has updated the room layout": "%(senderName)s actualizou a disposición da sala", + "Store your Security Key somewhere safe, like a password manager or a safe, as it's used to safeguard your encrypted data.": "Garda a túa Chave de Seguridade nun lugar seguro, como un xestor de contrasinais ou caixa forte, xa que vai protexer os teus datos cifrados.", + "Enter a security phrase only you know, as it's used to safeguard your data. To be secure, you shouldn't re-use your account password.": "Escribe unha frase de seguridade que só ti coñezas, utilizarase para protexer os teus datos. Para que sexa segura, non deberías usar a mesma que o contrasinal da conta.", + "We'll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": "Imos crear unha Chave de Seguridade para que a gardes nun lugar seguro, como nun xestor de contrasinais ou caixa forte.", + "Regain access to your account and recover encryption keys stored in this session. Without them, you won't be able to read all of your secure messages in any session.": "Recupera o acceso á túa conta e ás chaves de cifrado gardadas nesta sesión. Sen elas, non poderás ler tódalas túas mensaxes seguras en calquera sesión.", + "Without verifying, you won't have access to all your messages and may appear as untrusted to others.": "Sen verificación non poderás acceder a tódalas túas mensaxes e poderían aparecer como non confiables ante outras persoas.", + "Someone already has that username, please try another.": "Este nome de usuaria xa está pillado, inténtao con outro.", + "Show all threads": "Mostra tódolos temas", + "Threads help you keep conversations on-topic and easily track them over time. Create the first one by using the \"Reply in thread\" button on a message.": "Os fíos axúdanche a manter as conversacións centradas no tema e seguilas no tempo. Crea o primeiro usando o botón \"Responder ao tema\" nunha mensaxe.", + "Keep discussions organised with threads": "Manter as conversas organizadas con fíos", + "Shows all threads you've participated in": "Mostra tódalas conversas nas que participaches", + "You're all caught up": "Xa remataches", + "Own your conversations.": "As túas conversas son túas.", + "Someone already has that username. Try another or if it is you, sign in below.": "Ese nome de usuaria xa está pillado. Inténtao con outro, ou se es ti, conéctate.", + "Copy link to thread": "Copiar ligazón da conversa", + "Thread options": "Opcións da conversa", + "Copy link": "Copiar ligazón", + "Mentions only": "Só mencións", + "Forget": "Esquecer", + "We call the places where you can host your account 'homeservers'.": "Chamámoslle 'Servidores de Inicio' aos lugares onde podes ter a túa conta.", + "Matrix.org is the biggest public homeserver in the world, so it's a good place for many.": "Matrix.org é o servidor público máis grande do mundo, podería ser un bo lugar para comezar.", + "If you can't see who you're looking for, send them your invite link below.": "Se non atopas a quen buscas, envíalle a túa ligazón de convite.", + "Based on %(count)s votes|one": "Baseado en %(count)s voto", + "Based on %(count)s votes|other": "Baseado en %(count)s votos", + "%(count)s votes|one": "%(count)s voto", + "%(count)s votes|other": "%(count)s votos", + "%(spaceName)s and %(count)s others|one": "%(spaceName)s e %(count)s outro", + "%(spaceName)s and %(count)s others|zero": "%(spaceName)s", + "%(spaceName)s and %(count)s others|other": "%(spaceName)s e outros %(count)s", + "Sorry, the poll you tried to create was not posted.": "A enquisa que ías publicar non se puido publicar.", + "Failed to post poll": "Non se puido publicar a enquisa", + "Sorry, your vote was not registered. Please try again.": "O teu voto non foi rexistrado, inténtao outra vez.", + "Vote not registered": "Voto non rexistrado", + "Developer": "Desenvolvemento", + "Experimental": "Experimental", + "Themes": "Decorados", + "Message Previews": "Vista previa das mensaxes", + "Moderation": "Moderación", + "Messaging": "Conversando", + "Pin to sidebar": "Fixar no lateral", + "Quick settings": "Axustes rápidos", + "Spaces you know that contain this space": "Espazos que sabes conteñen este espazo", + "Chat": "Chat" } diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 1008f7a762b..01089e201d8 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -13,7 +13,7 @@ "Remove": "Eltávolítás", "Settings": "Beállítások", "unknown error code": "ismeretlen hibakód", - "Accept": "Elfogad", + "Accept": "Elfogadás", "Account": "Fiók", "Add": "Hozzáadás", "Admin": "Admin", @@ -26,7 +26,7 @@ "Microphone": "Mikrofon", "Camera": "Kamera", "Advanced": "Speciális", - "Always show message timestamps": "Üzenet időbélyeg folyamatos megjelenítése", + "Always show message timestamps": "Üzenetek időbélyegének megjelenítése mindig", "Authentication": "Azonosítás", "Failed to change password. Is your password correct?": "Nem sikerült megváltoztatni a jelszót. Helyesen írtad be a jelszavadat?", "Continue": "Folytatás", @@ -42,18 +42,18 @@ "Are you sure?": "Biztos?", "Are you sure you want to leave the room '%(roomName)s'?": "Biztos, hogy elhagyja a(z) „%(roomName)s” szobát?", "Are you sure you want to reject the invitation?": "Biztos, hogy elutasítja a meghívást?", - "Attachment": "Csatolmány", + "Attachment": "Melléklet", "Ban": "Kitiltás", "Banned users": "Kitiltott felhasználók", "Bans user with given id": "Kitiltja a megadott azonosítójú felhasználót", "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.": "Nem lehet kapcsolódni a Matrix szerverhez - ellenőrizd a kapcsolatot, biztosítsd, hogy a Matrix szerver tanúsítványa hiteles legyen, és a böngésző kiterjesztések ne blokkolják a kéréseket.", "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "Nem lehet csatlakozni a Matrix szerverhez HTTP-n keresztül ha HTTPS van a böngésző címsorában. Vagy használj HTTPS-t vagy engedélyezd a nem biztonságos script-et.", "Change Password": "Jelszó megváltoztatása", - "%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s megváltoztatta a hozzáférési szintjét erre: %(powerLevelDiffText)s.", + "%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s megváltoztatta a hozzáférési szintet: %(powerLevelDiffText)s.", "%(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": "Megváltoztatja a becenevedet", + "Changes your display nickname": "Megváltoztatja a becenevét", "Command error": "Parancs hiba", "Commands": "Parancsok", "Confirm password": "Jelszó megerősítése", @@ -62,11 +62,11 @@ "Current password": "Jelenlegi jelszó", "Custom level": "Egyedi szint", "Deactivate Account": "Fiók bezárása", - "Decline": "Elutasít", + "Decline": "Elutasítás", "Decrypt %(text)s": "%(text)s visszafejtése", "Default": "Alapértelmezett", "Disinvite": "Meghívás visszavonása", - "Displays action": "Tevékenységek megjelenítése", + "Displays action": "Megjeleníti a tevékenységet", "Download %(text)s": "%(text)s letöltése", "Email": "E-mail", "Email address": "E-mail cím", @@ -94,7 +94,7 @@ "Filter room members": "Szoba tagság szűrése", "Forget room": "Szoba elfelejtése", "For security, this session has been signed out. Please sign in again.": "A biztonság érdekében ez a kapcsolat le lesz bontva. Légy szíves jelentkezz be újra.", - "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s : %(fromPowerLevel)s -> %(toPowerLevel)s", + "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s: %(fromPowerLevel)s -> %(toPowerLevel)s", "Hangup": "Megszakít", "Historical": "Archív", "Home": "Kezdőlap", @@ -113,19 +113,19 @@ "Join Room": "Belépés a szobába", "Jump to first unread message.": "Ugrás az első olvasatlan üzenetre.", "Kick": "Elküld", - "Kicks user with given id": "Az adott azonosítójú felhasználó kirúgása", + "Kicks user with given id": "Kirúgja a megadott azonosítójú felhasználót", "Labs": "Labor", "Last seen": "Utoljára láttuk", "Leave room": "Szoba elhagyása", "Logout": "Kilép", "Low priority": "Alacsony prioritás", - "%(senderName)s made future room history visible to all room members, from the point they are invited.": "%(senderName)s láthatóvá tette a szoba új üzeneteit nekik minden szoba tagnak, a meghívásuk idejétől kezdve.", + "%(senderName)s made future room history visible to all room members, from the point they are invited.": "%(senderName)s láthatóvá tette a szoba új üzeneteit minden szobatagnak, a meghívásuk idejétől kezdve.", "%(senderName)s made future room history visible to all room members, from the point they joined.": "%(senderName)s láthatóvá tette a szoba új üzeneteit minden szobatagnak, a csatlakozásuk idejétől kezdve.", - "%(senderName)s made future room history visible to all room members.": "%(senderName)s láthatóvá tette a szoba új üzeneteit minden szoba tagnak.", + "%(senderName)s made future room history visible to all room members.": "%(senderName)s láthatóvá tette a szoba új üzeneteit minden szobatagnak.", "%(senderName)s made future room history visible to anyone.": "%(senderName)s mindenki számára láthatóvá tette a szoba új üzeneteit.", - "%(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).", - "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", + "%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s elérhetővé tette a szoba új üzeneteit az ismeretlenek (%(visibility)s) számára is.", + "Missing room_id in request": "A kérésből hiányzik a szobaazonosító", + "Missing user_id in request": "A kérésből hiányzik a szobaazonosító", "Moderator": "Moderátor", "Name": "Név", "New passwords don't match": "Az új jelszavak nem egyeznek", @@ -149,10 +149,10 @@ "Register": "Regisztráció", "Reject invitation": "Meghívó elutasítása", "Return to login screen": "Vissza a bejelentkezési képernyőre", - "%(brand)s does not have permission to send you notifications - please check your browser settings": "A %(brand)snak nincs jogosultsága értesítést küldeni neked – ellenőrizd a böngésző beállításait", - "%(brand)s was not given permission to send notifications - please try again": "A %(brand)snak nincs jogosultsága értesítést küldeni neked – próbáld újra", + "%(brand)s does not have permission to send you notifications - please check your browser settings": "A(z) %(brand)s alkalmazásnak nincs jogosultsága értesítést küldeni Önnek – ellenőrizze a böngésző beállításait", + "%(brand)s was not given permission to send notifications - please try again": "A(z) %(brand)s alkalmazásnak nincs jogosultsága értesítést küldeni Önnek – próbálja újra", "%(brand)s version:": "%(brand)s verzió:", - "Room %(roomId)s not visible": "%(roomId)s szoba nem látható", + "Room %(roomId)s not visible": "A(z) %(roomId)s szoba nem látható", "%(roomName)s does not exist.": "%(roomName)s nem létezik.", "%(roomName)s is not accessible at this time.": "%(roomName)s jelenleg nem érhető el.", "Rooms": "Szobák", @@ -161,13 +161,13 @@ "Seen by %(userName)s at %(dateTime)s": "%(userName)s %(dateTime)s időpontban látta", "Send Reset Email": "Visszaállítási e-mail küldése", "%(senderDisplayName)s sent an image.": "%(senderDisplayName)s képet küldött.", - "%(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.", + "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s meghívót küldött %(targetDisplayName)s számára, hogy lépjen be a szobába.", "Server error": "Szerver hiba", "Server may be unavailable, overloaded, or search timed out :(": "A kiszolgáló 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 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ó", - "Show timestamps in 12 hour format (e.g. 2:30pm)": "Az időbélyegek 12 órás formátumban mutatása (pl.: 2:30pm)", + "Show timestamps in 12 hour format (e.g. 2:30pm)": "Az időbélyegek megjelenítése 12 órás formátumban (például du. 2:30)", "Signed Out": "Kijelentkezett", "Sign in": "Bejelentkezés", "Sign out": "Kijelentkezés", @@ -176,7 +176,7 @@ "Submit": "Elküld", "Success": "Sikeres", "This email address is already in use": "Ez az e-mail-cím már használatban van", - "This email address was not found": "Az e-mail cím nem található", + "This email address was not found": "Az e-mail-cím nem található", "The email address linked to your account must be entered.": "A fiókodhoz kötött e-mail címet add meg.", "This room has no local addresses": "Ennek a szobának nincs helyi címe", "This room is not recognised.": "Ez a szoba nem ismerős.", @@ -206,7 +206,7 @@ "Verification Pending": "Ellenőrzés függőben", "Verified key": "Ellenőrzött kulcs", "Video call": "Videóhívás", - "Voice call": "Hang hívás", + "Voice call": "Hanghívás", "VoIP is unsupported": "A VoIP nem támogatott", "Warning!": "Figyelem!", "Who can read history?": "Ki olvashatja a régi üzeneteket?", @@ -216,9 +216,9 @@ "You have disabled URL previews by default.": "Az URL előnézet alapból tiltva van.", "You have enabled URL previews by default.": "Az URL előnézet alapból engedélyezve van.", "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 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-kiszolgálón.", + "You need to be able to invite users to do that.": "Hogy ezt tegye, meg kell tudnia hívni felhasználókat.", + "You need to be logged in.": "Be kell jelentkeznie.", + "Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Ez az e-mail-cím úgy tűnik, hogy nincs összekötve 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.", @@ -242,7 +242,7 @@ "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, %(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", "This server does not support authentication with a phone number.": "Ez a szerver nem támogatja a telefonszámmal való azonosítást.", "Room": "Szoba", @@ -284,9 +284,9 @@ "%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s törölte a szoba avatar képét.", "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s megváltoztatta %(roomName)s szoba avatar képét", "Something went wrong!": "Valami tönkrement!", - "Your browser does not support the required cryptography extensions": "A böngésződ nem támogatja a szükséges titkosítási kiterjesztést", + "Your browser does not support the required cryptography extensions": "A böngészője nem támogatja a szükséges titkosítási kiterjesztéseket", "Not a valid %(brand)s keyfile": "Nem érvényes %(brand)s kulcsfájl", - "Authentication check failed: incorrect password?": "Azonosítás sikertelen: hibás jelszó?", + "Authentication check failed: incorrect password?": "Hitelesítési ellenőrzés sikertelen: hibás jelszó?", "Do you want to set an email address?": "Meg szeretnéd adni az e-mail címet?", "This will allow you to reset your password and receive notifications.": "Ezzel alaphelyzetbe tudod állítani a jelszavad és értesítéseket fogadhatsz.", "Deops user with given id": "A megadott azonosítójú felhasználó lefokozása", @@ -305,28 +305,28 @@ "AM": "de.", "PM": "du.", "Unable to create widget.": "Nem lehet kisalkalmazást létrehozni.", - "You are not in this room.": "Nem vagy tagja ennek a szobának.", - "You do not have permission to do that in this room.": "Nincs jogsultságod ezt tenni ebben a szobában.", + "You are not in this room.": "Nem tagja ennek a szobának.", + "You do not have permission to do that in this room.": "Nincs jogosultsága ezt tenni ebben a szobában.", "Example": "Példa", "Create": "Létrehoz", "Featured Rooms:": "Kiemelt szobák:", "Featured Users:": "Kiemelt felhasználók:", - "Automatically replace plain text Emoji": "Egyszerű szöveg automatikus cseréje Emodzsira", + "Automatically replace plain text Emoji": "Egyszerű szöveg automatikus cseréje emodzsira", "Failed to upload image": "Kép feltöltése sikertelen", "Publish this room to the public in %(domain)s's room directory?": "Publikálod a szobát a(z) %(domain)s szoba listájába?", - "%(widgetName)s widget added by %(senderName)s": "%(widgetName)s kisalkalmazást %(senderName)s hozzáadta", - "%(widgetName)s widget removed by %(senderName)s": "%(widgetName)s kisalkalmazást %(senderName)s eltávolította", - "%(widgetName)s widget modified by %(senderName)s": "%(widgetName)s kisalkalmazást %(senderName)s módosította", + "%(widgetName)s widget added by %(senderName)s": "%(senderName)s hozzáadta a %(widgetName)s kisalkalmazást", + "%(widgetName)s widget removed by %(senderName)s": "%(senderName)s eltávolította a %(widgetName)s kisalkalmazást", + "%(widgetName)s widget modified by %(senderName)s": "%(senderName)s módosította a(z) %(widgetName)s kisalkalmazást", "Copied!": "Lemásolva!", "Failed to copy": "Sikertelen másolás", "Ignore": "Figyelmen kívül hagy", "Unignore": "Figyelembe vesz", - "You are now ignoring %(userId)s": "Most figyelmen kívül hagyod: %(userId)s", - "You are no longer ignoring %(userId)s": "Ismét figyelembe veszed: %(userId)s", + "You are now ignoring %(userId)s": "Most már figyelmen kívül hagyja: %(userId)s", + "You are no longer ignoring %(userId)s": "Ismét figyelembe veszi: %(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": "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", + "Stops ignoring a user, showing their messages going forward": "A felhasználó újbóli figyelembe vétele, és a jövőbeli üzenetei megjelenítése", + "Ignores a user, hiding their messages from you": "Figyelmen kívül hagy egy felhasználót, elrejtve Ön elől az üzeneteit", "Banned by %(displayName)s": "Kitiltotta: %(displayName)s", "Description": "Leírás", "Unable to accept invite": "A meghívót nem lehet elfogadni", @@ -357,9 +357,9 @@ "Are you sure you want to remove '%(roomName)s' from %(groupId)s?": "Biztos, hogy törlöd a(z) %(roomName)s szobát a(z) %(groupId)s csoportból?", "Jump to read receipt": "Olvasási visszaigazolásra ugrás", "Message Pinning": "Üzenet kitűzése", - "%(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", + "%(senderName)s changed the pinned messages for the room.": "%(senderName)s megváltoztatta a szoba kitűzött üzeneteit.", + "Who would you like to add to this community?": "Kit szeretne 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áad 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?": "Mely szobákat szeretné hozzáadni a közösséghez?", @@ -485,8 +485,8 @@ "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", - "Enable URL previews for this room (only affects you)": "URL előnézet ebben a szobában (csak téged érint)", - "Enable URL previews by default for participants in this room": "URL előnézet alapértelmezett engedélyezése a szoba tagságának", + "Enable URL previews for this room (only affects you)": "URL előnézet engedélyezése ebben a szobában (csak Önt érinti)", + "Enable URL previews by default for participants in this room": "URL előnézet alapértelmezett engedélyezése a szobatagok számára", "URL previews are enabled by default for participants in this room.": "Az URL előnézetek alapértelmezetten engedélyezve vannak a szobában jelenlévőknek.", "URL previews are disabled by default for participants in this room.": "Az URL előnézet alapértelmezetten tiltva van a szobában jelenlévőknek.", "%(duration)ss": "%(duration)s mp", @@ -513,18 +513,18 @@ "You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "Ahogy lefokozod magad a változás visszafordíthatatlan, ha te vagy az utolsó jogosultságokkal bíró felhasználó a szobában a jogok már nem szerezhetők vissza.", "Send an encrypted reply…": "Titkosított válasz küldése…", "Send an encrypted message…": "Titkosított üzenet küldése…", - "Replying": "Válaszolni", + "Replying": "Válasz", "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 %(brand)s better includes:": "Az alábbi információk kerülnek elküldésre, amivel jobbá tehetjük a %(brand)sot:", + "The information being sent to us to help make %(brand)s better includes:": "Az alábbi információk kerülnek elküldésre, amivel jobbá tehetjük a(z) %(brand)s alkalmazást:", "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ál", - "The version of %(brand)s": "%(brand)s verziója", + "The platform you're on": "A platform, amit használ", + "The version of %(brand)s": "A(z) %(brand)s verziója", "Your language of choice": "A használt nyelv", "Which officially provided instance you are using, if any": "Melyik hivatalos példányt használja", "Whether or not you're using the Richtext mode of the Rich Text Editor": "Használja-e a Richtext módot a szerkesztőben vagy nem", - "Your homeserver's URL": "A ön Matrix kiszolgálója URL-je", - "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s": "%(fullYear)s. %(monthName)s %(day)s, %(weekDayName)s", + "Your homeserver's URL": "A Ön Matrix-kiszolgálójának URL-je", + "%(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.", "Community IDs cannot be empty.": "A közösségi azonosító nem lehet üres.", "In reply to ": "Válasz neki ", @@ -536,7 +536,7 @@ "Key request sent.": "Kulcs kérés elküldve.", "Code": "Kód", "Submit debug logs": "Hibakeresési napló küldése", - "Opens the Developer Tools dialog": "Megnyitja a fejlesztői eszközök ablakát", + "Opens the Developer Tools dialog": "Megnyitja a fejlesztői eszközök párbeszédablakát", "Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "%(displayName)s (%(userName)s) az alábbi időpontban látta: %(dateTime)s", "Unable to join community": "Nem sikerült csatlakozni a közösséghez", "Unable to leave community": "Nem sikerült elhagyni a közösséget", @@ -559,7 +559,7 @@ "What's New": "Újdonságok", "On": "Be", "Changelog": "Változások", - "Waiting for response from server": "Várakozás a szerver válaszára", + "Waiting for response from server": "Várakozás a kiszolgáló válaszára", "Send Custom Event": "Egyéni esemény elküldése", "Failed to send logs: ": "Hiba a napló küldésénél: ", "This Room": "Ebben a szobában", @@ -576,7 +576,7 @@ "Members": "Résztvevők", "No update available.": "Nincs elérhető frissítés.", "Noisy": "Hangos", - "Collecting app version information": "Alkalmazás verzió információk összegyűjtése", + "Collecting app version information": "Alkalmazás verzióinformációinak összegyűjtése", "Invite to this community": "Meghívás ebbe a közösségbe", "Tuesday": "Kedd", "Remove %(name)s from the directory?": "Törlöd ezt a szobát a listából: %(name)s?", @@ -629,8 +629,8 @@ "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ál", - "e.g. ": "pl.: ", - "Your device resolution": "Eszköz felbontása", + "e.g. ": "például ", + "Your device resolution": "Az eszköze felbontása", "Send Logs": "Naplók küldése", "Clear Storage and Sign Out": "Tárhely törlése és kijelentkezés", "Refresh": "Frissítés", @@ -648,9 +648,9 @@ "Deactivating your account does not by default cause us to forget messages you have sent. If you would like us to forget your messages, please tick the box below.": "A fiókod felfüggesztése nem jelenti alapértelmezetten azt, hogy az általad küldött üzenetek elfelejtődnek. Ha törölni szeretnéd az általad küldött üzeneteket, pipáld be a jelölőnégyzetet alul.", "Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.": "Az üzenetek láthatósága a Matrix-ban hasonlít az emailhez. Az általad küldött üzenet törlése azt jelenti, hogy nem osztjuk meg új-, vagy vendég felhasználóval de a már regisztrált felhasználók akik már hozzáfértek az üzenethez továbbra is elérik a saját másolatukat.", "Please forget all messages I have sent when my account is deactivated (Warning: this will cause future users to see an incomplete view of conversations)": "Kérlek töröld az összes általam küldött üzenetet amikor a fiókomat felfüggesztem (Figyelem: ez azt eredményezheti, hogy a jövőbeni felhasználók csak részleges beszélgetést látnak majd)", - "e.g. %(exampleValue)s": "pl. %(exampleValue)s", - "Can't leave Server Notices room": "Nem lehet elhagyni a Szerver Üzenetek szobát", - "This room is used for important messages from the Homeserver, so you cannot leave it.": "Ez a szoba fontos szerverüzenetek közlésére jött létre, nem tudsz kilépni belőle.", + "e.g. %(exampleValue)s": "például %(exampleValue)s", + "Can't leave Server Notices room": "Nem lehet elhagyni a Kiszolgálóüzenetek szobát", + "This room is used for important messages from the Homeserver, so you cannot leave it.": "Ez a szoba a Matrix-kiszolgáló fontos kiszolgálóüzenetei közlésére jött létre, nem tud belőle kilépni.", "No Audio Outputs detected": "Nem található hang kimenet", "Audio Output": "Hang kimenet", "Share Link to User": "A felhasználóra mutató hivatkozás", @@ -668,12 +668,12 @@ "Demote": "Lefokozás", "This event could not be displayed": "Az eseményt nem lehet megjeleníteni", "Permission Required": "Jogosultság szükséges", - "You do not have permission to start a conference call in this room": "Nincs jogosultsága konferencia hívást kezdeményezni ebben a szobában", + "You do not have permission to start a conference call in this room": "Nincs jogosultsága konferenciahívást kezdeményezni ebben a szobában", "System Alerts": "Rendszer figyelmeztetések", "Only room administrators will see this warning": "Csak a szoba adminisztrátorai látják ezt a figyelmeztetést", - "Please contact your service administrator to continue using the service.": "A szolgáltatás további használata érdekében kérlek vedd fel a kapcsolatot a szolgáltatás adminisztrátorával.", - "This homeserver has hit its Monthly Active User limit.": "A Matrix szerver elérte a havi aktív felhasználói korlátot.", - "This homeserver has exceeded one of its resource limits.": "A Matrix szerver túllépte valamelyik erőforrás korlátját.", + "Please contact your service administrator to continue using the service.": "A szolgáltatás további használata érdekében vegye fel a kapcsolatot a szolgáltatás rendszergazdájával.", + "This homeserver has hit its Monthly Active User limit.": "A Matrix-kiszolgáló elérte a havi aktív felhasználói korlátot.", + "This homeserver has exceeded one of its resource limits.": "A Matrix-kiszolgáló túllépte valamelyik erőforráskorlátját.", "Upgrade Room Version": "Szoba verziójának fejlesztése", "Create a new room with the same name, description and avatar": "Készíts egy új szobát ugyanazzal a névvel, leírással és profilképpel", "Update any local room aliases to point to the new room": "Állíts át minden helyi alternatív nevet erre a szobára", @@ -682,8 +682,8 @@ "Your message wasn't sent because this homeserver has hit its Monthly Active User Limit. Please contact your service administrator to continue using the service.": "Az üzeneted nincs elküldve, mert ez a Matrix szerver elérte a havi aktív felhasználói korlátot. A szolgáltatás további igénybevétele végett kérlek vedd fel a kapcsolatot a szolgáltatás adminisztrátorával.", "Your message wasn't sent because this homeserver has exceeded a resource limit. Please contact your service administrator to continue using the service.": "Az üzeneted nem került elküldésre mert ez a Matrix szerver túllépte valamelyik erőforrás korlátját. A szolgáltatás további igénybevétele végett kérlek vedd fel a kapcsolatot a szolgáltatás adminisztrátorával.", "Please contact your service administrator to continue using this service.": "A szolgáltatás további használatához kérlek vedd fel a kapcsolatot a szolgáltatás adminisztrátorával.", - "Sorry, your homeserver is too old to participate in this room.": "Sajnáljuk, a Matrix szervered túl régi verziójú ahhoz, hogy részt vegyen ebben a szobában.", - "Please contact your homeserver administrator.": "Kérlek vedd fel a kapcsolatot a Matrix szerver adminisztrátorával.", + "Sorry, your homeserver is too old to participate in this room.": "Sajnáljuk, a Matrix-kiszolgálója túl régi verziójú ahhoz, hogy részt vegyen ebben a szobában.", + "Please contact your homeserver administrator.": "Vegye fel a kapcsolatot a Matrix-kiszolgáló rendszergazdájával.", "Legal": "Jogi", "This room has been replaced and is no longer active.": "Ezt a szobát lecseréltük és nem aktív többé.", "The conversation continues here.": "A beszélgetés itt folytatódik.", @@ -692,10 +692,10 @@ "Failed to upgrade room": "A szoba fejlesztése sikertelen", "The room upgrade could not be completed": "A szoba fejlesztését nem sikerült befejezni", "Upgrade this room to version %(version)s": "A szoba fejlesztése %(version)s verzióra", - "Forces the current outbound group session in an encrypted room to be discarded": "A jelenlegi csoport munkamenet törlését kikényszeríti a titkosított szobában", - "Unable to connect to Homeserver. Retrying...": "A Matrix szerverrel nem lehet felvenni a kapcsolatot. Újrapróbálkozás...", - "%(senderName)s set the main address for this room to %(address)s.": "%(senderName)s elsődleges szoba címnek beállította: %(address)s.", - "%(senderName)s removed the main address for this room.": "A szoba elsődleges címét %(senderName)s törölte.", + "Forces the current outbound group session in an encrypted room to be discarded": "Kikényszeríti a jelenlegi kimeneti csoportos munkamenet törlését a titkosított szobában", + "Unable to connect to Homeserver. Retrying...": "A Matrix-kiszolgálóval nem lehet felvenni a kapcsolatot. Újrapróbálkozás…", + "%(senderName)s set the main address for this room to %(address)s.": "%(senderName)s erre állította az elsődleges szobacímet: %(address)s.", + "%(senderName)s removed the main address for this room.": "%(senderName)s törölte a szoba elsődleges címét.", "Before submitting logs, you must create a GitHub issue to describe your problem.": "Mielőtt a naplót elküldöd, egy Github jegyet kell nyitni amiben leírod a problémádat.", "%(brand)s now uses 3-5x less memory, by only loading information about other users when needed. Please wait whilst we resynchronise with the server!": "3-, 5-ször kevesebb memóriát használ a %(brand)s azzal, hogy csak akkor tölti be az információkat a felhasználókról amikor arra szükség van. Kérlek várd meg amíg újraszinkronizáljuk a szerverrel!", "Updating %(brand)s": "%(brand)s frissítése", @@ -733,22 +733,22 @@ "Failed to decrypt %(failedCount)s sessions!": "%(failedCount)s kapcsolatot nem lehet visszafejteni!", "Failed to perform homeserver discovery": "A Matrix szerver felderítése sikertelen", "Invalid homeserver discovery response": "A Matrix szerver felderítésére kapott válasz érvénytelen", - "Use a few words, avoid common phrases": "Néhány szót használj és kerüld el a szokásos szövegeket", - "No need for symbols, digits, or uppercase letters": "Nincs szükség szimbólumokra, számokra vagy nagy betűkre", + "Use a few words, avoid common phrases": "Néhány szót használjon, és kerülje a szokásos kifejezéseket", + "No need for symbols, digits, or uppercase letters": "Nincs szükség szimbólumokra, számokra vagy nagybetűkre", "Use a longer keyboard pattern with more turns": "Használj hosszabb billentyűzet mintát több kanyarral", - "Avoid repeated words and characters": "Kerüld a szó-, vagy betűismétlést", - "Avoid sequences": "Kerüld a sorozatokat", - "Avoid recent years": "Kerüld a közeli éveket", - "Avoid years that are associated with you": "Kerüld azokat az éveket amik összefüggésbe hozhatók veled", - "Avoid dates and years that are associated with you": "Kerülje azon dátumokat és évszámokat, amelyek összefüggésbe hozhatók Önnel", + "Avoid repeated words and characters": "Kerülje a szó-, vagy betűismétlést", + "Avoid sequences": "Kerülje a sorozatokat", + "Avoid recent years": "Kerülje a közeli éveket", + "Avoid years that are associated with you": "Kerülje azokat az éveket, melyek összefüggésbe hozhatók Önnel", + "Avoid dates and years that are associated with you": "Kerülje azokat a dátumokat és évszámokat, melyek összefüggésbe hozhatók Önnel", "Capitalization doesn't help very much": "A nagybetűk nem igazán segítenek", "All-uppercase is almost as easy to guess as all-lowercase": "A csupa nagybetűset majdnem olyan könnyű kitalálni mint a csupa kisbetűset", - "Reversed words aren't much harder to guess": "A megfordított betűrendet sem sokkal nehezebb kitalálni", + "Reversed words aren't much harder to guess": "A fordított betűrendet sem sokkal nehezebb kitalálni", "Predictable substitutions like '@' instead of 'a' don't help very much": "A kiszámítható helyettesítések, mint az „a” helyett a „@”, nem sokat segítenek", "Add another word or two. Uncommon words are better.": "Adjon hozzá még egy-két szót. A ritkán használt szavak jobbak.", - "Repeats like \"aaa\" are easy to guess": "Ismétlések mint az „aaa” könnyen kitalálhatók", + "Repeats like \"aaa\" are easy to guess": "Az ismétlések, mint az „aaa” könnyen kitalálhatók", "Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"": "Az „abcabcabc” sorozatot csak kicsivel nehezebb kitalálni mint az „abc”-t", - "Sequences like abc or 6543 are easy to guess": "Az olyan mint az abc vagy 6543 sorokat könnyű kitalálni", + "Sequences like abc or 6543 are easy to guess": "Az olyan sorozatokat mint az abc vagy 6543, könnyű kitalálni", "Recent years are easy to guess": "A közelmúlt évszámait könnyű kitalálni", "Dates are often easy to guess": "Általában a dátumokat könnyű kitalálni", "This is a top-10 common password": "Ez benne van a 10 legelterjedtebb jelszó listájában", @@ -760,12 +760,12 @@ "Common names and surnames are easy to guess": "Elterjedt neveket könnyű kitalálni", "Failed to load group members": "A közösség tagságokat nem sikerült betölteni", "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.", + "You do not have permission to invite people to this room.": "Nincs jogosultsága 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", + "Unknown server error": "Ismeretlen kiszolgálóhiba", "There was an error joining the room": "A szobába való belépésnél hiba történt", "Set up": "Beállítás", - "Messages containing @room": "Az üzenetek „@room”-ot tartalmaznak", + "Messages containing @room": "„@room” megemlítést tartalmazó üzenetek", "Encrypted messages in one-to-one chats": "Titkosított üzenetek közvetlen csevegésekben", "Encrypted messages in group chats": "Titkosított üzenetek a csoportos beszélgetésekben", "That doesn't look like a valid email address": "Ez nem úgy néz ki, mint egy érvényes e-mail cím", @@ -775,16 +775,16 @@ "If you didn't set the new 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 állítottad be a visszaállítási eljárást akkor lehet, hogy egy támadó próbálja elérni a fiókodat. Változtasd meg a fiókod jelszavát és állítsd be az új visszaállítási eljárást a Beállításokban amint lehet.", "Set up Secure Messages": "Biztonságos Üzenetek beállítása", "Go to Settings": "Irány a Beállítások", - "Straight rows of keys are easy to guess": "A billentyű sorokat könnyű kitalálni", - "Short keyboard patterns are easy to guess": "Rövid billentyűzet sormintát könnyű kitalálni", - "Custom user status messages": "Egyedi felhasználói állapot üzenet", + "Straight rows of keys are easy to guess": "A billentyűsorokat könnyű kitalálni", + "Short keyboard patterns are easy to guess": "A rövid billentyűzetmintákat könnyű kitalálni", + "Custom user status messages": "Egyéni felhasználói állapotüzenet", "Set a new status...": "Új állapot beállítása...", "Clear status": "Állapot törlése", "Unable to load commit detail: %(msg)s": "A véglegesítés részleteinek betöltése sikertelen: %(msg)s", "Unrecognised address": "Ismeretlen cím", "User %(user_id)s may or may not exist": "%(user_id)s felhasználó lehet, hogy nem létezik", "The following users may not exist": "Az alábbi felhasználók lehet, hogy nem léteznek", - "Prompt before sending invites to potentially invalid matrix IDs": "Vélhetően hibás Matrix ID-kra való meghívó küldés előtt figyelmeztessen", + "Prompt before sending invites to potentially invalid matrix IDs": "Figyelmeztessen a vélhetően hibás Matrix-azonosítóknak küldött meghívók elküldése előtt", "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": "Meghívás mindenképp", @@ -792,19 +792,19 @@ "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.", - "%(displayName)s is typing …": "%(displayName)s gépel …", - "%(names)s and %(count)s others are typing …|other": "%(names)s és %(count)s másik gépelnek …", - "%(names)s and %(count)s others are typing …|one": "%(names)s és még valaki gépelnek …", - "%(names)s and %(lastPerson)s are typing …": "%(names)s és %(lastPerson)s gépelnek …", + "%(displayName)s is typing …": "%(displayName)s gépel…", + "%(names)s and %(count)s others are typing …|other": "%(names)s és még %(count)s felhasználó gépel…", + "%(names)s and %(count)s others are typing …|one": "%(names)s és még valaki gépel…", + "%(names)s and %(lastPerson)s are typing …": "%(names)s és %(lastPerson)s gépelnek…", "Render simple counters in room header": "Egyszerű számlálók a szoba fejlécében", "Enable Emoji suggestions while typing": "Emodzsik felajánlása gépelés közben", - "Show a placeholder for removed messages": "Helykitöltő mutatása a törölt szövegek helyett", - "Show join/leave messages (invites/kicks/bans unaffected)": "Mutasd a be-, kilépéseket (meghívók/kirúgások/kitiltások üzeneteit nem érinti)", - "Show avatar changes": "Profilkép változás mutatása", + "Show a placeholder for removed messages": "Helykitöltő megjelenítése a törölt szövegek helyett", + "Show join/leave messages (invites/kicks/bans unaffected)": "A be- és kilépési üzenetek megjelenítése (meghívások/kirúgások/kitiltások üzeneteit nem érinti)", + "Show avatar changes": "Profilképváltozás megjelenítése", "Show display name changes": "Megjelenítendő nevek változásának megjelenítése", - "Show avatars in user and room mentions": "Profilkép mutatása a felhasználó és szoba említéseknél", - "Enable big emoji in chat": "Nagy Emodzsik engedélyezése a csevegésekben", - "Send typing notifications": "Gépelés visszajelzés küldése", + "Show avatars in user and room mentions": "Profilkép megjelenítése a felhasználók és szobák megemlítésekor", + "Enable big emoji in chat": "Nagy emodzsik engedélyezése a csevegésekben", + "Send typing notifications": "Gépelési visszajelzés küldése", "Enable Community Filter Panel": "Közösségi szűrő panel bekapcsolása", "Messages containing my username": "Üzenetek amik a nevemet tartalmazzák", "The other party cancelled the verification.": "A másik fél megszakította az ellenőrzést.", @@ -876,7 +876,7 @@ "Phone (optional)": "Telefonszám (nem kötelező)", "Confirm": "Megerősítés", "Join millions for free on the largest public server": "Csatlakozzon több millió felhasználóhoz ingyen a legnagyobb nyilvános szerveren", - "Other": "Más", + "Other": "Egyéb", "Guest": "Vendég", "Sign in instead": "Inkább bejelentkezek", "Set a new password": "Új jelszó beállítása", @@ -889,13 +889,13 @@ "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ó megenged 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.", + "%(senderDisplayName)s made the room public to whoever knows the link.": "%(senderDisplayName)s elérhetővé tette a szobát bárkinek, aki ismeri a hivatkozást.", "%(senderDisplayName)s made the room invite only.": "%(senderDisplayName)s beállította, hogy a szobába csak meghívóval lehessen belépni.", "%(senderDisplayName)s changed the join rule to %(rule)s": "%(senderDisplayName)s a belépési szabályt erre állította be: %(rule)s", - "%(senderDisplayName)s has allowed guests to join the room.": "%(senderDisplayName)s megengedte a vendég felhasználóknak, hogy beléphessenek a szobába.", - "%(senderDisplayName)s has prevented guests from joining the room.": "%(senderDisplayName)s megtiltotta a vendég felhasználóknak, hogy belépjenek a szobába.", - "%(senderDisplayName)s changed guest access to %(rule)s": "%(senderDisplayName)s a vendég felhasználók belépési jogait erre állította át: %(rule)s", - "Group & filter rooms by custom tags (refresh to apply changes)": "Szobák csoportosítása és szűrése egyedi címkékkel (frissíts, hogy a változások érvényre jussanak)", + "%(senderDisplayName)s has allowed guests to join the room.": "%(senderDisplayName)s megengedte a vendégeknek, hogy beléphessenek a szobába.", + "%(senderDisplayName)s has prevented guests from joining the room.": "%(senderDisplayName)s megtiltotta a vendégeknek, hogy belépjenek a szobába.", + "%(senderDisplayName)s changed guest access to %(rule)s": "%(senderDisplayName)s a vendégek hozzáférését erre állította be: %(rule)s", + "Group & filter rooms by custom tags (refresh to apply changes)": "Szobák csoportosítása és szűrése egyéni címkékkel (frissítsen, hogy a változások érvénybe lépjenek)", "Verify this user by confirming the following emoji appear on their screen.": "Hitelesítheti a felhasználót, ha megerősíti, hogy az alábbi emodzsi jelenik meg a képernyőjén.", "Unable to find a supported verification method.": "Nem található támogatott hitelesítési eljárás.", "Dog": "Kutya", @@ -984,11 +984,11 @@ "Your keys are being backed up (the first backup could take a few minutes).": "A kulcsaid mentése folyamatban van (az első mentés több percig is eltarthat).", "Success!": "Sikeres!", "Credits": "Közreműködők", - "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.", + "Changes your display nickname in the current room only": "Csak ebben a szobában változtatja meg a becenevét", + "%(senderDisplayName)s enabled flair for %(groups)s in this room.": "%(senderDisplayName)s bekapcsolta 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 kikapcsolta 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 kikapcsolta ehhez a közösséghez: %(oldGroups)s.", - "Show read receipts sent by other users": "Mások által küldött olvasási visszajelzések mutatása", + "%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)s bekapcsolta a kitűzőket ebben a szobában az alábbi közösséghez: %(newGroups)s, és kikapcsolta ehhez a közösséghez: %(oldGroups)s.", + "Show read receipts sent by other users": "Mások által küldött olvasási visszajelzések megjelenítése", "Scissors": "Ollók", "Error updating main address": "Az elsődleges cím frissítése sikertelen", "There was an error updating the room's main address. It may not be allowed by the server or a temporary failure occurred.": "A szoba elsődleges címének frissítésénél hiba történt. Vagy nincs engedélyezve a szerveren vagy átmeneti hiba történt.", @@ -998,7 +998,7 @@ "Could not load user profile": "A felhasználói profil nem tölthető be", "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.", + "The user must be unbanned before they can be invited.": "Előbb vissza kell vonni felhasználó kitiltását, mielőtt újra meghívható lesz.", "Upgrade to your own domain": "Frissíts a saját domain-re", "Accept all %(invitedRooms)s invites": "Mind a(z) %(invitedRooms)s meghívás elfogadása", "Change room avatar": "Szoba profilképének megváltoztatása", @@ -1023,8 +1023,8 @@ "Want more than a community? Get your own server": "Többet szeretnél, mint egy közösség? Szerezz saját szervert", "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": "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.", + "Please supply a https:// or http:// widget URL": "Adja meg a kisalkalmazás https:// vagy http:// URL-jét", + "You cannot modify widgets in this room.": "Nem módosíthatja a kisalkalmazásokat ebben 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: , amelyet a Matrix-kiszolgáló instabilnak tekint.", @@ -1039,7 +1039,7 @@ "The homeserver may be unavailable or overloaded.": "A Matrix szerver elérhetetlen vagy túlterhelt.", "You have %(count)s unread notifications in a prior version of this room.|other": "%(count)s olvasatlan értesítésed van a régi verziójú szobában.", "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ál-e „morzsákat” (profilképek a szobalista felett)", + "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Használja-e a „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?": "Egyelőre nem lehet fájllal válaszolni. Szeretné 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.", @@ -1062,10 +1062,10 @@ "Cancel All": "Mindent megszakít", "Upload Error": "Feltöltési hiba", "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.", + "Changes your avatar in this current room only": "Csak ebben a szobában változtatja meg a profilképét", + "Sends the given message coloured as a rainbow": "A megadott üzenetet szivárványszínben küldi el", + "Sends the given emote coloured as a rainbow": "A megadott hangulatjelet szivárványszínben küldi el", + "The user's homeserver does not support the version of the room.": "A felhasználó Matrix-kiszolgálója nem támogatja a megadott szobaverziót.", "When rooms are upgraded": "Ha a szobák fejlesztésre kerülnek", "this room": "ez a szoba", "View older messages in %(roomName)s.": "Régebbi üzenetek megjelenítése itt: %(roomName)s.", @@ -1113,20 +1113,20 @@ "Homeserver URL does not appear to be a valid Matrix homeserver": "A matrix URL nem tűnik érvényesnek", "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", - "Name or Matrix ID": "Név vagy Matrix azonosító", + "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", - "Show hidden events in timeline": "Rejtett események megmutatása az idővonalon", + "Show hidden events in timeline": "Rejtett események megjelenítése az idővonalon", "Add room": "Szoba hozzáadása", - "No homeserver URL provided": "Hiányzó matrix szerver URL", - "Unexpected error resolving homeserver configuration": "A matrix szerver konfiguráció betöltésekor ismeretlen hiba lépett fel", + "No homeserver URL provided": "Hiányzó Matrix-kiszolgáló URL", + "Unexpected error resolving homeserver configuration": "A Matrix-kiszolgáló konfiguráció betöltésekor váratlan hiba történt", "Edit message": "Üzenet szerkesztése", - "Cannot reach homeserver": "A matrix szerver elérhetetlen", - "Ensure you have a stable internet connection, or get in touch with the server admin": "Legyen stabil az Internet elérésed vagy a szerver adminisztrátorával vedd fel a kapcsolatot", - "Your %(brand)s is misconfigured": "A %(brand)sod hibásan van beállítva", - "Ask your %(brand)s admin to check your config for incorrect or duplicate entries.": "Kérd meg a %(brand)s adminisztrátorodat, hogy ellenőrizze a beállításaidat hibás vagy duplikált bejegyzéseket keresve.", - "Unexpected error resolving identity server configuration": "Az azonosítási szerver beállításainak feldolgozásánál váratlan hiba történt", + "Cannot reach homeserver": "A Matrix-kiszolgáló nem érhető el", + "Ensure you have a stable internet connection, or get in touch with the server admin": "Legyen stabil az internetkapcsolata, vagy vegye fel a kapcsolatot a kiszolgáló rendszergazdájával", + "Your %(brand)s is misconfigured": "A(z) %(brand)s alkalmazás hibásan van beállítva", + "Ask your %(brand)s admin to check your config for incorrect or duplicate entries.": "Kérje meg a(z) %(brand)s rendszergazdáját, hogy ellenőrizze a beállításait, hibás vagy duplikált bejegyzéseket keresve.", + "Unexpected error resolving identity server configuration": "Az azonosítási kiszolgáló beállításainak feldolgozásánál váratlan hiba történt", "Uploaded sound": "Feltöltött hang", "Sounds": "Hangok", "Notification sound": "Értesítési hang", @@ -1135,9 +1135,9 @@ "Browse": "Böngész", "Use lowercase letters, numbers, dashes and underscores only": "Csak kisbetűt, számokat, kötőjeleket és aláhúzásokat használj", "Cannot reach identity server": "Az azonosítási kiszolgáló nem érhető el", - "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.": "Tudsz regisztrálni, de néhány funkció nem lesz elérhető amíg az azonosítási szerver újra elérhető lesz. Ha ezt a figyelmeztetést folyamatosan látod, ellenőrizd a beállításokat vagy vedd fel a kapcsolatot a szerver adminisztrátorával.", - "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.": "A jelszavadat újra beállíthatod, de néhány funkció nem lesz elérhető amíg az azonosítási szerver újra elérhető lesz. Ha ezt a figyelmeztetést folyamatosan látod, ellenőrizd a beállításokat vagy vedd fel a kapcsolatot a szerver adminisztrátorával.", - "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.": "Beléphetsz, de néhány funkció nem lesz elérhető amíg az azonosítási szerver újra elérhető lesz. Ha ezt a figyelmeztetést folyamatosan látod, ellenőrizd a beállításokat vagy vedd fel a kapcsolatot a szerver adminisztrátorával.", + "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.": "Regisztrálhat, de néhány funkció nem lesz elérhető, amíg az azonosítási kiszolgáló újra elérhető nem lesz. Ha ezt a figyelmeztetést folyamatosan látja, akkor ellenőrizze a beállításokat, vagy vegye fel a kapcsolatot a kiszolgáló rendszergazdájával.", + "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.": "A jelszavát visszaállíthatja, de néhány funkció nem lesz elérhető, amíg az azonosítási kiszolgáló újra elérhető nem lesz. Ha ezt a figyelmeztetést folyamatosan látja, akkor ellenőrizze a beállításokat, vagy vegye fel a kapcsolatot a kiszolgáló rendszergazdájával.", + "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.": "Beléphet, de néhány funkció nem lesz elérhető, amíg az azonosítási kiszolgáló újra elérhető nem lesz. Ha ezt a figyelmeztetést folyamatosan látja, akkor ellenőrizze a beállításokat, vagy vegye fel a kapcsolatot a kiszolgáló rendszergazdájával.", "Log in to your new account.": "Belépés az új fiókodba.", "You can now close this window or log in to your new account.": "Ezt az ablakot bezárhatod vagy beléphetsz az új fiókodba.", "Registration Successful": "Regisztráció sikeres", @@ -1153,7 +1153,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": "Megváltoztatja a profilképed az összes szobában", + "Changes your avatar in all rooms": "Megváltoztatja a profilképét 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.", @@ -1174,13 +1174,13 @@ "Service": "Szolgáltatás", "Summary": "Összefoglaló", "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érje meg a Matrix-kiszolgáló (%(homeserverDomain)s) adminisztrátorát, hogy a hívások megfelelő működéséhez állítson be egy TURN-kiszolgálót.", + "Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Kérje meg a Matrix-kiszolgáló (%(homeserverDomain)s) rendszergazdájá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álhatja a turn.matrix.org nyilvános kiszolgálót, de ez nem lesz annyira megbízható, és megosztja az IP-címét a kiszolgálóval. A Beállításokban állíthatja 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", - "Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "Tartalék hívás támogatás engedélyezése a turn.matrix.org segítségével ha a matrix szerver nem ajánl fel mást (az IP címed megosztásra kerül a hívás alatt)", + "Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "Tartalék hívástámogatási kiszolgáló engedélyezése a turn.matrix.org segítségével, ha a Matrix-kiszolgálója nem ajánl fel mást (az IP-címe megosztásra kerül a hívás alatt)", "Accept to continue:": " elfogadása a továbblépéshez:", "ID": "Azonosító", "Public Name": "Nyilvános név", @@ -1188,7 +1188,7 @@ "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 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 kiszolgáló tulajdonosában.", + "Only continue if you trust the owner of the server.": "Csak akkor lépjen tovább, ha megbízik a kiszolgáló tulajdonosában.", "Disconnect from the identity server ?": "Bontod a kapcsolatot ezzel az azonosítási szerverrel: ?", "Disconnect": "Kapcsolat bontása", "You are currently using to discover and be discoverable by existing contacts you know. You can change your identity server below.": "A kapcsolatok kereséséhez és hogy megtalálják az ismerősei, ezt a kiszolgálót használja: . A használt azonosítási kiszolgálót alább tudja megváltoztatni.", @@ -1213,7 +1213,7 @@ "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "A szöveges üzenetet elküldtük a +%(msisdn)s számra. Kérlek add meg az ellenőrző kódot amit tartalmazott.", "Command Help": "Parancsok súgója", "This account has been deactivated.": "Ez a fiók zárolva van.", - "You do not have the required permissions to use this command.": "A parancs használatához nincs meg a megfelelő jogosultságod.", + "You do not have the required permissions to use this command.": "A parancs használatához nincs meg a megfelelő jogosultsága.", "If you don't want to use to discover and be discoverable by existing contacts you know, enter another identity server below.": "Ha felkutatásra és, hogy más ismerősök megtalálhassanak, nem akarod használni ezt a szervert: , akkor adjál meg másik azonosítási szervert alább.", "Using an identity server is optional. If you choose not to use an identity server, you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Azonosítási szerver használata nem kötelező. Ha úgy döntesz, hogy az azonosítási szervert nem használod más felhasználók nem találnak rád és másokat sem tudsz e-mail cím vagy telefonszám alapján meghívni.", "Do not use an identity server": "Az azonosítási szerver mellőzése", @@ -1222,12 +1222,12 @@ "Use an identity server to invite by email. Manage in Settings.": "Használjon egy azonosítási kiszolgálót az e-maillel történő meghíváshoz. Kezelés a Beállításokban.", "Enable room encryption": "Szoba titkosításának bekapcsolása", "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.": "Használjon egy azonosítási kiszolgálót az e-maillel történő meghíváshoz. Kattintson a folytatásra az alapértelmezett azonosítási kiszolgáló (%(defaultIdentityServerName)s) használatához, vagy állítsa be a Beállításokban.", + "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 kiszolgáló használata az e-maillel történő meghíváshoz. Kattintson a folytatásra az alapértelmezett azonosítási kiszolgáló (%(defaultIdentityServerName)s) használatához, vagy állítsa 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ó deaktiválása a felhasználót kijelentkezteti és megakadályozza, hogy vissza tudjon lépni. Továbbá kilépteti minden szobából, amelynek tagja volt. Ezt nem lehet visszavonni. Biztos, hogy deaktiválja 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ásként értelmezné", + "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 %(brand)s.": "Kösd össze a Beállításokban ezt az e-mail címet a fiókoddal, hogy közvetlenül a %(brand)sba kaphassa meghívókat.", @@ -1271,7 +1271,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": "Megváltoztatja a profilképed a jelenlegi szobában", + "Changes the avatar of the current room": "Megváltoztatja a profilképét a jelenlegi szobában", "e.g. my-room": "pl.: szobam", "Please enter a name for the room": "Kérlek adj meg egy nevet a szobához", "Create a public room": "Nyilvános szoba létrehozása", @@ -1280,7 +1280,7 @@ "Hide advanced": "Speciális beállítások elrejtése", "Show advanced": "Speciális beállítások megjelenítése", "Close dialog": "Ablak bezárása", - "Show previews/thumbnails for images": "Előnézet/bélyegkép mutatása a képekhez", + "Show previews/thumbnails for images": "Előnézet/bélyegkép megjelenítésea képekhez", "Clear cache and reload": "Gyorsítótár ürítése és újratöltés", "%(count)s unread messages including mentions.|other": "%(count)s olvasatlan üzenet megemlítéssel.", "%(count)s unread messages.|other": "%(count)s olvasatlan üzenet.", @@ -1329,7 +1329,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 a(z) alapértelmezett azonosítási kiszolgálóhoz, de a kiszolgálónak nincsenek felhasználási feltételei.", + "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)", @@ -1342,7 +1342,7 @@ "%(name)s cancelled": "%(name)s megszakította", "%(name)s wants to verify": "%(name)s ellenőrizni szeretné", "You sent a verification request": "Ellenőrzési kérést küldtél", - "Try out new ways to ignore people (experimental)": "Emberek figyelmen kívül hagyásához próbálj ki új utakat (kísérleti)", + "Try out new ways to ignore people (experimental)": "Próbálja ki az emberek figyelmen kívül hagyásának új módjait (kísérleti)", "My Ban List": "Tiltólistám", "This is your list of users/servers you have blocked - don't leave the room!": "Ez az általad tiltott felhasználók/szerverek listája - ne hagyd el ezt a szobát!", "Ignored/Blocked": "Figyelmen kívül hagyott/Tiltott", @@ -1403,14 +1403,14 @@ "Decline (%(counter)s)": "Elutasítás (%(counter)s)", "Manage integrations": "Integrációk kezelése", "Verification Request": "Ellenőrzési kérés", - "%(senderName)s placed a voice call.": "%(senderName)s hanghívást kezdeményezett.", - "%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s hanghívást kezdeményezett. (ebben a böngészőben nem támogatott)", - "%(senderName)s placed a video call.": "%(senderName)s videóhívást kezdeményezett.", - "%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s videóhívást kezdeményezett. (ebben a böngészőben nem támogatott)", - "Match system theme": "A rendszer témájához megfelelő", + "%(senderName)s placed a voice call.": "%(senderName)s hanghívást indított.", + "%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s hanghívást indított. (ebben a böngészőben nem támogatott)", + "%(senderName)s placed a video call.": "%(senderName)s videóhívást indított.", + "%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s videóhívást indított. (ebben a böngészőben nem támogatott)", + "Match system theme": "Rendszer témájához megfelelő", "Clear notifications": "Értesítések törlése", "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.", + "Double check that your server supports the room version chosen and try again.": "Ellenőrizze még egyszer, hogy a kiszolgálója támogatja-e kiválasztott szobaverziót, és próbálja újra.", "This message cannot be decrypted": "Ezt az üzenetet nem lehet visszafejteni", "Unencrypted": "Titkosítatlan", "Upgrade private room": "Privát szoba fejlesztése", @@ -1433,23 +1433,23 @@ "Cross-signing": "Eszközök közti hitelesítés", "Warning: You should only set up key backup from a trusted computer.": "Figyelmeztetés: Csak biztonságos számítógépről állíts be kulcs mentést.", "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 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 removed the rule banning users matching %(glob)s": "%(senderName)s törölte azt a szabályt, amellyel az ennek megfelelő 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, amellyel az ennek megfelelő 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, amellyel 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 az ennek megfelelő 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", - "%(senderName)s updated the rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s frissítette azt a szabályt amivel ilyen szobák voltak kitiltva: %(glob)s ezért: %(reason)s", - "%(senderName)s updated the rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s frissítette azt a szabályt amivel ilyen szerverek voltak kitiltva: %(glob)s ezért: %(reason)s", - "%(senderName)s updated a ban rule matching %(glob)s for %(reason)s": "%(senderName)s frissítette ezt a kitiltó szabályt: %(glob)s ezért: %(reason)s", - "%(senderName)s created a rule banning users matching %(glob)s for %(reason)s": "%(senderName)s hozzáadta azt a szabályt amivel ilyen felhasználók lesznek kitiltva: %(glob)s ezért: %(reason)s", - "%(senderName)s created a rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s hozzáadta azt a szabályt amivel ilyen szobák lesznek kitiltva: %(glob)s ezért: %(reason)s", - "%(senderName)s created a rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s hozzáadta azt a szabályt amivel ilyen szerverek lesznek kitiltva: %(glob)s ezért: %(reason)s", - "%(senderName)s created a ban rule matching %(glob)s for %(reason)s": "%(senderName)s hozzáadta ezt a kitiltó szabályt: %(glob)s ezért: %(reason)s", - "%(senderName)s changed a rule that was banning users matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s megváltoztatta a szabályt amivel felhasználók voltak kitiltva erről: %(oldGlob)s erre: %(newGlob)s ezért: %(reason)s", - "%(senderName)s changed a rule that was banning rooms matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s megváltoztatta a szabályt amivel szobák voltak kitiltva erről: %(oldGlob)s erre: %(newGlob)s ezért: %(reason)s", - "%(senderName)s changed a rule that was banning servers matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s megváltoztatta a szabályt amivel szerverek voltak kitiltva erről: %(oldGlob)s erre: %(newGlob)s ezért: %(reason)s", - "%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s megváltoztatta a kitiltó szabályt erről: %(oldGlob)s erre: %(newGlob)s ezért: %(reason)s", + "%(senderName)s updated the rule banning users matching %(glob)s for %(reason)s": "%(senderName)s frissítette azt a szabályt, amellyel az ennek megfelelő felhasználók voltak kitiltva: %(glob)s, ok: %(reason)s", + "%(senderName)s updated the rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s frissítette azt a szabályt, amellyel az ennek megfelelő szobák voltak kitiltva: %(glob)s, ok: %(reason)s", + "%(senderName)s updated the rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s frissítette azt a szabályt, amellyel az ennek megfelelő kiszolgálók voltak kitiltva: %(glob)s, ok: %(reason)s", + "%(senderName)s updated a ban rule matching %(glob)s for %(reason)s": "%(senderName)s frissítette ezt a kitiltó szabályt: %(glob)s, ok: %(reason)s", + "%(senderName)s created a rule banning users matching %(glob)s for %(reason)s": "%(senderName)s hozzáadta azt a szabályt, amellyel az ennek megfelelő felhasználók voltak kitiltva: %(glob)s, ok: %(reason)s", + "%(senderName)s created a rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s hozzáadta azt a szabályt, amellyel az ennek megfelelő szobák voltak kitiltva: %(glob)s, ok: %(reason)s", + "%(senderName)s created a rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s hozzáadta azt a szabályt, amellyel az ennek megfelelő kiszolgálók voltak kitiltva: %(glob)s, ok: %(reason)s", + "%(senderName)s created a ban rule matching %(glob)s for %(reason)s": "%(senderName)s hozzáadta ezt a kitiltó szabályt: %(glob)s, ok: %(reason)s", + "%(senderName)s changed a rule that was banning users matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s megváltoztatta a felhasználókat kitiltó szabályt erről: %(oldGlob)s, erre: %(newGlob)s, ok: %(reason)s", + "%(senderName)s changed a rule that was banning rooms matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s megváltoztatta a szobákat kitiltó szabályt erről: %(oldGlob)s, erre: %(newGlob)s, ok: %(reason)s", + "%(senderName)s changed a rule that was banning servers matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s megváltoztatta a kiszolgálókat kitiltó szabályt erről: %(oldGlob)s, erre: %(newGlob)s, ok: %(reason)s", + "%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s megváltoztatta a kitiltó szabályt erről: %(oldGlob)s, erre: %(newGlob)s, ok: %(reason)s", "not stored": "nincs mentve", "Backup has a valid signature from this user": "A mentés érvényes aláírást tartalmaz a felhasználótól", "Backup has a invalid signature from this user": "A mentés érvénytelen aláírást tartalmaz a felhasználótól", @@ -1464,14 +1464,14 @@ "Recent Conversations": "Legújabb Beszélgetések", "Direct Messages": "Közvetlen Beszélgetések", "Go": "Meghívás", - "Show info about bridges in room settings": "Híd információk megmutatása a szoba beállításoknál", + "Show info about bridges in room settings": "Híd információk megjelenítése a szobabeállításokban", "This bridge is managed by .": "Ezt a hidat ez a felhasználó kezeli: .", "Suggestions": "Javaslatok", "Failed to find the following users": "Az alábbi felhasználók nem találhatók", "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Az alábbi felhasználók nem léteznek vagy hibásan vannak megadva, és nem lehet őket meghívni: %(csvNames)s", "Lock": "Zárolás", "a few seconds ago": "néhány másodperce", - "about a minute ago": "percekkel ezelőtt", + "about a minute ago": "egy perce", "%(num)s minutes ago": "%(num)s perccel ezelőtt", "about an hour ago": "egy órája", "%(num)s hours ago": "%(num)s órával ezelőtt", @@ -1514,12 +1514,12 @@ "Verify this session": "Munkamenet ellenőrzése", "Encryption upgrade available": "A titkosítási fejlesztés elérhető", "Enable message search in encrypted rooms": "Üzenetek keresésének bekapcsolása a titkosított szobákban", - "Review": "Átnéz", + "Review": "Átnézés", "This bridge was provisioned by .": "Ezt a hidat az alábbi felhasználó készítette: .", "Show less": "Kevesebb megjelenítése", "Manage": "Kezelés", "Securely cache encrypted messages locally for them to appear in search results.": "A titkosított üzenetek kereséséhez azokat biztonságos módon, helyileg kell tárolnia.", - "Enable": "Engedélyez", + "Enable": "Engedélyezés", "%(brand)s is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom %(brand)s Desktop with search components added.": "A %(brand)sból a titkosított üzenetek biztonságos helyi tárolásához hiányzik néhány dolog. Ha kísérletezni szeretne ezzel a lehetőséggel, akkor fordítson le egy saját %(brand)s Desktopot a kereső komponens hozzáadásával.", "Message search": "Üzenet keresése", "This room is bridging messages to the following platforms. Learn more.": "Ez a szoba összeköti az üzeneteket a felsorolt platformokkal, tudj meg többet.", @@ -1534,10 +1534,10 @@ "Setting up keys": "Kulcsok beállítása", "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!": "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!", - "Never send encrypted messages to unverified sessions from this session": "Sose küldj titkosított üzenetet ellenőrizetlen munkamenetbe ebből a munkamenetből", - "Never send encrypted messages to unverified sessions in this room from this session": "Ebbe a szobába soha ne küldjön titkosított üzeneteket ellenőrizetlen munkamenetek számára ebből a munkamenetből", + "Session already verified!": "A munkamenet már ellenőrzött.", + "WARNING: Session already verified, but keys do NOT MATCH!": "FIGYELEM: A munkamenet már ellenőrizve van, de a kulcsok NEM EGYEZNEK!", + "Never send encrypted messages to unverified sessions from this session": "Sose küldjön titkosított üzenetet ellenőrizetlen munkamenetekbe ebből a munkamenetből", + "Never send encrypted messages to unverified sessions in this room from this session": "Ebben a szobában sose küldjön titkosított üzenetet ellenőrizetlen munkamenetekbe ebből a munkamenetből", "How fast should messages be downloaded.": "Milyen gyorsan legyenek az üzenetek letöltve.", "Waiting for %(displayName)s to verify…": "%(displayName)s felhasználóra várakozás az ellenőrzéshez…", "They match": "Egyeznek", @@ -1550,7 +1550,7 @@ "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: 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!", + "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”, amely 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 kulcsait, de van létező mentése, amelyből vissza tud állni és amihez hozzá tud adni a továbbiakban.", @@ -1611,7 +1611,7 @@ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "A felhasználó ellenőrzése által az ő munkamenete megbízhatónak lesz jelölve, és a te munkameneted is megbízhatónak lesz jelölve nála.", "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.": "Eszköz ellenőrzése és beállítás megbízhatóként. Az eszközben való megbízás megnyugtató lehet, ha végpontok közötti titkosítást használsz.", "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Az eszköz ellenőrzése megbízhatónak fogja jelezni az eszközt és azok a felhasználók, akik téged ellenőriztek, megbíznak majd ebben az eszközödben.", - "Cancel entering passphrase?": "Megszakítod a jelmondat bevitelét?", + "Cancel entering passphrase?": "Megszakítja a jelmondat bevitelét?", "Confirm your identity by entering your account password below.": "A fiók jelszó megadásával erősítsd meg a személyazonosságodat.", "Your new session is now verified. Other users will see it as trusted.": "Az új munkameneted ellenőrizve. Mások megbízhatónak fogják látni.", "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.": "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.", @@ -1627,7 +1627,7 @@ "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.": "Ha véletlenül tetted, beállíthatod a Biztonságos Üzeneteket ezen a munkameneten ami újra titkosítja a régi üzeneteket az visszaállítási eljárással.", "Indexed rooms:": "Indexált szobák:", "Message downloading sleep time(ms)": "Üzenet letöltés alvási idő (ms)", - "Show typing notifications": "Gépelés visszajelzés megjelenítése", + "Show typing notifications": "Gépelési visszajelzés megjelenítése", "Verify this session by completing one of the following:": "Ellenőrizd ezt a munkamenetet az alábbiak egyikével:", "Scan this unique code": "Ennek az egyedi kódnak a beolvasása", "or": "vagy", @@ -1640,8 +1640,8 @@ "Destroy cross-signing keys?": "Megsemmisíted az eszközök közti hitelesítés kulcsait?", "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.": "Eszközök közti hitelesítési kulcsok törlése végleges. Mindenki akit ezzel hitelesítettél biztonsági figyelmeztetéseket fog látni. Hacsak nem vesztetted el az összes eszközödet amivel eszközök közti hitelesítést tudsz végezni, nem valószínű, hogy ezt szeretnéd tenni.", "Clear cross-signing keys": "Eszközök közti hitelesítési kulcsok törlése", - "Whether you're using %(brand)s on a device where touch is the primary input mechanism": "Olyan eszközön használja-e a %(brand)sot, ahol az érintés az elsődleges beviteli mód", - "Whether you're using %(brand)s as an installed Progressive Web App": "Progresszív webalkalmazásként használja-e a %(brand)sot", + "Whether you're using %(brand)s on a device where touch is the primary input mechanism": "Olyan eszközön használja-e a(z) %(brand)s alkalmazást, ahol az érintés az elsődleges beviteli mód", + "Whether you're using %(brand)s as an installed Progressive Web App": "Progresszív webalkalmazásként használja-e a(z) %(brand)s alkalmazást", "Your user agent": "Felhasználói ügynök", "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what %(brand)s 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 %(brand)s támogat. Próbáld meg egy másik klienssel.", "You declined": "Elutasítottad", @@ -1656,25 +1656,25 @@ "Verification Requests": "Hitelesítéskérések", "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": "Gyorselérési gombok megjelenítése a nemrég meglátogatott szobákhoz a szoba lista felett", + "Show shortcuts to recently viewed rooms above the room list": "Gyorselérési gombok megjelenítése a nemrég meglátogatott szobákhoz a szobalista felett", "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álja a fiókját, vagy hozzon 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", + "Displays information about a user": "Információt jelenít meg a felhasználóról", "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.", "Mark all as read": "Mindent olvasottnak jelöl", "Not currently indexing messages for any room.": "Jelenleg egyik szoba indexelése sem történik.", "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s / %(totalRooms)s", - "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s a szoba nevét megváltoztatta erről: %(oldRoomName)s erre: %(newRoomName)s.", - "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s egy alternatív nevet (%(addresses)s) adott hozzá a szobához.", - "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s egy alternatív címet (%(addresses)s) adott hozzá a szobához.", - "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s egy alternatív címet (%(addresses)s) eltávolított a szobáról.", - "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s eltávolította ezt az alternatív címet a szobáról: %(addresses)s.", - "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s megváltoztatta az alternatív címét ennek a szobának.", - "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s ennek a szobának megváltoztatta az elsődleges és az alternatív címét.", - "%(senderName)s changed the addresses for this room.": "%(senderName)s megváltoztatta ennek a szobának a címét.", + "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s megváltoztatta a szoba nevét erről: %(oldRoomName)s, erre: %(newRoomName)s.", + "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s hozzáadta a szoba alternatív címeit: %(addresses)s.", + "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s alternatív címeket adott hozzá a szobához: %(addresses)s.", + "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s eltávolította az alternatív címeket a szobáról: %(addresses)s.", + "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s eltávolította az alternatív címet a szobáról: %(addresses)s.", + "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s megváltoztatta a szoba alternatív címeit.", + "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s megváltoztatta a szoba elsődleges és alternatív címeit.", + "%(senderName)s changed the addresses for this room.": "%(senderName)s megváltoztatta a szoba címeit.", "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.": "A szoba címének megváltoztatásakor hiba történt. Lehet, hogy a szerver nem engedélyezi vagy átmeneti hiba történt.", - "Support adding custom themes": "Egyedi téma támogatás hozzáadása", + "Support adding custom themes": "Egyéni témák támogatásának hozzáadása", "Invalid theme schema.": "Téma séma érvénytelen.", "Error downloading theme information.": "A téma információk letöltése sikertelen.", "Theme added!": "Téma hozzáadva!", @@ -1703,7 +1703,7 @@ "Remove server": "Szerver törlése", "Matrix": "Matrix", "Add a new server": "Új szerver hozzáadása", - "Manually verify all remote sessions": "Az összes távoli munkamenet manuális ellenőrzése", + "Manually verify all remote sessions": "Az összes távoli munkamenet kézi ellenőrzése", "Individually verify each session used by a user to mark it as trusted, not trusting cross-signed devices.": "A felhasználó által használt munkamenetek ellenőrzése egyenként, a eszközök közti aláírással hitelesített eszközökben nem bízol meg.", "Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)": "Állíts be címet ehhez a szobához, hogy a felhasználók a matrix szervereden megtalálhassák (%(localDomain)s)", "In encrypted rooms, your messages are secured and only you and the recipient have the unique keys to unlock them.": "A titkosított szobákban az üzenete biztonságban van, és csak Ön és a címzettek rendelkeznek a visszafejtéshez szükséges egyedi kulcsokkal.", @@ -1772,7 +1772,7 @@ "Use Single Sign On to continue": "A folytatáshoz használja 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ásként értelmezné", + "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ítse 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 munkamenetére – %(deviceName)s (%(deviceId)s) – várunk…", @@ -1799,18 +1799,18 @@ "Server did not return valid authentication information.": "A szerver semmilyen érvényes azonosítási információt sem küldött vissza.", "There was a problem communicating with the server. Please try again.": "A szerverrel való kommunikációval probléma történt. Kérlek próbáld újra.", "Sign in with SSO": "Belépés SSO-val", - "Welcome to %(appName)s": "Üdvözöl a(z) %(appName)s", + "Welcome to %(appName)s": "Üdvözli a(z) %(appName)s", "Liberate your communication": "Kommunikálj szabadon", "Send a Direct Message": "Közvetlen üzenet küldése", "Explore Public Rooms": "Nyilvános szobák felfedezése", "Create a Group Chat": "Készíts csoportos beszélgetést", "Cancel replying to a message": "Üzenet válasz megszakítása", - "Confirm adding email": "E-mail hozzáadásának megerősítése", - "Click the button below to confirm adding this email address.": "Az e-mail cím hozzáadásának megerősítéséhez kattintson a gombra lent.", + "Confirm adding email": "E-mail-cím hozzáadásának megerősítése", + "Click the button below to confirm adding this email address.": "Az e-mail-cím hozzáadásának megerősítéséhez kattintson a lenti gombra.", "Confirm adding phone number": "Telefonszám hozzáadásának megerősítése", - "Click the button below to confirm adding this phone number.": "Az telefonszám hozzáadásának megerősítéséhez kattintson a gombra lent.", - "Confirm adding this email address by using Single Sign On to prove your identity.": "Erősítse meg, hogy az egyszeri bejelentkezésnél a személyazonossága bizonyításaként használt e-mail címet hozzáadja.", - "Confirm adding this phone number by using Single Sign On to prove your identity.": "Erősítse meg, hogy az egyszeri bejelentkezésnél a személyazonossága bizonyításaként használt telefonszámot hozzáadja.", + "Click the button below to confirm adding this phone number.": "Az telefonszám hozzáadásának megerősítéséhez kattintson a lenti gombra.", + "Confirm adding this email address by using Single Sign On to prove your identity.": "Erősítse meg az e-mail-cím hozzáadását azáltal, hogy az egyszeri bejelentkezéssel bizonyítja a személyazonosságát.", + "Confirm adding this phone number by using Single Sign On to prove your identity.": "Erősítse meg a telefonszám hozzáadását azáltal, hogy az egyszeri bejelentkezéssel bizonyítja a személyazonosságát.", "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", @@ -1827,10 +1827,10 @@ "If you've joined lots of rooms, this might take a while": "Ha sok szobához csatlakozott, ez eltarthat egy darabig", "Currently indexing: %(currentRoom)s": "Indexelés alatt: %(currentRoom)s", "Send a bug report with logs": "Hibajelentés beküldése naplóval", - "Please supply a widget URL or embed code": "Add meg a kisalkalmazás URL-jét vagy a beágyazott kódot", + "Please supply a widget URL or embed code": "Adja meg a kisalkalmazás URL-jét vagy a beágyazott kódot", "Verify this login": "Belépés ellenőrzése", "Unable to query secret storage status": "A biztonsági tároló állapotát nem lehet lekérdezni", - "New login. Was this you?": "Új bejelentkezés. Te voltál?", + "New login. Was this you?": "Új bejelentkezés. Ön volt az?", "Where you’re logged in": "Ahol be vagy jelentkezve", "Manage the names of and sign out of your sessions below or verify them in your User Profile.": "Állítsd be a munkameneteid neveit, jelentkezz ki belőlük, vagy ellenőrizd őket a Felhasználói Beállításokban.", "Restoring keys from backup": "Kulcsok visszaállítása mentésből", @@ -1840,7 +1840,7 @@ "Successfully restored %(sessionCount)s keys": "%(sessionCount)s kulcs 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.", - "Opens chat with the given user": "Beszélgetés megnyitása a megadott felhasználóval", + "Opens chat with the given user": "Megnyitja a beszélgetést a megadott felhasználóval", "Sends a message to the given user": "Üzenet küldése a megadott felhasználónak", "Waiting for your other session to verify…": "A másik munkameneted ellenőrzésére várunk…", "You've successfully verified your device!": "Sikeresen ellenőrizted az eszközödet!", @@ -1855,8 +1855,8 @@ "Dismiss read marker and jump to bottom": "Az olvasottak jel eltűntetése és ugrás a végére", "Jump to oldest unread message": "A legrégebbi olvasatlan üzenetre ugrás", "Upload a file": "Fájl feltöltése", - "Room name or address": "A szoba neve vagy címe", - "Joins room with given address": "Megadott címmel csatlakozik a szobához", + "Room name or address": "Szoba neve vagy címe", + "Joins room with given address": "A megadott címmel csatlakozik a szobához", "Unrecognised room address:": "Ismeretlen szobacím:", "Font size": "Betűméret", "IRC display name width": "IRC megjelenítési név szélessége", @@ -1864,11 +1864,11 @@ "Custom font size can only be between %(min)s pt and %(max)s pt": "Az egyedi betűméret csak %(min)s pont és %(max)s pont között lehet", "Use between %(min)s pt and %(max)s pt": "Csak %(min)s pont és %(max)s pont közötti értéket használj", "Appearance": "Megjelenítés", - "Help us improve %(brand)s": "Segíts nekünk jobbá tenni a %(brand)sot", - "Send anonymous usage data which helps us improve %(brand)s. This will use a cookie.": "Anonim használati adatok küldésével segíthetsz nekünk a %(brand)s fejlesztésében. Ehhez sütiket használ.", - "Your homeserver has exceeded its user limit.": "A Matrix szervered túllépte a felhasználói szám korlátot.", - "Your homeserver has exceeded one of its resource limits.": "A Matrix szervered túllépte valamelyik erőforrás korlátját.", - "Contact your server admin.": "Vedd fel a kapcsolatot a szerver gazdájával.", + "Help us improve %(brand)s": "Segítsen nekünk jobbá tenni a(z) %(brand)s alkalmazást", + "Send anonymous usage data which helps us improve %(brand)s. This will use a cookie.": "Anonim használati adatok küldésével segíthet nekünk a(z) %(brand)s fejlesztésében. Ehhez sütiket használ.", + "Your homeserver has exceeded its user limit.": "A Matrix-kiszolgálója túllépte a felhasználói szám korlátját.", + "Your homeserver has exceeded one of its resource limits.": "A Matrix-kiszolgálója túllépte valamelyik erőforráskorlátját.", + "Contact your server admin.": "Vegye fel a kapcsolatot a kiszolgáló rendszergazdájával.", "Ok": "Rendben", "New version available. Update now.": "Új verzió érhető el.Frissíts most.", "Please verify the room ID or address and try again.": "Kérlek ellenőrizd a szoba azonosítót vagy címet és próbáld újra.", @@ -1912,20 +1912,20 @@ "A-Z": "A-Z", "Looks good!": "Jól néz ki!", "Use custom size": "Egyéni méret használata", - "Use a system font": "Rendszer betűtípus használata", - "System font name": "Rendszer betűtípus neve", + "Use a system font": "Rendszer betűtípusának használata", + "System font name": "Rendszer betűtípusának neve", "Hey you. You're the best!": "Hé te! Te vagy a legjobb!", "Message layout": "Üzenet kinézete", "Modern": "Modern", "The authenticity of this encrypted message can't be guaranteed on this device.": "A titkosított üzenetek valódiságát ezen az eszközön nem lehet garantálni.", - "You joined the call": "Csatlakoztál a hívásba", + "You joined the call": "Csatlakozott a hívásba", "%(senderName)s joined the call": "%(senderName)s csatlakozott a híváshoz", "Call in progress": "Hívás folyamatban van", "Call ended": "Hívás befejeződött", - "You started a call": "Hívást kezdeményeztél", + "You started a call": "Hívást kezdeményezett", "%(senderName)s started a call": "%(senderName)s hívást kezdeményezett", "Waiting for answer": "Válaszra várakozás", - "%(senderName)s is calling": "%(senderName)s hív", + "%(senderName)s is calling": "%(senderName)s hívja", "%(senderName)s: %(message)s": "%(senderName)s: %(message)s", "%(senderName)s: %(reaction)s": "%(senderName)s: %(reaction)s", "%(senderName)s: %(stickerName)s": "%(senderName)s: %(stickerName)s", @@ -1960,7 +1960,7 @@ "User menu": "Felhasználói menü", "This room is public": "Ez egy nyilvános szoba", "Away": "Távol", - "Are you sure you want to cancel entering passphrase?": "Biztos vagy benne, hogy megszakítod a jelmondat bevitelét?", + "Are you sure you want to cancel entering passphrase?": "Biztos, hogy megszakítja a jelmondat bevitelét?", "%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use %(brand)s Desktop for encrypted messages to appear in search results.": "A(z) %(brand)s nem képes a web böngészőben futva biztonságosan elmenteni a titkosított üzeneteket helyben. Használd az Asztali %(brand)s alkalmazást ahhoz, hogy az üzenetekben való keresésekkor a titkosított üzenetek is megjelenhessenek.", "Set the name of a font installed on your system & %(brand)s will attempt to use it.": "Adja meg a rendszer által használt betűkészlet nevét és az %(brand)s megpróbálja azt használni.", "Add users and servers you want to ignore here. Use asterisks to have %(brand)s match any characters. For example, @bot:* would ignore all users that have the name 'bot' on any server.": "A figyelmen kívül hagyandó felhasználókat és szervereket itt add meg. %(brand)s kliensben használj csillagot hogy a helyén minden karakterre illeszkedjen a kifejezés. Például: @bot:* figyelmen kívül fog hagyni minden „bot” nevű felhasználót bármely szerverről.", @@ -1970,14 +1970,14 @@ "Edited at %(date)s": "Szerkesztve ekkor: %(date)s", "Click to view edits": "A szerkesztések megtekintéséhez kattints", "* %(senderName)s %(emote)s": "* %(senderName)s %(emote)s", - "The person who invited you already left the room.": "Aki meghívott a szobába már távozott.", - "The person who invited you already left the room, or their server is offline.": "Aki meghívott a szobába már távozott, vagy a szervere elérhetetlen.", + "The person who invited you already left the room.": "Aki meghívta ebbe a szobába, már távozott.", + "The person who invited you already left the room, or their server is offline.": "Aki meghívta ebbe a szobába, már távozott, vagy a kiszolgálója nem érhető el.", "Change notification settings": "Értesítési beállítások megváltoztatása", "Your server isn't responding to some requests.": "A szervered nem válaszol néhány kérésre.", "You're all caught up.": "Mindent elolvastál.", "Server isn't responding": "A kiszolgáló nem válaszol", "Your server isn't responding to some of your requests. Below are some of the most likely reasons.": "A szervered néhány kérésre nem válaszol. Alább felsorolunk pár lehetséges okot.", - "The server (%(serverName)s) took too long to respond.": "A szervernek (%(serverName)s) túl hosszú időbe telt válaszolni.", + "The server (%(serverName)s) took too long to respond.": "A kiszolgálónak (%(serverName)s) túl sokáig tartott, hogy válaszoljon.", "Your firewall or anti-virus is blocking the request.": "A tűzfala vagy víruskeresője blokkolja a kérést.", "A browser extension is preventing the request.": "Egy böngésző kiterjesztés megakadályozza a kérést.", "The server is offline.": "A szerver nem működik.", @@ -1986,18 +1986,18 @@ "A connection error occurred while trying to contact the server.": "Kapcsolati hiba lépett fel miközben a szervert próbáltad elérni.", "The server is not configured to indicate what the problem is (CORS).": "A szerver nincs beállítva, hogy megmutassa mi okozhatta a hibát (CORS).", "Recent changes that have not yet been received": "Legutóbbi változások amik még nem érkeztek meg", - "Show message previews for reactions in DMs": "Üzenet előnézet mutatása a reakcióhoz a közvetlen beszélgetéseknél", - "Show message previews for reactions in all rooms": "Üzenet előnézet mutatása a reakciókhoz minden szobában", + "Show message previews for reactions in DMs": "Üzenet előnézet megjelenítése a reakciókhoz a közvetlen beszélgetéseknél", + "Show message previews for reactions in all rooms": "Üzenet előnézet megjelenítése a reakciókhoz az összes szobában", "Master private key:": "Privát elsődleges kulcs:", "No files visible in this room": "Ebben a szobában nincsenek fájlok", "Attach files from chat or just drag and drop them anywhere in a room.": "Csatolj fájlt a csevegésből vagy húzd és ejtsd bárhova a szobában.", "You’re all caught up": "Mindent elolvastál", "Explore public rooms": "Nyilvános szobák felfedezése", - "Unexpected server error trying to leave the room": "Váratlan szerver hiba lépett fel a szobából való kilépés közben", - "Error leaving room": "A szoba elhagyásakor hiba történt", - "Communities v2 prototypes. Requires compatible homeserver. Highly experimental - use with caution.": "Közösségek v2 prototípus. Kompatibilis matrix szervert igényel. Erősen kísérleti állapotban van - körültekintően használd.", - "Uploading logs": "Napló feltöltése folyamatban", - "Downloading logs": "Napló letöltése folyamatban", + "Unexpected server error trying to leave the room": "Váratlan kiszolgálóhiba lépett fel a szobából való kilépés során", + "Error leaving room": "Hiba a szoba elhagyásakor", + "Communities v2 prototypes. Requires compatible homeserver. Highly experimental - use with caution.": "Közösségek v2 prototípus. Kompatibilis Matrix-kiszolgálót igényel. Erősen kísérleti állapotban van – körültekintően használja.", + "Uploading logs": "Naplók feltöltése folyamatban", + "Downloading logs": "Naplók letöltése folyamatban", "Can't see what you’re looking for?": "Nem találod amit keresel?", "Explore all public rooms": "Az összes nyilvános szoba felfedezése", "%(count)s results|other": "%(count)s találat", @@ -2033,7 +2033,7 @@ "Community settings": "Közösségi beállítások", "User settings": "Felhasználói beállítások", "Community and user menu": "Közösségi és felhasználói menü", - "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message": "( ͡° ͜ʖ ͡°) -t tesz a szöveg elejére", + "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message": "A sima szöveges üzenet elé teszi ezt: ( ͡° ͜ʖ ͡°)", "Unknown App": "Ismeretlen alkalmazás", "Privacy": "Adatvédelem", "%(count)s results|one": "%(count)s találat", @@ -2062,7 +2062,7 @@ "Add widgets, bridges & bots": "Widget-ek, hidak, és botok hozzáadása", "Your server requires encryption to be enabled in private rooms.": "A szervered megköveteli, hogy a titkosítás be legyen kapcsolva a privát szobákban.", "Unable to set up keys": "Nem sikerült a kulcsok beállítása", - "Safeguard against losing access to encrypted messages & data": "Biztosítás a titkosított üzenetek és adatokhoz való hozzáférés elvesztése ellen", + "Safeguard against losing access to encrypted messages & data": "Biztosíték a titkosított üzenetekhez és adatokhoz való hozzáférés elvesztése ellen", "not found in storage": "a tárban nem található", "Widgets": "Kisalkalmazások", "Edit widgets, bridges & bots": "Kisalkalmazások, hidak és botok szerkesztése", @@ -2084,10 +2084,10 @@ "Failed to save your profile": "A profilját nem sikerült menteni", "The operation could not be completed": "A műveletet nem lehetett befejezni", "Remove messages sent by others": "Mások által küldött üzenetek törlése", - "🎉 All servers are banned from participating! This room can no longer be used.": "🎉 Minden szerver ki van tiltva! Ezt a szobát nem lehet többet használni.", + "🎉 All servers are banned from participating! This room can no longer be used.": "🎉 Minden kiszolgáló ki van tiltva! Ezt a szobát nem lehet többet használni.", "%(senderDisplayName)s changed the server ACLs for this room.": "%(senderDisplayName)s megváltoztatta a kiszolgálójogosultságokat a szobában.", - "%(senderDisplayName)s set the server ACLs for this room.": "%(senderDisplayName)s beállította a jogosultságokat a szobában.", - "The call could not be established": "A hívás kapcsolatot nem lehet felépíteni", + "%(senderDisplayName)s set the server ACLs for this room.": "%(senderDisplayName)s beállította a kiszolgálójogosultságokat a szobában.", + "The call could not be established": "A hívás felépítése sikertelen", "Move right": "Mozgatás jobbra", "Move left": "Balra mozgat", "Revoke permissions": "Jogosultságok visszavonása", @@ -2104,14 +2104,14 @@ "Feedback sent": "Visszajelzés elküldve", "Use the + to make a new room or explore existing ones below": "Új szoba készítéshez vagy kereséshez alább, használd a + jelet", "%(senderName)s ended the call": "%(senderName)s befejezte a hívást", - "You ended the call": "Befejezted a hívást", + "You ended the call": "Befejezte a hívást", "New version of %(brand)s is available": "Új verzió érhető el ebből: %(brand)s", "Update %(brand)s": "%(brand)s frissítése", "Enable desktop notifications": "Asztali értesítések engedélyezése", - "Don't miss a reply": "Ne szalassz el egy választ se", + "Don't miss a reply": "Ne szalasszon el egy választ se", "Now, let's help you get started": "És most segítünk az indulásban", "Invite someone using their name, email address, username (like ) or share this room.": "Hívj meg valakit a nevét, e-mail címét, vagy felhasználónevét (például ) megadva, vagy oszd meg ezt a szobát.", - "Start a conversation with someone using their name, email address or username (like ).": "Indíts beszélgetést valakivel és használd hozzá a nevét, e-mail címét vagy a felhasználói nevét (mint ).", + "Start a conversation with someone using their name, email address or username (like ).": "Indítson beszélgetést valakivel a nevének, e-mail-címének vagy a felhasználónevének használatával (mint ).", "Invite by email": "Meghívás e-maillel", "Welcome %(name)s": "Üdv %(name)s", "Add a photo so people know it's you.": "Állíts be egy fényképet, hogy mások könnyebben megismerhessenek!", @@ -2180,7 +2180,7 @@ "Cyprus": "Ciprus", "Curaçao": "Curaçao", "Cuba": "Kuba", - "Croatia": "Horvát", + "Croatia": "Horvátország", "Costa Rica": "Costa Rica", "Cook Islands": "Cook-szigetek", "Congo - Kinshasa": "Kongó - Kinshasa", @@ -2388,12 +2388,12 @@ "Add a topic to help people know what it is about.": "Állítsd be a szoba témáját, hogy az emberek tudják, hogy miről van itt szó.", "Topic: %(topic)s ": "Téma: %(topic)s ", "Send stickers to this room as you": "Matricák küldése ebbe a szobába saját néven", - "Change the avatar of this room": "A szoba képének megváltoztatása", + "Change the avatar of this room": "A szoba profilképének megváltoztatása", "Change the name of this room": "A szoba nevének megváltoztatása", - "Change the topic of your active room": "Az aktív szoba témájának megváltoztatása", + "Change the topic of your active room": "Az aktív szobája témájának módosítása", "Change the topic of this room": "A szoba témájának megváltoztatása", - "Change which room you're viewing": "Az ön által nézett szoba megváltoztatása", - "Send stickers into your active room": "Matricák küldése az aktív szobába", + "Change which room you're viewing": "Az Ön által nézett szoba megváltoztatása", + "Send stickers into your active room": "Matricák küldése az aktív szobájába", "Send stickers into this room": "Matricák küldése ebbe a szobába", "Go to Home View": "Irány a Kezdőképernyő", "%(ssoButtons)s Or %(usernamePassword)s": "%(ssoButtons)s vagy %(usernamePassword)s", @@ -2436,49 +2436,49 @@ "sends confetti": "konfetti küldése", "Sends the given message with confetti": "Az üzenet elküldése konfettivel", "Use Ctrl + Enter to send a message": "Ctrl + Enter használata az üzenet elküldéséhez", - "Use Command + Enter to send a message": "Operációs rendszer billentyű + Enter használata az üzenet küldéséhez", + "Use Command + Enter to send a message": "Command + Enter használata az üzenet küldéséhez", "Render LaTeX maths in messages": "LaTeX matematikai kifejezések megjelenítése az üzenetekben", - "See %(msgtype)s messages posted to your active room": "%(msgtype)s üzenetek megjelenítése az aktív szobádban", - "See %(msgtype)s messages posted to this room": "%(msgtype)s üzenetek megjelenítése ebben a szobában", + "See %(msgtype)s messages posted to your active room": "Az aktív szobájába küldött %(msgtype)s üzenetek megjelenítése", + "See %(msgtype)s messages posted to this room": "Az ebbe a szobába küldött %(msgtype)s üzenetek megjelenítése", "See general files posted to your active room": "Az aktív szobádba küldött fájlok megjelenítése", "See general files posted to this room": "Ebbe a szobába küldött fájlok megjelenítése", "See videos posted to your active room": "Az aktív szobádba küldött videók megjelenítése", "See videos posted to this room": "Ebbe a szobába küldött videók megjelenítése", "See images posted to your active room": "Az aktív szobádba küldött képek megjelenítése", "See images posted to this room": "Ebbe a szobába küldött képek megjelenítése", - "See text messages posted to your active room": "Az aktív szobádba küldött szöveges üzenetek megjelenítése", - "See text messages posted to this room": "Ebbe a szobába küldött szöveges üzenetek megjelenítése", - "See messages posted to your active room": "Az aktív szobádba küldött üzenetek megjelenítése", - "See messages posted to this room": "Ebbe a szobába küldött üzenetek megjelenítése", + "See text messages posted to your active room": "Az aktív szobájába küldött szöveges üzenetek megjelenítése", + "See text messages posted to this room": "Az ebbe a szobába küldött szöveges üzenetek megjelenítése", + "See messages posted to your active room": "Az aktív szobájába küldött üzenetek megjelenítése", + "See messages posted to this room": "Az ebbe a szobába küldött üzenetek megjelenítése", "The %(capability)s capability": "%(capability)s képesség", - "See %(eventType)s events posted to your active room": "%(eventType)s események megjelenítése az aktív szobában", - "Send %(eventType)s events as you in your active room": "%(eventType)s események küldése a nevedben az aktív szobába", + "See %(eventType)s events posted to your active room": "%(eventType)s események megjelenítése az aktív szobájában", + "Send %(eventType)s events as you in your active room": "%(eventType)s események küldése a saját nevében az aktív szobájában", "See %(eventType)s events posted to this room": "%(eventType)s események megjelenítése ebben a szobában", - "Send %(eventType)s events as you in this room": "%(eventType)s esemény küldése a nevedben a szobába", - "with state key %(stateKey)s": "ezzel a státusz kulccsal: %(stateKey)s", - "with an empty state key": "üres státusz kulccsal", - "See when anyone posts a sticker to your active room": "Bárki által az aktív szobádba küldött matrica megjelenítése", - "See when a sticker is posted in this room": "Matrica küldésének megjelenítése ebben a szobában", - "See when the avatar changes in your active room": "Profilkép változás megjelenítése az aktív szobában", + "Send %(eventType)s events as you in this room": "%(eventType)s események küldése a saját nevében a szobába", + "with state key %(stateKey)s": "ezzel az állapotkulccsal: %(stateKey)s", + "with an empty state key": "üres állapotkulccsal", + "See when anyone posts a sticker to your active room": "Bárki által az aktív szobájába küldött matrica megjelenítése", + "See when a sticker is posted in this room": "Matricaküldések megjelenítése ebben a szobában", + "See when the avatar changes in your active room": "Profilképváltozás megjelenítése az aktív szobában", "Change the avatar of your active room": "Az aktív szoba profilképének megváltoztatása", - "See when the avatar changes in this room": "Profilkép változás megjelenítése ebben a szobában", - "See when the name changes in your active room": "Név változásának megjelenítése az aktív szobában", + "See when the avatar changes in this room": "Profilképváltozás megjelenítése ebben a szobában", + "See when the name changes in your active room": "Névváltozások megjelenítése az aktív szobában", "Change the name of your active room": "Az aktív szoba nevének megváltoztatása", - "See when the name changes in this room": "Név változásának megjelenítése ebben a szobában", - "See when the topic changes in your active room": "Téma változásának megjelenítése az aktív szobában", - "See when the topic changes in this room": "Szoba téma változásának megmutatása", - "Remain on your screen while running": "Maradjon a képernyőn ameddig amíg fut", - "Remain on your screen when viewing another room, when running": "Maradjon a képernyőn ameddig másik szobát nézel, amíg fut", - "Prepends ┬──┬ ノ( ゜-゜ノ) to a plain-text message": "┬──┬ ノ( ゜-゜ノ) -t tesz a szöveg elejére", - "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "(╯°□°)╯︵ ┻━┻ -t tesz a szöveg elejére", + "See when the name changes in this room": "Névváltozások megjelenítése ebben a szobában", + "See when the topic changes in your active room": "Témaváltozások megjelenítése az aktív szobájában", + "See when the topic changes in this room": "A szoba témaváltozásainak megjelenítése", + "Remain on your screen while running": "Amíg fut, addig maradjon a képernyőn", + "Remain on your screen when viewing another room, when running": "Amíg fut, akkor is maradjon a képernyőn, ha egy másik szobát néz", + "Prepends ┬──┬ ノ( ゜-゜ノ) to a plain-text message": "A sima szöveges üzenet elé teszi ezt: ┬──┬ ノ( ゜-゜ノ)", + "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "A sima szöveges üzenet elé teszi ezt: (╯°□°)╯︵ ┻━┻", "Effects": "Effektek", "You've reached the maximum number of simultaneous calls.": "Elérte az egyidejű hívások maximális számát.", "Too Many Calls": "Túl sok hívás", "No other application is using the webcam": "A webkamerát nem használja másik alkalmazás", - "Permission is granted to use the webcam": "A webkamera használatának az engedélye megadva", + "Permission is granted to use the webcam": "A webkamera használatának engedélye meg van adva", "A microphone and webcam are plugged in and set up correctly": "A mikrofon és webkamera csatlakoztatva van és megfelelően be van állítva", "Unable to access webcam / microphone": "A webkamerát / mikrofont nem lehet használni", - "Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "A hívás meghiúsult mert a mikrofont nem lehet használni. Ellenőrizze, hogy csatlakoztatva van-e és megfelelően be van állítva.", + "Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "A hívás sikertelen mert a mikrofont nem lehet használni. Ellenőrizze, hogy csatlakoztatva van-e és megfelelően van-e beállítva.", "Unable to access microphone": "A mikrofont nem lehet használni", "Already have an account? Sign in here": "Van már fiókod? Belépés", "Use email to optionally be discoverable by existing contacts.": "Az e-mail (nem kötelező) megadása segíthet abban, hogy az ismerőseid megtaláljanak Matrix-on.", @@ -2496,8 +2496,8 @@ "We call the places where you can host your account ‘homeservers’.": "Matrix szervereknek nevezzük azokat a helyeket, ahol fiókot lehet létrehozni.", "Call failed because webcam or microphone could not be accessed. Check that:": "A hívás sikertelen, mert a webkamera, vagy a mikrofon nem érhető el. Ellenőrizze ezt:", "Decide where your account is hosted": "Döntse el, hol szeretne fiókot létrehozni!", - "Send %(msgtype)s messages as you in your active room": "%(msgtype)s üzenet küldése az aktív szobádba saját néven", - "Send %(msgtype)s messages as you in this room": "%(msgtype)s üzenet küldése ebbe a szobába saját néven", + "Send %(msgtype)s messages as you in your active room": "%(msgtype)s üzenetek küldése az aktív szobájába saját néven", + "Send %(msgtype)s messages as you in this room": "%(msgtype)s üzenetek küldése ebbe a szobába saját néven", "Send general files as you in your active room": "Fájlok küldése az aktív szobájába saját néven", "Send general files as you in this room": "Fájlok küldése ebbe a szobába saját néven", "Send videos as you in your active room": "Videók küldése az aktív szobájába saját néven", @@ -2510,7 +2510,7 @@ "Send text messages as you in this room": "Szöveges üzenetek küldése ebbe a szobába saját néven", "Send messages as you in your active room": "Üzenetek küldése az aktív szobájába saját néven", "Send messages as you in this room": "Üzenetek küldése ebbe a szobába saját néven", - "Send stickers to your active room as you": "Matricák küldése az aktív szobába saját néven", + "Send stickers to your active room as you": "Matricák küldése az aktív szobájába saját néven", "

HTML for your community's page

\n

\n Use the long description to introduce new members to the community, or distribute\n some important links\n

\n

\n You can even add images with Matrix URLs \n

\n": "

HTML a közössége oldalához

\n

\n Az új tagnak a közösség bemutatásához vagy fontos \n hivatkozások megosztásához a hosszú leírást lehet használni.\n

\n

\n Képeket Matrix URL-ekkel lehet hozzáadni: \n

\n", "Securely cache encrypted messages locally for them to appear in search results, using %(size)s to store messages from %(rooms)s rooms.|one": "A szövegek megjelenítéséhez a keresésekben biztonságosan kell helyileg tárolni a titkosított üzeneteket, ehhez %(size)s méretben tárolódnak az üzenetek %(rooms)s szobából.", "Securely cache encrypted messages locally for them to appear in search results, using %(size)s to store messages from %(rooms)s rooms.|other": "A szövegek megjelenítéséhez a keresésekben biztonságosan kell helyileg tárolni a titkosított üzeneteket, ehhez %(size)s méretben tárolódnak az üzenetek %(rooms)s szobából.", @@ -2531,7 +2531,7 @@ "There was an error looking up the phone number": "A telefonszám megkeresésekor hiba történt", "Unable to look up phone number": "A telefonszámot nem sikerült megtalálni", "Workspace: ": "Munkaterület: ", - "Change which room, message, or user you're viewing": "Azon szoba, üzenet vagy felhasználó megváltoztatása amit éppen néz", + "Change which room, message, or user you're viewing": "Az épp megtekintett szoba, üzenet vagy felhasználó megváltoztatása", "Channel: ": "Csatorna: ", "This session has detected that your Security Phrase and key for Secure Messages have been removed.": "A munkamenet észrevette, hogy a Biztonságos üzenetek Biztonsági Jelmondata és Kulcsa törölve lett.", "A new Security Phrase and key for Secure Messages have been detected.": "A Biztonságos üzenetekhez új Biztonsági Jelmondatot és kulcsot észleltünk.", @@ -2566,15 +2566,15 @@ "Back up your encryption keys with your account data in case you lose access to your sessions. Your keys will be secured with a unique Security Key.": "Mentse el a titkosítási kulcsokat a fiókadatokkal arra az esetre ha elvesztené a hozzáférést a munkameneteihez. A kulcsok egy egyedi Biztonsági Kulccsal lesznek védve.", "Set my room layout for everyone": "A szoba megjelenésének beállítása mindenki számára", "%(senderName)s has updated the widget layout": "%(senderName)s megváltoztatta a kisalkalmazás megjelenését", - "Use app": "Használja az alkalmazást", - "Element Web is experimental on mobile. For a better experience and the latest features, use our free native app.": "Element Web kísérleti állapotban van mobiltelefonon. A jobb élmény és a legújabb funkciók használatához használja az alkalmazást.", + "Use app": "Alkalmazás használata", + "Element Web is experimental on mobile. For a better experience and the latest features, use our free native app.": "Az Element Web kísérleti állapotban van mobiltelefonon. A jobb élmény és a legújabb funkciók használatához használja az ingyenes natív alkalmazást.", "Use app for a better experience": "A jobb élmény érdekében használjon alkalmazást", "Converts the DM to a room": "A közvetlen beszélgetésből egy szobát készít", - "Converts the room to a DM": "A szobát átalakítja közvetlen beszélgetéshez", - "Your homeserver rejected your log in attempt. This could be due to things just taking too long. Please try again. If this continues, please contact your homeserver administrator.": "A Matrix szerver visszautasította a bejelentkezését. Lehet, hogy valami túl sokáig tartott. Próbálja újra. Ha továbbra is fennáll a probléma, kérjük vegye fel a kapcsolatot a Matrix szerver üzemeltetőjével.", - "Your homeserver was unreachable and was not able to log you in. Please try again. If this continues, please contact your homeserver administrator.": "A Matrix szerver elérhetetlen és nem tudta bejelentkeztetni. Próbálja újra. Ha továbbra is fennáll a probléma, kérjük vegye fel a kapcsolatot a Matrix szerver üzemeltetőjével.", + "Converts the room to a DM": "A szobából közvetlen beszélgetést készít", + "Your homeserver rejected your log in attempt. This could be due to things just taking too long. Please try again. If this continues, please contact your homeserver administrator.": "A Matrix-kiszolgáló elutasította a bejelentkezését. Lehet, hogy valami túl sokáig tartott. Próbálja újra. Ha továbbra is fennáll a probléma, vegye fel a kapcsolatot a Matrix-kiszolgáló rendszergazdájával.", + "Your homeserver was unreachable and was not able to log you in. Please try again. If this continues, please contact your homeserver administrator.": "A Matrix-kiszolgáló elérhetetlen, és nem tudta bejelentkeztetni. Próbálja újra. Ha továbbra is fennáll a probléma, vegye fel a kapcsolatot a Matrix-kiszolgáló rendszergazdájával.", "Try again": "Próbálja újra", - "We asked the browser to remember which homeserver you use to let you sign in, but unfortunately your browser has forgotten it. Go to the sign in page and try again.": "A böngészőt utasítottuk, hogy jegyezze meg, melyik matrix szervert használta a bejelentkezéshez, de elfelejtette. Navigáljon újra a bejelentkezési oldalra.", + "We asked the browser to remember which homeserver you use to let you sign in, but unfortunately your browser has forgotten it. Go to the sign in page and try again.": "A böngészőt arra kértük, hogy jegyezze meg, melyik Matrix-kiszolgálót használta a bejelentkezéshez, de sajnos a böngészője elfelejtette. Navigáljon a bejelentkezési oldalra, és próbálja újra.", "We couldn't log you in": "Sajnos nem tudjuk bejelentkeztetni", "Search (must be enabled)": "Keresés (engedélyezve kell lennie)", "Something went wrong in confirming your identity. Cancel and try again.": "A személyazonosság ellenőrzésénél valami hiba történt. Megszakítás és próbálja újra.", @@ -2582,8 +2582,8 @@ "The widget will verify your user ID, but won't be able to perform actions for you:": "A kisalkalmazás ellenőrizni fogja a felhasználói azonosítóját, de az alábbi tevékenységeket nem tudja végrehajtani:", "Allow this widget to verify your identity": "A kisalkalmazás ellenőrizheti a személyazonosságot", "Show stickers button": "Matrica gomb megjelenítése", - "Show line numbers in code blocks": "Sorszámok megmutatása a kód blokkban", - "Expand code blocks by default": "Kód blokk kibontása alapesetben", + "Show line numbers in code blocks": "Sorszámok megjelenítése a kódblokkokban", + "Expand code blocks by default": "Kódblokk kibontása alapértelmezetten", "Recently visited rooms": "Nemrég meglátogatott szobák", "Minimize dialog": "Dialógus ablak kicsinyítés", "Maximize dialog": "Dialógus ablak nagyítás", @@ -2618,7 +2618,7 @@ "Setting ID": "Beállításazonosító", "Failed to save settings": "A beállítások mentése sikertelen", "Settings Explorer": "Beállításböngésző", - "Show chat effects (animations when receiving e.g. confetti)": "Csevegés effektek megjelenítése (mint a konfetti animáció)", + "Show chat effects (animations when receiving e.g. confetti)": "Csevegés effektek (például a konfetti animáció) megjelenítése", "Original event source": "Eredeti esemény forráskód", "Decrypted event source": "Visszafejtett esemény forráskód", "What projects are you working on?": "Milyen projekteken dolgozik?", @@ -2688,8 +2688,8 @@ "Create a space": "Tér készítése", "Delete": "Töröl", "Jump to the bottom of the timeline when you send a message": "Üzenetküldés után az idővonal aljára ugrás", - "This homeserver has been blocked by it's administrator.": "Ezt a matrix szervert az adminisztrátor lezárta.", - "This homeserver has been blocked by its administrator.": "Ezt a matrix szervert az adminisztrátor lezárta.", + "This homeserver has been blocked by it's administrator.": "A Matrix-kiszolgálót zárolta a rendszergazdája.", + "This homeserver has been blocked by its administrator.": "A Matrix-kiszolgálót a rendszergazda zárolta.", "You're already in a call with this person.": "Már hívásban van ezzel a személlyel.", "Already in call": "A hívás már folyamatban van", "We'll create rooms for each of them. You can add more later too, including already existing ones.": "Készítünk mindegyik szobához egyet. Később is hozzáadhat újakat vagy akár meglévőket.", @@ -2754,7 +2754,7 @@ "unknown person": "ismeretlen személy", "%(deviceId)s from %(ip)s": "%(deviceId)s innen: %(ip)s", "Review to ensure your account is safe": "Tekintse át, hogy meggyőződjön arról, hogy a fiókja biztonságban van", - "Sends the given message as a spoiler": "A megadott üzenet szpojlerként küldése", + "Sends the given message as a spoiler": "A megadott üzenet elküldése kitakarva", "Change server ACLs": "Kiszolgáló ACL-ek módosítása", "You are the only person here. If you leave, no one will be able to join in the future, including you.": "Csak ön van itt. Ha kilép, akkor a jövőben senki nem tud majd ide belépni, beleértve önt is.", "If you reset everything, you will restart with no trusted sessions, no trusted users, and might not be able to see past messages.": "Ha mindent alapállapotba helyez, nem lesz megbízható munkamenete, nem lesznek megbízható felhasználók és a régi üzenetekhez sem biztos, hogy hozzáfér majd.", @@ -2766,7 +2766,7 @@ "Zoom in": "Nagyít", "Zoom out": "Kicsinyít", "%(seconds)ss left": "%(seconds)s mp van vissza", - "Show options to enable 'Do not disturb' mode": "Mutassa a lehetőséget a „Ne zavarjanak” módhoz", + "Show options to enable 'Do not disturb' mode": "A „Ne zavarjanak” mód lehetőségének megjelenítése", "You can select all or individual messages to retry or delete": "Újraküldéshez vagy törléshez kiválaszthatja az üzeneteket egyenként vagy az összeset együtt", "Retry all": "Mind újraküldése", "Sending": "Küldés", @@ -2809,7 +2809,7 @@ "Access Token": "Elérési kulcs", "Please enter a name for the space": "Kérem adjon meg egy nevet a térhez", "Connecting": "Kapcsolás", - "Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "Közvetlen hívás engedélyezése két fél között (ha ezt engedélyezi a másik fél láthatja az ön IP címét)", + "Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "Közvetlen hívás engedélyezése két fél között (ha ezt engedélyezi, akkor a másik fél láthatja az Ön IP-címét)", "Spaces are a new way to group rooms and people.": "Szobák és emberek csoportosításának új lehetősége a Terek használata.", "To leave the beta, visit your settings.": "A beállításokban tudja elhagyni a bétát.", "Your platform and username will be noted to help us use your feedback as much as we can.": "A platform és a felhasználói neve felhasználásra kerül ami segít nekünk a visszajelzést minél jobban felhasználni.", @@ -2824,17 +2824,17 @@ "sends space invaders": "space invaders küldése", "Sends the given message with a space themed effect": "Üzenet küldése világűrös effekttel", "See when people join, leave, or are invited to your active room": "Emberek belépésének, távozásának vagy meghívásának a megjelenítése az aktív szobájában", - "Kick, ban, or invite people to your active room, and make you leave": "Kirúgni, kitiltani vagy meghívni embereket az aktív szobába és, hogy ön elhagyja a szobát", + "Kick, ban, or invite people to your active room, and make you leave": "Emberek kirúgása, kitiltása vagy meghívása az aktív szobájába, és az Ön kiléptetése", "See when people join, leave, or are invited to this room": "Emberek belépésének, távozásának vagy meghívásának a megjelenítése ebben a szobában", - "Kick, ban, or invite people to this room, and make you leave": "Kirúgni, kitiltani vagy meghívni embereket ebbe a szobába és, hogy ön elhagyja a szobát", + "Kick, ban, or invite people to this room, and make you leave": "Emberek kirúgása, kitiltása vagy meghívása ebbe a szobába, és az Ön kiléptetése", "Currently joining %(count)s rooms|one": "%(count)s szobába lép be", "Currently joining %(count)s rooms|other": "%(count)s szobába lép be", "No results for \"%(query)s\"": "Nincs találat erre: %(query)s", "Try different words or check for typos. Some results may not be visible as they're private and you need an invite to join them.": "Próbáljon ki más szavakat vagy keressen elgépelést. Néhány találat azért nem látszik, mert privát és meghívóra van szüksége, hogy csatlakozhasson.", "The user you called is busy.": "A hívott felhasználó foglalt.", - "User Busy": "Felhasználó foglalt", + "User Busy": "A felhasználó foglalt", "If you can't see who you’re looking for, send them your invite link below.": "Ha nem található a keresett személy, küldje el az alábbi hivatkozást neki.", - "Some suggestions may be hidden for privacy.": "Adatvédelem miatt néhány javaslat esetleg rejtve van.", + "Some suggestions may be hidden for privacy.": "Adatvédelmi okokból néhány javaslat rejtve lehet.", "If you have permissions, open the menu on any message and select Pin to stick them here.": "Ha van hozzá jogosultsága, nyissa meg a menüt bármelyik üzenetben és válassza a Kitűz menüpontot a kitűzéshez.", "Teammates might not be able to view or join any private rooms you make.": "Csapattagok lehet, hogy nem láthatják vagy léphetnek be az ön által készített privát szobákba.", "Or send invite link": "Vagy meghívó link küldése", @@ -2848,23 +2848,23 @@ "Pinned messages": "Kitűzött üzenetek", "Nothing pinned, yet": "Semmi sincs kitűzve egyenlőre", "End-to-end encryption isn't enabled": "Végpontok közötti titkosítás nincs engedélyezve", - "Show all rooms in Home": "Minden szoba megjelenítése a Kezdő téren", - "%(senderName)s changed the pinned messages for the room.": "%(senderName)s megváltoztatta a szoba kitűzött szövegeit.", - "%(senderName)s kicked %(targetName)s": "%(senderName)s kirúgta: %(targetName)s", + "Show all rooms in Home": "Minden szoba megjelenítése a Kezdőlapon", + "%(senderName)s changed the pinned messages for the room.": "%(senderName)s megváltoztatta a szoba kitűzött üzeneteit.", + "%(senderName)s kicked %(targetName)s": "%(senderName)s kirúgta őt: %(targetName)s", "%(senderName)s kicked %(targetName)s: %(reason)s": "%(senderName)s kirúgta őt: %(targetName)s, ok: %(reason)s", "%(senderName)s withdrew %(targetName)s's invitation": "%(senderName)s visszavonta %(targetName)s meghívóját", "%(senderName)s withdrew %(targetName)s's invitation: %(reason)s": "%(senderName)s visszavonta %(targetName)s meghívóját, ok: %(reason)s", - "%(senderName)s unbanned %(targetName)s": "%(senderName)s visszaengedte %(targetName)s felhasználót", + "%(senderName)s unbanned %(targetName)s": "%(senderName)s visszaengedte őt: %(targetName)s", "%(targetName)s left the room": "%(targetName)s elhagyta a szobát", "%(targetName)s left the room: %(reason)s": "%(targetName)s elhagyta a szobát, ok: %(reason)s", "%(targetName)s rejected the invitation": "%(targetName)s elutasította a meghívót", "%(targetName)s joined the room": "%(targetName)s belépett a szobába", "%(senderName)s made no change": "%(senderName)s nem változtatott semmit", - "%(senderName)s set a profile picture": "%(senderName)s profil képet állított be", - "%(senderName)s changed their profile picture": "%(senderName)s megváltoztatta a profil képét", - "%(senderName)s removed their profile picture": "%(senderName)s törölte a profil képét", - "%(senderName)s removed their display name (%(oldDisplayName)s)": "%(senderName)s törölte a megjelenítési nevet (%(oldDisplayName)s)", - "%(senderName)s set their display name to %(displayName)s": "%(senderName)s a megjelenítési nevét megváltoztatta erre: %(displayName)s", + "%(senderName)s set a profile picture": "%(senderName)s profilképet állított be", + "%(senderName)s changed their profile picture": "%(senderName)s megváltoztatta a profilképét", + "%(senderName)s removed their profile picture": "%(senderName)s törölte a profilképét", + "%(senderName)s removed their display name (%(oldDisplayName)s)": "%(senderName)s törölte a megjelenítendő nevét (%(oldDisplayName)s)", + "%(senderName)s set their display name to %(displayName)s": "%(senderName)s megváltoztatta a megjelenítendő nevét erre: %(displayName)s", "%(oldDisplayName)s changed their display name to %(displayName)s": "%(oldDisplayName)s megváltoztatta a nevét erre: %(displayName)s", "%(senderName)s banned %(targetName)s": "%(senderName)s kitiltotta őt: %(targetName)s", "%(senderName)s banned %(targetName)s: %(reason)s": "%(senderName)s kitiltotta őt: %(targetName)s, ok: %(reason)s", @@ -2888,7 +2888,7 @@ "Published addresses can be used by anyone on any server to join your room.": "A nyilvánosságra hozott címet bárki bármelyik szerverről használhatja a szobához való belépéshez.", "Failed to update the history visibility of this space": "A tér régi üzeneteinek láthatóság állítása nem sikerült", "Failed to update the guest access of this space": "A tér vendég hozzáférésének állítása sikertelen", - "Report to moderators prototype. In rooms that support moderation, the `report` button will let you report abuse to room moderators": "Jelzés a moderátornak prototípus. A moderálást támogató szobákban a „jelzés” gombbal jelenthető a kifogásolt tartalom a szoba moderátorainak", + "Report to moderators prototype. In rooms that support moderation, the `report` button will let you report abuse to room moderators": "Jelzés a moderátornak prototípus. A moderálást támogató szobákban a „jelentés” gombbal jelenthető a kifogásolt tartalom a szoba moderátorainak.", "We sent the others, but the below people couldn't be invited to ": "Az alábbi embereket nem sikerül meghívni ide: , de a többi meghívó elküldve", "[number]": "[szám]", "To view %(spaceName)s, you need an invite": "A %(spaceName)s megjelenítéséhez meghívó szükséges", @@ -2924,7 +2924,7 @@ "Failed to update the visibility of this space": "A tér láthatóságának állítása sikertelen", "Address": "Cím", "e.g. my-space": "pl. én-terem", - "Silence call": "Némít", + "Silence call": "Némítás", "Sound on": "Hang be", "Use Command + F to search timeline": "Command + F az idővonalon való kereséshez", "Unnamed audio": "Névtelen hang", @@ -3015,7 +3015,7 @@ "Your camera is turned off": "Az ön kamerája ki van kapcsolva", "%(sharerName)s is presenting": "%(sharerName)s tartja a bemutatót", "You are presenting": "Ön tartja a bemutatót", - "New layout switcher (with message bubbles)": "Új kinézet váltó (üzenet buborékokkal)", + "New layout switcher (with message bubbles)": "Új kinézet váltó (üzenetbuborékokkal)", "New in the Spaces beta": "Újdonság a béta Terekben", "Transfer Failed": "Átadás sikertelen", "Unable to transfer call": "A hívás átadása nem lehetséges", @@ -3046,14 +3046,14 @@ "Spaces are a new feature.": "Terek az új lehetőség.", "These are likely ones other room admins are a part of.": "Ezek valószínűleg olyanok, amelyeknek más szoba adminok is tagjai.", "Show all rooms": "Minden szoba megjelenítése", - "All rooms you're in will appear in Home.": "Minden szoba amibe belépett megjelenik a Kezdő téren.", + "All rooms you're in will appear in Home.": "Minden szoba, amelybe belépett megjelenik a Kezdőlapon.", "Leave %(spaceName)s": "Kilép innen: %(spaceName)s", "You're the only admin of some of the rooms or spaces you wish to leave. Leaving them will leave them without any admins.": "Ön az adminisztrátora néhány szobának vagy térnek amiből ki szeretne lépni. Ha kilép belőlük akkor azok adminisztrátor nélkül maradnak.", "You're the only admin of this space. Leaving it will mean no one has control over it.": "Ön az egyetlen adminisztrátora a térnek. Ha kilép, senki nem tudja irányítani.", "You won't be able to rejoin unless you are re-invited.": "Nem fog tudni újra belépni amíg nem hívják meg újra.", "Search %(spaceName)s": "Keresés: %(spaceName)s", "Decrypting": "Visszafejtés", - "Send pseudonymous analytics data": "Pseudo-anonim felhasználási adatok küldése", + "Send pseudonymous analytics data": "Pseudo-anonim analitikai adatok küldése", "Missed call": "Nem fogadott hívás", "Call declined": "Hívás elutasítva", "%(oneUser)schanged the pinned messages for the room %(count)s times.|other": "%(oneUser)s %(count)s alkalommal megváltoztatta a szoba kitűzött üzeneteit.", @@ -3113,17 +3113,17 @@ "Are you sure you want to make this encrypted room public?": "Biztos, hogy nyilvánossá teszi ezt a titkosított szobát?", "To avoid these issues, create a new encrypted room for the conversation you plan to have.": "Az ehhez hasonló problémák elkerüléséhez készítsen új titkosított szobát a tervezett beszélgetésekhez.", "It's not recommended to add encryption to public rooms.Anyone can find and join public rooms, so anyone can read messages in them. You'll get none of the benefits of encryption, and you won't be able to turn it off later. Encrypting messages in a public room will make receiving and sending messages slower.": "Nyilvános szobához nem javasolt a titkosítás beállítása.Bárki megtalálhatja és csatlakozhat nyilvános szobákhoz, így bárki elolvashatja az üzeneteket bennük. A titkosítás előnyeit így nem jelentkeznek és később ezt nem lehet kikapcsolni. Nyilvános szobákban a titkosított üzenetek az üzenetküldést és fogadást csak lassítják.", - "Low bandwidth mode (requires compatible homeserver)": "Alacsony sávszélesség mód (kompatibilis matrix szervert igényel)", + "Low bandwidth mode (requires compatible homeserver)": "Alacsony sávszélességű mód (kompatibilis Matrix-kiszolgálót igényel)", "Multiple integration managers (requires manual setup)": "Több integrációs menedzser (kézi beállítást igényel)", "Autoplay videos": "Videók automatikus lejátszása", "Autoplay GIFs": "GIF-ek automatikus lejátszása", - "The above, but in as well": "A felül lévő, de ebben a szobában is: ", + "The above, but in as well": "A fentiek, de ebben a szobában is: ", "Show threads": "Üzenetszálak megjelenítése", "Threaded messaging": "Üzenetszálas beszélgetés", - "The above, but in any room you are joined or invited to as well": "Ami felette van, de minden szobában amibe belépett vagy meghívták", + "The above, but in any room you are joined or invited to as well": "A fentiek, de minden szobában, amelybe belépett vagy meghívták", "Thread": "Üzenetszál", - "%(senderName)s unpinned a message from this room. See all pinned messages.": "%(senderName)s levett egy kitűzött üzenetet ebből a szobában. Minden kitűzött üzenet megjelenítése.", - "%(senderName)s unpinned a message from this room. See all pinned messages.": "%(senderName)s levett egy kitűzött üzenetet ebből a szobában. Minden kitűzött üzenet megjelenítése.", + "%(senderName)s unpinned a message from this room. See all pinned messages.": "%(senderName)s levett egy kitűzött üzenetet ebben a szobában. Minden kitűzött üzenet megjelenítése.", + "%(senderName)s unpinned a message from this room. See all pinned messages.": "%(senderName)s levett egy kitűzött üzenetet ebben a szobában. Minden kitűzött üzenet megjelenítése.", "%(senderName)s pinned a message to this room. See all pinned messages.": "%(senderName)s kitűzött egy üzenetet ebben a szobában. Minden kitűzött üzenet megjelenítése.", "%(senderName)s pinned a message to this room. See all pinned messages.": "%(senderName)s kitűzött egy üzenetet ebben a szobában. Minden kitűzött üzenet megjelenítése.", "Currently, %(count)s spaces have access|one": "Jelenleg a Térnek hozzáférése van", @@ -3157,7 +3157,7 @@ "To join a space you'll need an invite.": "A térre való belépéshez meghívóra van szükség.", "You can also make Spaces from communities.": "Közösségből is lehet Tereket készíteni.", "Temporarily show communities instead of Spaces for this session. Support for this will be removed in the near future. This will reload Element.": "Közösségek megjelenítése átmenetileg a terek helyett ebben a munkamenetben. Ez a lehetőség később kivezetésre kerül. Az Element újratöltődik.", - "Display Communities instead of Spaces": "Terek helyett inkább a közösségek megjelenítése", + "Display Communities instead of Spaces": "Közösségek megjelenítése a terek helyett", "%(reactors)s reacted with %(content)s": "%(reactors)s reagált: %(content)s", "Joining space …": "Belépés a térbe…", "Would you like to leave the rooms in this space?": "Ki szeretne lépni ennek a térnek minden szobájából?", @@ -3179,13 +3179,13 @@ "Number of messages": "Üzenetek száma", "In reply to this message": "Válasz erre az üzenetre", "Export chat": "Beszélgetés kimentése", - "File Attached": "Fájl csatolva", - "Error fetching file": "Fájl letöltés hiba", + "File Attached": "Fájl mellékelve", + "Error fetching file": "Fájlletöltési hiba", "Topic: %(topic)s": "Téma: %(topic)s", "%(creatorName)s created this room.": "%(creatorName)s hozta létre ezt a szobát.", - "Media omitted - file size limit exceeded": "Média fájl kihagyva - fájl méret korlát túllépés", + "Media omitted - file size limit exceeded": "Média nélkül – fájlméretkorlát túllépve", "Media omitted": "Média nélkül", - "Current Timeline": "Aktuális idővonal", + "Current Timeline": "Jelenlegi idővonal", "Specify a number of messages": "Üzenetek számának megadása", "From the beginning": "Az elejétől", "Plain Text": "Sima szöveg", @@ -3193,7 +3193,7 @@ "HTML": "HTML", "Are you sure you want to exit during this export?": "Biztos, hogy kilép az exportálás közben?", "%(senderDisplayName)s sent a sticker.": "%(senderDisplayName)s matricát küldött.", - "%(senderDisplayName)s changed the room avatar.": "%(senderDisplayName)s megváltoztatta a szoba avatar képét.", + "%(senderDisplayName)s changed the room avatar.": "%(senderDisplayName)s megváltoztatta a szoba profilképét.", "%(date)s at %(time)s": "%(date)s %(time)s", "I'll verify later": "Később ellenőrzöm", "Verify with another login": "Ellenőrizze egy másik bejelentkezéssel", @@ -3217,9 +3217,9 @@ "It looks like you don't have a Security Key or any other devices you can verify against. This device will not be able to access old encrypted messages. In order to verify your identity on this device, you'll need to reset your verification keys.": "Úgy tűnik nem rendelkezik Biztonsági Kulccsal vagy másik eszközzel amivel ellenőrizni lehetne. Ezzel az eszközzel nem fér majd hozzá a régi titkosított üzenetekhez. Ahhoz, hogy a személyazonosságát ezen az eszközön ellenőrizni lehessen a kulcsokat alaphelyzetbe kell állítani.", "Select from the options below to export chats from your timeline": "Az idővonalon a beszélgetés kimentéséhez tartozó beállítások kiválasztása", "Waiting for you to verify on your other session, %(deviceName)s (%(deviceId)s)…": "Várakozás a másik munkamenetből való ellenőrzésre, %(deviceName)s (%(deviceId)s)…", - "This is the start of export of . Exported by at %(exportDate)s.": "Ez az exportálás kezdete ehhez a szobához: . Kimentette: , időpont: %(exportDate)s.", + "This is the start of export of . Exported by at %(exportDate)s.": "Ez a(z) szoba exportálásának kezdete. Exportálta: , időpont: %(exportDate)s.", "Create poll": "Szavazás létrehozása", - "Polls (under active development)": "Szavazások (intenzív fejlesztés alatt)", + "Polls (under active development)": "Szavazások (aktív fejlesztés alatt)", "Updating spaces... (%(progress)s out of %(count)s)|one": "Terek frissítése…", "Updating spaces... (%(progress)s out of %(count)s)|other": "Terek frissítése… (%(progress)s / %(count)s)", "Sending invites... (%(progress)s out of %(count)s)|one": "Meghívók küldése…", @@ -3260,7 +3260,7 @@ "%(senderDisplayName)s changed who can join this room. View settings.": "%(senderDisplayName)s megváltoztatta, hogy ki léphet be ebbe a szobába. Beállítások megtekintése.", "Joining": "Belépés", "Use high contrast": "Nagy kontraszt használata", - "Light high contrast": "Világos nagy kontraszt", + "Light high contrast": "Világos, nagy kontrasztú", "Automatically send debug logs on any error": "Hibakeresési napló automatikus küldése bármilyen hiba esetén", "Click the button below to confirm signing out these devices.|other": "Ezeknek a eszközöknek törlésének a megerősítéséhez kattintson a gombra lent.", "Unable to load device list": "Az eszköz listát nem lehet betölteni", @@ -3324,5 +3324,57 @@ "Based on %(total)s votes": "%(total)s szavazatot alapul véve", "%(number)s votes": "%(number)s szavazat", "Show tray icon and minimise window to it on close": "Tálcaikon mutatása és az ablak összecsukása bezáráskor", - "Reply in thread": "Válasz az üzenetszálban" + "Reply in thread": "Válasz az üzenetszálban", + "Automatically group all your favourite rooms and people together in one place.": "Kedvenc személyek és szobák automatikus csoportosítása egy helyre.", + "Spaces to show": "Megjelenítendő terek", + "Spaces are ways to group rooms and people.": "Terek használatával lehet csoportosítani szobákat és embereket.", + "Sidebar": "Oldalsáv", + "Other rooms": "További szobák", + "sends rainfall": "esőt küld", + "Sends the given message with rainfall": "Az üzenet elküldése esővel", + "Threads help you keep conversations on-topic and easily track them over time. Create the first one by using the \"Reply in thread\" button on a message.": "Az üzenetszálak segítenek a beszélgetések egy téma körül tartásában ami később is könnyebben átlátható. A „Válasz az üzenetszálban” gombbal indítható.", + "Show all your rooms in Home, even if they're in a space.": "Minden szoba megjelenítése a Kezdőlapon, akkor is ha egy Tér része.", + "Home is useful for getting an overview of everything.": "A Kezdőlap áttekintést adhat mindenről.", + "Along with the spaces you're in, you can use some pre-built ones too.": "A tereken kívül amiben már benne van, előre elkészítetteket is használhat.", + "Meta Spaces": "Metaterek", + "Show all threads": "Minden üzenetszál megjelenítése", + "Keep discussions organised with threads": "Beszélgetések üzenetszálakba való rendezése", + "Copy link": "Hivatkozás másolása", + "Mentions only": "Csak megemlítések", + "Forget": "Elfelejt", + "Files": "Fájlok", + "Close this widget to view it in this panel": "Kisalkalmazás bezárása ezen a panelen való megjelenítéshez", + "Unpin this widget to view it in this panel": "Kisalkalmazás rögzítésének megszüntetése ezen a panelen való megjelenítéshez", + "Maximise widget": "Widget maximalizálása", + "Manage rooms in this space": "Szobák kezelése ebben a térben", + "You won't get any notifications": "Nincs értesítés", + "Get notified only with mentions and keywords as set up in your settings": "Értesítések fogadása csak megemlítéseknél és kulcsszavaknál ahogy a beállításokban van", + "@mentions & keywords": "@megemlítések és kulcsszavak", + "Get notified for every message": "Értesítés fogadása minden üzenetről", + "Get notifications as set up in your settings": "Értesítések fogadása ahogy a beállításokban van", + "Automatically group all your rooms that aren't part of a space in one place.": "Téren kívüli szobák automatikus csoportosítása egy helyre.", + "Rooms outside of a space": "Szobák a téren kívül", + "Automatically group all your people together in one place.": "Személyek automatikus csoportosítása egy helyre.", + "%(senderName)s has updated the room layout": "%(senderName)s frissítette a szoba kinézetét", + "Large": "Nagy", + "Image size in the timeline": "Képméret az idővonalon", + "Based on %(count)s votes|one": "%(count)s szavazatot alapul véve", + "Based on %(count)s votes|other": "%(count)s szavazatot alapul véve", + "%(count)s votes|one": "%(count)s szavazat", + "%(count)s votes|other": "%(count)s szavazat", + "%(spaceName)s and %(count)s others|one": "%(spaceName)s és még %(count)s másik", + "%(spaceName)s and %(count)s others|zero": "%(spaceName)s", + "%(spaceName)s and %(count)s others|other": "%(spaceName)s és még %(count)s másik", + "Sorry, the poll you tried to create was not posted.": "Sajnos a szavazás amit készített nem lett elküldve.", + "Failed to post poll": "A szavazást nem sikerült beküldeni", + "Sorry, your vote was not registered. Please try again.": "Sajnos az Ön szavazata nem lett rögzítve. Kérjük ismételje meg újra.", + "Vote not registered": "Nem regisztrált szavazás", + "Pin to sidebar": "Rögzítés az oldalsávra", + "Quick settings": "Gyors beállítások", + "Developer": "Fejlesztői", + "Experimental": "Kísérleti", + "Themes": "Téma", + "Message Previews": "Üzenet előnézet", + "Moderation": "Moderálás", + "Messaging": "Üzenetküldés" } diff --git a/src/i18n/strings/id.json b/src/i18n/strings/id.json index 377de83aec3..6ed7421bd21 100644 --- a/src/i18n/strings/id.json +++ b/src/i18n/strings/id.json @@ -1709,5 +1709,1606 @@ "Unknown App": "Aplikasi Tidak Diketahui", "Share your public space": "Bagikan space publik Anda", "Invite to %(spaceName)s": "Undang ke %(spaceName)s", - "Double check that your server supports the room version chosen and try again.": "Periksa ulang jika server Anda mendukung versi ruangan ini dan coba lagi." + "Double check that your server supports the room version chosen and try again.": "Periksa ulang jika server Anda mendukung versi ruangan ini dan coba lagi.", + "Appearance Settings only affect this %(brand)s session.": "Pengaturan Tampilan hanya ditetapkan di sesi %(brand)s ini.", + "Customise your appearance": "Ubah tampilan Anda", + "Enable experimental, compact IRC style layout": "Aktifkan tata letak eksperimental tema IRC", + "Set the name of a font installed on your system & %(brand)s will attempt to use it.": "Atur sebuah nama fon yang terinstal di sistem Anda & %(brand)s akan mencoba menggunakannya.", + "Check for update": "Periksa untuk pembaruan", + "New version available. Update now.": "Versi yang baru telah tersedia. Perbarui sekarang.", + "Add theme": "Tambahkan tema", + "Custom theme URL": "URL tema kustom", + "Use high contrast": "Gunakan kontras tinggi", + "Theme added!": "Tema ditambahkan!", + "Error downloading theme information.": "Terjadi kesalahan saat mengunduh informasi tema.", + "Invalid theme schema.": "Skema tema tidak valid.", + "Integration managers receive configuration data, and can modify widgets, send room invites, and set power levels on your behalf.": "Manajer integrasi menerima data pengaturan, dan dapat mengubah widget, mengirimkan undangan ruangan, dan mengatur tingkat daya dengan sepengetahuan Anda.", + "Manage integrations": "Kelola integrasi", + "Use an integration manager to manage bots, widgets, and sticker packs.": "Gunakan sebuah manajer integrasi untuk mengelola bot, widget, dan paket stiker.", + "Use an integration manager (%(serverName)s) to manage bots, widgets, and sticker packs.": "Gunakan manajer integrasi (%(serverName)s) untuk mengelola bot, widget, dan paket stiker.", + "Enter a new identity server": "Masukkan sebuah server identitas baru", + "Do not use an identity server": "Jangan menggunakan sebuah server identitas", + "Using an identity server is optional. If you choose not to use an identity server, you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Menggunakan sebuah server identitas itu opsional. Jika Anda tidak menggunakan sebuah server identitas, Anda tidak dapat ditemukan oleh pengguna lain dan Anda tidak dapat mengundang orang lain menggunakan email atau nomor telepon.", + "Disconnecting from your identity server will mean you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Memutuskan hubungan dari server identitas Anda akan berarti Anda tidak dapat ditemukan oleh pengguna lain dan Anda tidak dapat mengundang orang lain menggunakan email atau nomor telepon.", + "You are not currently using an identity server. To discover and be discoverable by existing contacts you know, add one below.": "Anda saat ini tidak menggunakan sebuah server identitas. Untuk menemukan dan dapat ditemukan oleh kontak yang Anda tahu, tambahkan satu di bawah.", + "If you don't want to use to discover and be discoverable by existing contacts you know, enter another identity server below.": "Jika Anda tidak ingin menggunakan untuk menemukan dan dapat ditemukan oleh kontak yang Anda tahu, masukkan server identitas yang lain di bawah.", + "You are currently using to discover and be discoverable by existing contacts you know. You can change your identity server below.": "Anda saat ini menggunakan untuk menemukan dan dapat ditemukan oleh kontak yang Anda tahu. Anda dapat mengubah server identitas di bawah.", + "Identity server (%(server)s)": "Server identitas (%(server)s)", + "We recommend that you remove your email addresses and phone numbers from the identity server before disconnecting.": "Kami merekomendasikan Anda menghapus alamat email dan nomor telepon Anda dari server identitasnya sebelum memutuskan hubungan.", + "You are still sharing your personal data on the identity server .": "Anda masih membagikan data personal Anda di server identitas .", + "wait and try again later": "tunggu dan coba lagi", + "contact the administrators of identity server ": "menghubungi administrator server identitas ", + "check your browser plugins for anything that might block the identity server (such as Privacy Badger)": "periksa plugin browser Anda untuk apa saja yang mungkin memblokir server identitasnya (seperti Privacy Badger)", + "You should:": "Anda seharusnya:", + "You should remove your personal data from identity server before disconnecting. Unfortunately, identity server is currently offline or cannot be reached.": "Anda seharusnya menghapus data personal Anda dari server identitas sebelum memutuskan hubungan. Sayangnya, server identitas saat ini sedang offline atau tidak dapat dicapai.", + "Click the button below to confirm signing out these devices.|other": "Klik tombol di bawah untuk mengkonfirmasi mengeluarkan perangkat-perangkat ini.", + "sends rainfall": "mengirim hujan", + "Sends the given message with rainfall": "Kirim pesan dengan hujan", + "Show all your rooms in Home, even if they're in a space.": "Tampilkan semua ruangan di Beranda, walaupun mereka berada di sebuah space.", + "Home is useful for getting an overview of everything.": "Beranda berguna untuk mendapatkan ikhtisar tentang semuanya.", + "Along with the spaces you're in, you can use some pre-built ones too.": "Seiring dengan space-space yang Anda berada, Anda juga dapat menggunakan beberapa yang sudah ada.", + "Spaces to show": "Space yang ditampilkan", + "Spaces are ways to group rooms and people.": "Space adalah salah satu cara untuk mengelompokkan ruangan dan pengguna.", + "Sidebar": "Bilah Samping", + "Manage your signed-in devices below. A device's name is visible to people you communicate with.": "Kelola sesi Anda di bawah. Sebuah nama sesi dapat dilihat oleh siapa saja yang Anda berkomunikasi.", + "Where you're signed in": "Dimana Anda masuk", + "Learn more about how we use analytics.": "Pelajari lebih lanjut tentang bagaimana kamu menggunakan analitik.", + "Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "Privasi itu penting bagi kami, jadi kami tidak mengumpulkan data personal atau data yang dapat diidentifikasi untuk analitik kami.", + "%(brand)s collects anonymous analytics to allow us to improve the application.": "%(brand)s mengumpulkan analitik anonim untuk membantu kami untuk membuat aplikasi ini lebih baik.", + "Your server admin has disabled end-to-end encryption by default in private rooms & Direct Messages.": "Admin server Anda telah menonaktifkan enkripsi ujung-ke-ujung secara default di ruangan privat & Pesan Langsung.", + "Message search": "Pencarian pesan", + "Secure Backup": "Cadangan Aman", + "Reject all %(invitedRooms)s invites": "Tolak semua %(invitedRooms)s undangan", + "Accept all %(invitedRooms)s invites": "Terima semua %(invitedRooms)s undangan", + "You have no ignored users.": "Anda tidak memiliki pengguna yang diabaikan.", + "Read Marker off-screen lifetime (ms)": "Delay Penanda Bacaan diluar layar (md)", + "Read Marker lifetime (ms)": "Delay Penanda Bacaan (md)", + "Autocomplete delay (ms)": "Delay penyelesaian otomatis (md)", + "Images, GIFs and videos": "Gambar, GIF, dan video", + "Code blocks": "Blok kode", + "Displaying time": "Tampilkan waktu", + "To view all keyboard shortcuts, click here.": "Untuk menampilkan semua shortcut keyboard, klik di sini.", + "Keyboard shortcuts": "Shortcut keyboard", + "Communities have been archived to make way for Spaces but you can convert your communities into Spaces below. Converting will ensure your conversations get the latest features.": "Komunitas telah diarsipkan untuk memberi jalan bagi Space, tetapi Anda dapat mengubah komunitas menjadi space di bawah. Mengubahnya akan memastikan percakapan Anda mendapatkan fitur terbaru.", + "If a community isn't shown you may not have permission to convert it.": "Jika sebuah komunitas tidak ditampilkan di sini, Anda mungkin tidak mempunyai izin untuk mengubahnya.", + "Show my Communities": "Tampilkan komunitas saya", + "Show tray icon and minimise window to it on close": "Tampilkan ikon baki dan minimalkan window ke ikonnya jika ditutup", + "Always show the window menu bar": "Selalu tampilkan bilah menu window", + "Warn before quitting": "Beritahu sebelum keluar", + "Start automatically after system login": "Mulai setelah login sistem secara otomatis", + "Create Space": "Buat Space", + "Open Space": "Buka Space", + "Room ID or address of ban list": "ID ruangan atau alamat daftar larangan", + "If this isn't what you want, please use a different tool to ignore users.": "Jika itu bukan yang Anda ingin, mohon pakai alat yang lain untuk mengabaikan pengguna.", + "Subscribing to a ban list will cause you to join it!": "Berlangganan sebuah daftar larangan akan membuat Anda bergabung!", + "Subscribed lists": "Langganan daftar", + "eg: @bot:* or example.org": "mis: @bot:* atau example.org", + "Server or user ID to ignore": "Server atau ID pengguna untuk diabaikan", + "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.": "Mengabaikan orang dilakukan melalui daftar larangan yang berisi aturan tentang siapa yang harus dicekal. Berlangganan daftar larangan berarti pengguna/server yang diblokir oleh daftar itu akan disembunyikan dari Anda.", + "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.": "Daftar larangan pribadi Anda menampung semua pengguna/server yang secara pribadi tidak ingin Anda lihat pesannya. Setelah mengabaikan pengguna/server pertama Anda, sebuah ruangan yang baru akan muncul di daftar ruangan Anda yang bernama 'Daftar Larangan Saya' - tetaplah di ruangan ini agar daftar larangan tetap berlaku.", + "Personal ban list": "Daftar Larangan Saya", + "Add users and servers you want to ignore here. Use asterisks to have %(brand)s match any characters. For example, @bot:* would ignore all users that have the name 'bot' on any server.": "Tambahkan pengguna dan server yang ingin Anda abaikan di sini. Gunakan tanda bintang agar %(brand)s cocok dengan karakter apa saja. Misalnya, @bot:* akan mengabaikan semua pengguna yang memiliki nama 'bot' di server apa saja.", + "⚠ These settings are meant for advanced users.": "⚠ Pengaturan ini hanya untuk pengguna berkelanjutan saja.", + "You are currently subscribed to:": "Anda saat ini berlangganan:", + "View rules": "Tampilkan aturan", + "You are not subscribed to any lists": "Anda belum berlangganan daftar apapun", + "You are currently ignoring:": "Anda saat ini mengabaikan:", + "You have not ignored anyone.": "Anda belum mengabaikan siapapun.", + "User rules": "Aturan pengguna", + "Server rules": "Aturan server", + "Ban list rules - %(roomName)s": "Daftar aturan cekalan - %(roomName)s", + "Please try again or view your console for hints.": "Mohon coba lagi atau lihat konsol Anda untuk petunjuk.", + "Error subscribing to list": "Terjadi kesalahan berlangganan daftar", + "Error unsubscribing from list": "Terjadi kesalahan membatalkan langganan daftar", + "Error removing ignored user/server": "Terjadi kesalahan menghapus pengguna/server yang diabaikan", + "Please verify the room ID or address and try again.": "Mohon verifikasi ID ruangan atau alamat dan coba lagi.", + "Something went wrong. Please try again or view your console for hints.": "Ada sesuatu yang salah. Mohon coba lagi atau lihat konsol Anda untuk petunjuk.", + "Error adding ignored user/server": "Terjadi kesalahan menambahkan pengguna/server yang diabaikan", + "Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. Learn more.": "Merasa eksperimental? Uji Coba adalah cara yang terbaik untuk mendapatkan hal-hal lebih awal, mencoba fitur-fitur yang baru dan bantu menyempurnakannya sebelum mereka benar-benar diluncurkan. Pelajari lebih lanjut.", + "Clear cache and reload": "Hapus cache dan muat ulang", + "Your access token gives full access to your account. Do not share it with anyone.": "Token akses Anda memberikan akses penuh ke akun Anda. Jangan membagikannya dengan siapa pun.", + "Access Token": "Token Akses", + "Identity server is": "Server identitas adalah", + "Keyboard Shortcuts": "Shortcut Keyboard", + "Help & About": "Bantuan & Tentang", + "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "Untuk melaporkan masalah keamanan yang berkaitan dengan Matrix, mohon baca Kebijakan Penyingkapan Keamanan Matrix.org.", + "Submit debug logs": "Kirim log debug", + "If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited, which UI elements you last interacted with, and the usernames of other users. They do not contain messages.": "Jika Anda telah mengirimkan bug melalui GitHub, log debug dapat membantu kami melacak masalahnya. Log debug berisi data penggunaan aplikasi termasuk nama pengguna Anda, ID atau alias ruangan atau grup yang telah Anda kunjungi, elemen UI mana yang terakhir kali Anda gunakan untuk berinteraksi, dan nama pengguna pengguna lain. Mereka tidak mengandung pesan apa pun.", + "Chat with %(brand)s Bot": "Mulai mengobrol dengan %(brand)s Bot", + "For help with using %(brand)s, click here or start a chat with our bot using the button below.": "Untuk bantuan dengan menggunakan %(brand)s, klik di sini atau mulai sebuah obrolan dengan bot kami dengan menggunakan tombol di bawah.", + "For help with using %(brand)s, click here.": "Untuk bantuan dengan menggunakan %(brand)s, klik di sini.", + "Olm version:": "Versi Olm:", + "Deactivating your account is a permanent action - be careful!": "Menonaktifkan akun Anda adalah aksi yang permanen - hati-hati!", + "Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Terima Ketentuan Layanannya server identitas %(serverName)s untuk mengizinkan Anda untuk dapat ditemukan dengan alamat email atau nomor telepon.", + "Spell check dictionaries": "Kamus pemeriksa ejaan", + "Language and region": "Bahasa dan wilayah", + "Set a new account password...": "Tetapkan kata sandi akun baru...", + "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them": "Kata sandi Anda berhasil diubah. Anda tidak akan menerima notifikasi di sesi yang lain sampai Anda masuk", + "Automatically group all your rooms that aren't part of a space in one place.": "Kelompokkan semua ruangan yang tidak berada di sebuah space di satu tempat secara otomatis.", + "Rooms outside of a space": "Ruangan yang tidak berada di sebuah space", + "Automatically group all your people together in one place.": "Kelompokkan semua orang Anda bersama di satu tempat secara otomatis.", + "Missing media permissions, click the button below to request.": "Membutuhkan izin media, klik tombol di bawah untuk meminta izin.", + "This room isn't bridging messages to any platforms. Learn more.": "Ruangan tidak ini menjembatani pesan-pesan ke platform apa pun. Pelajari lebih lanjut.", + "This room is bridging messages to the following platforms. Learn more.": "Ruangan ini menjembatani pesan-pesan ke platform berikut ini. Pelajari lebih lanjut.", + "Internal room ID:": "ID ruangan internal:", + "Space information": "Informasi space", + "View older messages in %(roomName)s.": "Lihat pesan-pesan lama di %(roomName)s.", + "Upgrade this room to the recommended room version": "Tingkatkan ruangan ini ke versi ruangan yang direkomendasikan", + "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.": "Peringatan: Meningkatkan sebuah ruangan tidak akan memindahkan anggota ruang ke versi baru ruangan secara otomatis. Kami akan mengirimkan sebuah tautan ke ruangan yang baru di versi lama ruangan - anggota ruangan harus mengklik tautan ini untuk bergabung dengan ruangan yang baru.", + "This room is not accessible by remote Matrix servers": "Ruangan ini tidak dapat diakses oleh pengguna Matrix jarak jauh", + "Voice & Video": "Suara & Video", + "No Audio Outputs detected": "Tidak ada output audio yang terdeteksi", + "Request media permissions": "Minta izin media", + "Close this widget to view it in this panel": "Tutup widget ini untuk menampilkannya di panel ini", + "Unpin this widget to view it in this panel": "Lepaskan pin widget ini untuk menampilkanya di panel ini", + "Maximise widget": "Maksimalkan widget", + "Pinned messages": "Pesan-pesan yang dipasangi pin", + "Nothing pinned, yet": "Belum ada yang dipasangi pin", + "You can only pin up to %(count)s widgets|other": "Anda hanya dapat memasang pin sampai %(count)s widget", + "Room Info": "Informasi Ruangan", + "If you have permissions, open the menu on any message and select Pin to stick them here.": "Jika Anda memiliki izin, buka menunya di pesan apa saja dan pilih Pin untuk menempelkannya di sini.", + "Yours, or the other users' session": "Sesi Anda, atau pengguna yang lain", + "Yours, or the other users' internet connection": "Koneksi internet Anda, atau pengguna yang lain", + "The homeserver the user you're verifying is connected to": "Homeserver pengguna yang Anda memverifikasi", + "Your homeserver": "Homeserver Anda", + "One of the following may be compromised:": "Salah satu dari berikut ini dapat dikompromikan:", + "Your messages are not secure": "Pesan-pesan Anda tidak aman", + "For extra security, verify this user by checking a one-time code on both of your devices.": "Untuk keamanan lebih, verifikasi pengguna ini dengan memeriksa kode satu kali di kedua perangkat Anda.", + "Verify User": "Verifikasi Pengguna", + "In encrypted rooms, your messages are secured and only you and the recipient have the unique keys to unlock them.": "Di ruangan terenkripsi, pesan Anda diamankan dan hanya Anda dan penerimanya mempunyai kunci yang unik untuk mengaksesnya.", + "Messages in this room are not end-to-end encrypted.": "Pesan di ruangan ini tidak dienkripsi secara ujung-ke-ujung.", + "Your messages are secured and only you and the recipient have the unique keys to unlock them.": "Pesan Anda diamankan dan hanya Anda dan penerimanya mempunyai kunci yang unik untuk mengaksesnya.", + "Messages in this room are end-to-end encrypted.": "Pesan di ruangan ini terenkripsi secara ujung-ke-ujung.", + "Start Verification": "Mulai Verifikasi", + "Waiting for %(displayName)s to accept…": "Menunggu untuk %(displayName)s untuk menerima…", + "To proceed, please accept the verification request on your other login.": "Untuk melanjutkan, mohon terima permintaan verifikasi di login Anda yang lain.", + "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.": "Ketika seseorang menambahkan URL di pesannya, sebuah tampilan URL dapat ditampilkan untuk memberikan informasi lainnya tentang tautan itu seperti judul, deskripsi, dan sebuah gambar dari website.", + "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.": "Di ruangan terenkripsi, seperti ruangan ini, tampilan URL dinonaktifkan untuk memastikan homeserver Anda (dimana tampilannya dibuat) tidak mendapatkan informasi tentang tautan yang Anda lihat di ruangan ini.", + "URL previews are disabled by default for participants in this room.": "Tampilan URL dinonaktifkan secara default untuk anggota di ruangan ini.", + "URL previews are enabled by default for participants in this room.": "Tampilan URL diaktifkan secara default untuk anggota di ruangan ini.", + "You have disabled URL previews by default.": "Anda telah menonaktifkan tampilan URL secara default.", + "You have enabled URL previews by default.": "Anda telah mengaktifkan tampilan URL secara default.", + "Publish this room to the public in %(domain)s's room directory?": "Publikasi ruangan ini ke publik di direktori ruangan %(domain)s?", + "New community ID (e.g. +foo:%(localDomain)s)": "ID komunitas baru (mis. +foo:%(localDomain)s)", + "This room is not showing flair for any communities": "Ruangan ini tidak menampilkan peran untuk komunitas apa pun", + "Showing flair for these communities:": "Menampilkan peran untuk komunitas ini:", + "'%(groupId)s' is not a valid community ID": "'%(groupId)s' bukan ID komunitas yang valid", + "Invalid community ID": "ID komunitas tidak valid", + "There was an error updating the flair for this room. The server may not allow it or a temporary error occurred.": "Terjadi kesalahan memperbarui peran untuk ruangan ini. Mungkin tidak diperbolehkan oleh servernya atau ada kegagalan sementara.", + "Error updating flair": "Terjadi kesalahan memperbarui peran", + "Show more": "Tampilkan lebih banyak", + "Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)": "Tetapkan alamat untuk ruangan ini supaya pengguna dapat menemukan space ini melalui homeserver Anda (%(localDomain)s)", + "Set addresses for this space so users can find this space through your homeserver (%(localDomain)s)": "Tetapkan alamat untuk space ini supaya pengguna dapat menemukan space ini melalui homeserver Anda (%(localDomain)s)", + "Local Addresses": "Alamat Lokal", + "New published address (e.g. #alias:server)": "Alamat baru yang akan dipublikasikan (mis. #alias:server)", + "No other published addresses yet, add one below": "Tidak ada alamat yang dipublikasikan, tambahkan satu di bawah", + "Other published addresses:": "Alamat lainnya yang dipublikasikan:", + "To publish an address, it needs to be set as a local address first.": "Untuk mempublikasikan sebuah alamat, itu harus diatur sebagai alamat lokal dulu.", + "Published addresses can be used by anyone on any server to join your room.": "Alamat yang dipublikasikan dapat digunakan oleh siapa saja di server apa saja untuk bergabung ke ruangan Anda.", + "Published addresses can be used by anyone on any server to join your space.": "Alamat yang dipublikasikan dapat digunakan oleh siapa saja di server apa saja untuk bergabung ke space Anda.", + "Published Addresses": "Alamat yang Dipublikasikan", + "Local address": "Alamat lokal", + "This room has no local addresses": "Ruangan ini tidak memiliki alamat lokal", + "This space has no local addresses": "Space ini tidak memiliki alamat lokal", + "Error removing address": "Terjadi kesalahan menghapus alamat", + "There was an error removing that address. It may no longer exist or a temporary error occurred.": "Terjadi sebuah kesalahan menghapus alamat. Itu mungkin sudah tidak ada atau ada kesalahan sementara.", + "You don't have permission to delete the address.": "Anda tidak memiliki izin untuk menghapus alamatnya.", + "There was an error creating that address. It may not be allowed by the server or a temporary failure occurred.": "Terjadi sebuah kesalahan membuat alamat. Ini mungkin tidak diperbolehkan oleh servernya atau ada kegagalan sementara.", + "Error creating address": "Terjadi kesalahan membuat alamat", + "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.": "Terjadi sebuah kesalahan memperbarui alamat alternatif ruangan. Ini mungkin tidak diperbolehkan oleh servernya atau ada kegagalan sementara.", + "There was an error updating the room's main address. It may not be allowed by the server or a temporary failure occurred.": "Terjadi sebuah kesalahan memperbarui alamat utama ruangan. Ini mungkin tidak diperbolehkan oleh servernya atau ada kegagalan sementara.", + "Error updating main address": "Terjadi kesalahan memperbarui alamat utama", + "Stop recording": "Hentikan merekam", + "We didn't find a microphone on your device. Please check your settings and try again.": "Kami tidak menemukan sebuah mikrofon di perangkat Anda. Mohon periksa pengaturan Anda dan coba lagi.", + "No microphone found": "Tidak ada mikrofon yang ditemukan", + "We were unable to access your microphone. Please check your browser settings and try again.": "Kami tidak dapat mengakses mikrofon Anda. Mohon periksa pengaturan browser Anda dan coba lagi.", + "Unable to access your microphone": "Tidak dapat mengakses mikrofon Anda", + "Mark all as read": "Tandai semua sebagai dibaca", + "Jump to first unread message.": "Pergi ke pesan pertama yang belum dibaca.", + "Invited by %(sender)s": "Diundang oleh %(sender)s", + "Could not revoke the invite. The server may be experiencing a temporary problem or you do not have sufficient permissions to revoke the invite.": "Tidak dapat menghapus undangan. Server ini mungkin mengalami masalah sementara atau Anda tidak memiliki izin yang dibutuhkan untuk menghapus undangannya.", + "Failed to revoke invite": "Gagal untuk menghapus undangan", + "Add some now": "Tambahkan beberapa stiker sekarang", + "You don't currently have any stickerpacks enabled": "Anda saat ini tidak memiliki paket stiker apa pun yang diaktifkan", + "Failed to connect to integration manager": "Gagal untuk menghubung ke manajer integrasi", + "Only room administrators will see this warning": "Hanya administrator ruangan yang akan melihat peringatan ini", + "This room is running room version , which this homeserver has marked as unstable.": "Ruangan ini berjalan dengan versi ruangan , yang homeserver ini menandainya sebagai tidak stabil.", + "This room has already been upgraded.": "Ruangan ini telah ditingkatkan.", + "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Meningkatkan ruangan ini akan mematikan instansi ruangan saat ini dan membuat ruangan yang ditingkatkan dengan nama yang sama.", + "Unread messages.": "Pesan yang belum dibaca.", + "%(count)s unread messages.|one": "1 pesan yang belum dibaca.", + "%(count)s unread messages.|other": "%(count)s pesan yang belum dibaca.", + "%(count)s unread messages including mentions.|one": "1 sebutan yang belum dibaca.", + "%(count)s unread messages including mentions.|other": "%(count)s pesan yang belum dibaca termasuk sebutan.", + "Leave Room": "Tinggalkan Ruangan", + "Copy Room Link": "Salin Tautan Ruangan", + "Invite People": "Undang Orang-Orang", + "Forget Room": "Lupakan Ruangan", + "Notification options": "Opsi notifikasi", + "Mentions & Keywords": "Sebutan & Keyword", + "Use default": "Gunakan default", + "Show less": "Tampilkan lebih sedikit", + "Show %(count)s more|one": "Tampilkan %(count)s lagi", + "Show %(count)s more|other": "Tampilkan %(count)s lagi", + "List options": "Tampilkan daftar opsi", + "Sort by": "Sortir berdasarkan", + "Show previews of messages": "Tampilkan tampilan pesan", + "Show rooms with unread messages first": "Tampilkan ruangan dengan pesan yang belum dibaca dulu", + "%(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.": "Mendapatkan %(errcode)s saat mencoba mengakses ruangan. Jika Anda merasa bahwa Anda tidak seharusnya melihat pesan ini, harap kirim laporan bug.", + "Try again later, or ask a room admin to check if you have access.": "Coba lagi nanti, atau tanyakan kepada admin ruangan untuk memeriksa jika Anda memiliki akses.", + "%(roomName)s is not accessible at this time.": "%(roomName)s tidak dapat diakses sekarang.", + "This room doesn't exist. Are you sure you're at the right place?": "Ruangan ini tidak ada. Apakah Anda yakin Anda berada di tempat yang benar?", + "%(roomName)s does not exist.": "%(roomName)s tidak ada.", + "%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s tidak dapat ditampilkan. Apakah Anda ingin bergabung?", + "You're previewing %(roomName)s. Want to join it?": "Anda melihat tampilan %(roomName)s. Ingin bergabung?", + "Reject & Ignore user": "Tolak & Abaikan pengguna", + " invited you": " mengundang Anda", + "Do you want to join %(roomName)s?": "Apakah Anda ingin bergabung %(roomName)s?", + "Start chatting": "Mulai mengobrol", + " wants to chat": " ingin mengobrol dengan Anda", + "Do you want to chat with %(user)s?": "Apakah Anda ingin mengobrol dengan %(user)s?", + "Share this email in Settings to receive invites directly in %(brand)s.": "Bagikan email ini di Pengaturan untuk mendapatkan undangan secara langsung di %(brand)s.", + "Use an identity server in Settings to receive invites directly in %(brand)s.": "Gunakan sebuah server identitas di Pengaturan untuk menerima undangan secara langsung di %(brand)s.", + "This invite to %(roomName)s was sent to %(email)s": "Undangan ke %(roomName)s ini terkirim ke %(email)s", + "Link this email with your account in Settings to receive invites directly in %(brand)s.": "Tautkan email ini dengan akun Anda di Pengaturan untuk mendapat undangan secara langsung ke %(brand)s.", + "This invite to %(roomName)s was sent to %(email)s which is not associated with your account": "Undangan ini yang ke %(roomName)s terkirim ke %(email)s yang tidak diasosiasikan dengan akun Anda", + "Join the discussion": "Bergabung ke diskusinya", + "You can still join it because this is a public room.": "Anda masih dapat bergabung karena ini adalah ruangan yang publik.", + "Try to join anyway": "Coba bergabung saja", + "You can only join it with a working invite.": "Anda hanya dapat bergabung dengan undangan yang dapat dipakai.", + "An error (%(errcode)s) was returned while trying to validate your invite. You could try to pass this information on to a room admin.": "Sebuah kesalahan (%(errcode)s) telah terjadi ketika mencoba untuk memvalidasi undangan. Anda dapat mencoba membagikan informasi ini ke administrator ruangan.", + "Something went wrong with your invite to %(roomName)s": "Ada sesuatu yang salah dengan undangan Anda ke %(roomName)s", + "You were banned from %(roomName)s by %(memberName)s": "Anda telah dicekal dari %(roomName)s oleh %(memberName)s", + "Forget this room": "Lupakan ruangan ini", + "You were kicked from %(roomName)s by %(memberName)s": "Anda telah dikeluarkan dari %(roomName)s oleh %(memberName)s", + "Loading room preview": "Memuat tampilan ruangan", + "Join the conversation with an account": "Bergabung obrolan dengan sebuah akun", + "Rejecting invite …": "Menolak undangan…", + "Joining room …": "Bergabung ruangan…", + "Joining space …": "Bergabung space…", + "%(count)s results|one": "%(count)s hasil", + "%(count)s results|other": "%(count)s hasil", + "%(count)s results in all spaces|one": "%(count)s hasil di semua space", + "%(count)s results in all spaces|other": "%(count)s hasil di semua space", + "Use the + to make a new room or explore existing ones below": "Gunakan + untuk membuat ruangan baru atau jelajahi yang sudah ada di bawah", + "Explore %(spaceName)s": "Jelajahi %(spaceName)s", + "Quick actions": "Aksi cepat", + "Explore all public rooms": "Jelajahi semua ruangan publik", + "Start a new chat": "Mulai obrolan baru", + "Can't see what you're looking for?": "Tidak dapat menemukan apa yang Anda cari?", + "Empty room": "Ruangan kosong", + "Custom Tag": "Tanda Kustom", + "Suggested Rooms": "Ruangan yang Disarankan", + "Explore public rooms": "Jelajahi ruangan publik", + "Explore community rooms": "Jelajahi ruangan komunitas", + "You do not have permissions to add rooms to this space": "Anda tidak memiliki izin untuk menambahkan ruangan di space ini", + "Add existing room": "Tambahkan ruangan yang sudah ada", + "You do not have permissions to create new rooms in this space": "Anda tidak memiliki izin untuk membuat ruangan baru di space ini", + "Create new room": "Buat ruangan baru", + "Show Widgets": "Tampilkan Widget", + "Hide Widgets": "Sembunyikan Widget", + "Room options": "Opsi ruangan", + "You can now share your screen by pressing the \"screen share\" button during a call. You can even do this in audio calls if both sides support it!": "Sekarang Anda dapat membagikan layar Anda dengan menekan tombol \"berbagi layar\" selama panggilan. Anda bahkan dapat melakukan ini dalam panggilan audio jika kedua sisi mendukungnya!", + "Screen sharing is here!": "Pembagian layar sudah ada!", + "No recently visited rooms": "Tidak ada ruangan yang baru saja dilihat", + "Recently visited rooms": "Ruangan yang baru saja dilihat", + "Room %(name)s": "Ruangan %(name)s", + "Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "Dilihat oleh %(displayName)s (%(userName)s) di %(dateTime)s", + "Seen by %(userName)s at %(dateTime)s": "Dilihat oleh %(userName)s di %(dateTime)s", + "Unknown for %(duration)s": "Tidak diketahui untuk %(duration)s", + "Offline for %(duration)s": "Offline untuk %(duration)s", + "Idle for %(duration)s": "Idle untuk %(duration)s", + "Online for %(duration)s": "Online untuk %(duration)s", + "View message": "Tampilkan pesan", + "Message didn't send. Click for info.": "Pesan tidak terkirim. Klik untuk informasi.", + "End-to-end encryption isn't enabled": "Enkripsi ujung-ke-ujung belum diaktifkan", + "Enable encryption in settings.": "Aktifkan enkripsi di pengaturan.", + "Your private messages are normally encrypted, but this room isn't. Usually this is due to an unsupported device or method being used, like email invites.": "Pesan privat Anda biasanya dienkripsi, tetapi di ruangan ini tidak terenkripsi. Biasanya ini disebabkan oleh perangkat yang tidak mendukung atau metode yang sedang digunakan, seperti undangan email.", + "This is the start of .": "Ini adalah awal dari .", + "Add a photo, so people can easily spot your room.": "Tambahkan sebuah foto supaya orang-orang dapat menemukan ruangan Anda.", + "Invite to just this room": "Undang ke ruangan ini saja", + "%(displayName)s created this room.": "%(displayName)s membuat ruangan ini.", + "You created this room.": "Anda membuat ruangan ini.", + "Add a topic to help people know what it is about.": "Tambahkan sebuah topik supaya orang-orang tahu tentang ruangan ini.", + "Topic: %(topic)s ": "Topik: %(topic)s ", + "Topic: %(topic)s (edit)": "Topik %(topic)s (edit)", + "This is the beginning of your direct message history with .": "Ini adalah awal dari pesan langsung Anda dengan .", + "Only the two of you are in this conversation, unless either of you invites anyone to join.": "Hanya Anda berdua yang ada dalam percakapan ini, kecuali jika salah satu dari Anda mengundang siapa saja untuk bergabung.", + "Insert link": "Tambahkan tautan", + "%(seconds)ss left": "%(seconds)sd lagi", + "You do not have permission to post to this room": "Anda tidak memiliki izin untuk mengirim ke ruangan ini", + "This room has been replaced and is no longer active.": "Ruangan ini telah diganti dan tidak aktif lagi.", + "The conversation continues here.": "Obrolannya dilanjutkan di sini.", + "More options": "Opsi lebih banyak", + "Send voice message": "Kirim sebuah pesan suara", + "Send a sticker": "Kirim sebuah stiker", + "Send a message…": "Kirim sebuah pesan…", + "Send an encrypted message…": "Kirim sebuah pesan terenkripsi…", + "Send a reply…": "Kirim sebuah balasan…", + "Send an encrypted reply…": "Kirim sebuah balasan terenkripsi…", + "Reply to thread…": "Balas ke utasan…", + "Reply to encrypted thread…": "Balas ke utasan yang terenkripsi…", + "Create poll": "Buat poll", + "You do not have permission to start polls in this room.": "Anda tidak memiliki izin untuk memulai sebuah poll di ruangan ini.", + "Add emoji": "Tambahkan emoji", + "Emoji picker": "Pemilih emoji", + "Send message": "Kirim pesan", + "%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (tingkat daya %(powerLevelNumber)s)", + "Filter room members": "Filter anggota ruangan", + "Invite to this space": "Undang ke space ini", + "Invite to this community": "Undang ke komunitas ini", + "and %(count)s others...|one": "dan satu lainnya...", + "and %(count)s others...|other": "dan %(count)s lainnya...", + "Close preview": "Tutup tampilan", + "Show %(count)s other previews|one": "Tampilkan %(count)s tampilan lainnya", + "Show %(count)s other previews|other": "Tampilkan %(count)s tampilan lainnya", + "Scroll to most recent messages": "Gulir ke pesan yang terbaru", + "Failed to send": "Gagal untuk dikirim", + "Your message was sent": "Pesan Anda telah terkirim", + "Encrypting your message...": "Mengenkripsi pesan Anda...", + "Sending your message...": "Mengirim pesan Anda...", + "The authenticity of this encrypted message can't be guaranteed on this device.": "Keaslian pesan terenkripsi ini tidak dapat dijamin pada perangkat ini.", + "Encrypted by a deleted session": "Terenkripsi oleh sesi yang terhapus", + "Encrypted by an unverified session": "Terenkripsi oleh sesi yang belum diverifikasi", + "This message cannot be decrypted": "Pesan ini tidak dapat didekripsikan", + "Reply in thread": "Balas di utasan", + "Message Actions": "Aksi Pesan", + "Re-request encryption keys from your other sessions.": "Minta ulang kunci enkripsi dari sesi Anda yang lain.", + "Key request sent.": "Permintaan kunci terkirim.", + "If your other sessions do not have the key for this message you will not be able to decrypt them.": "Jika sesi Anda yang lain tidak mempunyai kunci untuk pesan ini Anda tidak akan dapat mendekripsinya.", + "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.": "Permintaan pembagian kunci terkirim ke sesi Anda yang lain secara otomatis. Jika Anda menolak atau mengabaikan permintaan berbagi kunci pada sesi Anda yang lain, klik di sini untuk meminta kunci untuk sesi ini lagi.", + "Your key share request has been sent - please check your other sessions for key share requests.": "Permintaan pembagian kunci Anda telah dikirim - mohon cek sesi Anda yang lain untuk permintaan pembagian kunci.", + "This event could not be displayed": "Peristiwa ini tidak dapat ditampilkan", + "%(count)s reply|one": "%(count)s balasan", + "%(count)s reply|other": "%(count)s balasan", + "Send as message": "Kirim sebagai pesan", + "Hint: Begin your message with // to start it with a slash.": "Petunjuk: Mulai pesan Anda dengan // untuk memulainya dengan sebuah garis miring.", + "You can use /help to list available commands. Did you mean to send this as a message?": "Anda dapat menggunakan /help untuk melihat perintah yang tersedia. Apakah Anda bermaksud untuk mengirimkannya sebagai sebuah pesan?", + "Unrecognised command: %(commandText)s": "Perintah tidak diketahui: %(commandText)s", + "Unknown Command": "Perintah Tidak Diketahui", + "Server unavailable, overloaded, or something else went wrong.": "Server tidak tersedia, terlalu penuh, atau ada sesuatu yang salah.", + "Everyone in this room is verified": "Semuanya di ruangan ini telah terverifikasi", + "This room is end-to-end encrypted": "Ruangan ini dienkripsi secara ujung-ke-ujung", + "Someone is using an unknown session": "Seseorang menggunakan sesi yang tidak dikenal", + "You have verified this user. This user has verified all of their sessions.": "Anda telah memverifikasi pengguna ini. Pengguna ini telah memverifikasi semua sesinya.", + "You have not verified this user.": "Anda belum memverifikasi pengguna ini.", + "This user has not verified all of their sessions.": "Pengguna ini belum memverifikasi semua sesinya.", + "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "Sebuah teks pesan telah dikirim ke +%(msisdn)s. Silakan masukkan kode verifikasinya.", + "We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Kami telah mengirim sebuah email untuk memverifikasi alamat Anda. Silakan ikuti instruksinya dan klik tombol di bawah.", + "This doesn't appear to be a valid email address": "Ini sepertinya bukan alamat email yang valid", + "Unable to remove contact information": "Tidak dapat menghapus informasi kontak", + "Discovery options will appear once you have added a phone number above.": "Opsi penemuan akan tersedia setelah Anda telah menambahkan sebuah nomor telepon di atas.", + "Discovery options will appear once you have added an email above.": "Opsi penemuan akan tersedia setelah Anda telah menambahkan sebuah email di atas.", + "Please enter verification code sent via text.": "Silakan masukkan kode verifikasi yang terkirim melalui teks.", + "Unable to verify phone number.": "Tidak dapat memverifikasi nomor telepon.", + "Unable to share phone number": "Tidak dapat membagikan nomor telepon", + "Unable to revoke sharing for email address": "Tidak dapat membatalkan pembagian alamat email", + "Unable to revoke sharing for phone number": "Tidak dapat membatalkan pembagian nomor telepon", + "Verify the link in your inbox": "Verifikasi tautannya di kotak masuk Anda", + "Click the link in the email you received to verify and then click continue again.": "Klik tautan di email yang Anda terima untuk memverifikasi dan klik lanjutkan lagi.", + "Your email address hasn't been verified yet": "Alamat email Anda belum diverifikasi", + "Unable to share email address": "Tidak dapat membagikan alamat email", + "It's not recommended to add encryption to public rooms.Anyone can find and join public rooms, so anyone can read messages in them. You'll get none of the benefits of encryption, and you won't be able to turn it off later. Encrypting messages in a public room will make receiving and sending messages slower.": "Ini tidak direkomendasikan untuk menambahkan enkripsi ke ruangan publik.Siapa saja dapat menemukan dan bergabung ruangan publik, jadi siapa saja dapat membaca pesan di ruangan itu. Anda tidak akan mendapatkan manfaat apa pun dari enkripsi, dan Anda tidak dapat mematikannya nanti. Mengenkripsi pesan di ruangan yang publik akan membuat menerima dan mengirim pesan lebih lambat.", + "Once enabled, encryption cannot be disabled.": "Setelah diaktifkan, enkripsi tidak dapat dinonaktifkan.", + "Security & Privacy": "Keamanan & Privasi", + "Who can read history?": "Siapa yang dapat membaca sejarah?", + "People with supported clients will be able to join the room without having a registered account.": "Orang-orang dengan klien yang didukung akan dapat bergabung ruangan ini tanpa harus memiliki sebuah akun yang terdaftar.", + "Changes to who can read history will only apply to future messages in this room. The visibility of existing history will be unchanged.": "Perubahan siapa yang dapat membaca sejarah hanya akan berlaku untuk pesan berikutnya di ruangan ini. Visibilitas sejarah yang ada tidak akan berubah.", + "Members only (since they joined)": "Anggota saja (sejak mereka bergabung)", + "Members only (since they were invited)": "Anggota saja (sejak mereka diundang)", + "Members only (since the point in time of selecting this option)": "Anggota saja (sejak memilih opsi ini)", + "To avoid these issues, create a new public room for the conversation you plan to have.": "Untuk menghindari masalah-masalah ini, buat sebuah ruangan terenkripsi yang baru untuk obrolan yang Anda rencanakan.", + "It's not recommended to make encrypted rooms public. It will mean anyone can find and join the room, so anyone can read messages. You'll get none of the benefits of encryption. Encrypting messages in a public room will make receiving and sending messages slower.": "Ini tidak direkomendasikan untuk membuat ruangan terenkripsi publik. Ini berarti siapa saja dapat menemukan dan bergabung ruangannya, jadi siapa saja dapat membaca pesan di ruangan itu. Anda tidak akan mendapatkan manfaat apa pun dari enkripsi. Mengenkripsi pesan di ruangan yang publik akan membuat menerima dan mengirim pesan lebih lambat.", + "Are you sure you want to make this encrypted room public?": "Apakah Anda yakin untuk membuat ruangan terenkripsi ini publik?", + "Unknown failure": "Kesalahan yang tidak diketahui", + "Failed to update the join rules": "Gagal untuk memperbarui aturan bergabung", + "Decide who can join %(roomName)s.": "Putuskan siapa yang dapat bergabung %(roomName)s.", + "To link to this room, please add an address.": "Untuk menautkan ruangan ini, mohon tambahkan sebuah alamat.", + "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.": "Ketika diaktifkan, enkripsi untuk sebuah ruangan tidak dapat dinonaktifkan. Pesan-pesan yang terkirim di sebuah ruangan terenkripsi tidak dapat dilihat oleh server, hanya anggota di ruangan. Pelajari lebih lanjut tentang enkripsi.", + "To avoid these issues, create a new encrypted room for the conversation you plan to have.": "Untuk menghindari masalah-masalah ini, buat sebuah ruangan terenkripsi yang baru untuk obrolan yang Anda rencanakan.", + "Are you sure you want to add encryption to this public room?": "Apakah Anda yakin untuk menambahkan enkripsi ke ruangan publik ini?", + "Select the roles required to change various parts of the room": "Pilih peran yang dibutuhkan untuk mengubah bagian-bagian ruangan ini", + "Select the roles required to change various parts of the space": "Pilih peran yang dibutuhkan untuk mengubah bagian-bagian space ini", + "Roles & Permissions": "Peran & Izin", + "Send %(eventType)s events": "Kirim peristiwa %(eventType)s", + "No users have specific privileges in this room": "Tidak ada pengguna yang memiliki hak khusus di ruangan ini", + "Remove messages sent by others": "Hapus pesan yang dikirim oleh orang lain", + "Change server ACLs": "Ubah ACL server", + "Enable room encryption": "Aktifkan enkripsi ruangan", + "Upgrade the room": "Tingkatkan ruangan ini", + "Change description": "Ubah deskripsi", + "Change history visibility": "Ubah visibilitas sejarah", + "Manage rooms in this space": "Kelola ruangan di space ini", + "Change main address for the space": "Ubah alamat utama untuk space ini", + "Change main address for the room": "Ubah alamat utama untuk ruangan ini", + "Change room name": "Ubah nama ruangan", + "Change space name": "Ubah nama space", + "Change room avatar": "Ubah avatar ruangan", + "Change space avatar": "Ubah avatar space", + "An error occurred changing the user's power level. Ensure you have sufficient permissions and try again.": "Sebuah kesalahan terjadi mengubah persyaratan tingkat daya pengguna. Pastikan Anda mempunyai izin yang dibutuhkan dan coba lagi.", + "Error changing power level": "Terjadi kesalahan saat mengubah tingkat daya", + "An error occurred changing the room's power level requirements. Ensure you have sufficient permissions and try again.": "Sebuah kesalahan terjadi mengubah persyaratan tingkat daya ruangan. Pastikan Anda mempunyai izin yang dibutuhkan dan coba lagi.", + "Error changing power level requirement": "Terjadi kesalahan saat mengubah persyaratan tingkat daya", + "Banned by %(displayName)s": "Dicekal oleh %(displayName)s", + "Failed to unban": "Gagal untuk menghapus cekalan", + "Set a new custom sound": "Atur suara kustom baru", + "You won't get any notifications": "Anda tidak akan mendapatkan notifikasi apa pun", + "Get notifications as set up in your settings": "Dapatkan notifikasi yang diatur di pengaturan Anda", + "Get notified only with mentions and keywords as set up in your settings": "Dapatkan notifikasi hanya dengan sebutan dan keyword yang diatur di pengaturan Anda", + "@mentions & keywords": "@sebutan & keyword", + "Get notified for every message": "Dapatkan notifikasi untuk setiap pesan", + "Large": "Besar", + "Image size in the timeline": "Ukuran gambar di linimasa", + "%(senderName)s has updated the room layout": "%(senderName)s telah memperbarui tata letak ruangan", + "Automatically group all your favourite rooms and people together in one place.": "Kelompokkan semua ruangan dan orang favorit Anda di satu tempat secara otomatis.", + "Quick Reactions": "Reaksi Cepat", + "Travel & Places": "Aktifitas & Tempat", + "Food & Drink": "Makanan & Minuman", + "Animals & Nature": "Hewan & Alam", + "Smileys & People": "Senyuman & Orang", + "Frequently Used": "Sering Digunakan", + "You're not currently a member of any communities.": "Anda saat ini bukan anggota di komunitas apa pun.", + "Display your community flair in rooms configured to show it.": "Tampilkan bakat komunitas Anda di ruangan yang diatur untuk menampilkannya.", + "Something went wrong when trying to get your communities.": "Ada sesuatu yang salah ketika mencoba untuk mendapatkan komunitas Anda.", + "Filter community rooms": "Filter ruangan komunitas", + "Add rooms to this community": "Tambahkan ruangan ke komunitas ini", + "Only visible to community members": "Hanya dapat dilihat oleh anggota komunitas", + "Visible to everyone": "Dapat dilihat oleh semuanya", + "Visibility in Room List": "Visibilitas di Daftar Ruangan", + "The visibility of '%(roomName)s' in %(groupId)s could not be updated.": "Visibilitas '%(roomName)s' di %(groupId)s tidak dapat diperbarui.", + "Something went wrong!": "Ada sesuatu yang salah!", + "Failed to remove '%(roomName)s' from %(groupId)s": "Gagal untuk menghilangkan '%(roomName)s' dari %(groupId)s", + "Failed to remove room from community": "Gagal untuk menghilangkan ruangan dari komunitas", + "Removing a room from the community will also remove it from the community page.": "Menghilangkan sebuah ruangan dari komunitas akan juga menghilangkannya dari halaman komunitas.", + "Are you sure you want to remove '%(roomName)s' from %(groupId)s?": "Apakah Anda yakin untuk menghilangkan '%(roomName)s' dari %(groupId)s?", + "Filter community members": "Filter anggota komunitas", + "Failed to load group members": "Gagal untuk memuat anggota grup", + "Can't load this message": "Tidak dapat memuat pesan ini", + "Submit logs": "Kirim log", + "Edited at %(date)s. Click to view edits.": "Diedit di %(date)s. Klik untuk melihat editan.", + "Click to view edits": "Klik untuk melihat editan", + "Edited at %(date)s": "Diedit di %(date)s", + "You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "Anda akan dialihkan ke situs pihak ketiga suapa Anda dapat mengotentikasi akun Anda untuk digunakan dengan %(integrationsUrl)s. Apakah Anda yakin untuk melanjutkan?", + "Add an Integration": "Tambahkan sebuah Integrasi", + "This room is a continuation of another conversation.": "Ruangan ini adalah lanjutan dari obrolan sebelumnya.", + "Click here to see older messages.": "Klik di sini untuk melihat pesan-pesan lama.", + "%(senderDisplayName)s changed the room avatar to ": "%(senderDisplayName)s mengubah avatar ruangan ke ", + "%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s menghapus avatar ruangan.", + "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s mengubah avatar untuk %(roomName)s", + "Message deleted on %(date)s": "Pesan terhapus di %(date)s", + "reacted with %(shortName)s": "bereaksi dengan %(shortName)s", + "%(reactors)s reacted with %(content)s": "%(reactors)s berekasi dengan %(content)s", + "Show all": "Tampilkan semua", + "Add reaction": "Tambahkan reaksi", + "Error processing voice message": "Terjadi kesalahan mengolah pesan suara", + "Error decrypting video": "Terjadi kesalahan mendekripsi video", + "Based on %(total)s votes": "Bedasarkan %(total)s suara", + "%(number)s votes": "%(number)s suara", + "You sent a verification request": "Anda mengirim sebuah permintaan verifikasi", + "%(name)s wants to verify": "%(name)s ingin memverifikasi", + "Declining …": "Menolak…", + "Accepting …": "Menerima…", + "%(name)s cancelled": "%(name)s membatalkan", + "%(name)s declined": "%(name)s menolak", + "You cancelled": "Anda membatalkan", + "You declined": "Anda menolak", + "%(name)s accepted": "%(name)s menerima", + "You accepted": "Anda menerima", + "%(name)s cancelled verifying": "%(name)s membatalkan verifikasi", + "You cancelled verifying %(name)s": "Anda membatalkan memverifikasi %(name)s", + "You verified %(name)s": "Anda memverifikasi %(name)s", + "You have ignored this user, so their message is hidden. Show anyways.": "Anda telah mengabaikan pengguna ini, jadi pesannya disembunyikan. Tampilkan saja.", + "Video conference started by %(senderName)s": "Konferensi video dimulai oleh %(senderName)s", + "Video conference updated by %(senderName)s": "Konferensi video diperbarui oleh %(senderName)s", + "Video conference ended by %(senderName)s": "Konferensi video diakhiri oleh %(senderName)s", + "Join the conference from the room information card on the right": "Bergabung ke konferensinya di kartu informasi ruangan di sebelah kanan", + "Join the conference at the top of this room": "Bergabung ke konferensinya di atas ruangan ini", + "Show image": "Tampilkan gambar", + "Error decrypting image": "Terjadi kesalahan mendekripsi gambar", + "Error decrypting attachment": "Terjadi kesalahan mendekripsi lampiran", + "Expand quotes │ ⇧+click": "Buka kutip | ⇧ + klik", + "Collapse quotes │ ⇧+click": "Tutup kutip | ⇧ + klik", + "Error processing audio message": "Terjadi kesalahan mengolah pesan suara", + "The encryption used by this room isn't supported.": "Enkripsi yang digunakan di ruangan ini tidak didukung.", + "Encryption not enabled": "Enkripsi tidak diaktifkan", + "Ignored attempt to disable encryption": "Mengabaikan percobaan untuk menonaktifkan enkripsi", + "Encryption enabled": "Enkripsi diaktifkan", + "Messages in this room are end-to-end encrypted. When people join, you can verify them in their profile, just tap on their avatar.": "Pesan di ruangan ini terenkripsi secara ujung-ke-ujung. Ketika orang-orang bergabung, Anda dapat memverifikasi mereka di profil mereka - klik pada avatar mereka.", + "Messages here are end-to-end encrypted. Verify %(displayName)s in their profile - tap on their avatar.": "Pesan di pesan langsung ini terenkripsi secara ujung-ke-ujung. Verifikasi %(displayName)s di profilnya - klik pada avatarnya.", + "Some encryption parameters have been changed.": "Beberapa parameter enkripsi telah diubah.", + "The call is in an unknown state!": "Panggilan ini berada di status yang tidak diketahui!", + "Missed call": "Panggilan terlewat", + "Unknown failure: %(reason)s": "Kegagalan yang tidak diketahui: %(reason)s", + "An unknown error occurred": "Sebuah kesalahan yang tidak diketahui terjadi", + "Their device couldn't start the camera or microphone": "Perangkatnya tidak dapat memulai kamera atau mikrofonnya", + "Connection failed": "Koneksi gagal", + "Could not connect media": "Tidak dapat menghubung media", + "No answer": "Tidak ada jawaban", + "Call back": "Panggil ulang", + "Call declined": "Panggilan ditolak", + "Verification cancelled": "Verifikasi dibatalkan", + "You cancelled verification.": "Anda membatalkan verifikasi.", + "%(displayName)s cancelled verification.": "%(displayName)s membatalkan verifikasi.", + "You cancelled verification on your other session.": "Anda membatalkan verifikasi di sesi Anda yang lain.", + "Verification timed out.": "Waktu habis untuk memverifikasi.", + "Start verification again from their profile.": "Mulai memverifikasi lagi dari profilnya.", + "Start verification again from the notification.": "Mulai memverifikasi lagi dari notifikasinya.", + "Got it": "Mengerti", + "You've successfully verified %(displayName)s!": "Anda berhasil memverifikasi %(displayName)s!", + "You've successfully verified %(deviceName)s (%(deviceId)s)!": "Anda berhasil memverifikasi %(deviceName)s (%(deviceId)s)!", + "You've successfully verified your device!": "Anda berhasil memverifikasi perangkat Anda!", + "In encrypted rooms, verify all users to ensure it's secure.": "Di ruangan terenkripsi, verifikasi semua pengguna untuk memastikan keamanannya.", + "Verify all users in a room to ensure it's secure.": "Verifikasi semua pengguna di sebuah ruangan untuk memastikan keamanannya.", + "Almost there! Is %(displayName)s showing the same shield?": "Hampir selesai! Apakah %(displayName)s menampilkan perisai yang sama?", + "Almost there! Is your other session showing the same shield?": "Hampir selesai! Apakah sesi yang lain Anda menampilkan perisai yang sama?", + "Verify by emoji": "Verifikasi dengan emoji", + "Verify by comparing unique emoji.": "Verifikasi dengan membandingkan emoji unik.", + "If you can't scan the code above, verify by comparing unique emoji.": "Jika Anda tidak dapat memindai kode di atas, verifikasi dengan membandingkan emoji yang unik.", + "Ask %(displayName)s to scan your code:": "Tanyakan %(displayName)s untuk memindai kode Anda:", + "Verify by scanning": "Verifikasi dengan memindai", + "Verify this session by completing one of the following:": "Verifikasi sesi ini dengan menyelesaikan berikut ini:", + "Compare a unique set of emoji if you don't have a camera on either device": "Bandingkan emoji jika Anda tidak memiliki sebuah kamera di kedua perangkat", + "Compare unique emoji": "Bandingkan emoji unik", + "Scan this unique code": "Pindai kode unik ini", + "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what %(brand)s supports. Try with a different client.": "Sesi yang Anda mencoba untuk memverifikasi tidak mendukung pemindaian kode QR atau verifikasi emoji, yang didukung oleh %(brand)s. Coba dengan klien yang berbeda.", + "Edit devices": "Edit perangkat", + "This client does not support end-to-end encryption.": "Klien ini tidak mendukung enkripsi ujung-ke-ujung.", + "Role in ": "Peran di ", + "Failed to deactivate user": "Gagal untuk menonaktifkan pengguna", + "Deactivate user": "Nonaktifkan pengguna", + "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?": "Menonaktifkan pengguna ini akan mengeluarkan dan mencegahnya masuk ke akun lagi. Pengguna itu juga akan meninggalkan semua ruangan yang pengguna itu berada. Aksi ini tidak dapat dibatalkan. Apakah Anda yakin Anda ingin menonaktifkan pengguna ini?", + "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Anda tidak akan dapat membatalkan perubahan ini ketika Anda mempromosikan pengguna untuk memiliki tingkat daya yang sama dengan Anda sendiri.", + "Failed to change power level": "Gagal untuk mengubah tingkat daya", + "Failed to remove user from community": "Gagal untuk menghilangkan pengguna dari komunitas", + "Failed to withdraw invitation": "Gagal untuk menghapus undangan", + "Remove this user from community?": "Hilangkan pengguna ini dari komunitas?", + "Disinvite this user from community?": "Batalkan pengundangan pengguna ini dari komunitas?", + "Remove from community": "Hilangkan dari komunitas", + "Failed to mute user": "Gagal untuk membisukan pengguna", + "Failed to ban user": "Gagal untuk mencekal pengguna", + "They won't be able to access whatever you're not an admin of.": "Mereka tidak dapat mengakses apa saja yang Anda bukan admin di sana.", + "Ban them from specific things I'm able to": "Cekal dari beberapa hal yang saya dapat melakukan", + "Unban them from specific things I'm able to": "Batalkan pencekalan dari beberapa hal yang saya dapat melakukan", + "Unban them from everything I'm able to": "Batalkan pencekalan dari semuanya yang saya dapat melakukan", + "Ban them from everything I'm able to": "Cekal dari semuanya yang saya dapat melakukan", + "Ban from %(roomName)s": "Cekal dari %(roomName)s", + "Unban from %(roomName)s": "Batalkan cekalan dari %(roomName)s", + "Remove recent messages": "Hapus pesan terkini", + "Remove %(count)s messages|one": "Hapus 1 pesan", + "Remove %(count)s messages|other": "Hapus %(count)s pesan", + "For a large amount of messages, this might take some time. Please don't refresh your client in the meantime.": "Untuk pesan yang jumlahnya banyak, ini mungkin membutuhkan beberapa waktu. Jangan muat ulang klien Anda untuk sementara.", + "You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|one": "Anda akan menghapus 1 pesan dari %(user)s. Ini tidak dapat dibatalkan. Apakah Anda yakin untuk melanjutkan?", + "You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|other": "Anda akan menghapus %(count)s pesan dari %(user)s. Ini tidak dapat dibatalkan. Apakah Anda yakin untuk melanjutkan?", + "Remove recent messages by %(user)s": "Hapus pesan terkini dari %(user)s", + "No recent messages by %(user)s found": "Tidak ada pesan terkini dari %(user)s yang ditemukan", + "Try scrolling up in the timeline to see if there are any earlier ones.": "Coba menggulir ke atas di linimasa untuk melihat apa ada pesan-pesan sebelumnya.", + "Failed to kick": "Gagal untuk mengeluarkan", + "They'll still be able to access whatever you're not an admin of.": "Mereka masih dapat mengakses apa saja yang Anda bukan admin di sana.", + "Kick them from specific things I'm able to": "Keluarkan dari beberapa hal yang saya dapat melakukan", + "Kick them from everything I'm able to": "Keluarkan dari semuanya yang saya dapat melakukan", + "Kick from %(roomName)s": "Keluarkan dari %(roomName)s", + "Disinvite from %(roomName)s": "Batalkan pengundangan dari %(roomName)s", + "You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "Anda tidak akan dapat mengubah kembali perubahan ini ketika Anda menurunkan diri Anda, jika Anda adalah pengguna hak istimewa terakhir di ruangan tersebut, mendapatkan kembali hak istimewa itu tidak memungkinkan.", + "You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the space it will be impossible to regain privileges.": "Anda tidak akan dapat mengubah kembali perubahan ini ketika Anda menurunkan diri Anda, jika Anda adalah pengguna hak istimewa terakhir di space tersebut, mendapatkan kembali hak istimewa itu tidak memungkinkan.", + "Share Link to User": "Bagikan Tautan ke Pengguna", + "Jump to read receipt": "Pergi ke laporan baca", + "Hide sessions": "Sembunyikan sesi", + "%(count)s sessions|one": "%(count)s sesi", + "%(count)s sessions|other": "%(count)s sesi", + "Hide verified sessions": "Sembunyikan sesi terverifikasi", + "%(count)s verified sessions|one": "1 sesi terverifikasi", + "%(count)s verified sessions|other": "%(count)s sesi terverifikasi", + "Unable to load session list": "Tidak dapat memuat daftar sesi", + "Not trusted": "Tidak dipercayai", + "Room settings": "Pengaturan ruangan", + "Export chat": "Ekspor obrolan", + "Files": "File", + "Not encrypted": "Tidak terenkripsi", + "Add widgets, bridges & bots": "Tambahkan widget, jembatan & bot", + "Edit widgets, bridges & bots": "Edit widget, jembatan & bot", + "Set my room layout for everyone": "Tetapkan tata letak ruangan saya untuk semuanya", + "Size can only be a number between %(min)s MB and %(max)s MB": "Ukuran harus sebuah angka antara %(min)s MB dan %(max)s MB", + "Enter a number between %(min)s and %(max)s": "Masukkan sebuah angka antara %(min)s dan %(max)s", + "Update community": "Tingkatkan komunitas", + "There was an error updating your community. The server is unable to process your request.": "Terjadi sebuah kesalahan memperbarui komunitas Anda. Servernya tidak dapat memproses permintaan Anda.", + "Edit Values": "Edit Nilai", + "Values at explicit levels in this room:": "Nilai-nilai di tingkat ekspliksi di ruangan ini:", + "Values at explicit levels:": "Nilai-nilai di tingkat eksplisit:", + "Value in this room:": "Nilai-nilai di ruangan ini:", + "Save setting values": "Simpan pengaturan nilai", + "Values at explicit levels in this room": "Nilai-nilai di tingkat eksplisit di ruangan ini", + "Values at explicit levels": "Nilai-nilai di tingkat eksplisit", + "Settable at room": "Dapat diatur di ruangan", + "Settable at global": "Dapat diatur secara global", + "Setting definition:": "Definisi pengaturan:", + "This UI does NOT check the types of the values. Use at your own risk.": "UI ini TIDAK memeriksa tipe nilai. Gunakan dengan hati-hati.", + "Value in this room": "Nilai di ruangan ini", + "Setting ID": "ID Pengaturan", + "Failed to save settings": "Gagal untuk menyimpan pengaturan", + "Settings Explorer": "Penjelajah Pengaturan", + "There was an error finding this widget.": "Terjadi sebuah kesalahan menemukan widget ini.", + "Active Widgets": "Widget Aktif", + "Verification Requests": "Permintaan Verifikai", + "View Servers in Room": "Tampilkan Server di Ruangan", + "Explore Account Data": "Jelajahi Data Akun", + "Explore Room State": "Jelajahi Status Ruangan", + "Send Account Data": "Kirim Data Akun", + "Failed to send custom event.": "Gagal untuk mengirimkan peristiwa kustom.", + "You must specify an event type!": "Anda harus mencantumkan tipe peristiwa!", + "Send Custom Event": "Kirim Peristiwa Kustom", + "Please forget all messages I have sent when my account is deactivated (Warning: this will cause future users to see an incomplete view of conversations)": "Mohon lupakan semua pesan-pesan yang saya telah kirim ketika akun saya dinonaktifkan (Peringatan: ini akan membuat pengguna di masa mendatang melihat obrolan yang kurang lengkap)", + "Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.": "Visibilitas pesan di Matrix itu sama dengan email. Kami melupakan pesan-pesan Anda berarti pesan-pesan yang Anda telah kirim tidak akan dibagikan dengan pengguna baru atau pengguna yang belum terdaftar, tetapi pengguna yang terdaftar yang sudah memiliki akses ke pesan-pesan ini masih memiliki akses ke salinan mereka.", + "Deactivating your account does not by default cause us to forget messages you have sent. If you would like us to forget your messages, please tick the box below.": "Menonaktifkan akun Anda tidak membuat kami untuk melupakan semua pesan yang Anda kirim secara bawaan. Jika Anda ingin kami untuk melupakan pesan Anda, silakan centang kotak di bawah.", + "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.": "Ini akan membuat akun Anda tidak dapat digunakan secara permanen. Anda tidak akan dapat masuk, dan tidak seorang pun dapat mendaftarkan ulang ID pengguna yang sama. Ini akan menyebabkan akun Anda meninggalkan semua ruangan tergabung, dan akan menghapus detail akun Anda dari server identitas Anda. Tindakan ini tidak dapat dibatalkan.", + "Server did not return valid authentication information.": "Server tidak memberikan informasi otentikasi yang valid.", + "Server did not require any authentication": "Server tidak membutuhkan otentikasi apa pun", + "There was a problem communicating with the server. Please try again.": "Terjadi sebuah masalah ketika berkomunikasi dengan server. Mohon coba lagi.", + "To continue, please enter your password:": "Untuk melanjutkan, silakan masukkan kata sandi Anda:", + "Confirm account deactivation": "Konfirmasi penonaktifan akun", + "Confirm your account deactivation by using Single Sign On to prove your identity.": "Konfirmasi penonaktifan akun Anda dengan menggunakan Single Sign On untuk membuktikan identitas Anda.", + "Are you sure you want to deactivate your account? This is irreversible.": "Apakah Anda yakin ingin menonaktifkan akun Anda? Ini tidak dapat dibatalkan.", + "Continue With Encryption Disabled": "Lanjutkan Dengan Enkripsi Dinonaktifkan", + "You've previously used a newer version of %(brand)s with this session. To use this version again with end to end encryption, you will need to sign out and back in again.": "Anda sebelumnya menggunakan sebuah versi %(brand)s yang baru dengan sesi ini. Untuk menggunakan versi ini lagi dengan enkripsi ujung-ke-ujung, Anda harus keluar dan masuk lagi.", + "To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of %(brand)s to do this": "Untuk menghindari kehilangan sejarah obrolan, Anda harus mengekspor kunci ruangan Anda sebelum keluar. Anda harus kembali ke versi %(brand)s yang baru untuk melakukannya", + "Want to add an existing space instead?": "Ingin menambahkan sebuah space yang sudah ada saja?", + "Add a space to a space you manage.": "Tambahkan sebuah space ke space yang Anda kelola.", + "Only people invited will be able to find and join this space.": "Hanya orang-orang yang diundang dapat menemukan dan bergabung ke space ini.", + "Anyone will be able to find and join this space, not just members of .": "Siapa saja dapat menemukan dan bergabung space ini, tidak hanya anggota dari .", + "Anyone in will be able to find and join.": "Siapa saja di dapat menemukan dan bergabung.", + "Public space": "Space publik", + "Private space (invite only)": "Space privat (undangan saja)", + "Space visibility": "Visibilitas space", + "This description will be shown to people when they view your space": "Deskripsi ini akan ditampilkan ke orang-orang ketika mereka menampilkan space Anda", + "Flair won't be available in Spaces for the foreseeable future.": "Bakat tidak akan tersedia di Space untuk waktu yang mendatang.", + "All rooms will be added and all community members will be invited.": "Semua ruangan akan ditambahkan dan semua anggota komunitas akan diundang.", + "A link to the Space will be put in your community description.": "Sebuah tautan ke Space akan ditambahkan ke deskripsi komunitas Anda.", + "Create Space from community": "Buat Space dari komunitas", + "Creating Space...": "Membuat Space...", + "Fetching data...": "Mengumpulkan data...", + "Failed to migrate community": "Gagal untuk memigrasikan komunitas", + "To create a Space from another community, just pick the community in Preferences.": "Untuk membuat sebuah Space dari komunitas lainnya, tinggal pilih komunitasnya di Preferensi.", + "To view Spaces, hide communities in Preferences": "Untuk menampilkan Space, sembunyikan komunitas di Preferensi", + " has been made and everyone who was a part of the community has been invited to it.": " telah dibuat dan siapa saja yang ada di komunitasnya telah diundang ke space yang baru.", + "Space created": "Space dibuat", + "This community has been upgraded into a Space": "Komunitas ini telah ditingkatkan ke sebuah Space", + "Block anyone not part of %(serverName)s from ever joining this room.": "Blokir siapa saja yang bukan bagian dari %(serverName)s untuk bergabung ke ruangan ini.", + "Visible to space members": "Dapat dilihat oleh anggota space", + "Public room": "Ruangan publik", + "Private room (invite only)": "Ruangan privat (undangan saja)", + "Room visibility": "Visibilitas ruangan", + "Topic (optional)": "Topik (opsional)", + "Create a private room": "Buat sebuah ruangan privat", + "Create a public room": "Buat sebuah ruangan publik", + "Create a room in %(communityName)s": "Buat sebuah ruangan di %(communityName)s", + "Create a room": "Buat sebuah ruangan", + "You might disable this if the room will be used for collaborating with external teams who have their own homeserver. This cannot be changed later.": "Anda mungkin menonaktifkannya jika ruangan ini akan digunakan untuk berkolabroasi dengan tim eksternal yang mempunyai homeserver sendiri. Ini tidak dapat diubah nanti.", + "You might enable this if the room will only be used for collaborating with internal teams on your homeserver. This cannot be changed later.": "Anda mungkin mengaktifkannya jika ruangan ini hanya digunakan untuk berkolabroasi dengan tim internal di homeserver Anda. Ini tidak dapat diubah nanti.", + "Enable end-to-end encryption": "Aktifkan enkripsi ujung-ke-ujung", + "Your server requires encryption to be enabled in private rooms.": "Server Anda memerlukan mengaktifkan enkripsi di ruangan privat.", + "You can't disable this later. Bridges & most bots won't work yet.": "Anda tidak dapat menonaktifkannya nanti. Jembatan & kebanyakan bot belum dapat digunakan.", + "Anyone will be able to find and join this room.": "Siapa saja dapat menemukan dan bergabung ke ruangan ini.", + "Only people invited will be able to find and join this room.": "Hanya orang-orang yang diundang dapat menemukan dan bergabung ke ruangan ini.", + "Anyone will be able to find and join this room, not just members of .": "Siapa saja dapat menemukan dan bergabung ke ruangan ini, tidak hanya anggota dari .", + "You can change this at any time from room settings.": "Anda dapat mengubahnya kapan saja dari pengaturan ruangan.", + "Private rooms can be found and joined by invitation only. Public rooms can be found and joined by anyone in this community.": "Ruangan privat dapat ditemukan dan siapa saja dapat bergabung dengan undangan saja. Ruangan publik dapat ditemukan dan siapa saja dapat bergabung di komunitas ini.", + "Everyone in will be able to find and join this room.": "Semuanya di dapat menemukan dan bergabung ruangan ini.", + "Please enter a name for the room": "Mohon masukkan sebuah nama untuk ruangan", + "Something went wrong whilst creating your community": "Ada sesuatu yang salah ketika membuat komunitas Anda", + "Community IDs may only contain characters a-z, 0-9, or '=_-./'": "ID komunitas hanya boleh berisi karakter a-z, 0-9, atau '=_-./'", + "Community IDs cannot be empty.": "ID komunitas tidak boleh kosong.", + "An image will help people identify your community.": "Sebuah gambar akan membantu orang-orang mengidentifikasikan komunikasi Anda.", + "Add image (optional)": "Tambahkan gambar (opsional)", + "Enter name": "Masukkan nama", + "What's the name of your community or team?": "Apa nama komunitas atau tim Anda?", + "You can change this later if needed.": "Anda dapat mengubahnya nanti jika diperlukan.", + "Use this when referencing your community to others. The community ID cannot be changed.": "Gunakan saat mereferensikan komunitas Anda ke lainnya. ID komunitas tidak dapat diubah.", + "Community ID: +:%(domain)s": "ID Komunitas: +:%(domain)s", + "There was an error creating your community. The name may be taken or the server is unable to process your request.": "Terjadi sebuah kesalahan membuat komunitas Anda. Namanya mungkin sudah dipakai atau servernya tidak dapat memproses permintaan Anda.", + "Clear all data": "Hapus semua data", + "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Menghapus semua data dari sesi ini itu permanen. Pesan-pesan terenkripsi akan hilang kecuali jika kunci-kuncinya telah dicadangkan.", + "Clear all data in this session?": "Hapus semua data di sesi ini?", + "Reason (optional)": "Alasan (opsional)", + "Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Apakah Anda ingin menghapus peristiwa ini? Jika Anda menghapus sebuah perubahan nama ruangan atau perubahan topik, itu mungkin dapat membatalkan perubahannya.", + "Invite people to join %(communityName)s": "Undang orang-orang untuk bergabung %(communityName)s", + "Send %(count)s invites|one": "Kirimkan %(count)s undangan", + "Send %(count)s invites|other": "Kirimkan %(count)s undangan", + "People you know on %(brand)s": "Orang-orang yang Anda tahu di %(brand)s", + "Add another email": "Tambahkan email lain", + "Unable to load commit detail: %(msg)s": "Tidak dapat memuat detail komit: %(msg)s", + "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.": "Jika ada konteks yang mungkin akan membantu saat memeriksa masalahnya, seperti apa yang Anda lakukan waktu itu, ID ruangan, ID pengguna, dll., dan silakan menambahkannya di sini.", + "Download logs": "Unduh log", + "Before submitting logs, you must create a GitHub issue to describe your problem.": "Sebelum mengirimkan log, Anda harus membuat sebuah issue GitHub untuk menjelaskan masalah Anda.", + "Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited, which UI elements you last interacted with, and the usernames of other users. They do not contain messages.": "Log debug berisi data penggunaan aplikasi termasuk nama pengguna Anda, ID atau alias ruangan atau grup yang telah Anda kunjungi, elemen UI mana yang terakhir kali Anda gunakan untuk berinteraksi, dan nama-nama pengguna lain. Mereka tidak mengandung pesan-pesan apa pun.", + "Reminder: Your browser is unsupported, so your experience may be unpredictable.": "Ingat: Browser Anda tidak didukung, jadi pengalaman Anda mungkin tidak bisa diprediksi.", + "Preparing to download logs": "Mempersiapkan untuk mengunduh log", + "Failed to send logs: ": "Gagal untuk mengirimkan log: ", + "Preparing to send logs": "Mempersiapkan untuk mengirimkan log", + "Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Mohon beritahu kami apa saja yang salah atau, lebih baik, buat sebuah issue GitHub yang menjelaskan masalahnya.", + "To leave the beta, visit your settings.": "Untuk keluar dari beta, pergi ke pengaturan Anda.", + "%(featureName)s beta feedback": "Masukan %(featureName)s beta", + "Close dialog": "Tutup dialog", + "Invite anyway and never warn me again": "Undang saja dan jangan peringatkan saya lagi", + "Unable to find profiles for the Matrix IDs listed below - would you like to invite them anyway?": "Tidak dapat menemukan profil untuk ID Matrix yang dicantumkan di bawah - apakah Anda ingin mengundang mereka saja?", + "The following users may not exist": "Pengguna berikut ini mungkin tidak ada", + "Use an identity server to invite by email. Manage in Settings.": "Gunakan sebuah server identitas untuk mengundang melalui email. Kelola di Pengaturan.", + "Use an identity server to invite by email. Use the default (%(defaultIdentityServerName)s) or manage in Settings.": "Gunakan sebuah server identitas untuk mengundang melalui email. Gunakan bawaan (%(defaultIdentityServerName)s) atau kelola di Pengaturan.", + "Try using one of the following valid address types: %(validTypesList)s.": "Coba menggunakan salah satu dari tipe alamat yang valid: %(validTypesList)s.", + "You have entered an invalid address.": "Anda telah memasukkan alamat yang tidak valid.", + "That doesn't look like a valid email address": "Ini sepertinya bukan alamat email yang valid", + "Matrix Room ID": "ID Ruangan Matrix", + "Adding spaces has moved.": "Menambahkan space telah dipindah.", + "Search for rooms": "Cari ruangan", + "Create a new room": "Buat sebuah ruangan baru", + "Want to add a new room instead?": "Ingin menambahkan sebuah ruangan yang baru saja?", + "Add existing rooms": "Tambahkan ruangan yang sudah ada", + "Space selection": "Pilihan space", + "Direct Messages": "Pesan Langsung", + "Adding rooms... (%(progress)s out of %(count)s)|one": "Menambahkan ruangan...", + "Adding rooms... (%(progress)s out of %(count)s)|other": "Menambahkan ruangan... (%(progress)s dari %(count)s)", + "Not all selected were added": "Tidak semua yang terpilih ditambahkan", + "Search for spaces": "Cari space", + "Create a new space": "Buat sebuah space baru", + "Want to add a new space instead?": "Ingin menambahkan sebuah space yang baru saja?", + "Add existing space": "Tambahkan space yang sudah ada", + "Matrix rooms": "Ruangan Matrix", + "%(networkName)s rooms": "Ruangan %(networkName)s", + "Add a new server...": "Tambahkan sebuah server baru...", + "Server name": "Nama server", + "Enter the name of a new server you want to explore.": "Masukkan nama server baru yang Anda ingin jelajahi.", + "Add a new server": "Tambahkan sebuah server baru", + "Are you sure you want to remove %(serverName)s": "Apakah Anda yakin untuk menghilangkan %(serverName)s", + "Remove server": "Hilangkan server", + "Your server": "Server Anda", + "Can't find this server or its room list": "Tidak dapat menemukan server ini atau daftar ruangannya", + "You are not allowed to view this server's rooms list": "Anda tidak diizinkan untuk menampilkan daftar ruangan server ini", + "Sign in with single sign-on": "Masuk dengan single sign on", + "Looks good": "Kelihatannya bagus", + "Enter a server name": "Masukkan sebuah nama server", + "And %(count)s more...|other": "Dan %(count)s lagi...", + "Continue with %(provider)s": "Lanjutkan dengan %(provider)s", + "Join millions for free on the largest public server": "Bergabung dengan jutaan orang lainnya secara gratis di server publik terbesar", + "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Element with an existing Matrix account on a different homeserver.": "Anda dapat menggunakan opsi server khusus untuk masuk ke server Matrix lain dengan menentukan URL homeserver yang berbeda. Ini memungkinkan Anda untuk menggunakan Element dengan akun Matrix yang ada di homeserver yang berbeda.", + "Server Options": "Opsi Server", + "This address is already in use": "Alamat ini sudah digunakan", + "This address is available to use": "Alamat ini dapat digunakan", + "Please provide an address": "Mohon masukkan sebuah alamat", + "Some characters not allowed": "Beberapa karakter tidak diizinkan", + "e.g. my-room": "mis. ruangan-saya", + "Room address": "Alamat ruangan", + "In reply to this message": "Membalas ke pesan ini", + "In reply to ": "Membalas ke ", + "Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Tidak dapat memuat peristiwa yang dibalas, karena tidak ada atau Anda tidak memiliki izin untuk menampilkannya.", + "QR Code": "Kode QR", + "Add option": "Tambahkan opsi", + "Write an option": "Tulis sebuah opsi", + "Option %(number)s": "Opsi %(number)s", + "Create options": "Buat opsi", + "Write something...": "Tulis sesuatu...", + "Question or topic": "Pertanyaan atau topik", + "What is your poll question or topic?": "Apa pertanyaan atau topik poll Anda?", + "Create Poll": "Buat Poll", + "%(oneUser)schanged the pinned messages for the room %(count)s times.|other": "%(oneUser)smengubah pesan-pesan yang dipasangi pin untuk ruangan ini %(count)s kali.", + "%(severalUsers)schanged the pinned messages for the room %(count)s times.|other": "%(severalUsers)smengubah pesan-pesan yang dipasangi pin untuk ruangan ini %(count)s kali.", + "%(oneUser)schanged the server ACLs %(count)s times|one": "%(oneUser)smengubah ACL server", + "%(oneUser)schanged the server ACLs %(count)s times|other": "%(oneUser)smengubah ACL server %(count)s kali", + "%(severalUsers)schanged the server ACLs %(count)s times|one": "%(severalUsers)smengubah ACL server", + "%(severalUsers)schanged the server ACLs %(count)s times|other": "%(severalUsers)smengubah ACL server %(count)s kali", + "%(oneUser)smade no changes %(count)s times|one": "%(oneUser)stidak membuat perubahan", + "%(oneUser)smade no changes %(count)s times|other": "%(oneUser)stidak membuat perubahan %(count)s kali", + "%(severalUsers)smade no changes %(count)s times|one": "%(severalUsers)stidak membuat perubahan", + "%(severalUsers)smade no changes %(count)s times|other": "%(severalUsers)stidak membuat perubahan %(count)s kali", + "%(oneUser)schanged their avatar %(count)s times|one": "%(oneUser)smengubah avatarnya", + "%(oneUser)schanged their avatar %(count)s times|other": "%(oneUser)smengubah avatarnya %(count)s kali", + "%(severalUsers)schanged their avatar %(count)s times|one": "%(severalUsers)smengubah avatarnya", + "%(severalUsers)schanged their avatar %(count)s times|other": "%(severalUsers)smengubah avatarnya %(count)s kali", + "%(oneUser)schanged their name %(count)s times|one": "%(oneUser)smengubah namanya", + "%(oneUser)schanged their name %(count)s times|other": "%(oneUser)smengubah namanya %(count)s kali", + "%(severalUsers)schanged their name %(count)s times|one": "%(severalUsers)smengubah namanya", + "%(severalUsers)schanged their name %(count)s times|other": "%(severalUsers)smengubah namanya %(count)s kali", + "was kicked %(count)s times|other": "dikeluarkan %(count)s kali", + "were kicked %(count)s times|other": "dikeluarkan %(count)s kali", + "was unbanned %(count)s times|other": "dihilangkan cekalannya %(count)s kali", + "were unbanned %(count)s times|other": "dihilangkan cekalannya %(count)s kali", + "was banned %(count)s times|other": "dicekal %(count)s kali", + "were banned %(count)s times|other": "dicekal %(count)s kali", + "was invited %(count)s times|other": "diundang %(count)s kali", + "were invited %(count)s times|other": "diundang %(count)s kali", + "%(oneUser)shad their invitation withdrawn %(count)s times|one": "undangannya %(oneUser)s dihapus", + "%(oneUser)shad their invitation withdrawn %(count)s times|other": "undangannya %(oneUser)s dihapus %(count)s kali", + "%(severalUsers)shad their invitations withdrawn %(count)s times|one": "undangannya %(severalUsers)s dihapus", + "%(severalUsers)shad their invitations withdrawn %(count)s times|other": "undangannya %(severalUsers)s dihapus %(count)s kali", + "%(oneUser)srejected their invitation %(count)s times|one": "%(oneUser)smenolak undangannya", + "%(oneUser)srejected their invitation %(count)s times|other": "%(oneUser)smenolak undangannya %(count)s kali", + "%(severalUsers)srejected their invitations %(count)s times|one": "%(severalUsers)smenolak undangannya", + "%(severalUsers)srejected their invitations %(count)s times|other": "%(severalUsers)smenolak undangannya %(count)s kali", + "%(oneUser)sleft and rejoined %(count)s times|one": "%(oneUser)skeluar dan bergabung kembali", + "%(oneUser)sleft and rejoined %(count)s times|other": "%(oneUser)skeluar dan bergabung kembali %(count)s kali", + "%(severalUsers)sleft and rejoined %(count)s times|one": "%(severalUsers)skeluar dan bergabung kembali", + "%(severalUsers)sleft and rejoined %(count)s times|other": "%(severalUsers)skeluar dan bergabung kembali %(count)s kali", + "%(oneUser)sjoined and left %(count)s times|one": "%(oneUser)sbergabung dan keluar", + "%(oneUser)sjoined and left %(count)s times|other": "%(oneUser)sbergabung dan keluar %(count)s kali", + "%(severalUsers)sjoined and left %(count)s times|one": "%(severalUsers)sbergabung dan keluar", + "%(severalUsers)sjoined and left %(count)s times|other": "%(severalUsers)sbergabung dan keluar %(count)s kali", + "%(oneUser)sleft %(count)s times|other": "%(oneUser)skeluar %(count)s kali", + "%(severalUsers)sleft %(count)s times|other": "%(severalUsers)skeluar %(count)s kali", + "%(oneUser)sjoined %(count)s times|other": "%(oneUser)sbergabung %(count)s kali", + "%(severalUsers)sjoined %(count)s times|other": "%(severalUsers)sbergabung %(count)s kali", + "Language Dropdown": "Dropdown Bahasa", + "Zoom in": "Perbesar", + "Zoom out": "Perkecil", + "%(count)s people you know have already joined|one": "%(count)s orang yang Anda tahu telah bergabung", + "%(count)s people you know have already joined|other": "%(count)s orang yang Anda tahu telah bergabung", + "%(count)s members including %(commaSeparatedMembers)s|one": "%(commaSeparatedMembers)s", + "%(count)s members including %(commaSeparatedMembers)s|other": "%(count)s anggota termasuk %(commaSeparatedMembers)s", + "Including %(commaSeparatedMembers)s": "Termasuk %(commaSeparatedMembers)s", + "View all %(count)s members|one": "Tampilkan 1 pengguna", + "View all %(count)s members|other": "Tampilkan semua %(count)s anggota", + "Please create a new issue on GitHub so that we can investigate this bug.": "Mohon buat sebuah issue baru di GitHub supaya kami dapat memeriksa bug ini.", + "Share content": "Bagikan konten", + "Application window": "Jendela aplikasi", + "Share entire screen": "Bagikan seluruh layar", + "This version of %(brand)s does not support searching encrypted messages": "Versi %(brand)s ini tidak mendukung pencarian pesan terenkripsi", + "This version of %(brand)s does not support viewing some encrypted files": "Versi %(brand)s ini tidak mendukung penampilan beberapa file terenkripsi", + "Use the Desktop app to search encrypted messages": "Gunakan aplikasi desktop untuk mencari pesan-pesan terenkripsi", + "Use the Desktop app to see all encrypted files": "Gunakan aplikasi desktop untuk melihat semua file terenkripsi", + "Message search initialisation failed, check your settings for more information": "Initialisasi pencarian pesan gagal, periksa pengaturan Anda untuk informasi lanjut", + "Error - Mixed content": "Terjadi kesalahan - Konten tercampur", + "Error loading Widget": "Terjadi kesalahan saat memuat Widget", + "This widget may use cookies.": "Widget ini mungkin menggunakan cookie.", + "Widget added by": "Widget ditambahkan oleh", + "Widgets do not use message encryption.": "Widget tidak menggunakan enkripsi pesan.", + "Using this widget may share data with %(widgetDomain)s.": "Menggunakan widget ini mungkin membagikan data dengan %(widgetDomain)s.", + "Using this widget may share data with %(widgetDomain)s & your integration manager.": "Menggunakan widget ini mungkin membagikan data dengan %(widgetDomain)s & manajer integrasi Anda.", + "Widget ID": "ID Widget", + "Room ID": "ID Ruangan", + "%(brand)s URL": "URL %(brand)s", + "Your theme": "Tema Anda", + "Your user ID": "ID pengguna Anda", + "Your avatar URL": "URL avatar Anda", + "Your display name": "Nama tampilan Anda", + "Any of the following data may be shared:": "Data berikut ini mungkin dibagikan:", + "Cancel search": "Batalkan pencarian", + "Other homeserver": "Homeserver lainnya", + "You'll upgrade this room from to .": "Anda akan meningkatkan ruangan ini dari ke .", + "Learn more": "Pelajari lebih lanjut", + "Use your preferred Matrix homeserver if you have one, or host your own.": "Gunakan homeserver Matrix yang Anda inginkan jika Anda punya satu, atau host sendiri.", + "We call the places where you can host your account 'homeservers'.": "Kami memanggil tempat-tempat yang Anda dapat menghost akun Anda sebagai 'homeserver'.", + "Sign into your homeserver": "Masuk ke homeserver Anda", + "Matrix.org is the biggest public homeserver in the world, so it's a good place for many.": "Matrix.org adalah homeserver publik terbesar di dunia, jadi itu adalah tempat yang bagus untuk banyak orang.", + "Specify a homeserver": "Tentukan sebuah homeserver", + "Invalid URL": "URL tidak valid", + "Unable to validate homeserver": "Tidak dapat memvalidasi homeserver", + "Recent changes that have not yet been received": "Perubahan terbaru yang belum diterima", + "The server is not configured to indicate what the problem is (CORS).": "Server tidak diatur untuk menandakan apa masalahnya (CORS).", + "A connection error occurred while trying to contact the server.": "Sebuah kesalahan koneksi terjadi ketika mencoba untuk menghubungi server.", + "Your area is experiencing difficulties connecting to the internet.": "Area Anda mengalami kesulitan menghubung ke internet.", + "The server has denied your request.": "Server menolak permintaan Anda.", + "The server is offline.": "Server sedang offline.", + "A browser extension is preventing the request.": "Sebuah ekstensi browser mencegah permintaannya.", + "Your firewall or anti-virus is blocking the request.": "Tembok api atau antivirus memblokir permintaannya.", + "The server (%(serverName)s) took too long to respond.": "Server (%(serverName)s) terlalu lama untuk merespon.", + "Your server isn't responding to some of your requests. Below are some of the most likely reasons.": "Server Anda tidak merespon dengan beberapa permintaan Anda. Berikut ini adalah beberapa alasan yang paling mungkin terjadi.", + "Server isn't responding": "Server tidak merespon", + "You're all caught up.": "Anda selesai.", + "Please note upgrading will make a new version of the room. All current messages will stay in this archived room.": "Mohon dicatat bahwa meningkatkan akan membuat versi yang baru dari ruangannya. Semua pesan saat ini akan tetap di ruangan terarsip ini.", + "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Meningkatkan sebuah ruangan adalah aksi lanjutan dan biasanya direkomendasikan ketika sebuah ruangan tidak stabil karena adanya bug, fitur-fitur yang tidak ada, atau kerentanan keamanan.", + "This usually only affects how the room is processed on the server. If you're having problems with your %(brand)s, please report a bug.": "Ini biasanya hanya memengaruhi bagaimana ruangan diproses di servernya. Jika Anda memiliki masalah dengan %(brand)s, mohon melaporkannya.", + "This usually only affects how the room is processed on the server. If you're having problems with your %(brand)s, please report a bug.": "Ini biasanya hanya memengaruhi bagaimana ruangan diproses di servernya. Jika Anda memiliki masalah dengan %(brand)s, mohon melaporkannya.", + "Upgrade public room": "Tingkatkan ruangan publik", + "Upgrade private room": "Tingkatkan ruangan privat", + "Automatically invite members from this room to the new one": "Mengundang pengguna dari ruangan ini ke yang baru secara otomatis", + "Put a link back to the old room at the start of the new room so people can see old messages": "Letakkan sebuah tautan kembali ke ruangan yang lama di awal ruangan baru supaya orang-orang dapat melihat pesan-pesan lama", + "Stop users from speaking in the old version of the room, and post a message advising users to move to the new room": "Menghentikan pengguna dari berbicara di versi ruangan yang lama, dan mengirimkan sebuah pesan memberitahu pengguna untuk pindah ke ruangan yang baru", + "Update any local room aliases to point to the new room": "Memperbarui alias ruangan lokal apa saja untuk diarahkan ke ruangan yang baru", + "Create a new room with the same name, description and avatar": "Membuat ruangan baru dengan nama, deskripsi, dan avatar yang sama", + "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:": "Meningkatkan ruangan ini membutuhkan penutupan instansi ruangan saat ini dan membuat ruangan yang baru di tempatnya. Untuk memberikan anggota ruangan pengalaman yang baik, kami akan:", + "Upgrade Room Version": "Tingkatkan Versi Ruangan", + "Upgrade this room to version %(version)s": "Tingkatkan ruangan ini ke versi %(version)s", + "The room upgrade could not be completed": "Peningkatan ruangan tidak dapat diselesaikan", + "Failed to upgrade room": "Gagal untuk meningkatkan ruangan", + "Room Settings - %(roomName)s": "Pengaturan Ruangan - %(roomName)s", + "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.": "Melaporkan pesan ini akan mengirimkan ID peristiwa yang untuk ke administrator homeserver Anda. Jika pesan-pesan di ruangan ini terenkripsi, maka administrator homeserver Anda tidak akan dapat membaca teks pesan atau menampilkan file atau gambar apa saja.", + "Report Content to Your Homeserver Administrator": "Laporkan Konten ke Administrator Homeserver Anda", + "Send report": "Kirimkan laporan", + "Report the entire room": "Laporkan seluruh ruangan", + "Spam or propaganda": "Spam atau propaganda", + "Illegal Content": "Konten Ilegal", + "Toxic Behaviour": "Kelakukan Toxic", + "Report Content": "Laporkan Konten", + "Please pick a nature and describe what makes this message abusive.": "Harap pilih sifat dan jelaskan apa yang membuat pesan ini kasar.", + "Any other reason. Please describe the problem.\nThis will be reported to the room moderators.": "Alasan yang lain. Mohon jelaskan masalahnya.\nIni akan dilaporkan ke moderator ruangan.", + "This room is dedicated to illegal or toxic content or the moderators fail to moderate illegal or toxic content.\nThis will be reported to the administrators of %(homeserver)s. The administrators will NOT be able to read the encrypted content of this room.": "Ruangan ini khusus untuk konten ilegal atau toxic atau moderator gagal untuk memoderasikan konten ilegal atau toxic.\nIni akan dilaporkan ke administrator %(homeserver)s. Administrator TIDAK akan dapat membaca konten yang terenkripsi di ruangan ini.", + "This room is dedicated to illegal or toxic content or the moderators fail to moderate illegal or toxic content.\n This will be reported to the administrators of %(homeserver)s.": "Ruangan ini khusus untuk konten ilegal atau toxic atau moderator gagal untuk memoderasikan konten ilegal atau toxic.\nIni akan dilaporkan ke administrator %(homeserver)s.", + "This user is spamming the room with ads, links to ads or to propaganda.\nThis will be reported to the room moderators.": "Pengguna ini spam ruangan dengan iklan, tautan ke iklan atau ke propaganda.\nIni akan dilaporkan ke moderator ruangan.", + "This user is displaying illegal behaviour, for instance by doxing people or threatening violence.\nThis will be reported to the room moderators who may escalate this to legal authorities.": "Pengguna ini menampilkan kelakuan yang ilegal, misalnya dengan doxing orang lain atau ancaman kekerasan.\nIni akan dilaporkan ke moderator ruangan yang mungkin melaporkannya juga ke otoritas hukum.", + "This user is displaying toxic behaviour, for instance by insulting other users or sharing adult-only content in a family-friendly room or otherwise violating the rules of this room.\nThis will be reported to the room moderators.": "Pengguna ini menampilkan kelakuan yang toxic, misalnya dengan menghina pengguna lain atau membagikan konten dewasa di ruangan ramah-keluarga atau merusak aturan ruangan.\nIni akan dilaporkan ke moderator ruangan.", + "What this user is writing is wrong.\nThis will be reported to the room moderators.": "Apa yang ditulis pengguna itu salah.\nIni akan dilaporkan ke moderator ruangan.", + "Please fill why you're reporting.": "Mohon isi kenapa Anda melaporkan.", + "Just a heads up, if you don't add an email and forget your password, you could permanently lose access to your account.": "Sekadar mengingatkan saja, jika Anda belum menambahkan sebuah email dan Anda lupa kata sandi, Anda mungkin dapat kehilangan akses ke akun Anda.", + "Minimise dialog": "Minimalkan dialog", + "Maximise dialog": "Maksimalkan dialog", + "%(hostSignupBrand)s Setup": "Pengaturan %(hostSignupBrand)s", + "You should know": "Anda seharusnya tahu", + "Terms of Service": "Persyaratan Layanan", + "Privacy Policy": "Kebijakan Privasi", + "Cookie Policy": "Kebijakan Cookie", + "Learn more in our , and .": "Pelajari lebih lanjut di , , dan .", + "Continuing temporarily allows the %(hostSignupBrand)s setup process to access your account to fetch verified email addresses. This data is not stored.": "Melanjutkan untuk sementara mengizinkan proses pengaturan %(hostSignupBrand)s untuk mengakses akun Anda untuk mendapatkan alamat-alamat email yang terverifikasi. Data ini tidak disimpan.", + "Failed to connect to your homeserver. Please close this dialog and try again.": "Gagal menghubungkan ke homeserver Anda. Mohon tutup dialog ini dan coba lagi.", + "Are you sure you wish to abort creation of the host? The process cannot be continued.": "Apakah Anda yakin untuk membatalkan pembuatan host? Proses ini tidak dapat dilanjutkan.", + "Confirm abort of host creation": "Konfirmasi pembatalan pembuatan host", + "You may contact me if you have any follow up questions": "Anda mungkin menghubungi saya jika Anda mempunyai pertanyaan lanjutan", + "Your platform and username will be noted to help us use your feedback as much as we can.": "Platform dan nama pengguna Anda akan dicatat untuk membantu kami menggunakan masukan Anda sebanyak yang kita bisa.", + "Thank you for your feedback, we really appreciate it.": "Terima kasih untuk masukan Anda, kami mengapresiasinya.", + "Search for rooms or people": "Cari ruangan atau orang", + "Message preview": "Tampilan pesan", + "Forward message": "Teruskan pesan", + "Open link": "Buka tautan", + "You don't have permission to do this": "Anda tidak memiliki izin untuk melakukannya", + "Send feedback": "Kirimkan masukan", + "Please view existing bugs on Github first. No match? Start a new one.": "Mohon lihat bug yang sudah ada di GitHub dulu. Tidak ada? Buat yang baru.", + "Report a bug": "Laporkan sebuah bug", + "PRO TIP: If you start a bug, please submit debug logs to help us track down the problem.": "Jika Anda membuat issue, silakan kirimkan log debug untuk membantu kami menemukan masalahnya.", + "There are two ways you can provide feedback and help us improve %(brand)s.": "Ada dua cara Anda dapat memberikan masukan dan membantu kami membuat %(brand)s lebih baik.", + "Add comment": "Tambahkan komentar", + "Please go into as much detail as you like, so we can track down the problem.": "Silakan masuk ke detail sebanyak yang Anda suka, sehingga kami dapat menemukan masalahnya.", + "Tell us below how you feel about %(brand)s so far.": "Beritahu kami apa yang Anda merasakan dengan %(brand)s sejauh ini.", + "Rate %(brand)s": "Nilai %(brand)s", + "Feedback sent": "Masukan terkirim", + "Include Attachments": "Tambahkan Lampiran", + "Size Limit": "Batas Ukuran", + "Select from the options below to export chats from your timeline": "Pilih dari opsi di bawah untuk mengekspor obrolan dari linimasa Anda", + "Export Chat": "Ekspor Obrolan", + "Exporting your data": "Mengekspor data Anda", + "Are you sure you want to stop exporting your data? If you do, you'll need to start over.": "Apakah Anda yakin Anda ingin menghentikan mengekspor data Anda? Jika iya, Anda harus mulai lagi dari awal.", + "Your export was successful. Find it in your Downloads folder.": "Ekspor Anda berhasil. Temukan di folder Unduhan Anda.", + "The export was cancelled successfully": "Ekspor berhasil dibatalkan", + "Export Successful": "Ekspor Berhasil", + "Number of messages": "Jumlah pesan", + "Number of messages can only be a number between %(min)s and %(max)s": "Jumlah pesan hanya boleh antara %(min)s dan %(max)s", + "Unable to query secret storage status": "Tidak dapat menanyakan status penyimpanan rahasia", + "Already have an account? Sign in here": "Sudah memiliki sebuah akun? Masuk di sini", + "%(ssoButtons)s Or %(usernamePassword)s": "%(ssoButtons)s Atau %(usernamePassword)s", + "Continue with %(ssoButtons)s": "Lanjutkan dengan %(ssoButtons)s", + "That e-mail address is already in use.": "Alamat email itu sudah dipakai.", + "Someone already has that username, please try another.": "Seseorang sudah memiliki nama pengguna itu, mohon coba yang lain.", + "This server does not support authentication with a phone number.": "Server ini tidak mendukung otentikasi dengan sebuah nomor telepon.", + "Registration has been disabled on this homeserver.": "Pendaftaran telah dinonaktifkan di homeserver ini.", + "Unable to query for supported registration methods.": "Tidak dapat menanyakan metode pendaftaran yang didukung.", + "New? Create account": "Baru? Buat akun", + "If you've joined lots of rooms, this might take a while": "Jika Anda bergabung banyak ruangan, ini mungkin membutuhkan beberapa waktu", + "Signing In...": "Memasuki...", + "There was a problem communicating with the homeserver, please try again later.": "Terjadi sebuah masalah berkomunikasi dengan homeservernya, coba lagi nanti.", + "This homeserver doesn't offer any login flows which are supported by this client.": "Homeserver ini tidak menawarkan aluran login apa saja yang didukung oleh klien ini.", + "Failed to perform homeserver discovery": "Gagal untuk melakukan penemuan homeserver", + "Please note you are logging into the %(hs)s server, not matrix.org.": "Mohon dicatat Anda akan masuk ke server %(hs)s, bukan matrix.org.", + "Incorrect username and/or password.": "Username dan/atau kata sandi salah.", + "This account has been deactivated.": "Akun ini telah dinonaktifkan.", + "Please contact your service administrator to continue using this service.": "Mohon hubungi administrator layanan Anda untuk melanjutkan menggunakan layanannya.", + "This homeserver does not support login using email address.": "Homeserver ini tidak mendukung login menggunakan alamat email.", + "Identity server URL does not appear to be a valid identity server": "URL server identitas terlihat bukan sebagai server identitas yang valid", + "Invalid base_url for m.identity_server": "base_url tidak valid untuk m.identity_server", + "Invalid identity server discovery response": "Respons penemuan server identitas tidak valid", + "Homeserver URL does not appear to be a valid Matrix homeserver": "URL homeserver sepertinya bukan sebagai homeserver Matrix yang valid", + "Invalid base_url for m.homeserver": "base_url tidak valid untuk m.homeserver", + "Failed to get autodiscovery configuration from server": "Gagal untuk mendapatkan konfigurasi penemuan otomatis dari server", + "Invalid homeserver discovery response": "Respons penemuan homeserver tidak valid", + "Set a new password": "Tetapkan kata sandi baru", + "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.": "Anda telah dikeluarkan dari semua sesi dan tidak akan mendapatkan notifikasi push. Untuk mengaktifkan ulang notifikasi, masuk lagi di setiap perangkat.", + "Your password has been reset.": "Kata sandi Anda telah diatur ulang.", + "I have verified my email address": "Saya telah memverifikasi alamat email saya", + "An email has been sent to %(emailAddress)s. Once you've followed the link it contains, click below.": "Sebuah email telah dikirim ke %(emailAddress)s. Setelah Anda mengikuti tautannya, klik di bawah.", + "Sign in instead": "Masuk saja", + "A verification email will be sent to your inbox to confirm setting your new password.": "Sebuah email verifikasi akan dikirim ke kotak masuk Anda untuk mengkonfirmasi mengatur kata sandi Anda yang baru.", + "New passwords must match each other.": "Kata sandi baru harus cocok.", + "The email address doesn't appear to be valid.": "Alamat email ini tidak terlihat valid.", + "The email address linked to your account must be entered.": "Alamat email yang tertaut ke akun Anda harus dimasukkan.", + "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.": "Mengubah kata sandi Anda akan mengatur ulang kunci enkripsi ujung-ke-ujung di semua sesi Anda, membuat sejarah obrolan terenkripsi tidak dapat dibaca. Siapkan Cadangan Kunci atau ekspor kunci ruangan Anda dari sesi lain sebelum mengatur ulang kata sandi Anda.", + "Skip verification for now": "Lewatkan verifikasi untuk sementara", + "Really reset verification keys?": "Benar-benar ingin mengatur ulang kunci-kunci verifikasi?", + "Session verified": "Sesi terverifikasi", + "Verify this login": "Verifikasi login ini", + "Unable to verify this login": "Tidak dapat memverifikasi login ini", + "Original event source": "Sumber peristiwa asli", + "Decrypted event source": "Sumber peristiwa terdekripsi", + "Could not load user profile": "Tidak dapat memuat profil pengguna", + "Currently joining %(count)s rooms|one": "Saat ini bergabung ke %(count)s ruangan", + "Currently joining %(count)s rooms|other": "Saat ini bergabung ke %(count)s ruangan", + "Community and user menu": "Komunitas dan menu pengguna", + "User menu": "Menu pengguna", + "Switch theme": "Ubah tema", + "Switch to dark mode": "Ubah ke mode gelap", + "Switch to light mode": "Ubah ke mode terang", + "User settings": "Pengaturan komunitas", + "Community settings": "Pengaturan komunitas", + "All settings": "Semua pengaturan", + "Security & privacy": "Keamanan & privasi", + "Notification settings": "Pengaturan notifikasi", + "New here? Create an account": "Baru di sini? Buat sebuah akun", + "Got an account? Sign in": "Punya sebuah akun? Masuk", + "Failed to find the general chat for this community": "Gagal untuk menemukan obrolan umum untuk komunitas ini", + "Uploading %(filename)s and %(count)s others|one": "Mengunggah %(filename)s dan %(count)s lainnya", + "Uploading %(filename)s and %(count)s others|other": "Mengunggah %(filename)s dan %(count)s lainnya", + "Failed to load timeline position": "Gagal untuk memuat posisi linimasa", + "Tried to load a specific point in this room's timeline, but was unable to find it.": "Mencoba memuat titik spesifik di linimasa ruangan ini, tetapi tidak dapat menemukannya.", + "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Mencoba memuat titik spesifik di linimasa ruangan ini, tetapi Anda tidak memiliki izin untuk menampilkan pesannya.", + "Show all threads": "Tampilkan semua utasan", + "Threads help you keep conversations on-topic and easily track them over time. Create the first one by using the \"Reply in thread\" button on a message.": "Utasan membantu Anda menjaga percakapan tetap sesuai topik dan dengan mudah melacaknya dari waktu ke waktu. Buat yang pertama dengan menggunakan tombol \"Balas di utasan\" pada pesan.", + "Keep discussions organised with threads": "Buat diskusi tetap teratur dengan utasan", + "Shows all threads from current room": "Menampilkan semua utasan di ruangan saat ini", + "All threads": "Semua utasan", + "Shows all threads you've participated in": "Menampilkan semua utasan yang Anda berpartisipasi", + "My threads": "Utasan saya", + "We'll create rooms for each of them. You can add more later too, including already existing ones.": "Kami akan membuat ruangan untuk masing-masing. Anda juga dapat menambahkan lebih banyak nanti, termasuk yang sudah ada.", + "What projects are your team working on?": "Proyek apa yang sedang dikerjakan tim Anda?", + "You can add more later too, including already existing ones.": "Anda juga dapat menambahkan lebih banyak nanti, termasuk yang sudah ada.", + "Let's create a room for each of them.": "Mari kita buat ruangan untuk masing-masing.", + "What are some things you want to discuss in %(spaceName)s?": "Apa saja yang Anda ingin bahas di %(spaceName)s?", + "Invite by username": "Undang dengan nama pengguna", + "This is an experimental feature. For now, new users receiving an invite will have to open the invite on to actually join.": "Ini adalah fitur eksperimental. Untuk sementara, pengguna yang mendapatkan undangan harus membuka undangannya di untuk benar-benar bergabung.", + "Make sure the right people have access. You can invite more later.": "Pastikan orang-orang tertentu mempunyai akses. Anda dapat mengundang lagi nanti.", + "Invite your teammates": "Undang tim Anda", + "Failed to invite the following users to your space: %(csvUsers)s": "Gagal untuk mengundang pengguna berikut ini ke space Anda: %(csvUsers)s", + "A private space for you and your teammates": "Sebuah space privat untuk Anda dan tim Anda", + "Me and my teammates": "Saya dan tim saya", + "A private space to organise your rooms": "Sebuah space privat untuk mengorganisir ruangan Anda", + "Just me": "Hanya saya saja", + "Make sure the right people have access to %(name)s": "Pastikan orang-orang tertentu punya akses ke %(name)s", + "Who are you working with?": "Dengan siapa Anda bekerja?", + "Go to my space": "Pergi ke space saya", + "Go to my first room": "Pergi ke ruangan pertama saya", + "Share %(name)s": "Bagikan %(name)s", + "Search for rooms or spaces": "Cari untuk ruangan atau space", + "Pick rooms or conversations to add. This is just a space for you, no one will be informed. You can add more later.": "Pilih ruangan atau percakapan untuk ditambahkan. Ini adalah hanya sebuah space untuk Anda, tidak ada siapa saja yang diberitahu. Anda dapat menambahkan lagi nanti.", + "What do you want to organise?": "Apa saja yang Anda ingin organisirkan?", + "Creating rooms...": "Membuat ruangan...", + "Skip for now": "Lewat untuk sementara", + "Failed to create initial space rooms": "Gagal membuat ruangan space awal", + "Room name": "Nama ruangan", + "Welcome to ": "Selamat datang di ", + "Created from ": "Dibuat dari ", + "To view %(spaceName)s, you need an invite": "Untuk menampilkan %(spaceName)s, Anda membutuhkan sebuah undangan", + " invites you": " mengundang Anda", + "Private space": "Space privat", + "Search names and descriptions": "Cari nama dan deskripsi", + "Rooms and spaces": "Ruangan dan space", + "You may want to try a different search or check for typos.": "Anda mungkin ingin mencoba pencarian yang berbeda atau periksa untuk typo.", + "No results found": "Tidak ada hasil yang ditemukan", + "Your server does not support showing space hierarchies.": "Server Anda tidak mendukung penampilan hierarki space.", + "Mark as suggested": "Tandai sebagai disarankan", + "Mark as not suggested": "Tandai sebagai tidak disarankan", + "Failed to remove some rooms. Try again later": "Gagal untuk menghapus beberapa ruangan. Coba lagi nanti", + "Select a room below first": "Pilih sebuah ruangan di bawah dulu", + "This room is suggested as a good one to join": "Ruangan ini disarankan sebagai ruangan yang baik untuk bergabung", + "You don't have permission": "Anda tidak memiliki izin", + "You have %(count)s unread notifications in a prior version of this room.|one": "Anda punya %(count)s notifikasi yang belum dibaca dalam versi sebelumnya dari ruangan ini.", + "You have %(count)s unread notifications in a prior version of this room.|other": "Anda punya %(count)s notifikasi yang belum dibaca dalam versi sebelumnya dari ruangan ini.", + "Drop file here to upload": "Lepaskan file di sini untuk mengunggah", + "Failed to reject invite": "Gagal untuk menolak undangan", + "No more results": "Tidak ada hasil lagi", + "Server may be unavailable, overloaded, or search timed out :(": "Server mungkin tidak tersedia, terlalu penuh, atau waktu pencarian habis :(", + "You seem to be in a call, are you sure you want to quit?": "Anda sepertinya masih berada di panggilan, apakah Anda yakin untuk keluar?", + "You seem to be uploading files, are you sure you want to quit?": "Anda sepertinya masih menunggah beberapa file, apakah Anda yakin untuk keluar?", + "Sent messages will be stored until your connection has returned.": "Pesan yang akan dikirim akan disimpan sampai koneksi Anda telah kembali.", + "Connectivity to the server has been lost.": "Koneksi ke server telah hilang.", + "You can select all or individual messages to retry or delete": "Anda dapat memilih semua atau beberapa pesan untuk dicoba lagi atau dihapus", + "Retry all": "Coba ulang semua", + "Delete all": "Hapus semua", + "Some of your messages have not been sent": "Beberapa pesan Anda tidak terkirim", + "Your message wasn't sent because this homeserver has exceeded a resource limit. Please contact your service administrator to continue using the service.": "Pesan Anda tidak terkirim karena homeserver ini melebihi sebuah batas sumber daya. Mohon hubungi administrator layanan Anda untuk melanjutkan menggunakan layanannya.", + "Your message wasn't sent because this homeserver has been blocked by it's administrator. Please contact your service administrator to continue using the service.": "Pesan Anda tidak terkirim karena homeserver ini telah diblokir oleh administratornya. Mohon hubungi administrator layanan Anda untuk melanjutkan menggunakan layanannya.", + "If you can't find the room you're looking for, ask for an invite or Create a new room.": "Jika Anda tidak dapat menemukan ruangan yang Anda cari, minta sebuah undangan atau Buat sebuah ruangan baru.", + "Your message wasn't sent because this homeserver has hit its Monthly Active User Limit. Please contact your service administrator to continue using the service.": "Pesan Anda tidak terkirim karena homesever ini telah mencapat batas Pengguna Aktif Bulanan. Mohon hubungi administrator layanan Anda untuk melanjutkan menggunakan layanannya.", + "You can't send any messages until you review and agree to our terms and conditions.": "Anda tidak dapat mengirimkan pesan apa saja sampai Anda lihat dan terima syarat dan ketentuan kami.", + "Filter rooms and people": "Filter ruangan dan orang", + "Filter all spaces": "Filter semua space", + "Explore rooms in %(communityName)s": "Jelajahi ruangan di %(communityName)s", + "Find a room… (e.g. %(exampleRoom)s)": "Cari sebuah ruangan... (mis. %(exampleRoom)s)", + "Find a room…": "Cari sebuah ruangan…", + "Try different words or check for typos. Some results may not be visible as they're private and you need an invite to join them.": "Coba kata-kata yang berbeda atau periksa untuk typo. Beberapa hasil mungkin tidak terlihat karena mereka privat dan membutuhkan undangan untuk bergabung.", + "No results for \"%(query)s\"": "Tidak ada hasil untuk \"%(query)s\"", + "delete the address.": "hapus alamatnya.", + "Delete the room address %(alias)s and remove %(name)s from the directory?": "Hapus alamat %(alias)s dan hapus %(name)s dari direktori?", + "The homeserver may be unavailable or overloaded.": "Homeserver mungkin tidak tersedia atau terlalu penuh.", + "%(brand)s failed to get the public room list.": "%(brand)s gagal untuk mendapatkan daftar ruangan publik.", + "%(brand)s failed to get the protocol list from the homeserver. The homeserver may be too old to support third party networks.": "%(brand)s gagal untuk mendapatkan daftar protokol dari homeservernya. Homeserver mungkin terlalu lama untuk mendukung jaringan pihak ketiga.", + "You have no visible notifications.": "Anda tidak memiliki notifikasi.", + "You're all caught up": "Anda selesai", + "Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Buat sebuah komunitas untuk mengelompokkan pengguna dan ruangan! Buat sebuah laman kustom untuk menandai tempat Anda di dunia Matrix.", + "Create a new community": "Buat sebuah komunitas baru", + "Error whilst fetching joined communities": "Terjadi kesalahan saat mendapatkan komunitas yang tergabung", + "You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Anda dapat klik pada avatar di panel filter kapan saja untuk hanya melihat ruangan dan orang-orang yang diasosiasikan dengan komunitasnya.", + "You can create a Space from this community here.": "Anda dapat membuat sebuah Space dari komunitas ini di sini.", + "Failed to add the following users to the summary of %(groupId)s:": "Gagal untuk menambahkan pengguna berikut ini ke kesimpulan %(groupId)s:", + "Did you know: you can use communities to filter your %(brand)s experience!": "Apakah Anda tahu: Anda dapat menggunakan komunitas untuk menyaringkan pengalaman %(brand)s Anda!", + "%(count)s messages deleted.|one": "%(count)s pesan dihapus.", + "%(count)s messages deleted.|other": "%(count)s pesan dihapus.", + "%(creator)s created and configured the room.": "%(creator)s membuat dan mengatur ruangan ini.", + "%(creator)s created this DM.": "%(creator)s membuat pesan langsung ini.", + "Verification requested": "Verifikasi diminta", + "Data from an older version of %(brand)s 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.": "Data dari %(brand)s versi lama telah terdeteksi. Ini akan menyebabkan kriptografi ujung-ke-ujung tidak berfungsi di versi yang lebih lama. Pesan terenkripsi secara ujung-ke-ujung yang dipertukarkan baru-baru ini saat menggunakan versi yang lebih lama mungkin tidak dapat didekripsi dalam versi ini. Ini juga dapat menyebabkan pesan yang dipertukarkan dengan versi ini gagal. Jika Anda mengalami masalah, keluar dan masuk kembali. Untuk menyimpan sejarah pesan, ekspor dan impor ulang kunci Anda.", + "Old cryptography data detected": "Data kriptografi lama terdeteksi", + "Review terms and conditions": "Lihat syarat dan ketentuan", + "To continue using the %(homeserverDomain)s homeserver you must review and agree to our terms and conditions.": "Untuk melanjutkan menggunakan homeserver %(homeserverDomain)s Anda harus lihat dan terima ke syarat dan ketentuan kami.", + "Terms and Conditions": "Syarat dan Ketentuan", + "For security, this session has been signed out. Please sign in again.": "Untuk keamanan, sesi ini telah dikeluarkan. Silakan masuk lagi.", + "Unable to copy a link to the room to the clipboard.": "Tidak dapat menyalin sebuah tautan ruangan ke papan klip.", + "Unable to copy room link": "Tidak dapat menyalin tautan ruangan", + "Are you sure you want to leave the space '%(spaceName)s'?": "Apakah Anda yakin untuk keluar dari space '%(spaceName)s'?", + "This room is not public. You will not be able to rejoin without an invite.": "Ruangan ini tidak publik. Anda tidak dapat bergabung lagi tanpa sebuah undangan.", + "This space is not public. You will not be able to rejoin without an invite.": "Space ini tidak publik. Anda tidak dapat bergabung lagi tanpa sebuah undangan.", + "You are the only person here. If you leave, no one will be able to join in the future, including you.": "Anda adalah satu-satunya di sini. Jika Anda keluar, tidak ada siapa saja dapat bergabung di masa mendatang, termasuk Anda.", + "You do not have permission to create rooms in this community.": "Anda tidak memiliki izin untuk membuat ruangan di komunitas ini.", + "Cannot create rooms in this community": "Tidak dapat membuat ruangan di komunitas ini", + "To join %(communityName)s, swap to communities in your preferences": "Untuk bergabung %(communityName)s, pindah ke komunitas di pengaturan Anda", + "To view %(communityName)s, swap to communities in your preferences": "Untuk menampilkan %(communityName)s, pindah ke komunitas di pengaturan Anda", + "Private community": "Komunitas privat", + "Public community": "Komunitas publik", + "Open dial pad": "Buka tombol penyetel", + "Upgrade to %(hostSignupBrand)s": "Tingkatkan ke %(hostSignupBrand)s", + "Create a Group Chat": "Buat sebuah Obrolan Grup", + "Explore Public Rooms": "Jelajahi Ruangan Publik", + "Send a Direct Message": "Kirimkan sebuah Pesan Langsung", + "Own your conversations.": "Miliki percakapan Anda.", + "Welcome to %(appName)s": "Selamat datang di %(appName)s", + "Now, let's help you get started": "Sekarang, mari bantu Anda memulai", + "Welcome %(name)s": "Selamat datang %(name)s", + "Add a photo so people know it's you.": "Tambahkan sebuah foto supaya orang-orang tahu bahwa itu Anda.", + "Great, that'll help people know it's you": "Hebat, itu akan membantu orang-orang tahu bahwa itu Anda", + "Failed to load %(groupId)s": "Gagal untuk memuat %(groupId)s", + "This homeserver does not support communities": "Homeserver ini tidak mendukung komunitas", + "Community %(groupId)s not found": "Komunitas %(groupId)s tidak ditemukan", + "Long Description (HTML)": "Deskripsi Panjang (HTML)", + "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!": "Komunitas Anda belum mendapatkan Deskripsi Panjang, sebuah halaman HTML untuk menampilkan anggota komunitas.
Klik di sini untuk menambahkannya!", + "Only people who have been invited": "Hanya orang-orang yang telah diundang", + "Who can join this community?": "Siapa saja yang dapat bergabung komunitas ini?", + "You are a member of this community": "Anda adalah anggota di komunitas ini", + "You are an administrator of this community": "Anda adalah administrator di komunitas ini", + "Leave this community": "Keluar dari komunitas ini", + "Join this community": "Bergabung komunitas ini", + "%(inviter)s has invited you to join this community": "%(inviter)s telah mengundang Anda untuk bergabung ke komunitas ini", + "These rooms are displayed to community members on the community page. Community members can join the rooms by clicking on them.": "Ruangan ini ditampilkan ke anggota komunitas di halaman komunitas. Anggota komunitas dapat bergabung ke ruangannya dengan mengklik pada ruangannya.", + "Communities won't receive further updates.": "Komunitas tidak akan mendapatkan pembaruan lagi.", + "Spaces are a new way to make a community, with new features coming.": "Space adalah cara baru untuk membuat sebuah komunitas, dengan fitur-fitur baru mendatang.", + "Communities can now be made into Spaces": "Komunitas sekarang dapat diubah ke Space", + "Ask the admins of this community to make it into a Space and keep a look out for the invite.": "Tanyakan admin komunitas ini untuk mengubahnya ke sebuah Space dan pantau terus undangannya.", + "Changes made to your community name and avatar might not be seen by other users for up to 30 minutes.": "Perubahan yang dibuat pada nama dan avatar komunitas Anda mungkin tidak terlihat oleh pengguna lain hingga 30 menit.", + "Want more than a community? Get your own server": "Ingin lebih dari sekadar komunitas? Dapatkan server Anda sendiri", + "Unable to leave community": "Tidak dapat keluar dari komunitas", + "You are an administrator of this community. You will not be able to rejoin without an invite from another administrator.": "Anda adalah administrator di komunitas ini. Anda tidak dapat bergabung lagi tanpa sebuah undangan dari administrator yang lain.", + "Unable to join community": "Tidak dapat bergabung komunitas", + "Unable to accept invite": "Tidak dapat menerima undangan", + "Failed to update community": "Gagal untuk memperbarui komunitas", + "Failed to upload image": "Gagal untuk mengunggah gambar", + "The user '%(displayName)s' could not be removed from the summary.": "Pengguna '%(displayName)s' tidak dapat dihilangkan dari kesimpulan.", + "Failed to remove a user from the summary of %(groupId)s": "Gagal untuk menghilangkan sebuah pengguna dari kesimpulan %(groupId)s", + "Add a User": "Tambahkan sebuah Pengguna", + "Who would you like to add to this summary?": "Siapa saja yang Anda ingin tambah ke kesimpulan ini?", + "Add users to the community summary": "Tambahkan pengguna ke kesimpulan komunitas", + "The room '%(roomName)s' could not be removed from the summary.": "Ruangan '%(roomName)s' tidak dapat dihilangkan dari kesimpulan.", + "Failed to remove the room from the summary of %(groupId)s": "Gagal untuk menghilangkan ruangan dari kesimpulan %(groupId)s", + "Add a Room": "Tambahkan sebuah Ruangan", + "Failed to add the following rooms to the summary of %(groupId)s:": "Gagal untuk menambahkan ruangan berikut ini ke kesimpulan %(groupId)s:", + "Add to summary": "Tambahkan ke kesimpulan", + "Which rooms would you like to add to this summary?": "Ruangan apa saja yang Anda ingin tambahkan ke kesimpulan ini?", + "Add rooms to the community summary": "Tambahkan ruangan ke kesimpulan komunitas", + "Use email or phone to optionally be discoverable by existing contacts.": "Gunakan email atau nomor telepon untuk dapat ditemukan oleh kontak yang sudah ada secara opsional.", + "

HTML for your community's page

\n

\n Use the long description to introduce new members to the community, or distribute\n some important links\n

\n

\n You can even add images with Matrix URLs \n

\n": "

HTML untuk halaman komunitas Anda

\n

\n Gunakan deskripsi panjang untuk memperkenalkan anggota baru ke komunitas, atau mendistribusikan\n beberapa tautan penting\n

\n

\n Anda bahkan dapat menambahkan gambar-gambar dengan URL Matrix \n

\n", + "Create community": "Buat komunitas", + "Attach files from chat or just drag and drop them anywhere in a room.": "Lampirkan file atau tarik dan lepaskan di mana saja ke ruangan.", + "No files visible in this room": "Tidak ada file di ruangan ini", + "You must join the room to see its files": "Anda harus bergabung ruangannya untuk melihat file-filenya", + "You must register to use this functionality": "Anda harus mendaftar untuk menggunakan kegunaan ini", + "Couldn't load page": "Tidak dapat memuat halaman", + "Error downloading audio": "Terjadi kesalahan mengunduh audio", + "Unnamed audio": "Audio tidak dinamai", + "Sign in with SSO": "Masuk dengan SSO", + "Use email to optionally be discoverable by existing contacts.": "Gunakan email untuk dapat ditemukan oleh kontak yang sudah ada secara opsional.", + "Add an email to be able to reset your password.": "Tambahkan sema email untuk dapat mengatur ulang kata sandi Anda.", + "Someone already has that username. Try another or if it is you, sign in below.": "Seseorang sudah memiliki nama pengguna itu. Coba yang lain atau jika itu Anda, masuk di bawah.", + "Use lowercase letters, numbers, dashes and underscores only": "Gunakan huruf kecil, angka, tanda hubung, dan garis bawah saja", + "Enter phone number (required on this homeserver)": "Masukkan nomor telepon (diperlukan di homeserver ini)", + "Other users can invite you to rooms using your contact details": "Pengguna lain dapat mengundang Anda ke ruangan menggunakan detail kontak Anda", + "Enter email address (required on this homeserver)": "Masukkan alamat email (diperlukan di homeserver ini)", + "Use an email address to recover your account": "Gunakan sebuah alamat email untuk memulihkan akun Anda", + "Forgot password?": "Lupa kata sandi?", + "That phone number doesn't look quite right, please check and try again": "Nomor teleponnya tidak terlihat benar, mohon periksa dan coba lagi", + "Enter phone number": "Masukkan nomor telepon", + "Password is allowed, but unsafe": "Kata sandi diperbolehkan, tetapi tidak aman", + "Nice, strong password!": "Bagus, kata sandinya kuat!", + "Something went wrong in confirming your identity. Cancel and try again.": "Ada sesuatu yang salah saat mengkonfirmasi identitas Anda. Batalkan dan coba lagi.", + "Please enter the code it contains:": "Silakan masukkan kode yang berisi:", + "A text message has been sent to %(msisdn)s": "Sebuah pesan teks telah dikirim ke %(msisdn)s", + "A confirmation email has been sent to %(emailAddress)s": "Sebuah email konfirmasi telah dikirim ke %(emailAddress)s", + "Open the link in the email to continue registration.": "Buka tautan di email untuk melanjutkan pendaftaran.", + "Please review and accept the policies of this homeserver:": "Mohon lihat dan terima semua kebijakan homeserver ini:", + "Please review and accept all of the homeserver's policies": "Mohon lihat dan terima semua kebijakan homeserver ini", + "Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Tidak ada kunci publik captcha di konfigurasi homeserver. Mohon melaporkannya ke administrator homeserver Anda.", + "Confirm your identity by entering your account password below.": "Konfirmasi identitas Anda dengan memasukkan kata sandi akun Anda di bawah.", + "Doesn't look like a valid email address": "Kelihatannya bukan sebuah alamat email yang valid", + "Enter email address": "Masukkan alamat email", + "Country Dropdown": "Dropdown Negara", + "This homeserver would like to make sure you are not a robot.": "Homeserver ini memastikan Anda bahwa Anda bukan sebuah robot.", + "User Status": "Status Pengguna", + "This room is public": "Ruangan ini publik", + "Join the beta": "Bergabung ke beta", + "Leave the beta": "Tinggalkan beta", + "Tap for more info": "Ketuk untuk informasi lebih lanjut", + "Spaces is a beta feature": "Space adalah fitur beta", + "Move right": "Pindah ke kanan", + "Move left": "Pindah ke kiri", + "Revoke permissions": "Cabut izin", + "Remove for everyone": "Hapus untuk semuanya", + "Deleting a widget removes it for all users in this room. Are you sure you want to delete this widget?": "Menghapus sebuah widget menghapusnya untuk semua pengguna di ruangan ini. Apakah Anda yakin untuk menghapus widget ini?", + "Take a picture": "Ambil foto", + "Unable to start audio streaming.": "Tidak dapat memulai penyiaran audio.", + "Start audio stream": "Mulai penyiaran audio", + "Failed to start livestream": "Gagal untuk memulai siaran langsung", + "Copy link to thread": "Salin tautan ke utasan", + "Thread options": "Opsi utasan", + "Move down": "Pindah ke bawah", + "Move up": "Pindah ke atas", + "Set a new status...": "Tetapkan status baru...", + "Manage & explore rooms": "Kelola & jelajahi ruangan", + "Add space": "Tambahkan space", + "See room timeline (devtools)": "Lihat linimasa ruangan (alat pengembang)", + "Copy link": "Salin tautan", + "Mentions only": "Sebutan saja", + "Forget": "Lupakan", + "View in room": "Tampilkan di ruangan", + "Collapse reply thread": "Tutup balasan utasan", + "Show preview": "Buka tampilan", + "View source": "Tampilkan sumber", + "Resend %(unsentCount)s reaction(s)": "Kirim ulang %(unsentCount)s reaksi", + "Unable to reject invite": "Tidak dapat menolak undangan", + "If you've forgotten your Security Key you can ": "Jika Anda lupa Kunci Keamanan, Anda dapat ", + "Access your secure message history and set up secure messaging by entering your Security Key.": "Akses sejarah pesan aman Anda dan siapkan perpesanan aman dengan memasukkan Kunci Keamanan Anda.", + "Warning: You should only set up key backup from a trusted computer.": "Peringatan: Anda seharusnya menyiapkan cadangan kunci di komputer yang dipercayai.", + "Not a valid Security Key": "Bukan Kunci Keamanan yang valid", + "This looks like a valid Security Key!": "Ini sepertinya Kunci Keamanan yang valid!", + "Enter Security Key": "Masukkan Kunci Keamanan", + "If you've forgotten your Security Phrase you can use your Security Key or set up new recovery options": "Jika Anda lupa Frasa Keamanan, Anda dapat menggunakan Kunci Keamanan Anda atau siapkan opsi pemulihan baru", + "Access your secure message history and set up secure messaging by entering your Security Phrase.": "Akses sejarah pesan aman Anda dan siapkan perpesanan aman dengan memasukkan Frasa Keamanan Anda.", + "Warning: you should only set up key backup from a trusted computer.": "Peringatan: Anda seharusnya menyiapkan cadangan kunci di komputer yang dipercayai.", + "Enter Security Phrase": "Masukkan Frasa Keamanan", + "Successfully restored %(sessionCount)s keys": "Berhasil memulihkan %(sessionCount)s kunci", + "Failed to decrypt %(failedCount)s sessions!": "Gagal untuk mendekripsi %(failedCount)s sesi!", + "Keys restored": "Kunci-kunci terpulihkan", + "No backup found!": "Tidak ada cadangan yang ditemukan!", + "Unable to restore backup": "Tidak dapat memulihkan cadangan", + "Backup could not be decrypted with this Security Phrase: please verify that you entered the correct Security Phrase.": "Cadangan tidak dapat didekripsikan dengan Frasa Keamanan ini: mohon periksa jika Anda memasukkan Frasa Keamanan yang benar.", + "Incorrect Security Phrase": "Frasa Keamanan tidak benar", + "Backup could not be decrypted with this Security Key: please verify that you entered the correct Security Key.": "Cadangan tidak dapat didekripsikan dengan Kunci Keamanan ini: mohon periksa jika Anda memasukkan Kunci Keamanan yang benar.", + "Security Key mismatch": "Kunci Keamanan tidak cocok", + "Unable to load backup status": "Tidak dapat memuat status cadangan", + "%(completed)s of %(total)s keys restored": "%(completed)s dari %(total)s kunci dipulihkan", + "Fetching keys from server...": "Mendapatkan kunci-kunci dari server...", + "Restoring keys from backup": "Memulihkan kunci-kunci dari cadangan", + "Unable to set up keys": "Tidak dapat mengatur kunci-kunci", + "Click the button below to confirm setting up encryption.": "Klik tombol di bawah untuk mengkonfirmasi menyiapkan enkripsi.", + "Confirm encryption setup": "Konfirmasi pengaturan enkripsi", + "Clear cross-signing keys": "Hapus kunci-kunci penandatanganan silang", + "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.": "Menghapus kunci penandatanganan silang itu permanen. Siapa saja yang Anda verifikasi akan melihat peringatan keamanan. Anda hampir pasti tidak ingin melakukan ini, kecuali jika Anda kehilangan setiap perangkat yang dapat digunakan untuk melakukan penandatanganan silang.", + "Destroy cross-signing keys?": "Hancurkan kunci-kunci penandatanganan silang?", + "Use your Security Key to continue.": "Gunakan Kunci Keamanan Anda untuk melanjutkan.", + "Security Key": "Kunci Keamanan", + "Enter your Security Phrase or to continue.": "Masukkan Frasa Keamanan Anda atau untuk melanjutkan.", + "Unable to access secret storage. Please verify that you entered the correct Security Phrase.": "Tidak dapat mengakses penyimpanan rahasia. Periksa jika Anda memasukkan Frasa Keamanan yang benar.", + "Security Phrase": "Frasa Keamanan", + "If you reset everything, you will restart with no trusted sessions, no trusted users, and might not be able to see past messages.": "Jika Anda mengatur ulang semuanya, Anda dengan mulai ulang dengan tidak ada sesi yang dipercayai, tidak ada pengguna yang dipercayai, dan mungkin tidak dapat melihat pesan-pesan lama.", + "Only do this if you have no other device to complete verification with.": "Hanya lakukan ini jika Anda tidak memiliki perangkat yang lain untuk menyelesaikan verifikasi.", + "Reset everything": "Atur ulang semuanya", + "Forgotten or lost all recovery methods? Reset all": "Lupa atau kehilangan semua metode pemulihan? Atur ulang semuanya", + "Invalid Security Key": "Kunci Keamanan tidak valid", + "Wrong Security Key": "Kunci Keamanan salah", + "Looks good!": "Kelihatannya bagus!", + "Wrong file type": "Tipe file salah", + "Remember this": "Ingat ini", + "The widget will verify your user ID, but won't be able to perform actions for you:": "Widget ini akan memverifikasi ID pengguna Anda, tetapi tidak dapat melakukan aksi untuk Anda:", + "Allow this widget to verify your identity": "Izinkan widget ini untuk memverifikasi identitas Anda", + "Remember my selection for this widget": "Ingat pilihan saya untuk widget ini", + "Decline All": "Tolak Semua", + "This widget would like to:": "Widget ini ingin:", + "Approve widget permissions": "Setujui izin widget", + "Verification Request": "Permintaan Verifikasi", + "Verify other login": "Verifikasi login lainnya", + "Store your Security Key somewhere safe, like a password manager or a safe, as it's used to safeguard your encrypted data.": "Simpan Kunci Keamanan Anda di tempat yang aman, seperti manajer sandi atau sebuah brankas, yang digunakan untuk mengamankan data terenkripsi Anda.", + "Enter a security phrase only you know, as it's used to safeguard your data. To be secure, you shouldn't re-use your account password.": "Masukkan frasa keamanan yang hanya Anda tahu, yang digunakan untuk mengamankan data Anda. Supaya aman, jangan menggunakan ulang kata sandi akun Anda.", + "Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Tingkatkan sesi ini untuk mengizinkan memverifikasi sesi lainnya, memberikan akses ke pesan terenkripsi dan menandainya sebagai terpercaya untuk pengguna lain.", + "You'll need to authenticate with the server to confirm the upgrade.": "Anda harus mengotentikasi dengan servernya untuk mengkonfirmasi peningkatannya.", + "Restore your key backup to upgrade your encryption": "Pulihkan cadangan kunci Anda untuk meningkatkan enkripsi Anda", + "Enter your account password to confirm the upgrade:": "Masukkan kata sandi akun Anda untuk mengkonfirmasi peningkatannya:", + "Safeguard against losing access to encrypted messages & data by backing up encryption keys on your server.": "Amankan dari kehilangan akses ke pesan & data terenkripsi dengan mencadangkan kunci enkripsi ke server Anda.", + "Use a secret phrase only you know, and optionally save a Security Key to use for backup.": "Gunakan frasa rahasia yang hanya Anda tahu, dan simpan sebuah Kunci Keamanan untuk menggunakannya untuk cadangan secara opsional.", + "We'll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": "Kami akan membuat sebuah Kunci Keamanan untuk Anda simpan di tempat yang aman, seperti manajer sandi atau brankas.", + "Generate a Security Key": "Buat sebuah Kunci Keamanan", + "Unable to create key backup": "Tidak dapat membuat cadangan kunci", + "Create key backup": "Buat cadangan kunci", + "Make a copy of your Security Key": "Buat sebuah salinan dari Kunci Keamanan Anda", + "Confirm your Security Phrase": "Konfirmasi Frasa Keamanan Anda", + "Secure your backup with a Security Phrase": "Amankan pesan Anda dengan Frasa Keamanan", + "Set up Secure Message Recovery": "Siapkan Pemulihan Pesan Aman", + "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.": "Tanpa menyiapkan Pemulihan Pesan Aman, Anda tidak dapat memulihkan sejarah pesan terenkripsi Anda jika Anda keluar atau menggunakan sesi lain.", + "Your keys are being backed up (the first backup could take a few minutes).": "Kunci Anda sedang dicadangkan (cadangan pertama mungkin membutuhkan beberapa menit).", + "Copy it to your personal cloud storage": "Salin ke penyimpanan awan personal Anda", + "Save it on a USB key or backup drive": "Simpan di flashdisk USB atau drive cadangan", + "Print it and store it somewhere safe": "Cetak dan simpan di tempat yang aman", + "Your Security Key is in your Downloads folder.": "Kunci Keamanan Anda berada di folder Unduhan Anda.", + "Your Security Key has been copied to your clipboard, paste it to:": "Kunci Keamanan Anda telah di salin ke papan klip Anda, tempelkan ke:", + "Your Security Key": "Kunci Keamanan Anda", + "Keep a copy of it somewhere secure, like a password manager or even a safe.": "Simpan sebuah salinan di tempat yang aman, seperti manajer sandi atau bahkan brankas.", + "Your Security Key is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase.": "Kunci Keamanan Anda itu seperti jaring pengaman - Anda dapat menggunakannya untuk memulihkan akses ke pesan terenkripsi Anda jika Anda lupa Frasa Keamanan Anda.", + "Repeat your Security Phrase...": "Ulangi Frasa Keamanan Anda...", + "Enter your Security Phrase a second time to confirm it.": "Masukkan Frasa Keamanan sekali lagi untuk mengkonfirmasinya.", + "Go back to set it again.": "Pergi kembali untuk menyiapkannya lagi.", + "We'll store an encrypted copy of your keys on our server. Secure your backup with a Security Phrase.": "Kami akan menyimpan salinan kunci-kunci Anda yang terenkripsi di server kami. Amankan cadangan Anda dengan sebuah Frasa Keamanan.", + "It's just you at the moment, it will be even better with others.": "Hanya Anda sendiri yang ada saat ini, akan lebih baik jika dengan orang lain.", + "To join this Space, hide communities in your preferences": "Untuk bergabung Space ini, sembunyikan komunitas di preferensi Anda", + "To view this Space, hide communities in your preferences": "Untuk menampilkan Space ini, sembunyikan komunitas di preferensi Anda", + "That doesn't match.": "Itu tidak cocok.", + "Use a different passphrase?": "Gunakan frasa sandi yang berbeda?", + "Set up with a Security Key": "Siapkan dengan Kunci Keamanan", + "Great! This Security Phrase looks strong enough.": "Hebat! Frasa Keamanan ini kelihatannya kuat.", + "Enter a Security Phrase": "Masukkan sebuah Frasa Keamanan", + "For maximum security, this should be different from your account password.": "Untuk keamanan maksimal, ini seharusnya beda dengan kata sandi akun Anda.", + "User Autocomplete": "Penyelesaian Pengguna Otomatis", + "Space Autocomplete": "Penyelesaian Space Otomatis", + "Room Autocomplete": "Penyelesaian Ruangan Otomatis", + "Notification Autocomplete": "Penyelesaian Notifikasi Otomatis", + "Notify the whole room": "Beritahu seluruh ruangan", + "Command Autocomplete": "Penyelesaian Perintah Otomatis", + "Community Autocomplete": "Penyelesaian Komunitas Otomatis", + "Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.": "Peringatan: Data personal Anda (termasuk kunci enkripsi) masih disimpan di sesi ini. Hapus jika Anda selesai menggunakan sesi ini, atau jika ingin masuk ke akun yang lain.", + "Clear personal data": "Hapus data personal", + "You're signed out": "Anda dikeluarkan", + "You cannot sign in to your account. Please contact your homeserver admin for more information.": "Anda tidak dapat masuk ke akun Anda. Mohon hubungi admin homeserver untuk informasi lanjut.", + "Enter your password to sign in and regain access to your account.": "Masukkan kata sandi Anda untuk masuk dan mendapatkan kembali akses ke akun Anda.", + "Sign in and regain access to your account.": "Masuk dan dapatkan kembali akses ke akun Anda.", + "Forgotten your password?": "Lupa kata sandi Anda?", + "Regain access to your account and recover encryption keys stored in this session. Without them, you won't be able to read all of your secure messages in any session.": "Dapatkan kembali akses ke akun Anda dan pulihkan kunci enkripsi yang disimpan dalam sesi ini. Tanpa mereka, Anda tidak akan dapat membaca semua pesan aman Anda di sesi mana saja.", + "Failed to re-authenticate": "Gagal untuk mengotentikasi ulang", + "Failed to re-authenticate due to a homeserver problem": "Gagal untuk mengotentikasi ulang karena masalah homeserver", + "Please only proceed if you're sure you've lost all of your other devices and your security key.": "Hanya lanjutkan jika Anda yakin Anda telah kehilangan semua perangkat lainnya dan kunci keamanan Anda.", + "Resetting your verification keys cannot be undone. After resetting, you won't have access to old encrypted messages, and any friends who have previously verified you will see security warnings until you re-verify with them.": "Mengatur ulang kunci verifikasi Anda tidak dapat dibatalkan. Setelah mengatur ulang, Anda tidak akan memiliki akses ke pesan terenkripsi lama, dan semua orang yang sebelumnya telah memverifikasi Anda akan melihat peringatan keamanan sampai Anda memverifikasi ulang dengan mereka.", + "I'll verify later": "Saya verifikasi nanti", + "Verify your identity to access encrypted messages and prove your identity to others.": "Verifikasi identitas Anda untuk mengakses pesan-pesan terenkripsi Anda dan buktikan identitas Anda kepada lainnya.", + "Without verifying, you won't have access to all your messages and may appear as untrusted to others.": "Tanpa memverifikasi, Anda tidak akan memiliki akses ke semua pesan Anda dan tampak tidak dipercayai kepada lainnya.", + "Your new session is now verified. Other users will see it as trusted.": "Sesi baru Anda sekarang telah diverifikasi. Pengguna lain akan melihatnya sebagai tepercaya.", + "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Sesi baru Anda sekarang telah diverifikasi. Ini memiliki akses ke pesan terenkripsi Anda, dan pengguna lain akan melihatnya sebagai tepercaya.", + "Verify with another login": "Verifikasi dengan login lainnya", + "Verify with Security Key": "Verifikasi dengan Kunci Keamanan", + "Verify with Security Key or Phrase": "Verifikasi dengan Kunci Keamanan atau Frasa", + "Proceed with reset": "Lanjutkan dengan mengatur ulang", + "It looks like you don't have a Security Key or any other devices you can verify against. This device will not be able to access old encrypted messages. In order to verify your identity on this device, you'll need to reset your verification keys.": "Sepertinya Anda tidak memiliki Kunci Keamanan atau perangkat lainnya yang Anda dapat gunakan untuk memverifikasi. Perangkat ini tidak dapat mengakses ke pesan terenkripsi lama. Untuk membuktikan identitas Anda, kunci verifikasi harus diatur ulang.", + "Decide where your account is hosted": "Putuskan dimana untuk menghost akun Anda", + "Host account on": "Host akun di", + "You can now close this window or log in to your new account.": "Anda dapat menutup jendela ini atau masuk ke akun yang baru.", + "Log in to your new account.": "Masuk ke akun yang baru.", + "Continue with previous account": "Lanjutkan dengan akun sebelumnya", + "Your new account (%(newAccountId)s) is registered, but you're already logged into a different account (%(loggedInUserId)s).": "Akun Anda yang baru (%(newAccountId)s) telah didaftarkan, tetapi Anda telah masuk ke akun yang lain (%(loggedInUserId)s).", + "Upload %(count)s other files|one": "Unggah %(count)s file lainnya", + "Upload %(count)s other files|other": "Unggah %(count)s file lainnya", + "Some files are too large to be uploaded. The file size limit is %(limit)s.": "Beberapa file terlalu besar untuk diunggah. Batas ukuran unggahan file adalah %(limit)s.", + "These files are too large to upload. The file size limit is %(limit)s.": "File-file ini terlalu besar untuk diunggah. Batas ukuran unggahan file adalah %(limit)s.", + "This file is too large to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "File ini terlalu besar untuk diunggah. Batas ukuran unggahan file adalah %(limit)s tetapi file ini %(sizeOfThisFile)s.", + "Upload files (%(current)s of %(total)s)": "Mengunggah file (%(current)s dari %(total)s)", + "Interactively verify by Emoji": "Verifikasi dengan emoji secara interaktif", + "Manually Verify by Text": "Verifikasi Secara Manual dengan Teks", + "Not Trusted": "Tidak Dipercayai", + "Ask this user to verify their session, or manually verify it below.": "Tanyakan pengguna ini untuk memverifikasi sesinya, atau verifikasi secara manual di bawah.", + "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) masuk ke sesi yang baru tanpa memverifikasinya:", + "Verify your other session using one of the options below.": "Verifikasi sesi Anda lainnya dengan menggunakan salah satu pilihan di bawah.", + "You signed in to a new session without verifying it:": "Anda masuk ke sesi baru tanpa memverifikasinya:", + "To continue you need to accept the terms of this service.": "Untuk melanjutkan Anda harus menerima persyaratan layanan ini.", + "Use bots, bridges, widgets and sticker packs": "Gunakan bot, jembatan, widget, dan paket stiker", + "Be found by phone or email": "Temukan oleh lainnya melalui ponsel atau email", + "Find others by phone or email": "Temukan lainnya melalui ponsel atau email", + "Integration manager": "Manajer integrasi", + "Your browser likely removed this data when running low on disk space.": "Kemungkinan browser Anda menghapus datanya ketika ruang disk rendah.", + "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Beberapa data sesi, termasuk kunci pesan terenkripsi, hilang. Keluar dan masuk lagi untuk memperbaikinya, memulihkan kunci-kunci dari cadangan.", + "Missing session data": "Data sesi hilang", + "To help us prevent this in future, please send us logs.": "Untuk membantu kami mencegahnya di masa mendatang, silakan kirimkan kami log.", + "Settings - %(spaceName)s": "Pengaturan - %(spaceName)s", + "Space settings": "Pengaturan space", + "Command Help": "Bantuan Perintah", + "Link to selected message": "Tautan ke pesan yang dipilih", + "Share Room Message": "Bagikan Pesan Ruangan", + "Link to most recent message": "Tautan ke pesan terkini", + "This will allow you to reset your password and receive notifications.": "Ini akan mengizinkan Anda untuk mengatur ulang kata sandi Anda dan menerima notifikasi.", + "Please check your email and click on the link it contains. Once this is done, click continue.": "Mohon periksa email Anda dan klik tautannya. Setelah itu, klik lanjut.", + "Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Menghapus penyimpanan browser Anda mungkin memperbaiki masalahnya, tetapi akan mengeluarkan Anda dan membuat sejarah obrolan tidak dapat dibaca.", + "If you have previously used a more recent version of %(brand)s, your session may be incompatible with this version. Close this window and return to the more recent version.": "Jika Anda sebelumnya menggunakan versi %(brand)s yang lebih baru, sesi Anda mungkin tidak kompatibel dengan versi ini. Tutup jendela ini dan kembali ke versi yang lebih baru.", + "We encountered an error trying to restore your previous session.": "Kami mengalami sebuah kesalahan saat memulihkan sesi Anda sebelumnya.", + "Unable to restore session": "Tidak dapat memulihkan sesi", + "Clear Storage and Sign Out": "Hapus Penyimpanan dan Keluar", + "Sign out and remove encryption keys?": "Keluar dan hapus kunci-kunci enkripsi?", + "Reset event store": "Atur ulang penyimpanan peristiwa", + "If you do, please note that none of your messages will be deleted, but the search experience might be degraded for a few moments whilst the index is recreated": "Jika Anda mau, dicatat bahwa pesan-pesan Anda tidak dihapus, tetapi pengalaman pencarian mungkin terdegradasi untuk beberapa saat indeksnya sedang dibuat ulang", + "You most likely do not want to reset your event index store": "Kemungkinan besar Anda tidak ingin mengatur ulang penyimpanan indeks peristiwa Anda", + "Reset event store?": "Atur ulang penyimanan peristiwa?", + "About homeservers": "Tentang homeserver-homeserver", + "Continuing without email": "Melanjutkan tanpa email", + "Data on this screen is shared with %(widgetDomain)s": "Data di layar ini dibagikan dengan %(widgetDomain)s", + "Modal Widget": "Widget Modal", + "Message edits": "Editan pesan", + "Your homeserver doesn't seem to support this feature.": "Homeserver Anda sepertinya tidak mendukung fitur ini.", + "Verify session": "Verifikasi sesi", + "If they don't match, the security of your communication may be compromised.": "Jika mereka tidak cocok, keamanan komunikasi Anda mungkin dikompromikan.", + "Session key": "Kunci sesi", + "Session name": "Nama sesi", + "Confirm this user's session by comparing the following with their User Settings:": "Konfirmasi sesi pengguna ini dengan membandingkan berikut ini dengan Pengaturan Pengguna:", + "Confirm by comparing the following with the User Settings in your other session:": "Konfirmasi dengan membandingkan berikut ini dengan Pengaturan Pengguna di sesi Anda yang lain:", + "These are likely ones other room admins are a part of.": "Ini kemungkinan adalah bagian dari admin ruangan lain.", + "Other spaces or rooms you might not know": "Space atau ruangan lainnya yang Anda mungkin tidak tahu", + "Spaces you know that contain this room": "Space yang Anda tahu yang berisi ruangan ini", + "Search spaces": "Cari space", + "Decide which spaces can access this room. If a space is selected, its members can find and join .": "Tentukan space mana yang dapat mengakses ruangan ini. Jika sebuah space dipilih, anggotanya dapat menemukan dan bergabung .", + "Select spaces": "Pilih space", + "You're removing all spaces. Access will default to invite only": "Anda menghilangkan semua space. Akses secara default ke undangan saja", + "%(count)s rooms|one": "%(count)s ruangan", + "%(count)s rooms|other": "%(count)s ruangan", + "%(count)s members|one": "%(count)s anggota", + "%(count)s members|other": "%(count)s anggota", + "Are you sure you want to sign out?": "Apakah Anda yakin ingin keluar?", + "You'll lose access to your encrypted messages": "Anda akan kehilangan akses ke pesan terenkripsi Anda", + "Manually export keys": "Ekspor kunci secara manual", + "I don't want my encrypted messages": "Saya tidak ingin pesan-pesan terenkripsi saya", + "Start using Key Backup": "Mulai menggunakan Cadangan Kunci", + "Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Pesan terenkripsi diamankan dengan enkripsi ujung-ke-ujung. Hanya Anda dan penerima punya kuncinya untuk membaca pesan-pesan ini.", + "Leave space": "Tinggalkan space", + "Leave some rooms": "Tinggalkan beberapa ruangan", + "Leave all rooms": "Tinggalkan semua ruangan", + "Don't leave any rooms": "Jangan tinggalkan ruangan apa pun", + "Would you like to leave the rooms in this space?": "Apakah Anda ingin keluar dari ruangan-ruangan di space ini?", + "You are about to leave .": "Anda akan keluar dari .", + "Leave %(spaceName)s": "Tinggalkan %(spaceName)s", + "You're the only admin of some of the rooms or spaces you wish to leave. Leaving them will leave them without any admins.": "Anda adalah satu-satunya admin di beberapa ruangan atau space yang ingin Anda tinggalkan. Meninggalkan mereka akan meninggalkan mereka tanpa admin.", + "You're the only admin of this space. Leaving it will mean no one has control over it.": "Anda adalah satu-satu admin di space ini. Meninggalkannya akan berarti tidak ada siapa saja yang dapat melakukan apa-apa di spacenya.", + "You won't be able to rejoin unless you are re-invited.": "Anda tidak dapat bergabung lagi kecuali jika Anda diundang lagi.", + "Updating %(brand)s": "Memperbarui %(brand)s", + "%(brand)s now uses 3-5x less memory, by only loading information about other users when needed. Please wait whilst we resynchronise with the server!": "%(brand)s sekarang menggunakan memori 3-5x kecil dari sebelumnya dengan hanya memuat informasi tentang pengguna lain jika dibutuhkan. Mohon tunggu selagi kita mengsinkronisasi ulang dengan servernya!", + "Clear cache and resync": "Hapus cache dan sinkron ulang", + "Incompatible local cache": "Cache lokal tidak kompatibel", + "If the other version of %(brand)s is still open in another tab, please close it as using %(brand)s on the same host with both lazy loading enabled and disabled simultaneously will cause issues.": "Jika versi %(brand)s yang lain masih terbuka di tab yang lain, mohon menutupnya karena menggunakan %(brand)s di host yang sama dengan pemuatan malas diaktifkan dan dinonaktifkan secara bersamaan akan mengakibatkan masalah.", + "You've previously used %(brand)s on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, %(brand)s needs to resync your account.": "Anda sebelumnya menggunakan %(brand)s di %(host)s dengan pemuatan malas pengguna diaktifkan. Di versi ini pemuatan malas dinonaktifkan. Karena cache lokal tidak kompatibel antara dua pengaturan ini, %(brand)s harus mengsinkronisasi ulang akun Anda.", + "Signature upload failed": "Unggahan tandatangan gagal", + "Signature upload success": "Unggahan tandatangan berhasil", + "Unable to upload": "Tidak dapat mengunggah", + "Cancelled signature upload": "Unggahan tandatangan dibatalkan", + "Upload completed": "Unggahan selesai", + "%(brand)s encountered an error during upload of:": "%(brand)s mengalami sebuah kesalahan ketika mengunggah unggahan:", + "a key signature": "sebuah tandatangan kunci", + "a device cross-signing signature": "sebuah tandatangan penandatanganan silang perangkat", + "a new cross-signing key signature": "sebuah tandatangan kunci penandatanganan silang baru", + "a new master key signature": "sebuah tandatangan kunci utama baru", + "Dial pad": "Tombol penyetel", + "User Directory": "Direktori Pengguna", + "Consult first": "Konsultasi dulu", + "Invited people will be able to read old messages.": "Orang-orang yang diundang dapat membaca pesan-pesan lama.", + "Invite someone using their name, username (like ) or share this room.": "Undang seseorang menggunakan namanya, nama pengguna (seperti ) atau bagikan ruangan ini.", + "Invite someone using their name, email address, username (like ) or share this room.": "Undang seseorang menggunakan namanya, alamat email, nama pengguna (seperti ) atau bagikan ruangan ini.", + "Invite someone using their name, username (like ) or share this space.": "Undang seseorang menggunakan namanya, nama pengguna (seperti ) atau bagikan space ini.", + "Invite someone using their name, email address, username (like ) or share this space.": "Undang seseorang menggunakan namanya, alamat email, nama pengguna (seperti ) atau bagikan space ini.", + "Invite to %(roomName)s": "Undang ke %(roomName)s", + "Unnamed Space": "Space Tidak Dinamai", + "Or send invite link": "Atau kirim tautan undangan", + "If you can't see who you're looking for, send them your invite link below.": "Jika Anda tidak dapat menemukan siapa yang Anda mencari, kirimkan tautan undangan Anda di bawah.", + "Some suggestions may be hidden for privacy.": "Beberapa saranan mungkin disembunyikan untuk privasi.", + "This won't invite them to %(communityName)s. To invite someone to %(communityName)s, click here": "Ini tidak akan mengundangnya ke %(communityName)s. Untuk mengundang seseorang ke %(communityName)s, klik di sini", + "Start a conversation with someone using their name, email address or username (like ).": "Mulai sebuah obrolan dengan sesorang menggunakan namanya, alamat email atau nama pengguna (seperti ).", + "Start a conversation with someone using their name or username (like ).": "Mulai sebuah obrolan dengan seseorang menggunakan namanya atau nama pengguna (seperti ).", + "Recently Direct Messaged": "Pesan Langsung Kini", + "May include members not in %(communityName)s": "Mungkin berisi anggota bukan di %(communityName)s", + "Recent Conversations": "Obrolan Kini", + "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Pengguna berikut ini mungkin tidak ada atau tidak valid, dan tidak dapat diundang: %(csvNames)s", + "Failed to find the following users": "Gagal untuk mencari pengguna berikut ini", + "A call can only be transferred to a single user.": "Sebuah panggilan dapat dipindah ke sebuah pengguna.", + "We couldn't invite those users. Please check the users you want to invite and try again.": "Kami tidak dapat mengundang penggunanya. Mohon periksa pengguna yang Anda ingin undang dan coba lagi.", + "Something went wrong trying to invite the users.": "Ada sesuatu yang salah ketika mengundang penggunanya.", + "We couldn't create your DM.": "Kami tidak dapat membuat pesan langsung Anda.", + "Invite by email": "Undang melalui email", + "Click the button below to confirm your identity.": "Klik tombol di bawah untuk mengkonfirmasi identitas Anda.", + "Confirm to continue": "Konfirmasi untuk melanjutkan", + "To continue, use Single Sign On to prove your identity.": "Untuk melanjutkan, gunakan Single Sign On untuk membuktikan identitas Anda.", + "Your %(brand)s doesn't allow you to use an integration manager to do this. Please contact an admin.": "%(brand)s Anda tidak mengizinkan Anda menggunakan sebuah manajer integrasi untuk melakukan ini. Mohon hubungi sebuah admin.", + "Integrations not allowed": "Integrasi tidak diperbolehkan", + "Enable 'Manage Integrations' in Settings to do this.": "Aktifkan 'Kelola Integrasi' di Pengaturan untuk melakukan ini.", + "Integrations are disabled": "Integrasi dinonaktifkan", + "Incoming Verification Request": "Permintaan Verifikasi Masuk", + "Waiting for partner to confirm...": "Menunggu pengguna lain untuk mengkonfirmasi...", + "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Memverifikasi perangkat ini akan menandainya sebagai terpercaya, dan pengguna yang telah diverifikasi dengan Anda akan mempercayai perangkat ini.", + "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.": "Verifikasi perangkat ini untuk menandainya sebagai terpercaya. Mempercayai perangkat ini akan memberikan Anda dan pengguna lain ketenangan saat menggunakan pesan-pesan terenkripsi secara ujung-ke-ujung.", + "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Memverifikasi pengguna ini akan menandai sesinya sebagai terpercaya, dan juga menandai sesi Anda sebagai terpercaya kepadanya.", + "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Verifikasi pengguna ini untuk menandainya sebagai terpercaya. Mempercayai pengguna memberikan Anda ketenangan saat menggunakan pesan-pesan terenkripsi secara ujung-ke-ujung.", + "Based on %(count)s votes|one": "Berdasarkan oleh %(count)s suara", + "Based on %(count)s votes|other": "Berdasarkan oleh %(count)s suara", + "%(count)s votes|one": "%(count)s suara", + "%(count)s votes|other": "%(count)s suara", + "%(spaceName)s and %(count)s others|one": "%(spaceName)s dan %(count)s lainnya", + "%(spaceName)s and %(count)s others|zero": "%(spaceName)s", + "%(spaceName)s and %(count)s others|other": "%(spaceName)s dan %(count)s lainnya", + "Jump to room search": "Pergi ke pencarian ruangan", + "Search (must be enabled)": "Cari (harus diaktifkan)", + "Upload a file": "Unggah sebuah file", + "Jump to oldest unread message": "Pergi ke pesan paling lama yang belum dibaca", + "Dismiss read marker and jump to bottom": "Abaikan penanda baca dan pergi ke bawah", + "Scroll up/down in the timeline": "Gulir atas/bawah di linimasa", + "Toggle video on/off": "Nyalakan/matikan video", + "Toggle microphone mute": "Bisukan/suarakan mikrofon", + "Cancel replying to a message": "Batalkan membalas ke pesan", + "Navigate composer history": "Navigasi sejarah komposer", + "Jump to start/end of the composer": "Pergi ke awal/akhir komposer", + "Navigate recent messages to edit": "Navigasi pesan kini untuk diedit", + "Toggle Quote": "Kutip", + "Toggle Italics": "Italic", + "Toggle Bold": "Tebal", + "New line": "Baris baru", + "Alt Gr": "Alt Gr", + "Room List": "Daftar Ruangan", + "Message downloading sleep time(ms)": "Lama tidur pengunduhan pesan (md)", + "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s dari %(totalRooms)s", + "Indexed rooms:": "Ruangan terindeks:", + "Indexed messages:": "Pesan terindeks:", + "Space used:": "Ruangan terpakai:", + "%(brand)s is securely caching encrypted messages locally for them to appear in search results:": "%(brand)s men-cache pesan terenkripsi secara lokal supaya dapat muncul di hasil pencarian dengan aman:", + "Currently indexing: %(currentRoom)s": "Saat ini mengindeks: %(currentRoom)s", + "Not currently indexing messages for any room.": "Tidak mengindeks pesan saat ini untuk ruangan apa saja.", + "If disabled, messages from encrypted rooms won't appear in search results.": "Jika dinonaktifkan, pesan dari ruangan terenkripsi tidak akan muncul di hasil pencarian.", + "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.": "Jika Anda tidak menghapus metode pemulihan, sebuah penyerang mungkin mencoba mengakses akun Anda. Ubah kata sandi akun Anda dan segera tetapkan metode pemulihan baru di Pengaturan.", + "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.": "Jika Anda melakukan ini secara tidak sengaja, Anda dapat mengatur Pesan Aman pada sesi ini yang akan mengenkripsi ulang sejarah pesan sesi ini dengan metode pemulihan baru.", + "This session has detected that your Security Phrase and key for Secure Messages have been removed.": "Sesi ini telah mendeteksi bahwa Frasa Keamanan dan kunci untuk Pesan Aman Anda telah dihapus.", + "Recovery Method Removed": "Metode Pemulihan Dihapus", + "Set up Secure Messages": "Siapkan Pesan Aman", + "Go to Settings": "Pergi ke Pengaturan", + "This session is encrypting history using the new recovery method.": "Sesi ini mengenkripsi sejarah menggunakan metode pemulihan yang baru.", + "If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Jika Anda tidak menyetel metode pemulihan yang baru, sebuah penyerang mungkin mencoba mengakses akun Anda. Ubah kata sandi akun Anda dan segera tetapkan metode pemulihan yang baru di Pengaturan.", + "A new Security Phrase and key for Secure Messages have been detected.": "Sebuah Frasa Keamanan dan kunci untuk Pesan Aman telah terdeteksi.", + "New Recovery Method": "Metode Pemulihan Baru", + "File to import": "File untuk diimpor", + "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "File yang diekspor akan dilindungi dengan sebuah frasa sandi. Anda harus memasukkan frasa sandinya di sini untuk mendekripsi filenya.", + "This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "Proses ini memungkinkan Anda untuk mengimpor kunci enkripsi yang sebelumnya telah Anda ekspor dari klien Matrix lain. Anda kemudian akan dapat mendekripsi pesan apa saja yang dapat didekripsi oleh klien lain.", + "Import room keys": "Impor kunci ruangan", + "The exported file will allow anyone who can read it to decrypt any encrypted messages that you can see, so you should be careful to keep it secure. To help with this, you should enter a passphrase below, which will be used to encrypt the exported data. It will only be possible to import the data by using the same passphrase.": "File yang diekspor akan memungkinkan siapa saja yang dapat membacanya untuk mendekripsi semua pesan terenkripsi yang dapat Anda lihat, jadi Anda harus berhati-hati untuk menjaganya tetap aman. Untuk mengamankannya, Anda harus memasukkan frasa sandi di bawah ini, yang akan digunakan untuk mengenkripsi data yang diekspor. Impor data hanya dapat dilakukan dengan menggunakan frasa sandi yang sama.", + "This process allows you to export the keys for messages you have received in encrypted rooms to a local file. You will then be able to import the file into another Matrix client in the future, so that client will also be able to decrypt these messages.": "Proses ini memungkinkan Anda untuk mengekspor kunci untuk pesan yang Anda terima di ruangan terenkripsi ke file lokal. Anda kemudian dapat mengimpor file ke klien Matrix lain di masa mendatang, sehingga klien juga dapat mendekripsi pesan ini.", + "Export room keys": "Ekspor kunci ruangan", + "Passphrase must not be empty": "Frasa sandi harus tidak kosong", + "Passphrases must match": "Frasa sandi harus cocok", + "Unable to set up secret storage": "Tidak dapat menyiapkan penyimpanan rahasia", + "Page Down": "Page Down", + "Page Up": "Page Up", + "Cancel autocomplete": "Batalkan penyelesaian otomatis", + "Move autocomplete selection up/down": "Pindah seleksi penyelesaian otomatis atas/bawah", + "Go to Home View": "Pergi ke Tampilan Beranda", + "Toggle this dialog": "Alihkan dialog ini", + "Toggle right panel": "Buka/tutup panel kanan", + "Activate selected button": "Aktivasi tombol yang dipilih", + "Close dialog or context menu": "Tutup dialog atau menu konteks", + "Toggle the top left menu": "Alihkan menu kiri atas", + "Previous/next room or DM": "Ruangan atau pesan langsung sebelumnya/berikutnya", + "Previous/next unread room or DM": "Ruangan atau pesan langsung sebelumnya/berikutnya yang belum dibaca", + "Clear room list filter field": "Bersihkan kolom filter daftar ruangan", + "Expand room list section": "Buka bagian daftar ruangan", + "Collapse room list section": "Tutup bagian daftar ruangan", + "Select room from the room list": "Pilih ruangan dari daftar ruangan", + "Navigate up/down in the room list": "Navigasi atas/bawah di daftar ruangan", + "Sorry, the poll you tried to create was not posted.": "Maaf, poll yang Anda buat tidak dapat dikirim.", + "Failed to post poll": "Gagal untuk mengirim poll", + "Sorry, your vote was not registered. Please try again.": "Maaf, suara Anda tidak didaftarkan. Silakan coba lagi.", + "Vote not registered": "Suara tidak didaftarkan", + "Developer": "Pengembang", + "Experimental": "Eksperimental", + "Message Previews": "Tampilan Pesaan", + "Themes": "Tema", + "Moderation": "Moderasi", + "Messaging": "Perpesanan", + "Save your Security Key": "Simpan Kunci Keamanan Anda", + "Confirm Security Phrase": "Konfirmasi Frasa Keamanan", + "Set a Security Phrase": "Atur sebuah Frasa Keamanan", + "Upgrade your encryption": "Tingkatkan enkripsi Anda", + "You can also set up Secure Backup & manage your keys in Settings.": "Anda juga dapat menyiapkan Cadangan Aman & kelola kunci Anda di Pengaturan.", + "If you cancel now, you may lose encrypted messages & data if you lose access to your logins.": "Jika Anda batalkan sekarang, Anda mungkin kehilangan pesan & data terenkripsi jika Anda kehilangan akses ke login Anda.", + "Pin to sidebar": "Pasang pin ke bilah samping", + "Quick settings": "Pengaturan cepat", + "Spaces you know that contain this space": "Space yang Anda tahu yang berisi space ini", + "Chat": "Chat" } diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index ff206d2552d..07927390daf 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -3352,5 +3352,33 @@ "Get notified only with mentions and keywords as set up in your settings": "Ricevi notifiche solo per menzioni e parole chiave come configurato nelle tue impostazioni", "@mentions & keywords": "@menzioni e parole chiave", "Get notified for every message": "Ricevi notifiche per ogni messaggio", - "Get notifications as set up in your settings": "Ricevi notifiche come configurato nelle tue impostazioni" + "Get notifications as set up in your settings": "Ricevi notifiche come configurato nelle tue impostazioni", + "Close this widget to view it in this panel": "Chiudi questo widget per vederlo in questo pannello", + "Unpin this widget to view it in this panel": "Sblocca questo widget per vederlo in questo pannello", + "Maximise widget": "Espandi widget", + "sends rainfall": "invia pioggia", + "Sends the given message with rainfall": "Invia il messaggio in questione con pioggia", + "Large": "Grande", + "Image size in the timeline": "Dimensione immagine nella linea temporale", + "%(senderName)s has updated the room layout": "%(senderName)s ha aggiornato la disposizione della stanza", + "Based on %(count)s votes|one": "Basato su %(count)s voto", + "Based on %(count)s votes|other": "Basato su %(count)s voti", + "%(count)s votes|one": "%(count)s voto", + "%(count)s votes|other": "%(count)s voti", + "%(spaceName)s and %(count)s others|one": "%(spaceName)s e altri %(count)s", + "%(spaceName)s and %(count)s others|zero": "%(spaceName)s", + "%(spaceName)s and %(count)s others|other": "%(spaceName)s e altri %(count)s", + "Sorry, the poll you tried to create was not posted.": "Spiacenti, il sondaggio che hai provato a creare non è stato inviato.", + "Failed to post poll": "Invio del sondaggio fallito", + "Sorry, your vote was not registered. Please try again.": "Spiacenti, il tuo voto non è stato registrato. Riprova.", + "Vote not registered": "Voto non registrato", + "Developer": "Sviluppatore", + "Experimental": "Sperimentale", + "Messaging": "Messaggi", + "Themes": "Temi", + "Message Previews": "Anteprime messaggi", + "Moderation": "Moderazione", + "Spaces you know that contain this space": "Spazi di cui sai che contengono questo spazio", + "Pin to sidebar": "Fissa nella barra laterale", + "Quick settings": "Impostazioni rapide" } diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json index d8d691891c1..8363f01f80d 100644 --- a/src/i18n/strings/nl.json +++ b/src/i18n/strings/nl.json @@ -1050,7 +1050,7 @@ "To help us prevent this in future, please send us logs.": "Stuur ons uw logs om dit in de toekomst te helpen voorkomen.", "Missing session data": "Sessiegegevens ontbreken", "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Sommige sessiegegevens, waaronder sleutels voor versleutelde berichten, ontbreken. Herstel de sleutels uit uw back-up door u af- en weer aan te melden.", - "Your browser likely removed this data when running low on disk space.": "Uw browser heeft deze gegevens wellicht verwijderd toen de beschikbare opslagruimte vol was.", + "Your browser likely removed this data when running low on disk space.": "Uw browser heeft deze gegevens wellicht verwijderd toen de beschikbare opslagSpace vol was.", "Upload files (%(current)s of %(total)s)": "Bestanden versturen (%(current)s van %(total)s)", "Upload files": "Bestanden versturen", "Upload": "Versturen", @@ -1658,7 +1658,7 @@ "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.": "Als u dit per ongeluk heeft gedaan, kunt u beveiligde berichten op deze sessie instellen, waarmee de berichtgeschiedenis van deze sessie opnieuw zal versleuteld worden aan de hand van een nieuwe herstelmethode.", "Disable": "Uitschakelen", "%(brand)s is securely caching encrypted messages locally for them to appear in search results:": "%(brand)s bewaart versleutelde berichten veilig in het lokale cachegeheugen om ze in uw zoekresultaten te laten verschijnen:", - "Space used:": "Gebruikte ruimte:", + "Space used:": "Gebruikte Space:", "Indexed messages:": "Geïndexeerde berichten:", "Message downloading sleep time(ms)": "Wachttijd voor downloaden van berichten (ms)", "Mark all as read": "Alles markeren als gelezen", @@ -2087,9 +2087,9 @@ "Fill Screen": "Scherm vullen", "Voice Call": "Spraakoproep", "Video Call": "Video-oproep", - "sends snowfall": "Stuur sneeuwvlokken", - "sends confetti": "verstuurt confetti", - "sends fireworks": "Stuur vuurwerk", + "sends snowfall": "stuurt sneeuwval", + "sends confetti": "stuurt confetti", + "sends fireworks": "stuurt vuurwerk", "Downloading logs": "Logs downloaden", "Uploading logs": "Logs uploaden", "Use Ctrl + Enter to send a message": "Gebruik Ctrl + Enter om een bericht te sturen", @@ -2218,7 +2218,7 @@ "Expand code blocks by default": "Standaard codeblokken uitvouwen", "Show stickers button": "Stickers-knop tonen", "Offline encrypted messaging using dehydrated devices": "Offline versleutelde berichten met gebruik van uitgedroogde apparaten", - "Show message previews for reactions in DMs": "Berichtvoorbeelden tonen voor reacties in DM's", + "Show message previews for reactions in DMs": "Berichtvoorbeelden voor reacties in directe chats tonen", "Communities v2 prototypes. Requires compatible homeserver. Highly experimental - use with caution.": "Gemeenschappen v2 prototypes. Vereist een compatibele homeserver. Zeer experimenteel - gebruik met voorzichtigheid.", "Safeguard against losing access to encrypted messages & data": "Beveiliging tegen verlies van toegang tot versleutelde berichten en gegevens", "Set up Secure Backup": "Beveiligde back-up instellen", @@ -2345,7 +2345,7 @@ "Page Down": "Page Down", "Esc": "Esc", "Enter": "Enter", - "Space": "Ruimte", + "Space": "Space", "Ctrl": "Ctrl", "Super": "Super", "Shift": "Shift", @@ -2578,9 +2578,9 @@ "%(peerName)s held the call": "%(peerName)s heeft de oproep in de wacht", "You held the call Resume": "U heeft een oproep in de wacht Hervat", "You held the call Switch": "U heeft een oproep in de wacht Wissel", - "Sends the given message with snowfall": "Verstuur het bericht met sneeuwval", - "Sends the given message with fireworks": "Verstuur het bericht met vuurwerk", - "Sends the given message with confetti": "Verstuur het bericht met confetti", + "Sends the given message with snowfall": "Stuurt het bericht met sneeuwval", + "Sends the given message with fireworks": "Stuurt het bericht met vuurwerk", + "Sends the given message with confetti": "Stuurt het bericht met confetti", "IRC display name width": "Breedte IRC-weergavenaam", "Enable experimental, compact IRC style layout": "Compacte IRC-layout inschakelen (in ontwikkeling)", "Minimize dialog": "Dialoog minimaliseren", @@ -2624,67 +2624,67 @@ "Inviting...": "Uitnodigen...", "Invite by username": "Op inlognaam uitnodigen", "Invite your teammates": "Uw teamgenoten uitnodigen", - "Failed to invite the following users to your space: %(csvUsers)s": "Het uitnodigen van de volgende personen voor uw ruimte is mislukt: %(csvUsers)s", + "Failed to invite the following users to your space: %(csvUsers)s": "Het uitnodigen van de volgende personen voor uw Space is mislukt: %(csvUsers)s", "A private space for you and your teammates": "Een privéruimte voor u en uw teamgenoten", "Me and my teammates": "Ik en mijn teamgenoten", "Who are you working with?": "Met wie werkt u samen?", "Creating rooms...": "Kamers aanmaken...", "Skip for now": "Voorlopig overslaan", - "Failed to create initial space rooms": "Het maken van de ruimte kamers is mislukt", + "Failed to create initial space rooms": "Het maken van de Space kamers is mislukt", "Room name": "Kamernaam", "Support": "Ondersteuning", "Random": "Willekeurig", "Welcome to ": "Welkom in ", "%(count)s members|other": "%(count)s personen", "%(count)s members|one": "%(count)s persoon", - "Your server does not support showing space hierarchies.": "Uw server heeft geen ondersteuning voor het weergeven van ruimte-indelingen.", + "Your server does not support showing space hierarchies.": "Uw server heeft geen ondersteuning voor het weergeven van Space-indelingen.", "Your message wasn't sent because this homeserver has been blocked by it's administrator. Please contact your service administrator to continue using the service.": "Uw bericht is niet verstuurd, omdat deze homeserver is geblokkeerd door zijn beheerder. Gelieve contact op te nemen met uw beheerder om de dienst te blijven gebruiken.", - "Are you sure you want to leave the space '%(spaceName)s'?": "Weet u zeker dat u de ruimte '%(spaceName)s' wilt verlaten?", - "This space is not public. You will not be able to rejoin without an invite.": "Deze ruimte is niet publiek. Zonder uitnodiging zult u niet opnieuw kunnen toetreden.", + "Are you sure you want to leave the space '%(spaceName)s'?": "Weet u zeker dat u de Space '%(spaceName)s' wilt verlaten?", + "This space is not public. You will not be able to rejoin without an invite.": "Deze Space is niet publiek. Zonder uitnodiging zult u niet opnieuw kunnen toetreden.", "Start audio stream": "Audiostream starten", "Failed to start livestream": "Starten van livestream is mislukt", "Unable to start audio streaming.": "Kan audiostream niet starten.", "Save Changes": "Wijzigingen opslaan", "Saving...": "Opslaan...", - "Leave Space": "Ruimte verlaten", - "Failed to save space settings.": "Het opslaan van de ruimte-instellingen is mislukt.", - "Space settings": "Ruimte-instellingen", - "Edit settings relating to your space.": "Bewerk instellingen gerelateerd aan uw ruimte.", - "Invite someone using their name, username (like ) or share this space.": "Nodig iemand uit per naam, inlognaam (zoals ) of deel deze ruimte.", - "Invite someone using their name, email address, username (like ) or share this space.": "Nodig iemand uit per naam, e-mail, inlognaam (zoals ) of deel deze ruimte.", - "Unnamed Space": "Naamloze ruimte", + "Leave Space": "Space verlaten", + "Failed to save space settings.": "Het opslaan van de Space-instellingen is mislukt.", + "Space settings": "Space-instellingen", + "Edit settings relating to your space.": "Bewerk instellingen gerelateerd aan uw Space.", + "Invite someone using their name, username (like ) or share this space.": "Nodig iemand uit per naam, inlognaam (zoals ) of deel deze Space.", + "Invite someone using their name, email address, username (like ) or share this space.": "Nodig iemand uit per naam, e-mail, inlognaam (zoals ) of deel deze Space.", + "Unnamed Space": "Naamloze Space", "Invite to %(spaceName)s": "Voor %(spaceName)s uitnodigen", "Create a new room": "Nieuwe kamer aanmaken", - "Spaces": "Ruimtes", - "Space selection": "Ruimte-selectie", - "You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the space it will be impossible to regain privileges.": "U kunt deze wijziging niet ongedaan maken, omdat u uzelf rechten ontneemt. Als u de laatste bevoegde persoon in de ruimte bent zal het onmogelijk zijn om weer rechten te krijgen.", + "Spaces": "Spaces", + "Space selection": "Space-selectie", + "You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the space it will be impossible to regain privileges.": "U kunt deze wijziging niet ongedaan maken, omdat u uzelf rechten ontneemt. Als u de laatste bevoegde persoon in de Space bent zal het onmogelijk zijn om weer rechten te krijgen.", "Empty room": "Lege kamer", "Suggested Rooms": "Kamersuggesties", - "You do not have permissions to add rooms to this space": "U hebt geen toestemming om kamers toe te voegen in deze ruimte", + "You do not have permissions to add rooms to this space": "U hebt geen toestemming om kamers toe te voegen in deze Space", "Add existing room": "Bestaande kamers toevoegen", - "You do not have permissions to create new rooms in this space": "U hebt geen toestemming om kamers te maken in deze ruimte", + "You do not have permissions to create new rooms in this space": "U hebt geen toestemming om kamers te maken in deze Space", "Send message": "Bericht versturen", - "Invite to this space": "Voor deze ruimte uitnodigen", + "Invite to this space": "Voor deze Space uitnodigen", "Your message was sent": "Uw bericht is verstuurd", "Encrypting your message...": "Uw bericht versleutelen...", "Sending your message...": "Uw bericht versturen...", "Spell check dictionaries": "Spellingscontrole woordenboeken", - "Space options": "Ruimte-opties", - "Leave space": "Ruimte verlaten", + "Space options": "Space-opties", + "Leave space": "Space verlaten", "Invite people": "Personen uitnodigen", - "Share your public space": "Deel uw publieke ruimte", + "Share your public space": "Deel uw publieke Space", "Share invite link": "Deel uitnodigingskoppeling", "Click to copy": "Klik om te kopiëren", - "Collapse space panel": "Ruimte-paneel invouwen", - "Expand space panel": "Ruimte-paneel uitvouwen", + "Collapse space panel": "Space-paneel invouwen", + "Expand space panel": "Space-paneel uitvouwen", "Creating...": "Aanmaken...", - "Your private space": "Uw privéruimte", - "Your public space": "Uw publieke ruimte", + "Your private space": "Uw privé Space", + "Your public space": "Uw publieke Space", "Invite only, best for yourself or teams": "Alleen op uitnodiging, geschikt voor uzelf of teams", "Private": "Privé", - "Open space for anyone, best for communities": "Publieke ruimte voor iedereen, geschikt voor gemeenschappen", + "Open space for anyone, best for communities": "Publieke Space voor iedereen, geschikt voor gemeenschappen", "Public": "Publiek", - "Create a space": "Ruimte maken", + "Create a space": "Space maken", "Delete": "Verwijderen", "This homeserver has been blocked by it's administrator.": "Deze homeserver is geblokkeerd door zijn beheerder.", "This homeserver has been blocked by its administrator.": "Deze homeserver is geblokkeerd door uw beheerder.", @@ -2692,14 +2692,14 @@ "You're already in a call with this person.": "U bent al een oproep met deze persoon.", "We'll create rooms for each of them. You can add more later too, including already existing ones.": "We zullen voor elk een kamer maken. U kunt er later meer toevoegen, inclusief al bestaande kamers.", "Make sure the right people have access. You can invite more later.": "Controleer of de juiste personen toegang hebben. U kunt later meer personen uitnodigen.", - "A private space to organise your rooms": "Een privéruimte om uw kamers te organiseren", + "A private space to organise your rooms": "Een privé Space om uw kamers te organiseren", "Just me": "Alleen ik", "Make sure the right people have access to %(name)s": "Controleer of de juiste personen toegang hebben tot %(name)s", "Go to my first room": "Ga naar mijn eerste kamer", "It's just you at the moment, it will be even better with others.": "Het is alleen u op dit moment, het zal nog beter zijn met anderen.", "Share %(name)s": "Deel %(name)s", - "Private space": "Privéruimte", - "Public space": "Publieke ruimte", + "Private space": "Privé Space", + "Public space": "Publieke Space", " invites you": " nodigt u uit", "You may want to try a different search or check for typos.": "U kunt een andere zoekterm proberen of controleren op een typefout.", "No results found": "Geen resultaten gevonden", @@ -2777,11 +2777,11 @@ "View all %(count)s members|other": "Bekijk alle %(count)s personen", "Failed to send": "Verzenden is mislukt", "Enter your Security Phrase a second time to confirm it.": "Voor uw veiligheidswachtwoord een tweede keer in om het te bevestigen.", - "Pick rooms or conversations to add. This is just a space for you, no one will be informed. You can add more later.": "Kies een kamer of gesprek om hem toe te voegen. Dit is een ruimte voor u, niemand zal hiervan een melding krijgen. U kan er later meer toevoegen.", + "Pick rooms or conversations to add. This is just a space for you, no one will be informed. You can add more later.": "Kies een kamer of gesprek om hem toe te voegen. Dit is een Space voor u, niemand zal hiervan een melding krijgen. U kan er later meer toevoegen.", "What do you want to organise?": "Wat wilt u organiseren?", - "Filter all spaces": "Alle ruimtes filteren", - "%(count)s results in all spaces|one": "%(count)s resultaat in alle ruimtes", - "%(count)s results in all spaces|other": "%(count)s resultaten in alle ruimtes", + "Filter all spaces": "Alle Spaces filteren", + "%(count)s results in all spaces|one": "%(count)s resultaat in alle Spaces", + "%(count)s results in all spaces|other": "%(count)s resultaten in alle Spaces", "You have no ignored users.": "U heeft geen persoon genegeerd.", "Play": "Afspelen", "Pause": "Pauze", @@ -2791,7 +2791,7 @@ "Leave the beta": "Beta verlaten", "Beta": "Beta", "Tap for more info": "Klik voor meer info", - "Spaces is a beta feature": "Ruimtes zijn in beta", + "Spaces is a beta feature": "Spaces zijn in beta", "Want to add a new room instead?": "Wilt u anders een nieuwe kamer toevoegen?", "Adding rooms... (%(progress)s out of %(count)s)|one": "Kamer toevoegen...", "Adding rooms... (%(progress)s out of %(count)s)|other": "Kamers toevoegen... (%(progress)s van %(count)s)", @@ -2805,10 +2805,10 @@ "Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. Learn more.": "Zin in een experiment? Labs is de beste manier om nieuwe functies vroeg te krijgen, testen en helpen vormen voordat ze daadwerkelijk worden gelanceerd. Lees meer.", "Your access token gives full access to your account. Do not share it with anyone.": "Uw toegangstoken geeft u toegang to uw account. Deel hem niet met anderen.", "Access Token": "Toegangstoken", - "Please enter a name for the space": "Vul een naam in voor deze ruimte", + "Please enter a name for the space": "Vul een naam in voor deze Space", "Connecting": "Verbinden", "Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "Peer-to-peer voor 1op1 oproepen toestaan (als u dit inschakelt kunnen andere personen mogelijk uw ipadres zien)", - "Spaces are a new way to group rooms and people.": "Ruimtes zijn de nieuwe manier om kamers en personen te groeperen.", + "Spaces are a new way to group rooms and people.": "Spaces zijn de nieuwe manier om kamers en personen te groeperen.", "Message search initialisation failed": "Zoeken in berichten opstarten is mislukt", "Search names and descriptions": "In namen en omschrijvingen zoeken", "You may contact me if you have any follow up questions": "U mag contact met mij opnemen als u nog vervolg vragen heeft", @@ -2817,10 +2817,10 @@ "%(featureName)s beta feedback": "%(featureName)s beta feedback", "Thank you for your feedback, we really appreciate it.": "Bedankt voor uw feedback, we waarderen het enorm.", "Add reaction": "Reactie toevoegen", - "Space Autocomplete": "Ruimte autocomplete", - "Go to my space": "Ga naar mijn ruimte", - "sends space invaders": "verstuur space invaders", - "Sends the given message with a space themed effect": "Verstuur het bericht met een ruimte-thema-effect", + "Space Autocomplete": "Space autocomplete", + "Go to my space": "Ga naar mijn Space", + "sends space invaders": "stuurt space invaders", + "Sends the given message with a space themed effect": "Stuurt het bericht met space invaders", "See when people join, leave, or are invited to your active room": "Zie wanneer personen deelnemen, vertrekken of worden uitgenodigd in uw actieve kamer", "Kick, ban, or invite people to your active room, and make you leave": "Verwijder, verban of nodig personen uit voor uw actieve kamer en uzelf laten vertrekken", "See when people join, leave, or are invited to this room": "Zie wanneer personen deelnemen, vertrekken of worden uitgenodigd voor deze kamer", @@ -2877,27 +2877,27 @@ "%(severalUsers)schanged the server ACLs %(count)s times|one": "%(severalUsers)s veranderden de server ACLs", "%(severalUsers)schanged the server ACLs %(count)s times|other": "%(severalUsers)s veranderden de server ACLs %(count)s keer", "Message search initialisation failed, check your settings for more information": "Bericht zoeken initialisatie mislukt, controleer uw instellingen voor meer informatie", - "Set addresses for this space so users can find this space through your homeserver (%(localDomain)s)": "Stel adressen in voor deze ruimte zodat personen deze ruimte kunnen vinden via uw server (%(localDomain)s)", + "Set addresses for this space so users can find this space through your homeserver (%(localDomain)s)": "Stel adressen in voor deze Space zodat personen deze Space kunnen vinden via uw server (%(localDomain)s)", "To publish an address, it needs to be set as a local address first.": "Om een adres te publiceren, moet het eerst als een lokaaladres worden ingesteld.", "Published addresses can be used by anyone on any server to join your room.": "Gepubliceerde adressen kunnen door iedereen op elke server gebruikt worden om bij uw kamer te komen.", - "Published addresses can be used by anyone on any server to join your space.": "Gepubliceerde adressen kunnen door iedereen op elke server gebruikt worden om uw ruimte te betreden.", - "This space has no local addresses": "Deze ruimte heeft geen lokaaladres", - "Space information": "Ruimte-informatie", + "Published addresses can be used by anyone on any server to join your space.": "Gepubliceerde adressen kunnen door iedereen op elke server gebruikt worden om uw Space te betreden.", + "This space has no local addresses": "Deze Space heeft geen lokaaladres", + "Space information": "Space-informatie", "Collapse": "Invouwen", "Expand": "Uitvouwen", - "Recommended for public spaces.": "Aanbevolen voor publieke ruimtes.", - "Allow people to preview your space before they join.": "Personen toestaan een voorvertoning van uw ruimte te zien voor deelname.", - "Preview Space": "Ruimte voorvertoning", + "Recommended for public spaces.": "Aanbevolen voor publieke Spaces.", + "Allow people to preview your space before they join.": "Personen toestaan een voorvertoning van uw Space te zien voor deelname.", + "Preview Space": "Space voorvertoning", "Decide who can view and join %(spaceName)s.": "Bepaal wie kan lezen en deelnemen aan %(spaceName)s.", "Visibility": "Zichtbaarheid", - "This may be useful for public spaces.": "Dit kan nuttig zijn voor publieke ruimtes.", - "Guests can join a space without having an account.": "Gasten kunnen deelnemen aan een ruimte zonder een account.", + "This may be useful for public spaces.": "Dit kan nuttig zijn voor publieke Spaces.", + "Guests can join a space without having an account.": "Gasten kunnen deelnemen aan een Space zonder een account.", "Enable guest access": "Gastentoegang inschakelen", - "Failed to update the history visibility of this space": "Het bijwerken van de geschiedenis leesbaarheid voor deze ruimte is mislukt", - "Failed to update the guest access of this space": "Het bijwerken van de gastentoegang van deze ruimte is niet gelukt", - "Failed to update the visibility of this space": "Het bijwerken van de zichtbaarheid van deze ruimte is mislukt", + "Failed to update the history visibility of this space": "Het bijwerken van de geschiedenis leesbaarheid voor deze Space is mislukt", + "Failed to update the guest access of this space": "Het bijwerken van de gastentoegang van deze Space is niet gelukt", + "Failed to update the visibility of this space": "Het bijwerken van de zichtbaarheid van deze Space is mislukt", "Address": "Adres", - "e.g. my-space": "v.b. mijn-ruimte", + "e.g. my-space": "v.b. mijn-Space", "Silence call": "Oproep dempen", "Sound on": "Geluid aan", "Show all rooms in Home": "Alle kamers in Thuis tonen", @@ -2976,15 +2976,15 @@ "Their device couldn't start the camera or microphone": "Het andere apparaat kon de camera of microfoon niet starten", "Connection failed": "Verbinding mislukt", "Could not connect media": "Mediaverbinding mislukt", - "Spaces with access": "Ruimtes met toegang", - "Anyone in a space can find and join. Edit which spaces can access here.": "Iedereen in een ruimte kan hem vinden en deelnemen. Wijzig hier welke ruimtes toegang hebben.", - "Currently, %(count)s spaces have access|other": "Momenteel hebben %(count)s ruimtes toegang", + "Spaces with access": "Spaces met toegang", + "Anyone in a space can find and join. Edit which spaces can access here.": "Iedereen in een Space kan hem vinden en deelnemen. Wijzig hier welke Spaces toegang hebben.", + "Currently, %(count)s spaces have access|other": "Momenteel hebben %(count)s Spaces toegang", "& %(count)s more|other": "& %(count)s meer", "Upgrade required": "Upgrade noodzakelijk", "Anyone can find and join.": "Iedereen kan hem vinden en deelnemen.", "Only invited people can join.": "Alleen uitgenodigde personen kunnen deelnemen.", "Private (invite only)": "Privé (alleen op uitnodiging)", - "This upgrade will allow members of selected spaces access to this room without an invite.": "Deze upgrade maakt het mogelijk voor leden van geselecteerde ruimtes om toegang te krijgen tot deze kamer zonder een uitnodiging.", + "This upgrade will allow members of selected spaces access to this room without an invite.": "Deze upgrade maakt het mogelijk voor leden van geselecteerde Spaces om toegang te krijgen tot deze kamer zonder een uitnodiging.", "This makes it easy for rooms to stay private to a space, while letting people in the space find and join them. All new rooms in a space will have this option available.": "Dit maakt het makkelijk om kamers privé te houden voor een ruimte, terwijl personen in de ruimte hem kunnen vinden en aan deelnemen. Alle nieuwe kamers in deze ruimte hebben deze optie beschikbaar.", "To help space members find and join a private room, go to that room's Security & Privacy settings.": "Om ruimte leden te helpen met het vinden van en deel te nemen aan privékamers, ga naar uw kamerinstellingen voor veiligheid & privacy.", "Help space members find private rooms": "Help ruimte leden privékamers te vinden", @@ -2996,9 +2996,9 @@ "Access": "Toegang", "People with supported clients will be able to join the room without having a registered account.": "Personen met geschikte apps zullen aan de kamer kunnen deelnemen zonder een account te hebben.", "Decide who can join %(roomName)s.": "Kies wie kan deelnemen aan %(roomName)s.", - "Space members": "Ruimte leden", - "Anyone in a space can find and join. You can select multiple spaces.": "Iedereen in een ruimte kan hem vinden en deelnemen. U kunt meerdere ruimtes selecteren.", - "Visible to space members": "Zichtbaar voor ruimte leden", + "Space members": "Space leden", + "Anyone in a space can find and join. You can select multiple spaces.": "Iedereen in een Space kan hem vinden en deelnemen. U kunt meerdere Spaces selecteren.", + "Visible to space members": "Zichtbaar voor Space leden", "Public room": "Publieke kamer", "Private room (invite only)": "Privékamer (alleen op uitnodiging)", "Create a room": "Kamer aanmaken", @@ -3009,12 +3009,12 @@ "Please note upgrading will make a new version of the room. All current messages will stay in this archived room.": "Let op bijwerken maakt een nieuwe versie van deze kamer. Alle huidige berichten blijven in deze gearchiveerde kamer.", "Automatically invite members from this room to the new one": "Automatisch leden uitnodigen van deze kamer in de nieuwe", "These are likely ones other room admins are a part of.": "Dit zijn waarschijnlijk kamers waar andere kamerbeheerders deel van uitmaken.", - "Other spaces or rooms you might not know": "Andere ruimtes of kamers die u misschien niet kent", - "Spaces you know that contain this room": "Ruimtes die u kent met deze kamer", - "Search spaces": "Ruimtes zoeken", - "Decide which spaces can access this room. If a space is selected, its members can find and join .": "Kies welke ruimtes toegang hebben tot deze kamer. Als een ruimte is geselecteerd kunnen deze leden vinden en aan deelnemen.", - "Select spaces": "Ruimte selecteren", - "You're removing all spaces. Access will default to invite only": "U verwijderd alle ruimtes. De toegang zal teruggezet worden naar alleen op uitnodiging", + "Other spaces or rooms you might not know": "Andere Spaces of kamers die u misschien niet kent", + "Spaces you know that contain this room": "Spaces die u kent met deze kamer", + "Search spaces": "Spaces zoeken", + "Decide which spaces can access this room. If a space is selected, its members can find and join .": "Kies welke Spaces toegang hebben tot deze kamer. Als een Space is geselecteerd kunnen deze leden vinden en aan deelnemen.", + "Select spaces": "Space selecteren", + "You're removing all spaces. Access will default to invite only": "U verwijderd alle Spaces. De toegang zal teruggezet worden naar alleen op uitnodiging", "Room visibility": "Kamerzichtbaarheid", "Anyone will be able to find and join this room.": "Iedereen kan de kamer vinden en aan deelnemen.", "Share content": "Deel inhoud", @@ -3026,32 +3026,32 @@ "Your camera is turned off": "Uw camera staat uit", "%(sharerName)s is presenting": "%(sharerName)s is aan het presenteren", "You are presenting": "U bent aan het presenteren", - "Thank you for trying Spaces. Your feedback will help inform the next versions.": "Dankuwel voor het gebruiken van ruimtes. Uw feedback helpt ons volgende versies te maken.", - "Spaces feedback": "Ruimtes feedback", - "Spaces are a new feature.": "Ruimtes zijn een nieuwe functie.", + "Thank you for trying Spaces. Your feedback will help inform the next versions.": "Dankuwel voor het gebruiken van Spaces. Uw feedback helpt ons volgende versies te maken.", + "Spaces feedback": "Spaces feedback", + "Spaces are a new feature.": "Spaces zijn een nieuwe functie.", "All rooms you're in will appear in Home.": "Alle kamers waar u in bent zullen in Home verschijnen.", "Send pseudonymous analytics data": "Pseudonieme analytische gegevens verzenden", "We're working on this, but just want to let you know.": "We zijn er nog mee bezig en wilde het u even laten weten.", - "Search for rooms or spaces": "Kamers of ruimtes zoeken", - "Add space": "Ruimte toevoegen", + "Search for rooms or spaces": "Kamers of Spaces zoeken", + "Add space": "Space toevoegen", "Leave %(spaceName)s": "%(spaceName)s verlaten", - "You're the only admin of some of the rooms or spaces you wish to leave. Leaving them will leave them without any admins.": "U bent de enige beheerder van sommige kamers of ruimtes die u wilt verlaten. Door deze te verlaten hebben ze geen beheerder meer.", - "You're the only admin of this space. Leaving it will mean no one has control over it.": "U bent de enige beheerder van deze ruimte. Door het te verlaten zal er niemand meer controle over hebben.", + "You're the only admin of some of the rooms or spaces you wish to leave. Leaving them will leave them without any admins.": "U bent de enige beheerder van sommige kamers of Spaces die u wilt verlaten. Door deze te verlaten hebben ze geen beheerder meer.", + "You're the only admin of this space. Leaving it will mean no one has control over it.": "U bent de enige beheerder van deze Space. Door het te verlaten zal er niemand meer controle over hebben.", "You won't be able to rejoin unless you are re-invited.": "U kunt niet opnieuw deelnemen behalve als u opnieuw wordt uitgenodigd.", "Search %(spaceName)s": "Zoek %(spaceName)s", - "Want to add an existing space instead?": "Een bestaande ruimte toevoegen?", - "Private space (invite only)": "Privéruimte (alleen op uitnodiging)", - "Space visibility": "Ruimte zichtbaarheid", - "Add a space to a space you manage.": "Voeg een ruimte toe aan een ruimte die u beheerd.", - "Only people invited will be able to find and join this space.": "Alleen uitgenodigde personen kunnen deze ruimte vinden en aan deelnemen.", - "Anyone will be able to find and join this space, not just members of .": "Iedereen zal in staat zijn om deze ruimte te vinden en aan deel te nemen, niet alleen leden van .", + "Want to add an existing space instead?": "Een bestaande Space toevoegen?", + "Private space (invite only)": "Privé Space (alleen op uitnodiging)", + "Space visibility": "Space zichtbaarheid", + "Add a space to a space you manage.": "Voeg een Space toe aan een Space die u beheerd.", + "Only people invited will be able to find and join this space.": "Alleen uitgenodigde personen kunnen deze Space vinden en aan deelnemen.", + "Anyone will be able to find and join this space, not just members of .": "Iedereen zal in staat zijn om deze Space te vinden en aan deel te nemen, niet alleen leden van .", "Anyone in will be able to find and join.": "Iedereen in zal in staat zijn om te zoeken en deel te nemen.", - "Adding spaces has moved.": "Ruimtes toevoegen is verplaatst.", + "Adding spaces has moved.": "Spaces toevoegen is verplaatst.", "Search for rooms": "Naar kamers zoeken", - "Search for spaces": "Naar ruimtes zoeken", - "Create a new space": "Maak een nieuwe ruimte", - "Want to add a new space instead?": "Een nieuwe ruimte toevoegen?", - "Add existing space": "Bestaande ruimte toevoegen", + "Search for spaces": "Naar Spaces zoeken", + "Create a new space": "Maak een nieuwe Space", + "Want to add a new space instead?": "Een nieuwe Space toevoegen?", + "Add existing space": "Bestaande Space toevoegen", "Decrypting": "Ontsleutelen", "Show all rooms": "Alle kamers tonen", "Give feedback.": "Feedback geven.", @@ -3075,34 +3075,34 @@ "Start the camera": "Camera starten", "If a community isn't shown you may not have permission to convert it.": "Als een gemeenschap niet zichtbaar is heeft u geen rechten om hem om te zetten.", "Show my Communities": "Mijn gemeenschappen weergeven", - "Communities have been archived to make way for Spaces but you can convert your communities into Spaces below. Converting will ensure your conversations get the latest features.": "Gemeenschappen zijn gearchiveerd voor de nieuwe functie ruimtes, maar u kunt uw gemeenschap nog omzetten naar een ruimte hieronder. Hierdoor bent u er zeker van dat uw gesprekken de nieuwste functies krijgen.", - "Create Space": "Ruimte maken", - "Open Space": "Ruimte openen", + "Communities have been archived to make way for Spaces but you can convert your communities into Spaces below. Converting will ensure your conversations get the latest features.": "Gemeenschappen zijn gearchiveerd voor de nieuwe functie Spaces, maar u kunt uw gemeenschap nog omzetten naar een Space hieronder. Hierdoor bent u er zeker van dat uw gesprekken de nieuwste functies krijgen.", + "Create Space": "Space maken", + "Open Space": "Space openen", "You can change this later.": "U kan dit later aanpassen.", - "What kind of Space do you want to create?": "Wat voor soort ruimte wilt u maken?", + "What kind of Space do you want to create?": "Wat voor soort Space wilt u maken?", "Delete avatar": "Afbeelding verwijderen", "Don't send read receipts": "Geen leesbevestigingen versturen", "Created from ": "Gemaakt van ", "Communities won't receive further updates.": "Gemeenschappen zullen geen updates meer krijgen.", - "Spaces are a new way to make a community, with new features coming.": "Ruimtes zijn de nieuwe gemeenschappen, met binnenkort meer nieuwe functies.", - "Communities can now be made into Spaces": "Gemeenschappen kunnen nu omgezet worden in ruimtes", - "Ask the admins of this community to make it into a Space and keep a look out for the invite.": "Vraag een beheerder van deze gemeenschap om hem om te zetten in een ruimte en kijk uit naar de uitnodiging.", - "You can create a Space from this community here.": "U kunt hier een ruimte maken van uw gemeenschap.", - "This description will be shown to people when they view your space": "Deze omschrijving zal getoond worden aan personen die uw ruimte bekijken", - "Flair won't be available in Spaces for the foreseeable future.": "Badges zijn niet beschikbaar in ruimtes in de nabije toekomst.", + "Spaces are a new way to make a community, with new features coming.": "Spaces zijn de nieuwe gemeenschappen, met binnenkort meer nieuwe functies.", + "Communities can now be made into Spaces": "Gemeenschappen kunnen nu omgezet worden in Spaces", + "Ask the admins of this community to make it into a Space and keep a look out for the invite.": "Vraag een beheerder van deze gemeenschap om hem om te zetten in een Space en kijk uit naar de uitnodiging.", + "You can create a Space from this community here.": "U kunt hier een Space maken van uw gemeenschap.", + "This description will be shown to people when they view your space": "Deze omschrijving zal getoond worden aan personen die uw Space bekijken", + "Flair won't be available in Spaces for the foreseeable future.": "Badges zijn niet beschikbaar in Spaces in de nabije toekomst.", "All rooms will be added and all community members will be invited.": "Alle kamers zullen worden toegevoegd en alle gemeenschapsleden zullen worden uitgenodigd.", - "A link to the Space will be put in your community description.": "In de gemeenschapsomschrijving zal een link naar deze ruimte worden geplaatst.", - "Create Space from community": "Ruimte van gemeenschap maken", + "A link to the Space will be put in your community description.": "In de gemeenschapsomschrijving zal een link naar deze Space worden geplaatst.", + "Create Space from community": "Space van gemeenschap maken", "Failed to migrate community": "Omzetten van de gemeenschap is mislukt", - "To create a Space from another community, just pick the community in Preferences.": "Om een ruimte te maken van een gemeenschap kiest u de gemeenschap in Instellingen.", + "To create a Space from another community, just pick the community in Preferences.": "Om een Space te maken van een gemeenschap kiest u de gemeenschap in Instellingen.", " has been made and everyone who was a part of the community has been invited to it.": " is gemaakt en iedereen die lid was van de gemeenschap is ervoor uitgenodigd.", - "Space created": "Ruimte aangemaakt", - "To view Spaces, hide communities in Preferences": "Om ruimtes te zien, verberg gemeenschappen in uw Instellingen", - "This community has been upgraded into a Space": "Deze gemeenschap is geupgrade naar een ruimte", + "Space created": "Space aangemaakt", + "To view Spaces, hide communities in Preferences": "Om Spaces te zien, verberg gemeenschappen in uw Instellingen", + "This community has been upgraded into a Space": "Deze gemeenschap is geupgrade naar een Space", "Unknown failure: %(reason)s": "Onbekende fout: %(reason)s", "Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited, which UI elements you last interacted with, and the usernames of other users. They do not contain messages.": "Debug logs bevatten applicatie gebruiksgegevens inclusief uw inlognaam, de ID's of bijnamen van de kamers of groepen die u hebt bezocht, welke UI elementen u het laatst hebt gebruikt, en de inlognamen van andere personen. Ze bevatten geen berichten.", "If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited, which UI elements you last interacted with, and the usernames of other users. They do not contain messages.": "Als u een bug hebt ingediend via GitHub, kunnen debug logs ons helpen het probleem op te sporen. Debug logs bevatten applicatie gebruiksgegevens inclusief uw inlognaam, de ID's of bijnamen van de kamers of groepen die u hebt bezocht, welke UI elementen u het laatst hebt gebruikt, en de inlognamen van andere personen. Ze bevatten geen berichten.", - "Rooms and spaces": "Kamers en ruimtes", + "Rooms and spaces": "Kamers en Spaces", "Results": "Resultaten", "Enable encryption in settings.": "Versleuteling inschakelen in instellingen.", "Your private messages are normally encrypted, but this room isn't. Usually this is due to an unsupported device or method being used, like email invites.": "Uw privéberichten zijn versleuteld, maar deze kamer niet. Dit komt vaak doordat u een niet ondersteund apparaat of methode, zoals e-mailuitnodigingen.", @@ -3126,7 +3126,7 @@ "%(senderName)s unpinned a message from this room. See all pinned messages.": "%(senderName)s maakte een vastgeprikt bericht los van deze kamer. Bekijk alle vastgeprikte berichten.", "%(senderName)s pinned a message to this room. See all pinned messages.": "%(senderName)s prikte een bericht vast aan deze kamer. Bekijk alle vastgeprikte berichten.", "%(senderName)s pinned a message to this room. See all pinned messages.": "%(senderName)s prikte een bericht aan deze kamer. Bekijk alle vastgeprikte berichten.", - "Currently, %(count)s spaces have access|one": "Momenteel heeft één ruimte toegang", + "Currently, %(count)s spaces have access|one": "Momenteel heeft één Space toegang", "& %(count)s more|one": "& %(count)s meer", "Some encryption parameters have been changed.": "Enkele versleutingsparameters zijn gewijzigd.", "Role in ": "Rol in ", @@ -3137,12 +3137,12 @@ "Add emoji": "Emoji toevoegen", "Unknown failure": "Onbekende fout", "Failed to update the join rules": "Het updaten van de deelname regels is mislukt", - "Select the roles required to change various parts of the space": "Selecteer de rollen die vereist zijn om onderdelen van de ruimte te wijzigen", + "Select the roles required to change various parts of the space": "Selecteer de rollen die vereist zijn om onderdelen van de Space te wijzigen", "Change description": "Omschrijving wijzigen", - "Change main address for the space": "Hoofdadres van ruimte wijzigen", - "Change space name": "Ruimtenaam wijzigen", - "Change space avatar": "Ruimte-afbeelding wijzigen", - "Anyone in can find and join. You can select other spaces too.": "Iedereen in kan hem vinden en deelnemen. U kunt ook andere ruimtes selecteren.", + "Change main address for the space": "Hoofdadres van Space wijzigen", + "Change space name": "Spacenaam wijzigen", + "Change space avatar": "Space-afbeelding wijzigen", + "Anyone in can find and join. You can select other spaces too.": "Iedereen in kan hem vinden en deelnemen. U kunt ook andere Spaces selecteren.", "Message didn't send. Click for info.": "Bericht is niet verstuur. Klik voor meer info.", "To join %(communityName)s, swap to communities in your preferences": "Om aan %(communityName)s deel te nemen, wissel naar gemeenschappen in uw instellingen", "To view %(communityName)s, swap to communities in your preferences": "Om %(communityName)s te bekijken, wissel naar gemeenschappen in uw instellingen", @@ -3152,15 +3152,15 @@ "Upgrade anyway": "Upgrade alsnog uitvoeren", "This room is in some spaces you’re not an admin of. In those spaces, the old room will still be shown, but people will be prompted to join the new one.": "Deze kamer is in ruimtes waar u geen beheerder van bent. In deze ruimtes zal de oude kamer nog worden getoond, maar leden zullen een melding krijgen om deel te nemen aan de nieuwe kamer.", "Before you upgrade": "Voordat u upgrade", - "To join a space you'll need an invite.": "Om te kunnen deelnemen aan een ruimte heeft u een uitnodiging nodig.", - "You can also make Spaces from communities.": "U kunt ook ruimtes maken van uw gemeenschappen.", - "Temporarily show communities instead of Spaces for this session. Support for this will be removed in the near future. This will reload Element.": "Tijdelijk gemeenschappen tonen in plaats van ruimtes voor deze sessie. Ondersteuning zal worden verwijderd in de nabije toekomst. Dit zal Element herladen.", - "Display Communities instead of Spaces": "Gemeenschappen tonen ipv ruimtes", - "Joining space …": "Deelnemen aan ruimte…", - "To join this Space, hide communities in your preferences": "Om deel te nemen aan de ruimte, verberg gemeenschappen in uw instellingen", - "To view this Space, hide communities in your preferences": "Om deze ruimte te bekijken, verberg gemeenschappen in uw instellingen", + "To join a space you'll need an invite.": "Om te kunnen deelnemen aan een Space heeft u een uitnodiging nodig.", + "You can also make Spaces from communities.": "U kunt ook Spaces maken van uw gemeenschappen.", + "Temporarily show communities instead of Spaces for this session. Support for this will be removed in the near future. This will reload Element.": "Tijdelijk gemeenschappen tonen in plaats van Spaces voor deze sessie. Ondersteuning zal worden verwijderd in de nabije toekomst. Dit zal Element herladen.", + "Display Communities instead of Spaces": "Gemeenschappen tonen ipv Spaces", + "Joining space …": "Deelnemen aan Space…", + "To join this Space, hide communities in your preferences": "Om deel te nemen aan de Space, verberg gemeenschappen in uw instellingen", + "To view this Space, hide communities in your preferences": "Om deze Space te bekijken, verberg gemeenschappen in uw instellingen", "%(reactors)s reacted with %(content)s": "%(reactors)s reageerde met %(content)s", - "Would you like to leave the rooms in this space?": "Wilt u de kamers verlaten in deze ruimte?", + "Would you like to leave the rooms in this space?": "Wilt u de kamers verlaten in deze Space?", "You are about to leave .": "U staat op het punt te verlaten.", "Leave some rooms": "Sommige kamers verlaten", "Leave all rooms": "Alle kamers verlaten", @@ -3202,7 +3202,7 @@ "JSON": "JSON", "HTML": "HTML", "Are you sure you want to exit during this export?": "Weet u zeker dat u wilt afsluiten tijdens een export?", - "Creating Space...": "Ruimte aanmaken...", + "Creating Space...": "Space aanmaken...", "Fetching data...": "Gegevens ophalen...", "To proceed, please accept the verification request on your other login.": "Om door te gaan, accepteer het verificatieverzoek op uw andere login.", "Waiting for you to verify on your other session…": "Wachten op uw verificatie op uw andere sessie…", @@ -3227,8 +3227,8 @@ "Create poll": "Poll aanmaken", "%(count)s reply|one": "%(count)s reactie", "%(count)s reply|other": "%(count)s reacties", - "Updating spaces... (%(progress)s out of %(count)s)|one": "Ruimtes bijwerken...", - "Updating spaces... (%(progress)s out of %(count)s)|other": "Ruimtes bijwerken... (%(progress)s van %(count)s)", + "Updating spaces... (%(progress)s out of %(count)s)|one": "Spaces bijwerken...", + "Updating spaces... (%(progress)s out of %(count)s)|other": "Spaces bijwerken... (%(progress)s van %(count)s)", "Sending invites... (%(progress)s out of %(count)s)|one": "Uitnodigingen versturen...", "Sending invites... (%(progress)s out of %(count)s)|other": "Uitnodigingen versturen... (%(progress)s van %(count)s)", "Loading new room": "Nieuwe kamer laden", @@ -3285,6 +3285,96 @@ "Verified devices": "Geverifieerde apparaten", "Other rooms": "Andere kamers", "Automatically send debug logs on any error": "Automatisch foutenlogboek versturen bij een fout", - "Meta Spaces": "Meta Ruimtes", - "Rename": "Hernoemen" + "Meta Spaces": "Meta Spaces", + "Rename": "Hernoemen", + "Show all threads": "Draden weergeven", + "Threads help you keep conversations on-topic and easily track them over time. Create the first one by using the \"Reply in thread\" button on a message.": "Draden helpen u om gesprekken bij het onderwerp te houden en ze gemakkelijk te volgen over een bepaalde periode. Maak de eerste aan door de knop \"Reageer in draad\" bij een bericht te gebruiken.", + "Keep discussions organised with threads": "Houd discussies georganiseerd met draden", + "Shows all threads you've participated in": "Toon alle draden waarin u heeft bijgedragen", + "You're all caught up": "U bent helemaal bij", + "Own your conversations.": "Wees eigenaar van uw gesprekken.", + "Someone already has that username. Try another or if it is you, sign in below.": "Iemand heeft die inlognaam al. Probeer een andere of als u het bent, log dan hieronder in.", + "Copy link to thread": "Kopieer link naar draad", + "Thread options": "Draad opties", + "Copy link": "Link kopieren", + "Mentions only": "Alleen vermeldingen", + "Forget": "Vergeet", + "We call the places where you can host your account 'homeservers'.": "Wij noemen de plaatsen waar u uw account kunt hosten 'homeservers'.", + "Matrix.org is the biggest public homeserver in the world, so it's a good place for many.": "Matrix.org is de grootste publieke server van de wereld, het is een goede plek voor vele.", + "If you can't see who you're looking for, send them your invite link below.": "Als u niet kunt vinden wie u zoekt, stuur ze dan uw uitnodigingslink hieronder.", + "Minimise dialog": "Dialoog minimaliseren", + "Maximise dialog": "Dialoog maximaliseren", + "You can't disable this later. Bridges & most bots won't work yet.": "U kunt dit later niet uitschakelen. Bruggen en de meeste bots zullen nog niet werken.", + "Add option": "Optie toevoegen", + "Write an option": "Schrijf een optie", + "Option %(number)s": "Optie %(number)s", + "Create options": "Opties maken", + "Write something...": "Schrijf iets...", + "Question or topic": "Vraag of onderwerp", + "What is your poll question or topic?": "Wat is uw poll vraag of onderwerp?", + "Create Poll": "Poll maken", + "Based on %(count)s votes|one": "Gebaseerd op %(count)s stem", + "Based on %(count)s votes|other": "Gebaseerd op %(count)s stemmen", + "%(count)s votes|one": "%(count)s stem", + "%(count)s votes|other": "%(count)s stemmen", + "In encrypted rooms, verify all users to ensure it's secure.": "Controleer alle personen in versleutelde kamers om er zeker van te zijn dat het veilig is.", + "Files": "Bestanden", + "Close this widget to view it in this panel": "Sluit deze widget om het in dit paneel weer te geven", + "Unpin this widget to view it in this panel": "Maak deze widget los om het in dit paneel weer te geven", + "Maximise widget": "Widget maximaliseren", + "Yours, or the other users' session": "Uw sessie, of die van de andere personen", + "Yours, or the other users' internet connection": "Uw internetverbinding, of die van de andere personen", + "The homeserver the user you're verifying is connected to": "De homeserver waarmee de persoon die u verifieert verbonden is", + "Can't see what you're looking for?": "Kunt u niet zien wat u zoekt?", + "You do not have permission to start polls in this room.": "U heeft geen toestemming om polls te starten in deze kamer.", + "Reply in thread": "Reageer in draad", + "Manage rooms in this space": "Beheer kamers in deze space", + "You won't get any notifications": "U krijgt geen meldingen", + "Get notified only with mentions and keywords as set up in your settings": "Krijg alleen meldingen met vermeldingen en trefwoorden zoals ingesteld in uw instellingen", + "@mentions & keywords": "@vermeldingen & trefwoorden", + "Get notified for every message": "Ontvang een melding bij elk bericht", + "Get notifications as set up in your settings": "Ontvang de meldingen zoals ingesteld in uw instellingen", + "This room isn't bridging messages to any platforms. Learn more.": "Deze kamer overbrugt geen berichten naar platformen. Lees meer.", + "Automatically group all your rooms that aren't part of a space in one place.": "Groepeer automatisch al uw kamers die geen deel uitmaken van een space op één plaats.", + "Rooms outside of a space": "Kamers buiten een space", + "Automatically group all your people together in one place.": "Groepeer automatisch al uw personen op één plaats.", + "Automatically group all your favourite rooms and people together in one place.": "Groepeer automatisch al uw favoriete kamers en personen op één plaats.", + "Show all your rooms in Home, even if they're in a space.": "Toon al uw kamers in Home, zelfs als ze al in een space zitten.", + "Home is useful for getting an overview of everything.": "Home is handig om een overzicht van alles te krijgen.", + "Along with the spaces you're in, you can use some pre-built ones too.": "Samen met de spaces waar u in zit, kunt u ook deze standaard spaces gebruiken.", + "Spaces to show": "Spaces om te tonen", + "Spaces are ways to group rooms and people.": "Spaces zijn de manier om kamers en personen te groeperen.", + "Sidebar": "Zijbalk", + "Manage your signed-in devices below. A device's name is visible to people you communicate with.": "Beheer uw ingelogde apparaten hieronder. De naam van een apparaat is zichtbaar voor personen met wie u communiceert.", + "Where you're signed in": "Waar u bent ingelogd", + "Show tray icon and minimise window to it on close": "Geef een pictogram weer in de systeembalk en minimaliseer het venster wanneer het wordt gesloten", + "This room is in some spaces you're not an admin of. In those spaces, the old room will still be shown, but people will be prompted to join the new one.": "Deze kamer is in spaces waar u geen beheerder van bent. In deze spaces zal de oude kamer nog worden getoond, maar leden zullen een melding krijgen om deel te nemen aan de nieuwe kamer.", + "Large": "Groot", + "Image size in the timeline": "Afbeeldingformaat in de tijdlijn", + "Sends the given message with rainfall": "Stuurt het bericht met neerslag", + "sends rainfall": "stuurt neerslag", + "%(senderName)s has updated the room layout": "%(senderName)s heeft de kamerindeling bijgewerkt", + "%(spaceName)s and %(count)s others|one": "%(spaceName)s en %(count)s andere", + "%(spaceName)s and %(count)s others|zero": "%(spaceName)s", + "%(spaceName)s and %(count)s others|other": "%(spaceName)s en %(count)s andere", + "Enter a security phrase only you know, as it's used to safeguard your data. To be secure, you shouldn't re-use your account password.": "Voer een veiligheidswachtwoord in die alleen u kent, deze wordt gebruikt om al uw gegevens te versleutelen. Om echt veilig te zijn, moet u het wachtwoord van uw account niet hergebruiken.", + "We'll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": "Wij maken een veiligheidssleutel voor u aan die u ergens veilig kunt opbergen, zoals in een wachtwoordmanager of een kluis.", + "Regain access to your account and recover encryption keys stored in this session. Without them, you won't be able to read all of your secure messages in any session.": "Ontvang toegang tot uw account en herstel de tijdens deze sessie opgeslagen versleutelingssleutels, zonder deze sleutels zijn sommige van uw versleutelde berichten in uw sessies onleesbaar.", + "Without verifying, you won't have access to all your messages and may appear as untrusted to others.": "Zonder verifiëren heeft u geen toegang tot al uw berichten en kan u als onvertrouwd aangemerkt staan bij anderen.", + "Store your Security Key somewhere safe, like a password manager or a safe, as it's used to safeguard your encrypted data.": "Bewaar uw veiligheidssleutel op een veilige plaats, zoals in een wachtwoordmanager of een kluis, aangezien hiermee uw versleutelde gegevens zijn beveiligd.", + "Someone already has that username, please try another.": "Iemand heeft die inlognaam al, probeer een andere.", + "Sorry, the poll you tried to create was not posted.": "Sorry, de poll die u probeerde aan te maken is niet geplaatst.", + "Failed to post poll": "Geen poll geplaatst", + "Sorry, your vote was not registered. Please try again.": "Sorry, uw stem is niet geregistreerd. Probeer het alstublieft opnieuw.", + "Vote not registered": "Stem niet geregistreerd", + "Pin to sidebar": "Vastprikken aan zijbalk", + "Quick settings": "Snelle instellingen", + "Developer": "Ontwikkelaar", + "Experimental": "Experimenteel", + "Themes": "Thema's", + "Message Previews": "Berichtvoorbeelden", + "Moderation": "Moderatie", + "Messaging": "Messaging", + "Spaces you know that contain this space": "Spaces die u kent met deze Space", + "Chat": "Chat" } diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json index d82e55daf04..d132d5dee50 100644 --- a/src/i18n/strings/pl.json +++ b/src/i18n/strings/pl.json @@ -2088,5 +2088,10 @@ "Your homeserver rejected your log in attempt. This could be due to things just taking too long. Please try again. If this continues, please contact your homeserver administrator.": "Twój serwer domowy odrzucił twoją próbę zalogowania się. Może być to spowodowane zbyt długim czasem oczekiwania. Prosimy spróbować ponownie. Jeśli problem się powtórzy, prosimy o kontakt z administratorem twojego serwera domowego.", "Failed to transfer call": "Nie udało się przekazać połączenia", "Transfer Failed": "Transfer nie powiódł się", - "Unable to transfer call": "Nie udało się przekazać połączenia" + "Unable to transfer call": "Nie udało się przekazać połączenia", + "Some invites couldn't be sent": "Niektóre zaproszenia nie mogły zostać wysłane", + "There was an error looking up the phone number": "Podczas wyszukiwania numeru telefonu wystąpił błąd", + "Unable to look up phone number": "Nie można wyszukać numeru telefonu", + "We sent the others, but the below people couldn't be invited to ": "Wysłaliśmy pozostałym, ale osoby poniżej nie mogły zostać zaproszone do ", + "%(date)s at %(time)s": "%(date)s o %(time)s" } diff --git a/src/i18n/strings/sq.json b/src/i18n/strings/sq.json index 2da166e1655..dcf70a0350d 100644 --- a/src/i18n/strings/sq.json +++ b/src/i18n/strings/sq.json @@ -3352,5 +3352,30 @@ "Reset event store?": "Të rikthehet te parazgjedhjet arkivi i akteve?", "Flair won't be available in Spaces for the foreseeable future.": "Flair s’do të jetë e përdorshme te Hapësirat për të ardhmen e parashikueshme.", "Favourited": "U bë e parapëlqyer", - "Dialpad": "Butona numrash" + "Dialpad": "Butona numrash", + "sends rainfall": "dërgon shi", + "Sends the given message with rainfall": "Dërgoje mesazhin e dhënë me shi", + "Maximise widget": "Maksimizoje widget-in", + "Close this widget to view it in this panel": "Mbylleni këtë widget, që ta shihni te ky panel", + "Unpin this widget to view it in this panel": "Hiqjani fiksimin këtij widget-i, që ta shihni te ky panel", + "Large": "E madhe", + "Image size in the timeline": "Madhësi figure në rrjedhën kohore", + "%(senderName)s has updated the room layout": "%(senderName)s ka përditësuar skemën e dhomës", + "%(spaceName)s and %(count)s others|zero": "%(spaceName)s", + "%(spaceName)s and %(count)s others|one": "%(spaceName)s dhe %(count)s tjetër", + "%(spaceName)s and %(count)s others|other": "%(spaceName)s dhe %(count)s të tjerë", + "Sorry, the poll you tried to create was not posted.": "Na ndjeni, anketimi që provuat të krijoni s’u postua dot.", + "Failed to post poll": "S’u arrit të postohej anketimi", + "Based on %(count)s votes|one": "Bazuar në %(count)s votë", + "Based on %(count)s votes|other": "Bazua në %(count)s vota", + "%(count)s votes|one": "%(count)s votë", + "%(count)s votes|other": "%(count)s vota", + "Sorry, your vote was not registered. Please try again.": "Na ndjeni, vota juaj s’i regjistruar. Ju lutemi, riprovoni.", + "Vote not registered": "Votë e paregjistruar", + "Developer": "Zhvillues", + "Experimental": "Eksperimentale", + "Themes": "Tema", + "Message Previews": "Paraparje Mesazhesh", + "Moderation": "Moderim", + "Messaging": "Shkëmbim mesazhes" } diff --git a/src/i18n/strings/sv.json b/src/i18n/strings/sv.json index e618968c9a5..f4bf8fd5a7c 100644 --- a/src/i18n/strings/sv.json +++ b/src/i18n/strings/sv.json @@ -3318,5 +3318,9 @@ "Someone already has that username, please try another.": "Någon annan har redan det användarnamnet, vänligen pröva ett annat.", "Someone already has that username. Try another or if it is you, sign in below.": "Någon annan har redan det användarnamnet. Pröva ett annat, eller om det är ditt, logga in nedan.", "Maximised widgets": "Maximerade widgets", - "Own your conversations.": "Äg dina konversationer." + "Own your conversations.": "Äg dina konversationer.", + "%(senderName)s has updated the room layout": "%(senderName)s har uppdaterat rummets arrangemang", + "%(spaceName)s and %(count)s others|one": "%(spaceName)s och %(count)s till", + "%(spaceName)s and %(count)s others|zero": "%(spaceName)s", + "%(spaceName)s and %(count)s others|other": "%(spaceName)s och %(count)s till" } diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index 614020eb36f..5087f4ce977 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -410,13 +410,13 @@ "This room is not public. You will not be able to rejoin without an invite.": "Ця кімната не є прилюдною. Ви не зможете перепід'єднатись без запрошення.", "Can't leave Server Notices room": "Неможливо вийти з кімнати сповіщень сервера", "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 аби довести вашу ідентичність.", + "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": "Підтвердити", - "Confirm adding this phone number by using Single Sign On to prove your identity.": "Підтвердьте додавання цього телефонного номера через використання Single Sign On аби довести вашу ідентичність.", + "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.": "Клацніть на кнопку внизу, щоб підтвердити додавання цього номера телефону.", "Whether you're using %(brand)s on a device where touch is the primary input mechanism": "Чи використовуєте ви %(brand)s на пристрої, де основним засобом вводження є дотик", @@ -1017,7 +1017,7 @@ "Create account": "Створити обліковий запис", "Clear room list filter field": "Очистити поле фільтра списку кімнат", "Cancel autocomplete": "Скасувати самодоповнення", - "Confirm your account deactivation by using Single Sign On to prove your identity.": "Підтвердьте знедіяння вашого облікового запису через Single Sign On щоб підтвердити вашу особу.", + "Confirm your account deactivation by using Single Sign On to prove your identity.": "Підтвердьте деактивацію свого облікового запису через єдиний вхід, щоб підтвердити вашу особу.", "This account has been deactivated.": "Цей обліковий запис було знедіяно.", "End conference": "Завершити конференцію", "This will end the conference for everyone. Continue?": "Це завершить конференцію для всіх. Продовжити?", @@ -2348,5 +2348,47 @@ "Popout widget": "Спливне розширення", "This widget may use cookies.": "Це розширення може використовувати куки.", "Error loading Widget": "Помилка завантаження розширення", - "This version of %(brand)s does not support searching encrypted messages": "Ця версія %(brand)s не підтримує пошук зашифрованих повідомлень" + "This version of %(brand)s does not support searching encrypted messages": "Ця версія %(brand)s не підтримує пошук зашифрованих повідомлень", + "Keys restored": "Ключ відновлено", + "Successfully restored %(sessionCount)s keys": "Успішно відновлено %(sessionCount)s ключів", + "Failed to decrypt %(failedCount)s sessions!": "Не вдалося розшифрувати %(failedCount)s сеансів!", + "Enter Security Key": "Введіть ключ безпеки", + "This looks like a valid Security Key!": "Це схоже на дійсний ключ безпеки!", + "Not a valid Security Key": "Хибний ключ безпеки", + "No backup found!": "Резервних копій не знайдено!", + "Copy link": "Копіювати посилання", + "Mentions only": "Лише згадки", + "Forget": "Забути", + "Modal Widget": "Модальне розширення", + "Message edits": "Редагування повідомлення", + "%(senderName)s has updated the room layout": "%(senderName)s оновлює макет кімнати", + "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.": "Ви вийшли з усіх сеансів і більше не отримуватимете сповіщення. Щоб повторно ввімкнути сповіщення, увійдіть знову на кожному пристрої.", + "You've previously used a newer version of %(brand)s with this session. To use this version again with end to end encryption, you will need to sign out and back in again.": "Ви раніше використовували новішу версію %(brand)s для цього сеансу. Щоб знову використовувати цю версію із наскрізним шифруванням, вам потрібно буде вийти та знову ввійти.", + "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Під'єднайте цей сеанс, щоб створти резервну копію, перш ніж вийти, щоб уникнути втрати будь-яких ключів, які можуть бути лише у цьому сеансі.", + "Signed Out": "Виконано вихід", + "Sign Out": "Вийти", + "Sign out %(count)s selected devices|one": "Вийти з %(count)s вибраного пристрою", + "Sign out %(count)s selected devices|other": "Вийти з %(count)s вибраних пристроїв", + "Sign out devices|one": "Вийти з притрою", + "Sign out devices|other": "Вийти з пристроїв", + "Click the button below to confirm signing out these devices.|other": "Клацніть кнопку внизу, щоб підтвердити вихід із цих пристроїв.", + "Confirm signing out these devices": "Підтвердьте вихід з цих пристроїв", + "Confirm logging out these devices by using Single Sign On to prove your identity.|other": "Підтвердьте вихід із цих пристроїв за допомогою єдиного входу, щоб довести вашу справжність.", + "To continue, use Single Sign On to prove your identity.": "Щоб продовжити, скористайтеся єдиним входом для підтвердження особи.", + "Confirm logging out these devices by using Single Sign On to prove your identity.|one": "Підтвердьте вхід на це пристрій за допомогою єдиного входу, щоб підтвердити вашу особу.", + "Click the button below to confirm signing out these devices.|one": "Натисніть кнопку внизу, щоб підтвердити вихід із цього пристрою.", + "This device": "Цей пристрій", + "Your private messages are normally encrypted, but this room isn't. Usually this is due to an unsupported device or method being used, like email invites.": "Ваші приватні повідомлення, зазвичай, зашифровані, але ця кімната — ні. Зазвичай це пов'язано з непідтримуваним пристроєм або використаним методом, наприклад, запрошення електронною поштою.", + "For extra security, verify this user by checking a one-time code on both of your devices.": "Для додаткової безпеки перевірте цього користувача, звіривши одноразовий код на обох своїх пристроях.", + "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Якщо звірити цей пристрій, його буде позначено надійним, а користувачі, які перевірили у вас, будуть довіряти цьому пристрою.", + "Only do this if you have no other device to complete verification with.": "Робіть це лише якщо у вас немає іншого пристрою для виконання перевірки.", + "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.": "Видалення ключів перехресного підписування безповоротне. Усі, з ким ви звірили сеанси, бачитимуть сповіщення системи безпеки. Ви майже напевно не захочете цього робити, якщо тільки ви не втратили всі пристрої, з яких можна виконувати перехресне підписування.", + "It looks like you don't have a Security Key or any other devices you can verify against. This device will not be able to access old encrypted messages. In order to verify your identity on this device, you'll need to reset your verification keys.": "Схоже, у вас немає ключа безпеки або будь-яких інших пристроїв, які ви можете підтвердити. Цей пристрій не зможе отримати доступ до старих зашифрованих повідомлень. Щоб підтвердити свою справжність на цьому пристрої, вам потрібно буде скинути ключі перевірки.", + "Cryptography": "Криптографія", + "Ignored users": "Нехтувані користувачі", + "You have no ignored users.": "Ви не маєте нехтуваних користувачів.", + "Rename": "Перейменувати", + "Unverified devices": "Неперевірені пристрої", + "Verified devices": "Перевірені пристрої", + "Last seen %(date)s at %(ip)s": "Останні відвідини %(date)s о %(ip)s" } diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json index faa3556b976..3f38b1bd5ad 100644 --- a/src/i18n/strings/zh_Hans.json +++ b/src/i18n/strings/zh_Hans.json @@ -2234,7 +2234,7 @@ "Create a space": "创建空间", "Fill Screen": "填充屏幕", "sends snowfall": "发送雪球", - "Sends the given message with snowfall": "附加雪球发送", + "Sends the given message with snowfall": "附加雪球发送给定信息", "sends confetti": "发送五彩纸屑", "Sends the given message with confetti": "附加五彩纸屑发送", "Sends the given message with fireworks": "附加烟火发送", @@ -3351,5 +3351,34 @@ "Get notified only with mentions and keywords as set up in your settings": "如 设置中设定的那样仅通知提及和关键词", "@mentions & keywords": "@提及 & 关键词", "Get notified for every message": "获得每条消息的通知", - "Get notifications as set up in your settings": "如 设置中设定的那样获取通知" + "Get notifications as set up in your settings": "如 设置中设定的那样获取通知", + "sends rainfall": "发送降雨", + "Sends the given message with rainfall": "附加降雨发送给定的消息", + "Close this widget to view it in this panel": "关闭此小部件在此面板中查看", + "Unpin this widget to view it in this panel": "取消固定此小部件在此面板中查看它", + "Maximise widget": "最大化小部件", + "Large": "大", + "Image size in the timeline": "时间轴中的图像大小", + "%(senderName)s has updated the room layout": "%(senderName)s 更新了聊天室布局", + "%(spaceName)s and %(count)s others|one": "%(spaceName)s 和其他 %(count)s 个空间", + "%(spaceName)s and %(count)s others|zero": "%(spaceName)s", + "%(spaceName)s and %(count)s others|other": "%(spaceName)s 和其他 %(count)s 个空间", + "Based on %(count)s votes|one": "基于 %(count)s 票", + "Based on %(count)s votes|other": "基于 %(count)s 票", + "%(count)s votes|one": "%(count)s 票", + "%(count)s votes|other": "%(count)s 票", + "Sorry, the poll you tried to create was not posted.": "抱歉,您尝试创建的投票未被发布。", + "Failed to post poll": "发布投票失败", + "Sorry, your vote was not registered. Please try again.": "抱歉,您的投票未登记。 请再试一次。", + "Vote not registered": "投票未登记", + "Developer": "开发者", + "Experimental": "实验性", + "Themes": "主题", + "Message Previews": "消息预览", + "Moderation": "缓和", + "Messaging": "消息传递", + "Pin to sidebar": "固定到侧边栏", + "Quick settings": "快速设置", + "Spaces you know that contain this space": "你知道的包含这个空间的空间", + "Chat": "聊天" } diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index 43cb72815b2..cb2e8e6441f 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -3353,5 +3353,34 @@ "Get notified only with mentions and keywords as set up in your settings": "僅在您的設定中設定提及與關鍵字時收到通知", "@mentions & keywords": "@提及與關鍵字", "Get notified for every message": "收到所有訊息的通知", - "Get notifications as set up in your settings": "取得您在設定中設定好的通知" + "Get notifications as set up in your settings": "取得您在設定中設定好的通知", + "Close this widget to view it in this panel": "關閉此小工具以在此面板中檢視", + "Unpin this widget to view it in this panel": "取消釘選這個小工具以在此面板中檢視", + "Maximise widget": "最大化小工具", + "sends rainfall": "傳送降雨", + "Sends the given message with rainfall": "與降雨一同傳送指定的訊息", + "Large": "大", + "Image size in the timeline": "時間軸中的圖片大小", + "%(senderName)s has updated the room layout": "%(senderName)s 已更新聊天室佈局", + "Based on %(count)s votes|one": "以 %(count)s 個投票為基礎", + "Based on %(count)s votes|other": "以 %(count)s 個投票為基礎", + "%(count)s votes|one": "%(count)s 個投票", + "%(count)s votes|other": "%(count)s 個投票", + "%(spaceName)s and %(count)s others|one": "%(spaceName)s 與 %(count)s 個其他的", + "%(spaceName)s and %(count)s others|zero": "%(spaceName)s", + "%(spaceName)s and %(count)s others|other": "%(spaceName)s 與 %(count)s 個其他的", + "Sorry, the poll you tried to create was not posted.": "抱歉,您嘗試建立的投票並未發佈。", + "Failed to post poll": "張貼投票失敗", + "Sorry, your vote was not registered. Please try again.": "抱歉,您的投票未註冊。請再試一次。", + "Vote not registered": "投票未註冊", + "Developer": "開發者", + "Experimental": "實驗性", + "Themes": "佈景主題", + "Message Previews": "訊息預覽", + "Moderation": "審核", + "Messaging": "訊息傳遞", + "Pin to sidebar": "釘選至側邊欄", + "Quick settings": "快速設定", + "Spaces you know that contain this space": "您知道的包含此空間的空間", + "Chat": "聊天" } From c09e0efdb9fb06ef3243a4d5c1adfc32659467e1 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Tue, 30 Nov 2021 17:55:57 +0000 Subject: [PATCH 10/29] Upgrade allchange to 1.0.6 (#7238) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 93867da9677..9c7ad5f0089 100644 --- a/package.json +++ b/package.json @@ -154,7 +154,7 @@ "@typescript-eslint/eslint-plugin": "^4.17.0", "@typescript-eslint/parser": "^4.17.0", "@wojtekmaj/enzyme-adapter-react-17": "^0.6.1", - "allchange": "^1.0.5", + "allchange": "^1.0.6", "babel-jest": "^26.6.3", "chokidar": "^3.5.1", "concurrently": "^5.3.0", diff --git a/yarn.lock b/yarn.lock index 03df1b3484c..f6c292280a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2052,10 +2052,10 @@ ajv@^8.0.1: require-from-string "^2.0.2" uri-js "^4.2.2" -allchange@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/allchange/-/allchange-1.0.5.tgz#9496425eea8ff1a2e57b37d059333df6c3d37382" - integrity sha512-g3VYQfhvc42L0Mr9JTsZlVSrms4TbvqrvONj13M8NHKvp25XR9d5xS05wXqh9+mh0tYcAWDrOvAoceCzSzijBA== +allchange@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/allchange/-/allchange-1.0.6.tgz#f905918255541dc92d6a1f5cdf758db4597f569c" + integrity sha512-37a4J55oSxhLmlS/DeBOKjKn5dbjkyR4qMJ9is8+CKLPTe7NybcWBYvrPLr9kVLBa6aigWrdovRHrQj/4v6k4w== dependencies: "@actions/core" "^1.4.0" "@actions/github" "^5.0.0" From 8fe582b094c73a6645fc2023da4cdce0c567185a Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 30 Nov 2021 18:08:46 +0000 Subject: [PATCH 11/29] Tweaks to informational architecture 1.1 (#7052) * Move user avatar to Space panel * Add room list header for 'Home' or 'Space Name' to room list Add existing Space context menus to room list header * Re-add pending room join spinner * Iterate RoomListHeader plus context menu * Iterate space context menu * Iterate room list + interactions * Move DND to new iA model * Replace composer custom status management with usermenu one * Cull Quick Actions * Iterate minimized room list state * delint * Merge the RoomListNumResults into the RoomListHeader * Make the search shortcut prompt semi-bold * Iterate RoomListHeader based on design review * Iterate UserMenu based on feedback * Add name to expanded spacepanel usermenu button * i18n * Make room sub list aux button components more generic * Change left panel explore button to only refer to room directory * Iterate RoomListHeader * Fix custom user status input field width in Chrome * Bring back Notification settings button * delint * i18n * post-merge fix * iterate pr * Remove unused state * update copy * Apply suggestions from PR review * delint * Update invite iconography * Iterate Space context menu to match Figma * Fix chevron alignment * Fix edge case for RoomListHeader on metaspaces * Wire up general rageshake-driven feedback mechanism * Add IA1.1 info toast * add missing alt attribute * delint * delint * tweak ia toast priority * e2e test account for new toast * autofocus feedback field and remove old subheading * tweak copy * Iterate space panel colours to match Figma * Iterate PR * delint * Fix feedback submission with object setting values * iterate based on review * Tweak colours and update splash image * Tweaks based on review * Remove room list prompt, made redundant by the big fat `+` * Fix edge cases around User Menu positioning and dnd * Add missing import, bad merge? * Update aria label in e2e test * Fix room list space rooms context menu explore button behaviour * Tweak copy * Revert order of options in the UserMenu * Tweak copy * i18n --- res/css/_common.scss | 9 + res/css/_components.scss | 3 +- res/css/structures/_LeftPanel.scss | 35 +- res/css/structures/_RoomSearch.scss | 31 +- res/css/structures/_SpacePanel.scss | 73 ++- res/css/structures/_ToastContainer.scss | 5 + res/css/structures/_UserMenu.scss | 229 +++----- .../avatars/_MemberStatusMessageAvatar.scss | 29 - .../context_menus/_IconizedContextMenu.scss | 5 + .../_StatusMessageContextMenu.scss | 65 --- res/css/views/dialogs/_FeedbackDialog.scss | 32 +- res/css/views/rooms/_MessageComposer.scss | 4 +- res/css/views/rooms/_RoomBreadcrumbs.scss | 1 + res/css/views/rooms/_RoomList.scss | 26 +- res/css/views/rooms/_RoomListHeader.scss | 111 ++++ res/img/element-icons/flask.svg | 3 + .../roomlist/dnd-avatar-mask.svg | 3 + res/img/element-icons/roomlist/dnd-cross.svg | 3 + res/img/element-icons/roomlist/dnd.svg | 3 + res/img/element-icons/roomlist/feedback.svg | 7 - res/img/element-icons/roomlist/hash-plus.svg | 5 + .../element-icons/roomlist/hash-search.svg | 4 + res/img/element-icons/roomlist/hash.svg | 3 + .../element-icons/roomlist/member-plus.svg | 3 + .../element-icons/roomlist/search-clear.svg | 3 - res/img/ia-design-changes.png | Bin 0 -> 99424 bytes src/components/structures/LeftPanel.tsx | 31 +- src/components/structures/MatrixChat.tsx | 73 ++- src/components/structures/RoomSearch.tsx | 26 +- src/components/structures/SpaceRoomView.tsx | 7 +- src/components/structures/UserMenu.tsx | 519 +++++++----------- .../avatars/MemberStatusMessageAvatar.tsx | 159 ------ .../context_menus/IconizedContextMenu.tsx | 20 +- .../views/context_menus/SpaceContextMenu.tsx | 84 +-- .../StatusMessageContextMenu.tsx | 155 ------ .../views/dialogs/FeedbackDialog.tsx | 139 +++-- .../views/rooms/MessageComposer.tsx | 12 - src/components/views/rooms/RoomList.tsx | 381 +++++++------ src/components/views/rooms/RoomListHeader.tsx | 367 +++++++++++++ .../views/rooms/RoomListNumResults.tsx | 55 -- src/components/views/rooms/RoomSublist.tsx | 74 +-- src/components/views/spaces/SpacePanel.tsx | 21 +- src/i18n/strings/en_EN.json | 75 +-- src/rageshake/submit-rageshake.ts | 2 +- src/settings/Settings.tsx | 1 + src/stores/spaces/index.ts | 15 + src/utils/space.tsx | 5 + test/end-to-end-tests/src/scenarios/toast.js | 2 + .../src/usecases/create-space.js | 2 +- 49 files changed, 1435 insertions(+), 1485 deletions(-) delete mode 100644 res/css/views/avatars/_MemberStatusMessageAvatar.scss delete mode 100644 res/css/views/context_menus/_StatusMessageContextMenu.scss create mode 100644 res/css/views/rooms/_RoomListHeader.scss create mode 100644 res/img/element-icons/flask.svg create mode 100644 res/img/element-icons/roomlist/dnd-avatar-mask.svg create mode 100644 res/img/element-icons/roomlist/dnd-cross.svg create mode 100644 res/img/element-icons/roomlist/dnd.svg delete mode 100644 res/img/element-icons/roomlist/feedback.svg create mode 100644 res/img/element-icons/roomlist/hash-plus.svg create mode 100644 res/img/element-icons/roomlist/hash-search.svg create mode 100644 res/img/element-icons/roomlist/hash.svg create mode 100644 res/img/element-icons/roomlist/member-plus.svg delete mode 100644 res/img/element-icons/roomlist/search-clear.svg create mode 100644 res/img/ia-design-changes.png delete mode 100644 src/components/views/avatars/MemberStatusMessageAvatar.tsx delete mode 100644 src/components/views/context_menus/StatusMessageContextMenu.tsx create mode 100644 src/components/views/rooms/RoomListHeader.tsx delete mode 100644 src/components/views/rooms/RoomListNumResults.tsx diff --git a/res/css/_common.scss b/res/css/_common.scss index bb5c74d5b90..ae8a475aef2 100644 --- a/res/css/_common.scss +++ b/res/css/_common.scss @@ -482,6 +482,15 @@ input[type=text]:focus, input[type=password]:focus, textarea:focus { overflow-y: hidden; } +.mx_DialogDesignChanges_wrapper .mx_Dialog_fixedWidth { + max-width: 636px; // match splash image width + + .mx_AccessibleButton_kind_link { + font-size: inherit; + padding: 0; + } +} + // TODO: Review mx_GeneralButton usage to see if it can use a different class // These classes were brought in from the old UserSettings and are included here to avoid // breaking the app. diff --git a/res/css/_components.scss b/res/css/_components.scss index 6029a26080a..30b0f9d7998 100644 --- a/res/css/_components.scss +++ b/res/css/_components.scss @@ -60,13 +60,11 @@ @import "./views/auth/_Welcome.scss"; @import "./views/avatars/_BaseAvatar.scss"; @import "./views/avatars/_DecoratedRoomAvatar.scss"; -@import "./views/avatars/_MemberStatusMessageAvatar.scss"; @import "./views/avatars/_WidgetAvatar.scss"; @import "./views/beta/_BetaCard.scss"; @import "./views/context_menus/_CallContextMenu.scss"; @import "./views/context_menus/_IconizedContextMenu.scss"; @import "./views/context_menus/_MessageContextMenu.scss"; -@import "./views/context_menus/_StatusMessageContextMenu.scss"; @import "./views/context_menus/_TagTileContextMenu.scss"; @import "./views/dialogs/_AddExistingToSpaceDialog.scss"; @import "./views/dialogs/_AddressPickerDialog.scss"; @@ -237,6 +235,7 @@ @import "./views/rooms/_RoomBreadcrumbs.scss"; @import "./views/rooms/_RoomHeader.scss"; @import "./views/rooms/_RoomList.scss"; +@import "./views/rooms/_RoomListHeader.scss"; @import "./views/rooms/_RoomPreviewBar.scss"; @import "./views/rooms/_RoomSublist.scss"; @import "./views/rooms/_RoomTile.scss"; diff --git a/res/css/structures/_LeftPanel.scss b/res/css/structures/_LeftPanel.scss index 0bfa0c993af..5214c0260dd 100644 --- a/res/css/structures/_LeftPanel.scss +++ b/res/css/structures/_LeftPanel.scss @@ -101,8 +101,9 @@ $roomListCollapsedWidth: 68px; } .mx_LeftPanel_filterContainer { - margin-left: 12px; - margin-right: 12px; + margin: 0 12px; + padding: 12px 0 8px; + border-bottom: 1px solid $quinary-content; flex-shrink: 0; // to convince safari's layout engine the flexbox is fine @@ -110,7 +111,28 @@ $roomListCollapsedWidth: 68px; display: flex; align-items: center; + & + .mx_RoomListHeader { + margin-top: 12px; + } + + .mx_RoomSearch_shortcutPrompt { + border-radius: 6px; + background-color: $panel-actions; + padding: 2px 4px; + user-select: none; + pointer-events: none; + font-size: $font-12px; + line-height: $font-15px; + font-weight: $font-semi-bold; + color: $light-fg-color; + margin-right: 6px; + } + .mx_RoomSearch_focused, .mx_RoomSearch_hasQuery { + .mx_RoomSearch_shortcutPrompt { + display: none; + } + & + .mx_LeftPanel_exploreButton { // Cheaty way to return the occupied space to the filter input flex-basis: 0; @@ -170,8 +192,12 @@ $roomListCollapsedWidth: 68px; background: $secondary-content; } - &.mx_LeftPanel_exploreButton_space::before { - mask-image: url('$(res)/img/element-icons/roomlist/browse.svg'); + &:hover { + background-color: $tertiary-content; + + &::before { + background-color: $background; + } } } } @@ -234,7 +260,6 @@ $roomListCollapsedWidth: 68px; .mx_LeftPanel_exploreButton { margin-left: 0; margin-top: 8px; - background-color: transparent; } } } diff --git a/res/css/structures/_RoomSearch.scss b/res/css/structures/_RoomSearch.scss index 89e9a9d0aea..a35b7e35390 100644 --- a/res/css/structures/_RoomSearch.scss +++ b/res/css/structures/_RoomSearch.scss @@ -67,12 +67,22 @@ limitations under the License. .mx_RoomSearch_clearButton { width: 16px; height: 16px; - mask-image: url('$(res)/img/element-icons/roomlist/search-clear.svg'); - mask-position: center; - mask-size: contain; - mask-repeat: no-repeat; - background-color: $secondary-content; margin-right: 8px; + background-color: $quinary-content; + border-radius: 50%; + position: relative; + + &::before { + content: ""; + position: absolute; + width: inherit; + height: inherit; + mask-image: url('$(res)/img/feather-customised/x.svg'); + mask-position: center; + mask-size: 12px; + mask-repeat: no-repeat; + background-color: $secondary-content; + } } } @@ -82,13 +92,20 @@ limitations under the License. } &.mx_RoomSearch_minimized { - border-radius: 32px; height: auto; width: auto; - padding: 8px; + padding: 5px; .mx_RoomSearch_icon { margin-left: 0; } + + &:hover { + background-color: $tertiary-content; + + .mx_RoomSearch_icon { + background-color: $background; + } + } } } diff --git a/res/css/structures/_SpacePanel.scss b/res/css/structures/_SpacePanel.scss index 706cfb44f09..60aa373a398 100644 --- a/res/css/structures/_SpacePanel.scss +++ b/res/css/structures/_SpacePanel.scss @@ -20,7 +20,7 @@ $gutterSize: 16px; $activeBorderTransparentGap: 1px; $activeBackgroundColor: $panel-actions; -$activeBorderColor: $secondary-content; +$activeBorderColor: $primary-content; .mx_SpacePanel { background-color: $groupFilterPanel-bg-color; @@ -37,7 +37,7 @@ $activeBorderColor: $secondary-content; .mx_SpacePanel_spaceTreeWrapper { flex: 1; - padding: 8px 8px 16px 0; + padding: 12px 8px 16px 0; } .mx_SpacePanel_toggleCollapse { @@ -92,13 +92,6 @@ $activeBorderColor: $secondary-content; } } - .mx_SpaceTreeLevel { - display: flex; - flex-direction: column; - max-width: 250px; - flex-grow: 1; - } - .mx_SpaceItem { display: inline-flex; flex-flow: wrap; @@ -209,10 +202,10 @@ $activeBorderColor: $secondary-content; &.mx_SpaceButton_people, &.mx_SpaceButton_orphans { .mx_SpaceButton_icon { - background-color: #ffffff; + background-color: $panel-actions; &::before { - background-color: #3f3d3d; + background-color: $secondary-content; } } } @@ -234,8 +227,6 @@ $activeBorderColor: $secondary-content; } &.mx_SpaceButton_new .mx_SpaceButton_icon { - background-color: $panel-actions; - &::before { background-color: $primary-content; mask-image: url('$(res)/img/element-icons/plus.svg'); @@ -261,7 +252,7 @@ $activeBorderColor: $secondary-content; position: relative; &::before { - top: 2px; + top: 3px; left: 2px; content: ''; width: 16px; @@ -276,6 +267,35 @@ $activeBorderColor: $secondary-content; } } + .mx_SpaceTreeLevel { + display: flex; + flex-direction: column; + max-width: 250px; + flex-grow: 1; + + .mx_BaseAvatar:not(.mx_UserMenu_userAvatar_BaseAvatar) .mx_BaseAvatar_initial { + color: $secondary-content; + width: 32px; + height: 32px; + border-radius: 8px; + background-color: $panel-actions; + font-size: $font-15px !important; // override inline style + font-weight: $font-semi-bold; + line-height: $font-18px; + + & + .mx_BaseAvatar_image { + visibility: hidden; + } + } + + .mx_SpaceTreeLevel { + .mx_BaseAvatar_initial { + width: 24px; + height: 24px; + } + } + } + .mx_SpaceButton_avatarWrapper { position: relative; } @@ -338,13 +358,8 @@ $activeBorderColor: $secondary-content; line-height: $font-18px; } - .mx_IconizedContextMenu_optionList .mx_AccessibleButton.mx_SpacePanel_contextMenu_inviteButton { - color: $accent; - - .mx_SpacePanel_iconInvite::before { - background-color: $accent; - mask-image: url('$(res)/img/element-icons/room/invite.svg'); - } + .mx_SpacePanel_iconInvite::before { + mask-image: url('$(res)/img/element-icons/room/invite.svg'); } .mx_SpacePanel_iconSettings::before { @@ -360,15 +375,11 @@ $activeBorderColor: $secondary-content; } .mx_SpacePanel_iconPlus::before { - mask-image: url('$(res)/img/element-icons/roomlist/plus-circle.svg'); - } - - .mx_SpacePanel_iconHash::before { - mask-image: url('$(res)/img/element-icons/roomlist/hash-circle.svg'); + mask-image: url('$(res)/img/element-icons/plus.svg'); } .mx_SpacePanel_iconExplore::before { - mask-image: url('$(res)/img/element-icons/roomlist/browse.svg'); + mask-image: url('$(res)/img/element-icons/roomlist/search.svg'); } .mx_SpacePanel_noIcon { @@ -378,6 +389,14 @@ $activeBorderColor: $secondary-content; padding-left: 5px !important; // override default iconized label style to align with header } } + + .mx_SpacePanel_contextMenu_separatorLabel { + color: $tertiary-content; + font-size: $font-10px; + line-height: $font-12px; + font-weight: $font-semi-bold; + //margin-left: 8px; + } } .mx_SpacePanel_sharePublicSpace { diff --git a/res/css/structures/_ToastContainer.scss b/res/css/structures/_ToastContainer.scss index d2b3babc3ab..e4fe3c1e664 100644 --- a/res/css/structures/_ToastContainer.scss +++ b/res/css/structures/_ToastContainer.scss @@ -85,6 +85,11 @@ limitations under the License. background-color: $primary-content; } + &.mx_Toast_icon_labs::after { + mask-image: url('$(res)/img/element-icons/flask.svg'); + background-color: $secondary-content; + } + .mx_Toast_title, .mx_Toast_body { grid-column: 2; } diff --git a/res/css/structures/_UserMenu.scss b/res/css/structures/_UserMenu.scss index c10e7f60df2..b522593e103 100644 --- a/res/css/structures/_UserMenu.scss +++ b/res/css/structures/_UserMenu.scss @@ -15,141 +15,51 @@ limitations under the License. */ .mx_UserMenu { - // to make the menu button sort of aligned with the explore button below - padding-right: 6px; - - &.mx_UserMenu_prototype { - // The margin & padding combination between here and the ::after is to - // align the border line with the tag panel. - margin-bottom: 6px; - - padding-right: 0; // make the right edge line up with the explore button + padding: 0 2px 8px; + border-bottom: 1px solid $quinary-content; + margin-left: 18px; + margin-bottom: 4px; + box-sizing: border-box; + display: flex; + align-items: center; + width: max-content; + + .mx_UserMenu_userAvatar { + position: relative; + } - .mx_UserMenu_headerButtons { - // considering we've eliminated right padding on the menu itself, we need to - // push the chevron in slightly (roughly lining up with the center of the - // plus buttons) - margin-right: 2px; - } + .mx_UserMenu_name { + font-weight: $font-semi-bold; + font-size: $font-15px; + line-height: $font-24px; + margin-left: 10px; + } - // we cheat opacity on the theme colour with an after selector here - &::after { - content: ''; - border-bottom: 1px solid $primary-content; - opacity: 0.2; - display: block; - padding-top: 8px; - } + &.mx_UserMenu_cutout .mx_BaseAvatar { + mask-image: url('$(res)/img/element-icons/roomlist/dnd-avatar-mask.svg'); + mask-position: center; + mask-size: contain; + mask-repeat: no-repeat; } - .mx_UserMenu_headerButtons { + .mx_UserMenu_dndBadge { + position: absolute; + bottom: -2px; + right: -7px; width: 16px; height: 16px; - position: relative; - display: block; + border-radius: 50%; &::before { content: ''; width: 16px; height: 16px; position: absolute; - top: 0; - left: 0; mask-position: center; mask-size: contain; mask-repeat: no-repeat; - background: $tertiary-content; - mask-image: url('$(res)/img/feather-customised/chevron-down.svg'); - } - } - - .mx_UserMenu_row { - // Create a row-based flexbox to ensure items stay aligned correctly. - display: flex; - align-items: center; - - .mx_UserMenu_userAvatarContainer { - position: relative; // to make default avatars work - margin-right: 8px; - height: 32px; // to remove the unknown 4px gap the browser puts below it - padding: 3px 0; // to align with and without using doubleName - - .mx_UserMenu_userAvatar { - border-radius: 32px; // should match avatar size - object-fit: cover; - } - } - - .mx_UserMenu_doubleName { - flex: 1; - min-width: 0; // make flexbox aware that it can crush this to a tiny width - - .mx_UserMenu_userName, - .mx_UserMenu_subUserName { - display: block; - } - - .mx_UserMenu_subUserName { - color: $muted-fg-color; - font-size: $font-13px; - line-height: $font-18px; - flex: 1; - - // Ellipsize any text overflow - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - } - } - - .mx_UserMenu_userName { - font-weight: 600; - font-size: $font-15px; - line-height: $font-20px; - flex: 1; - - // Ellipsize any text overflow - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - } - - .mx_UserMenu_headerButtons { - // No special styles: the rest of the layout happens to make it work. - } - - .mx_UserMenu_dnd { - width: 24px; - height: 24px; - margin-right: 8px; - position: relative; - - &::before { - content: ''; - position: absolute; - width: 24px; - height: 24px; - mask-position: center; - mask-size: contain; - mask-repeat: no-repeat; - background: $muted-fg-color; - } - - &.mx_UserMenu_dnd_noisy::before { - mask-image: url('$(res)/img/element-icons/notifications.svg'); - } - - &.mx_UserMenu_dnd_muted::before { - mask-image: url('$(res)/img/element-icons/roomlist/notifications-off.svg'); - } - } - } - - &.mx_UserMenu_minimized { - padding-right: 0px; - - .mx_UserMenu_userAvatarContainer { - margin-right: 0px; + background-color: $alert; + mask-image: url('$(res)/img/element-icons/roomlist/dnd.svg'); } } } @@ -157,44 +67,6 @@ limitations under the License. .mx_UserMenu_contextMenu { width: 258px; - // These override the styles already present on the user menu rather than try to - // define a new menu. They are specifically for the stacked menu when a community - // is being represented as a prototype. - &.mx_UserMenu_contextMenu_prototype { - padding-bottom: 16px; - - .mx_UserMenu_contextMenu_header { - padding-bottom: 0; - padding-top: 16px; - - &:nth-child(n + 2) { - padding-top: 8px; - } - } - - hr { - width: 85%; - opacity: 0.2; - border: none; - border-bottom: 1px solid $primary-content; - } - - &.mx_IconizedContextMenu { - > .mx_IconizedContextMenu_optionList { - margin-top: 4px; - - &::before { - border: none; - } - - > .mx_AccessibleButton { - padding-top: 2px; - padding-bottom: 2px; - } - } - } - } - &.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList_red { .mx_AccessibleButton { padding-top: 16px; @@ -299,6 +171,15 @@ limitations under the License. .mx_UserMenu_iconHome::before { mask-image: url('$(res)/img/element-icons/roomlist/home.svg'); } + + .mx_UserMenu_iconDnd::before { + mask-image: url('$(res)/img/element-icons/roomlist/dnd.svg'); + } + + .mx_UserMenu_iconDndOff::before { + mask-image: url('$(res)/img/element-icons/roomlist/dnd-cross.svg'); + } + .mx_UserMenu_iconHosting::before { mask-image: url('$(res)/img/element-icons/brands/element.svg'); } @@ -315,23 +196,37 @@ limitations under the License. mask-image: url('$(res)/img/element-icons/settings.svg'); } - .mx_UserMenu_iconArchive::before { - mask-image: url('$(res)/img/element-icons/roomlist/archived.svg'); - } - .mx_UserMenu_iconMessage::before { - mask-image: url('$(res)/img/element-icons/roomlist/feedback.svg'); + mask-image: url('$(res)/img/element-icons/feedback.svg'); } .mx_UserMenu_iconSignOut::before { mask-image: url('$(res)/img/element-icons/leave.svg'); } +} + +.mx_UserMenu_CustomStatusSection { + margin: 0 12px 8px; + + .mx_UserMenu_CustomStatusSection_input { + position: relative; + display: flex; + + > input { + border: 1px solid $accent; + border-radius: 8px; + width: 100%; + } + } - .mx_UserMenu_iconMembers::before { - mask-image: url('$(res)/img/element-icons/room/members.svg'); + > p { + font-size: $font-12px; + line-height: $font-15px; + color: $secondary-content; + margin: 4px 0; } - .mx_UserMenu_iconInvite::before { - mask-image: url('$(res)/img/element-icons/room/invite.svg'); + .mx_AccessibleButton_kind_primary_outline { + display: block; } } diff --git a/res/css/views/avatars/_MemberStatusMessageAvatar.scss b/res/css/views/avatars/_MemberStatusMessageAvatar.scss deleted file mode 100644 index 7f2f53668f7..00000000000 --- a/res/css/views/avatars/_MemberStatusMessageAvatar.scss +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2018 New Vector 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_MessageComposer_avatar .mx_BaseAvatar { - padding: 2px; - border: 1px solid transparent; - border-radius: 100%; -} - -.mx_MessageComposer_avatar .mx_BaseAvatar_initial { - left: 2px; -} - -.mx_MemberStatusMessageAvatar_hasStatus .mx_BaseAvatar { - border-color: $accent; -} diff --git a/res/css/views/context_menus/_IconizedContextMenu.scss b/res/css/views/context_menus/_IconizedContextMenu.scss index ef7a547650b..56e98fa50ec 100644 --- a/res/css/views/context_menus/_IconizedContextMenu.scss +++ b/res/css/views/context_menus/_IconizedContextMenu.scss @@ -59,6 +59,11 @@ limitations under the License. border-radius: 0 0 8px 8px; // radius matches .mx_ContextualMenu } + // round all corners of the only button for the hover effect to be bounded + &:first-child:last-child .mx_AccessibleButton:first-child:last-child { + border-radius: 8px; // radius matches .mx_ContextualMenu + } + .mx_AccessibleButton { // pad the inside of the button so that the hover background is padded too padding-top: 12px; diff --git a/res/css/views/context_menus/_StatusMessageContextMenu.scss b/res/css/views/context_menus/_StatusMessageContextMenu.scss deleted file mode 100644 index d313936c091..00000000000 --- a/res/css/views/context_menus/_StatusMessageContextMenu.scss +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright 2018 New Vector 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_StatusMessageContextMenu { - padding: 10px; -} - -.mx_StatusMessageContextMenu_form { - display: flex; - flex-direction: column; -} - -input.mx_StatusMessageContextMenu_message { - border-radius: 4px; - border: 1px solid $input-border-color; - padding: 6.5px 11px; - background-color: $background; - font-weight: normal; - margin: 0 0 10px; -} - -.mx_StatusMessageContextMenu_message::placeholder { - color: $tertiary-content; -} - -.mx_StatusMessageContextMenu_actionContainer { - display: flex; -} - -.mx_StatusMessageContextMenu_submit, -.mx_StatusMessageContextMenu_clear { - @mixin mx_DialogButton; - align-self: start; - font-size: $font-12px; - padding: 6px 1em; - border: 1px solid transparent; - margin-right: 10px; -} - -.mx_StatusMessageContextMenu_submit[disabled] { - opacity: 0.49; -} - -.mx_StatusMessageContextMenu_clear { - color: $alert; - background-color: transparent; - border: 1px solid $alert; -} - -.mx_StatusMessageContextMenu_actionContainer .mx_Spinner { - justify-content: flex-start; -} diff --git a/res/css/views/dialogs/_FeedbackDialog.scss b/res/css/views/dialogs/_FeedbackDialog.scss index 8674f2bab64..9e4cf5e8aae 100644 --- a/res/css/views/dialogs/_FeedbackDialog.scss +++ b/res/css/views/dialogs/_FeedbackDialog.scss @@ -30,10 +30,32 @@ limitations under the License. .mx_FeedbackDialog_section { position: relative; - padding-left: 52px; + padding: 12px 52px 12px 68px; + border-radius: 8px; + border: 1px solid $quinary-content; + + & + .mx_FeedbackDialog_section { + margin-top: 16px; + } + + > h3 { + margin-top: 0; + margin-bottom: 8px; + font-weight: $font-semi-bold; + font-size: $font-18px; + line-height: $font-22px; + } > p { - color: $tertiary-content; + color: $secondary-content; + font-size: $font-15px; + line-height: $font-24px; + margin: 8px 0 0; + } + + .mx_FeedbackDialog_section_microcopy { + font-size: $font-12px; + line-height: $font-15px; } .mx_AccessibleButton_kind_link { @@ -51,13 +73,13 @@ limitations under the License. position: absolute; width: 40px; height: 40px; - left: 0; - top: 0; + left: 16px; + top: 12px; } &::before { background-color: $icon-button-color; - border-radius: 20px; + border-radius: 8px; } &::after { diff --git a/res/css/views/rooms/_MessageComposer.scss b/res/css/views/rooms/_MessageComposer.scss index f7ac714d660..2a49840f17e 100644 --- a/res/css/views/rooms/_MessageComposer.scss +++ b/res/css/views/rooms/_MessageComposer.scss @@ -20,7 +20,7 @@ limitations under the License. margin: auto; border-top: 1px solid $primary-hairline-color; position: relative; - padding-left: 82px; + padding-left: 42px; padding-right: 6px; } @@ -74,7 +74,7 @@ limitations under the License. .mx_MessageComposer_e2eIcon.mx_E2EIcon { position: absolute; - left: 60px; + left: 20px; margin-right: 0; // Counteract the E2EIcon class margin-left: 3px; // Counteract the E2EIcon class width: 12px; diff --git a/res/css/views/rooms/_RoomBreadcrumbs.scss b/res/css/views/rooms/_RoomBreadcrumbs.scss index 152b0a45cdb..c4b8efb5abe 100644 --- a/res/css/views/rooms/_RoomBreadcrumbs.scss +++ b/res/css/views/rooms/_RoomBreadcrumbs.scss @@ -21,6 +21,7 @@ limitations under the License. display: flex; flex-direction: row; align-items: flex-start; + margin-bottom: 12px; .mx_RoomBreadcrumbs_crumb { margin-right: 8px; diff --git a/res/css/views/rooms/_RoomList.scss b/res/css/views/rooms/_RoomList.scss index c9f60887daa..e92951902bc 100644 --- a/res/css/views/rooms/_RoomList.scss +++ b/res/css/views/rooms/_RoomList.scss @@ -21,18 +21,24 @@ limitations under the License. .mx_RoomList_iconPlus::before { mask-image: url('$(res)/img/element-icons/roomlist/plus-circle.svg'); } -.mx_RoomList_iconHash::before { - mask-image: url('$(res)/img/element-icons/roomlist/hash-circle.svg'); +.mx_RoomList_iconCreateNewRoom::before { + mask-image: url('$(res)/img/element-icons/roomlist/hash-plus.svg'); } -.mx_RoomList_iconExplore::before { - mask-image: url('$(res)/img/element-icons/roomlist/explore.svg'); +.mx_RoomList_iconAddExistingRoom::before { + mask-image: url('$(res)/img/element-icons/roomlist/hash.svg'); } -.mx_RoomList_iconBrowse::before { - mask-image: url('$(res)/img/element-icons/roomlist/browse.svg'); +.mx_RoomList_iconExplore::before { + mask-image: url('$(res)/img/element-icons/roomlist/hash-search.svg'); } .mx_RoomList_iconDialpad::before { mask-image: url('$(res)/img/element-icons/roomlist/dialpad.svg'); } +.mx_RoomList_iconStartChat { + mask-image: url('$(res)/img/element-icons/roomlist/member-plus.svg'); +} +.mx_RoomList_iconInvite { + mask-image: url('$(res)/img/element-icons/room/share.svg'); +} .mx_RoomList_explorePrompt { margin: 4px 12px 4px; @@ -77,13 +83,5 @@ limitations under the License. &.mx_RoomList_explorePrompt_explore::before { mask-image: url('$(res)/img/element-icons/roomlist/explore.svg'); } - - &.mx_RoomList_explorePrompt_spaceInvite::before { - mask-image: url('$(res)/img/element-icons/room/invite.svg'); - } - - &.mx_RoomList_explorePrompt_spaceExplore::before { - mask-image: url('$(res)/img/element-icons/roomlist/browse.svg'); - } } } diff --git a/res/css/views/rooms/_RoomListHeader.scss b/res/css/views/rooms/_RoomListHeader.scss new file mode 100644 index 00000000000..bdc0ffd75e1 --- /dev/null +++ b/res/css/views/rooms/_RoomListHeader.scss @@ -0,0 +1,111 @@ +/* +Copyright 2021 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. +*/ + +.mx_RoomListHeader { + display: flex; + align-items: center; + + .mx_RoomListHeader_contextLessTitle, + .mx_RoomListHeader_contextMenuButton { + font-size: $font-15px; + line-height: $font-24px; + font-weight: $font-semi-bold; + padding: 1px 24px 1px 4px; + position: relative; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin-left: 8px; + margin-right: auto; + user-select: none; + } + + .mx_RoomListHeader_contextMenuButton { + border-radius: 6px; + + &:hover { + background-color: $quinary-content; + } + + &::before { + content: ''; + width: 20px; + height: 20px; + top: 3px; + right: 0; + position: absolute; + mask-position: center; + mask-size: contain; + mask-repeat: no-repeat; + background-color: $tertiary-content; + mask-image: url('$(res)/img/feather-customised/chevron-down.svg'); + } + + &[aria-expanded=true] { + background-color: $quinary-content; + + &::before { + transform: rotate(180deg); + } + } + } + + .mx_RoomListHeader_plusButton { + width: 32px; + height: 32px; + border-radius: 8px; + position: relative; + padding: 8px; + margin-left: 8px; + margin-right: 12px; + background-color: $panel-actions; + box-sizing: border-box; + flex-shrink: 0; + + &::before { + content: ''; + width: 16px; + height: 16px; + position: absolute; + mask-position: center; + mask-size: contain; + mask-repeat: no-repeat; + background-color: $secondary-content; + mask-image: url('$(res)/img/element-icons/roomlist/plus.svg'); + } + + &:hover { + background-color: $tertiary-content; + + &::before { + background-color: $background; + } + } + } +} + +.mx_RoomListHeader_iconInvite::before { + mask-image: url('$(res)/img/element-icons/room/invite.svg'); +} +.mx_RoomListHeader_iconStartChat::before { + mask-image: url('$(res)/img/element-icons/roomlist/member-plus.svg'); +} +.mx_RoomListHeader_iconCreateRoom::before { + mask-image: url('$(res)/img/element-icons/roomlist/hash-plus.svg'); +} +.mx_RoomListHeader_iconExplore::before { + mask-image: url('$(res)/img/element-icons/roomlist/hash-search.svg'); +} diff --git a/res/img/element-icons/flask.svg b/res/img/element-icons/flask.svg new file mode 100644 index 00000000000..1b6d1204ea6 --- /dev/null +++ b/res/img/element-icons/flask.svg @@ -0,0 +1,3 @@ + + + diff --git a/res/img/element-icons/roomlist/dnd-avatar-mask.svg b/res/img/element-icons/roomlist/dnd-avatar-mask.svg new file mode 100644 index 00000000000..438d65e5023 --- /dev/null +++ b/res/img/element-icons/roomlist/dnd-avatar-mask.svg @@ -0,0 +1,3 @@ + + + diff --git a/res/img/element-icons/roomlist/dnd-cross.svg b/res/img/element-icons/roomlist/dnd-cross.svg new file mode 100644 index 00000000000..2091d598021 --- /dev/null +++ b/res/img/element-icons/roomlist/dnd-cross.svg @@ -0,0 +1,3 @@ + + + diff --git a/res/img/element-icons/roomlist/dnd.svg b/res/img/element-icons/roomlist/dnd.svg new file mode 100644 index 00000000000..8c4a86e5196 --- /dev/null +++ b/res/img/element-icons/roomlist/dnd.svg @@ -0,0 +1,3 @@ + + + diff --git a/res/img/element-icons/roomlist/feedback.svg b/res/img/element-icons/roomlist/feedback.svg deleted file mode 100644 index c15edd709a1..00000000000 --- a/res/img/element-icons/roomlist/feedback.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/res/img/element-icons/roomlist/hash-plus.svg b/res/img/element-icons/roomlist/hash-plus.svg new file mode 100644 index 00000000000..807c42cd809 --- /dev/null +++ b/res/img/element-icons/roomlist/hash-plus.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/res/img/element-icons/roomlist/hash-search.svg b/res/img/element-icons/roomlist/hash-search.svg new file mode 100644 index 00000000000..1ea59502329 --- /dev/null +++ b/res/img/element-icons/roomlist/hash-search.svg @@ -0,0 +1,4 @@ + + + + diff --git a/res/img/element-icons/roomlist/hash.svg b/res/img/element-icons/roomlist/hash.svg new file mode 100644 index 00000000000..6388116ab0e --- /dev/null +++ b/res/img/element-icons/roomlist/hash.svg @@ -0,0 +1,3 @@ + + + diff --git a/res/img/element-icons/roomlist/member-plus.svg b/res/img/element-icons/roomlist/member-plus.svg new file mode 100644 index 00000000000..71269b54ca1 --- /dev/null +++ b/res/img/element-icons/roomlist/member-plus.svg @@ -0,0 +1,3 @@ + + + diff --git a/res/img/element-icons/roomlist/search-clear.svg b/res/img/element-icons/roomlist/search-clear.svg deleted file mode 100644 index 29fc0976006..00000000000 --- a/res/img/element-icons/roomlist/search-clear.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/res/img/ia-design-changes.png b/res/img/ia-design-changes.png new file mode 100644 index 0000000000000000000000000000000000000000..d13caff41217815a408c32aa14af466a9f1d7e54 GIT binary patch literal 99424 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 z { private focusedElement = null; private isDoingStickyHeaders = false; - static contextType = MatrixClientContext; - public context!: React.ContextType; - constructor(props: IProps) { super(props); @@ -327,14 +322,6 @@ export default class LeftPanel extends React.Component { } }; - private renderHeader(): React.ReactNode { - return ( -
- -
- ); - } - private renderBreadcrumbs(): React.ReactNode { if (this.state.showBreadcrumbs && !this.props.isMinimized) { return ( @@ -362,7 +349,6 @@ export default class LeftPanel extends React.Component { />; } - const space = this.state.activeSpace[0] === "!" ? this.context.getRoom(this.state.activeSpace) : null; return (
{ { dialPadButton } - + title={_t("Explore rooms")} + /> }
); } @@ -415,10 +399,9 @@ export default class LeftPanel extends React.Component { return (