Merge remote-tracking branch 'origin/develop' into hs/bridge-info-v2

This commit is contained in:
Will Hunt 2021-01-18 11:36:46 +00:00
commit d71b2cf04f
58 changed files with 5736 additions and 333 deletions

View file

@ -128,6 +128,7 @@
"@types/classnames": "^2.2.10", "@types/classnames": "^2.2.10",
"@types/counterpart": "^0.18.1", "@types/counterpart": "^0.18.1",
"@types/flux": "^3.1.9", "@types/flux": "^3.1.9",
"@types/jest": "^26.0.20",
"@types/linkifyjs": "^2.1.3", "@types/linkifyjs": "^2.1.3",
"@types/lodash": "^4.14.158", "@types/lodash": "^4.14.158",
"@types/modernizr": "^3.5.3", "@types/modernizr": "^3.5.3",
@ -172,7 +173,7 @@
"jest": { "jest": {
"testEnvironment": "./__test-utils__/environment.js", "testEnvironment": "./__test-utils__/environment.js",
"testMatch": [ "testMatch": [
"<rootDir>/test/**/*-test.js" "<rootDir>/test/**/*-test.[jt]s"
], ],
"setupFiles": [ "setupFiles": [
"jest-canvas-mock" "jest-canvas-mock"

View file

@ -237,5 +237,6 @@
@import "./views/voip/_CallContainer.scss"; @import "./views/voip/_CallContainer.scss";
@import "./views/voip/_CallView.scss"; @import "./views/voip/_CallView.scss";
@import "./views/voip/_DialPad.scss"; @import "./views/voip/_DialPad.scss";
@import "./views/voip/_DialPadContextMenu.scss";
@import "./views/voip/_DialPadModal.scss"; @import "./views/voip/_DialPadModal.scss";
@import "./views/voip/_VideoFeed.scss"; @import "./views/voip/_VideoFeed.scss";

View file

@ -18,6 +18,16 @@ limitations under the License.
position: relative; position: relative;
width: min-content; width: min-content;
// this isn't a floating tooltip so override some things to not need to bother with z-index and floating
.mx_Tooltip {
display: inline-block;
position: absolute;
z-index: unset;
width: max-content;
left: 72px;
top: 0;
}
&::before, &::after { &::before, &::after {
content: ''; content: '';
position: absolute; position: absolute;

View file

@ -46,7 +46,7 @@ limitations under the License.
.mx_IncomingCallBox { .mx_IncomingCallBox {
min-width: 250px; min-width: 250px;
background-color: $secondary-accent-color; background-color: $voipcall-plinth-color;
padding: 8px; padding: 8px;
box-shadow: 0px 14px 24px rgba(0, 0, 0, 0.08); box-shadow: 0px 14px 24px rgba(0, 0, 0, 0.08);
border-radius: 8px; border-radius: 8px;

View file

@ -310,8 +310,14 @@ limitations under the License.
} }
} }
// Makes the alignment correct .mx_CallView_callControls_dialpad {
.mx_CallView_callControls_nothing { margin-right: auto;
&::before {
background-image: url('$(res)/img/voip/dialpad.svg');
}
}
.mx_CallView_callControls_button_dialpad_hidden {
margin-right: auto; margin-right: auto;
cursor: initial; cursor: initial;
} }

View file

@ -0,0 +1,47 @@
/*
Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
.mx_DialPadContextMenu_header {
margin-top: 12px;
margin-left: 12px;
margin-right: 12px;
}
.mx_DialPadContextMenu_title {
color: $muted-fg-color;
font-size: 12px;
font-weight: 600;
}
.mx_DialPadContextMenu_dialled {
height: 1em;
font-size: 18px;
font-weight: 600;
}
.mx_DialPadContextMenu_dialPad {
margin: 16px;
}
.mx_DialPadContextMenu_horizSep {
position: relative;
&::before {
content: '';
position: absolute;
width: 100%;
border-bottom: 1px solid $input-darker-bg-color;
}
}

17
res/img/voip/dialpad.svg Normal file
View file

@ -0,0 +1,17 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d)">
<circle cx="24" cy="20" r="20" fill="white"/>
</g>
<path d="M24 25.8335C23.0833 25.8335 22.3333 26.5835 22.3333 27.5002C22.3333 28.4168 23.0833 29.1668 24 29.1668C24.9167 29.1668 25.6667 28.4168 25.6667 27.5002C25.6667 26.5835 24.9167 25.8335 24 25.8335ZM19 10.8335C18.0833 10.8335 17.3333 11.5835 17.3333 12.5002C17.3333 13.4168 18.0833 14.1668 19 14.1668C19.9167 14.1668 20.6667 13.4168 20.6667 12.5002C20.6667 11.5835 19.9167 10.8335 19 10.8335ZM19 15.8335C18.0833 15.8335 17.3333 16.5835 17.3333 17.5002C17.3333 18.4168 18.0833 19.1668 19 19.1668C19.9167 19.1668 20.6667 18.4168 20.6667 17.5002C20.6667 16.5835 19.9167 15.8335 19 15.8335ZM19 20.8335C18.0833 20.8335 17.3333 21.5835 17.3333 22.5002C17.3333 23.4168 18.0833 24.1668 19 24.1668C19.9167 24.1668 20.6667 23.4168 20.6667 22.5002C20.6667 21.5835 19.9167 20.8335 19 20.8335ZM29 14.1668C29.9167 14.1668 30.6667 13.4168 30.6667 12.5002C30.6667 11.5835 29.9167 10.8335 29 10.8335C28.0833 10.8335 27.3333 11.5835 27.3333 12.5002C27.3333 13.4168 28.0833 14.1668 29 14.1668ZM24 20.8335C23.0833 20.8335 22.3333 21.5835 22.3333 22.5002C22.3333 23.4168 23.0833 24.1668 24 24.1668C24.9167 24.1668 25.6667 23.4168 25.6667 22.5002C25.6667 21.5835 24.9167 20.8335 24 20.8335ZM29 20.8335C28.0833 20.8335 27.3333 21.5835 27.3333 22.5002C27.3333 23.4168 28.0833 24.1668 29 24.1668C29.9167 24.1668 30.6667 23.4168 30.6667 22.5002C30.6667 21.5835 29.9167 20.8335 29 20.8335ZM29 15.8335C28.0833 15.8335 27.3333 16.5835 27.3333 17.5002C27.3333 18.4168 28.0833 19.1668 29 19.1668C29.9167 19.1668 30.6667 18.4168 30.6667 17.5002C30.6667 16.5835 29.9167 15.8335 29 15.8335ZM24 15.8335C23.0833 15.8335 22.3333 16.5835 22.3333 17.5002C22.3333 18.4168 23.0833 19.1668 24 19.1668C24.9167 19.1668 25.6667 18.4168 25.6667 17.5002C25.6667 16.5835 24.9167 15.8335 24 15.8335ZM24 10.8335C23.0833 10.8335 22.3333 11.5835 22.3333 12.5002C22.3333 13.4168 23.0833 14.1668 24 14.1668C24.9167 14.1668 25.6667 13.4168 25.6667 12.5002C25.6667 11.5835 24.9167 10.8335 24 10.8335Z" fill="#737D8C"/>
<defs>
<filter id="filter0_d" x="0" y="0" width="48" height="48" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset dy="4"/>
<feGaussianBlur stdDeviation="2"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

@ -397,7 +397,8 @@ export const toRightOf = (elementRect: DOMRect, chevronOffset = 12) => {
return {left, top, chevronOffset}; return {left, top, chevronOffset};
}; };
// Placement method for <ContextMenu /> to position context menu right-aligned and flowing to the left of elementRect // Placement method for <ContextMenu /> to position context menu right-aligned and flowing to the left of elementRect,
// and either above or below: wherever there is more space (maybe this should be aboveOrBelowLeftOf?)
export const aboveLeftOf = (elementRect: DOMRect, chevronFace = ChevronFace.None, vPadding = 0) => { export const aboveLeftOf = (elementRect: DOMRect, chevronFace = ChevronFace.None, vPadding = 0) => {
const menuOptions: IPosition & { chevronFace: ChevronFace } = { chevronFace }; const menuOptions: IPosition & { chevronFace: ChevronFace } = { chevronFace };
@ -416,6 +417,41 @@ export const aboveLeftOf = (elementRect: DOMRect, chevronFace = ChevronFace.None
return menuOptions; return menuOptions;
}; };
// Placement method for <ContextMenu /> to position context menu right-aligned and flowing to the left of elementRect
// and always above elementRect
export const alwaysAboveLeftOf = (elementRect: DOMRect, chevronFace = ChevronFace.None, vPadding = 0) => {
const menuOptions: IPosition & { chevronFace: ChevronFace } = { chevronFace };
const buttonRight = elementRect.right + window.pageXOffset;
const buttonBottom = elementRect.bottom + window.pageYOffset;
const buttonTop = elementRect.top + window.pageYOffset;
// Align the right edge of the menu to the right edge of the button
menuOptions.right = window.innerWidth - buttonRight;
// Align the menu vertically on whichever side of the button has more space available.
if (buttonBottom < window.innerHeight / 2) {
menuOptions.top = buttonBottom + vPadding;
} else {
menuOptions.bottom = (window.innerHeight - buttonTop) + vPadding;
}
return menuOptions;
};
// Placement method for <ContextMenu /> to position context menu right-aligned and flowing to the right of elementRect
// and always above elementRect
export const alwaysAboveRightOf = (elementRect: DOMRect, chevronFace = ChevronFace.None, vPadding = 0) => {
const menuOptions: IPosition & { chevronFace: ChevronFace } = { chevronFace };
const buttonLeft = elementRect.left + window.pageXOffset;
const buttonTop = elementRect.top + window.pageYOffset;
// Align the left edge of the menu to the left edge of the button
menuOptions.left = buttonLeft;
// Align the menu vertically above the menu
menuOptions.bottom = (window.innerHeight - buttonTop) + vPadding;
return menuOptions;
};
type ContextMenuTuple<T> = [boolean, RefObject<T>, () => void, () => void, (val: boolean) => void]; type ContextMenuTuple<T> = [boolean, RefObject<T>, () => void, () => void, (val: boolean) => void];
export const useContextMenu = <T extends any = HTMLElement>(): ContextMenuTuple<T> => { export const useContextMenu = <T extends any = HTMLElement>(): ContextMenuTuple<T> => {
const button = useRef<T>(null); const button = useRef<T>(null);

View file

@ -140,7 +140,7 @@ class LoggedInView extends React.Component<IProps, IState> {
protected readonly _matrixClient: MatrixClient; protected readonly _matrixClient: MatrixClient;
protected readonly _roomView: React.RefObject<any>; protected readonly _roomView: React.RefObject<any>;
protected readonly _resizeContainer: React.RefObject<ResizeHandle>; protected readonly _resizeContainer: React.RefObject<ResizeHandle>;
protected readonly _compactLayoutWatcherRef: string; protected compactLayoutWatcherRef: string;
protected resizer: Resizer; protected resizer: Resizer;
constructor(props, context) { constructor(props, context) {
@ -157,18 +157,6 @@ class LoggedInView extends React.Component<IProps, IState> {
CallMediaHandler.loadDevices(); CallMediaHandler.loadDevices();
document.addEventListener('keydown', this._onNativeKeyDown, false);
this._updateServerNoticeEvents();
this._matrixClient.on("accountData", this.onAccountData);
this._matrixClient.on("sync", this.onSync);
this._matrixClient.on("RoomState.events", this.onRoomStateEvents);
this._compactLayoutWatcherRef = SettingsStore.watchSetting(
"useCompactLayout", null, this.onCompactLayoutChanged,
);
fixupColorFonts(); fixupColorFonts();
this._roomView = React.createRef(); this._roomView = React.createRef();
@ -176,6 +164,24 @@ class LoggedInView extends React.Component<IProps, IState> {
} }
componentDidMount() { componentDidMount() {
document.addEventListener('keydown', this._onNativeKeyDown, false);
this._updateServerNoticeEvents();
this._matrixClient.on("accountData", this.onAccountData);
this._matrixClient.on("sync", this.onSync);
// Call `onSync` with the current state as well
this.onSync(
this._matrixClient.getSyncState(),
null,
this._matrixClient.getSyncStateData(),
);
this._matrixClient.on("RoomState.events", this.onRoomStateEvents);
this.compactLayoutWatcherRef = SettingsStore.watchSetting(
"useCompactLayout", null, this.onCompactLayoutChanged,
);
this.resizer = this._createResizer(); this.resizer = this._createResizer();
this.resizer.attach(); this.resizer.attach();
this._loadResizerPreferences(); this._loadResizerPreferences();
@ -186,7 +192,7 @@ class LoggedInView extends React.Component<IProps, IState> {
this._matrixClient.removeListener("accountData", this.onAccountData); this._matrixClient.removeListener("accountData", this.onAccountData);
this._matrixClient.removeListener("sync", this.onSync); this._matrixClient.removeListener("sync", this.onSync);
this._matrixClient.removeListener("RoomState.events", this.onRoomStateEvents); this._matrixClient.removeListener("RoomState.events", this.onRoomStateEvents);
SettingsStore.unwatchSetting(this._compactLayoutWatcherRef); SettingsStore.unwatchSetting(this.compactLayoutWatcherRef);
this.resizer.detach(); this.resizer.detach();
} }

View file

@ -72,10 +72,13 @@ export default class SoftLogout extends React.Component {
this._initLogin(); this._initLogin();
MatrixClientPeg.get().countSessionsNeedingBackup().then(remaining => { const cli = MatrixClientPeg.get();
this.setState({keyBackupNeeded: remaining > 0}); if (cli.isCryptoEnabled()) {
cli.countSessionsNeedingBackup().then(remaining => {
this.setState({ keyBackupNeeded: remaining > 0 });
}); });
} }
}
onClearAll = () => { onClearAll = () => {
const ConfirmWipeDeviceDialog = sdk.getComponent('dialogs.ConfirmWipeDeviceDialog'); const ConfirmWipeDeviceDialog = sdk.getComponent('dialogs.ConfirmWipeDeviceDialog');

View file

@ -0,0 +1,59 @@
/*
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.
*/
import React from 'react';
import { _t } from '../../../languageHandler';
import { ContextMenu, IProps as IContextMenuProps } from '../../structures/ContextMenu';
import { MatrixCall } from 'matrix-js-sdk/src/webrtc/call';
import Dialpad from '../voip/DialPad';
interface IProps extends IContextMenuProps {
call: MatrixCall;
}
interface IState {
value: string;
}
export default class DialpadContextMenu extends React.Component<IProps, IState> {
constructor(props) {
super(props);
this.state = {
value: '',
}
}
onDigitPress = (digit) => {
this.props.call.sendDtmfDigit(digit);
this.setState({value: this.state.value + digit});
}
render() {
return <ContextMenu {...this.props}>
<div className="mx_DialPadContextMenu_header">
<div>
<span className="mx_DialPadContextMenu_title">{_t("Dial pad")}</span>
</div>
<div className="mx_DialPadContextMenu_dialled">{this.state.value}</div>
</div>
<div className="mx_DialPadContextMenu_horizSep" />
<div className="mx_DialPadContextMenu_dialPad">
<Dialpad onDigitPress={this.onDigitPress} hasDialAndDelete={false} />
</div>
</ContextMenu>;
}
}

View file

@ -26,7 +26,6 @@ import {WidgetMessagingStore} from "../../../stores/widgets/WidgetMessagingStore
import RoomContext from "../../../contexts/RoomContext"; import RoomContext from "../../../contexts/RoomContext";
import dis from "../../../dispatcher/dispatcher"; import dis from "../../../dispatcher/dispatcher";
import SettingsStore from "../../../settings/SettingsStore"; import SettingsStore from "../../../settings/SettingsStore";
import {SettingLevel} from "../../../settings/SettingLevel";
import Modal from "../../../Modal"; import Modal from "../../../Modal";
import QuestionDialog from "../dialogs/QuestionDialog"; import QuestionDialog from "../dialogs/QuestionDialog";
import {WidgetType} from "../../../widgets/WidgetType"; import {WidgetType} from "../../../widgets/WidgetType";
@ -127,7 +126,8 @@ const WidgetContextMenu: React.FC<IProps> = ({
console.info("Revoking permission for widget to load: " + app.eventId); console.info("Revoking permission for widget to load: " + app.eventId);
const current = SettingsStore.getValue("allowedWidgets", roomId); const current = SettingsStore.getValue("allowedWidgets", roomId);
current[app.eventId] = false; current[app.eventId] = false;
SettingsStore.setValue("allowedWidgets", roomId, SettingLevel.ROOM_ACCOUNT, current).catch(err => { const level = SettingsStore.firstSupportedLevel("allowedWidgets");
SettingsStore.setValue("allowedWidgets", roomId, level, current).catch(err => {
console.error(err); console.error(err);
// We don't really need to do anything about this - the user will just hit the button again. // We don't really need to do anything about this - the user will just hit the button again.
}); });

View file

@ -32,6 +32,8 @@ import {
PHASE_STARTED, PHASE_STARTED,
PHASE_CANCELLED, PHASE_CANCELLED,
} from "matrix-js-sdk/src/crypto/verification/request/VerificationRequest"; } from "matrix-js-sdk/src/crypto/verification/request/VerificationRequest";
import WidgetStore from "../../../stores/WidgetStore";
import {UPDATE_EVENT} from "../../../stores/AsyncStore";
class GenericEditor extends React.PureComponent { class GenericEditor extends React.PureComponent {
// static propTypes = {onBack: PropTypes.func.isRequired}; // static propTypes = {onBack: PropTypes.func.isRequired};
@ -701,6 +703,97 @@ class VerificationExplorer extends React.Component {
} }
} }
class WidgetExplorer extends React.Component {
static getLabel() {
return _t("Active Widgets");
}
constructor(props) {
super(props);
this.state = {
query: '',
editWidget: null, // set to an IApp when editing
};
}
onWidgetStoreUpdate = () => {
this.forceUpdate();
};
onQueryChange = (query) => {
this.setState({query});
};
onEditWidget = (widget) => {
this.setState({editWidget: widget});
};
onBack = () => {
const widgets = WidgetStore.instance.getApps(this.props.room.roomId);
if (this.state.editWidget && widgets.includes(this.state.editWidget)) {
this.setState({editWidget: null});
} else {
this.props.onBack();
}
};
componentDidMount() {
WidgetStore.instance.on(UPDATE_EVENT, this.onWidgetStoreUpdate);
}
componentWillUnmount() {
WidgetStore.instance.off(UPDATE_EVENT, this.onWidgetStoreUpdate);
}
render() {
const room = this.props.room;
const editWidget = this.state.editWidget;
const widgets = WidgetStore.instance.getApps(room.roomId);
if (editWidget && widgets.includes(editWidget)) {
const allState = Array.from(Array.from(room.currentState.events.values()).map(e => e.values()))
.reduce((p, c) => {p.push(...c); return p;}, []);
const stateEv = allState.find(ev => ev.getId() === editWidget.eventId);
if (!stateEv) { // "should never happen"
return <div>
{_t("There was an error finding this widget.")}
<div className="mx_Dialog_buttons">
<button onClick={this.onBack}>{_t("Back")}</button>
</div>
</div>;
}
return <SendCustomEvent
onBack={this.onBack}
room={room}
forceStateEvent={true}
inputs={{
eventType: stateEv.getType(),
evContent: JSON.stringify(stateEv.getContent(), null, '\t'),
stateKey: stateEv.getStateKey(),
}}
/>;
}
return (<div>
<div className="mx_Dialog_content">
<FilteredList query={this.state.query} onChange={this.onQueryChange}>
{widgets.map(w => {
return <button
className='mx_DevTools_RoomStateExplorer_button'
key={w.url + w.eventId}
onClick={() => this.onEditWidget(w)}
>{w.url}</button>;
})}
</FilteredList>
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.onBack}>{_t("Back")}</button>
</div>
</div>);
}
}
const Entries = [ const Entries = [
SendCustomEvent, SendCustomEvent,
RoomStateExplorer, RoomStateExplorer,
@ -708,6 +801,7 @@ const Entries = [
AccountDataExplorer, AccountDataExplorer,
ServersInRoomList, ServersInRoomList,
VerificationExplorer, VerificationExplorer,
WidgetExplorer,
]; ];
export default class DevtoolsDialog extends React.PureComponent { export default class DevtoolsDialog extends React.PureComponent {

View file

@ -298,7 +298,7 @@ export default class AccessSecretStorageDialog extends React.PureComponent {
<div className="mx_AccessSecretStorageDialog_recoveryKeyEntry"> <div className="mx_AccessSecretStorageDialog_recoveryKeyEntry">
<div className="mx_AccessSecretStorageDialog_recoveryKeyEntry_textInput"> <div className="mx_AccessSecretStorageDialog_recoveryKeyEntry_textInput">
<Field <Field
type="text" type="password"
label={_t('Security Key')} label={_t('Security Key')}
value={this.state.recoveryKey} value={this.state.recoveryKey}
onChange={this._onRecoveryKeyChange} onChange={this._onRecoveryKeyChange}

View file

@ -33,7 +33,6 @@ import SettingsStore from "../../../settings/SettingsStore";
import {aboveLeftOf, ContextMenuButton} from "../../structures/ContextMenu"; import {aboveLeftOf, ContextMenuButton} from "../../structures/ContextMenu";
import PersistedElement, {getPersistKey} from "./PersistedElement"; import PersistedElement, {getPersistKey} from "./PersistedElement";
import {WidgetType} from "../../../widgets/WidgetType"; import {WidgetType} from "../../../widgets/WidgetType";
import {SettingLevel} from "../../../settings/SettingLevel";
import {StopGapWidget} from "../../../stores/widgets/StopGapWidget"; import {StopGapWidget} from "../../../stores/widgets/StopGapWidget";
import {ElementWidgetActions} from "../../../stores/widgets/ElementWidgetActions"; import {ElementWidgetActions} from "../../../stores/widgets/ElementWidgetActions";
import {MatrixCapabilities} from "matrix-widget-api"; import {MatrixCapabilities} from "matrix-widget-api";
@ -240,7 +239,8 @@ export default class AppTile extends React.Component {
console.info("Granting permission for widget to load: " + this.props.app.eventId); console.info("Granting permission for widget to load: " + this.props.app.eventId);
const current = SettingsStore.getValue("allowedWidgets", roomId); const current = SettingsStore.getValue("allowedWidgets", roomId);
current[this.props.app.eventId] = true; current[this.props.app.eventId] = true;
SettingsStore.setValue("allowedWidgets", roomId, SettingLevel.ROOM_ACCOUNT, current).then(() => { const level = SettingsStore.firstSupportedLevel("allowedWidgets");
SettingsStore.setValue("allowedWidgets", roomId, level, current).then(() => {
this.setState({hasPermissionToLoad: true}); this.setState({hasPermissionToLoad: true});
// Fetch a token for the integration manager, now that we're allowed to // Fetch a token for the integration manager, now that we're allowed to

View file

@ -15,14 +15,15 @@ limitations under the License.
*/ */
import React, {useContext, useRef, useState} from 'react'; import React, {useContext, useRef, useState} from 'react';
import {EventType} from 'matrix-js-sdk/src/@types/event';
import classNames from 'classnames'; import classNames from 'classnames';
import AccessibleButton from "./AccessibleButton"; import AccessibleButton from "./AccessibleButton";
import Tooltip from './Tooltip';
import MatrixClientContext from "../../../contexts/MatrixClientContext"; import MatrixClientContext from "../../../contexts/MatrixClientContext";
import {useTimeout} from "../../../hooks/useTimeout"; import {useTimeout} from "../../../hooks/useTimeout";
import Analytics from "../../../Analytics"; import Analytics from "../../../Analytics";
import CountlyAnalytics from '../../../CountlyAnalytics'; import CountlyAnalytics from '../../../CountlyAnalytics';
import RoomContext from "../../../contexts/RoomContext";
export const AVATAR_SIZE = 52; export const AVATAR_SIZE = 52;
@ -50,6 +51,11 @@ const MiniAvatarUploader: React.FC<IProps> = ({ hasAvatar, hasAvatarLabel, noAva
const label = (hasAvatar || busy) ? hasAvatarLabel : noAvatarLabel; const label = (hasAvatar || busy) ? hasAvatarLabel : noAvatarLabel;
const {room} = useContext(RoomContext);
const canSetAvatar = room?.currentState.maySendStateEvent(EventType.RoomAvatar, cli.getUserId());
if (!canSetAvatar) return <React.Fragment>{ children }</React.Fragment>;
const visible = !!label && (hover || show);
return <React.Fragment> return <React.Fragment>
<input <input
type="file" type="file"
@ -82,11 +88,13 @@ const MiniAvatarUploader: React.FC<IProps> = ({ hasAvatar, hasAvatarLabel, noAva
> >
{ children } { children }
<Tooltip <div className={classNames("mx_Tooltip", {
label={label} "mx_Tooltip_visible": visible,
visible={!!label && (hover || show)} "mx_Tooltip_invisible": !visible,
forceOnRight })}>
/> <div className="mx_Tooltip_chevron" />
{ label }
</div>
</AccessibleButton> </AccessibleButton>
</React.Fragment>; </React.Fragment>;
}; };

View file

@ -410,7 +410,10 @@ export default class TextualBody extends React.Component {
ref: this._content, ref: this._content,
}); });
if (this.props.replacingEventId) { if (this.props.replacingEventId) {
body = [body, this._renderEditedMarker()]; body = <>
{body}
{this._renderEditedMarker()}
</>;
} }
if (this.props.highlightLink) { if (this.props.highlightLink) {

View file

@ -29,7 +29,7 @@ import ActiveRoomObserver from "../../../ActiveRoomObserver";
import { _t } from "../../../languageHandler"; import { _t } from "../../../languageHandler";
import { ChevronFace, ContextMenuTooltipButton } from "../../structures/ContextMenu"; import { ChevronFace, ContextMenuTooltipButton } from "../../structures/ContextMenu";
import { DefaultTagID, TagID } from "../../../stores/room-list/models"; import { DefaultTagID, TagID } from "../../../stores/room-list/models";
import { MessagePreviewStore, ROOM_PREVIEW_CHANGED } from "../../../stores/room-list/MessagePreviewStore"; import { MessagePreviewStore } from "../../../stores/room-list/MessagePreviewStore";
import DecoratedRoomAvatar from "../avatars/DecoratedRoomAvatar"; import DecoratedRoomAvatar from "../avatars/DecoratedRoomAvatar";
import { ALL_MESSAGES, ALL_MESSAGES_LOUD, MENTIONS_ONLY, MUTE } from "../../../RoomNotifs"; import { ALL_MESSAGES, ALL_MESSAGES_LOUD, MENTIONS_ONLY, MUTE } from "../../../RoomNotifs";
import { MatrixClientPeg } from "../../../MatrixClientPeg"; import { MatrixClientPeg } from "../../../MatrixClientPeg";
@ -51,7 +51,6 @@ import IconizedContextMenu, {
IconizedContextMenuRadio, IconizedContextMenuRadio,
} from "../context_menus/IconizedContextMenu"; } from "../context_menus/IconizedContextMenu";
import { CommunityPrototypeStore, IRoomProfile } from "../../../stores/CommunityPrototypeStore"; import { CommunityPrototypeStore, IRoomProfile } from "../../../stores/CommunityPrototypeStore";
import { UPDATE_EVENT } from "../../../stores/AsyncStore";
interface IProps { interface IProps {
room: Room; room: Room;
@ -99,12 +98,18 @@ export default class RoomTile extends React.PureComponent<IProps, IState> {
ActiveRoomObserver.addListener(this.props.room.roomId, this.onActiveRoomUpdate); ActiveRoomObserver.addListener(this.props.room.roomId, this.onActiveRoomUpdate);
this.dispatcherRef = defaultDispatcher.register(this.onAction); this.dispatcherRef = defaultDispatcher.register(this.onAction);
MessagePreviewStore.instance.on(ROOM_PREVIEW_CHANGED, this.onRoomPreviewChanged); MessagePreviewStore.instance.on(
MessagePreviewStore.getPreviewChangedEventName(this.props.room),
this.onRoomPreviewChanged,
);
this.notificationState = RoomNotificationStateStore.instance.getRoomState(this.props.room); this.notificationState = RoomNotificationStateStore.instance.getRoomState(this.props.room);
this.notificationState.on(NOTIFICATION_STATE_UPDATE, this.onNotificationUpdate); this.notificationState.on(NOTIFICATION_STATE_UPDATE, this.onNotificationUpdate);
this.roomProps = EchoChamber.forRoom(this.props.room); this.roomProps = EchoChamber.forRoom(this.props.room);
this.roomProps.on(PROPERTY_UPDATED, this.onRoomPropertyUpdate); this.roomProps.on(PROPERTY_UPDATED, this.onRoomPropertyUpdate);
CommunityPrototypeStore.instance.on(UPDATE_EVENT, this.onCommunityUpdate); CommunityPrototypeStore.instance.on(
CommunityPrototypeStore.getUpdateEventName(this.props.room.roomId),
this.onCommunityUpdate,
);
} }
private onNotificationUpdate = () => { private onNotificationUpdate = () => {
@ -128,6 +133,24 @@ export default class RoomTile extends React.PureComponent<IProps, IState> {
if (prevProps.showMessagePreview !== this.props.showMessagePreview && this.showMessagePreview) { if (prevProps.showMessagePreview !== this.props.showMessagePreview && this.showMessagePreview) {
this.setState({messagePreview: this.generatePreview()}); this.setState({messagePreview: this.generatePreview()});
} }
if (prevProps.room?.roomId !== this.props.room?.roomId) {
MessagePreviewStore.instance.off(
MessagePreviewStore.getPreviewChangedEventName(prevProps.room),
this.onRoomPreviewChanged,
);
MessagePreviewStore.instance.on(
MessagePreviewStore.getPreviewChangedEventName(this.props.room),
this.onRoomPreviewChanged,
);
CommunityPrototypeStore.instance.off(
CommunityPrototypeStore.getUpdateEventName(prevProps.room?.roomId),
this.onCommunityUpdate,
);
CommunityPrototypeStore.instance.on(
CommunityPrototypeStore.getUpdateEventName(this.props.room?.roomId),
this.onCommunityUpdate,
);
}
} }
public componentDidMount() { public componentDidMount() {
@ -140,11 +163,17 @@ export default class RoomTile extends React.PureComponent<IProps, IState> {
public componentWillUnmount() { public componentWillUnmount() {
if (this.props.room) { if (this.props.room) {
ActiveRoomObserver.removeListener(this.props.room.roomId, this.onActiveRoomUpdate); ActiveRoomObserver.removeListener(this.props.room.roomId, this.onActiveRoomUpdate);
MessagePreviewStore.instance.off(
MessagePreviewStore.getPreviewChangedEventName(this.props.room),
this.onRoomPreviewChanged,
);
CommunityPrototypeStore.instance.off(
CommunityPrototypeStore.getUpdateEventName(this.props.room.roomId),
this.onCommunityUpdate,
);
} }
defaultDispatcher.unregister(this.dispatcherRef); defaultDispatcher.unregister(this.dispatcherRef);
MessagePreviewStore.instance.off(ROOM_PREVIEW_CHANGED, this.onRoomPreviewChanged);
this.notificationState.off(NOTIFICATION_STATE_UPDATE, this.onNotificationUpdate); this.notificationState.off(NOTIFICATION_STATE_UPDATE, this.onNotificationUpdate);
CommunityPrototypeStore.instance.off(UPDATE_EVENT, this.onCommunityUpdate);
} }
private onAction = (payload: ActionPayload) => { private onAction = (payload: ActionPayload) => {

View file

@ -27,9 +27,10 @@ import { CallEvent } from 'matrix-js-sdk/src/webrtc/call';
import classNames from 'classnames'; import classNames from 'classnames';
import AccessibleButton from '../elements/AccessibleButton'; import AccessibleButton from '../elements/AccessibleButton';
import {isOnlyCtrlOrCmdKeyEvent, Key} from '../../../Keyboard'; import {isOnlyCtrlOrCmdKeyEvent, Key} from '../../../Keyboard';
import {aboveLeftOf, ChevronFace, ContextMenuButton} from '../../structures/ContextMenu'; import {alwaysAboveLeftOf, alwaysAboveRightOf, ChevronFace, ContextMenuButton} from '../../structures/ContextMenu';
import CallContextMenu from '../context_menus/CallContextMenu'; import CallContextMenu from '../context_menus/CallContextMenu';
import { avatarUrlForMember } from '../../../Avatar'; import { avatarUrlForMember } from '../../../Avatar';
import DialpadContextMenu from '../context_menus/DialpadContextMenu';
interface IProps { interface IProps {
// The call for us to display // The call for us to display
@ -60,6 +61,7 @@ interface IState {
callState: CallState, callState: CallState,
controlsVisible: boolean, controlsVisible: boolean,
showMoreMenu: boolean, showMoreMenu: boolean,
showDialpad: boolean,
} }
function getFullScreenElement() { function getFullScreenElement() {
@ -102,6 +104,7 @@ export default class CallView extends React.Component<IProps, IState> {
private dispatcherRef: string; private dispatcherRef: string;
private contentRef = createRef<HTMLDivElement>(); private contentRef = createRef<HTMLDivElement>();
private controlsHideTimer: number = null; private controlsHideTimer: number = null;
private dialpadButton = createRef<HTMLDivElement>();
private contextMenuButton = createRef<HTMLDivElement>(); private contextMenuButton = createRef<HTMLDivElement>();
constructor(props: IProps) { constructor(props: IProps) {
@ -115,6 +118,7 @@ export default class CallView extends React.Component<IProps, IState> {
callState: this.props.call.state, callState: this.props.call.state,
controlsVisible: true, controlsVisible: true,
showMoreMenu: false, showMoreMenu: false,
showDialpad: false,
} }
this.updateCallListeners(null, this.props.call); this.updateCallListeners(null, this.props.call);
@ -226,7 +230,7 @@ export default class CallView extends React.Component<IProps, IState> {
} }
private showControls() { private showControls() {
if (this.state.showMoreMenu) return; if (this.state.showMoreMenu || this.state.showDialpad) return;
if (!this.state.controlsVisible) { if (!this.state.controlsVisible) {
this.setState({ this.setState({
@ -239,6 +243,29 @@ export default class CallView extends React.Component<IProps, IState> {
this.controlsHideTimer = window.setTimeout(this.onControlsHideTimer, CONTROLS_HIDE_DELAY); this.controlsHideTimer = window.setTimeout(this.onControlsHideTimer, CONTROLS_HIDE_DELAY);
} }
private onDialpadClick = () => {
if (!this.state.showDialpad) {
if (this.controlsHideTimer) {
clearTimeout(this.controlsHideTimer);
this.controlsHideTimer = null;
}
this.setState({
showDialpad: true,
controlsVisible: true,
});
} else {
if (this.controlsHideTimer !== null) {
clearTimeout(this.controlsHideTimer);
}
this.controlsHideTimer = window.setTimeout(this.onControlsHideTimer, CONTROLS_HIDE_DELAY);
this.setState({
showDialpad: false,
});
}
}
private onMicMuteClick = () => { private onMicMuteClick = () => {
const newVal = !this.state.micMuted; const newVal = !this.state.micMuted;
@ -265,6 +292,13 @@ export default class CallView extends React.Component<IProps, IState> {
}); });
} }
private closeDialpad = () => {
this.setState({
showDialpad: false,
});
this.controlsHideTimer = window.setTimeout(this.onControlsHideTimer, CONTROLS_HIDE_DELAY);
}
private closeContextMenu = () => { private closeContextMenu = () => {
this.setState({ this.setState({
showMoreMenu: false, showMoreMenu: false,
@ -323,20 +357,29 @@ export default class CallView extends React.Component<IProps, IState> {
CallHandler.sharedInstance().setActiveCallRoomId(this.props.call.roomId); CallHandler.sharedInstance().setActiveCallRoomId(this.props.call.roomId);
} }
private onSecondaryCallResumeClick = () => {
CallHandler.sharedInstance().setActiveCallRoomId(this.props.secondaryCall.roomId);
}
public render() { public render() {
const client = MatrixClientPeg.get(); const client = MatrixClientPeg.get();
const callRoom = client.getRoom(this.props.call.roomId); const callRoom = client.getRoom(this.props.call.roomId);
const secCallRoom = this.props.secondaryCall ? client.getRoom(this.props.secondaryCall.roomId) : null; const secCallRoom = this.props.secondaryCall ? client.getRoom(this.props.secondaryCall.roomId) : null;
let dialPad;
let contextMenu; let contextMenu;
if (this.state.showDialpad) {
dialPad = <DialpadContextMenu
{...alwaysAboveRightOf(
this.dialpadButton.current.getBoundingClientRect(),
ChevronFace.None,
CONTEXT_MENU_VPADDING,
)}
onFinished={this.closeDialpad}
call={this.props.call}
/>;
}
if (this.state.showMoreMenu) { if (this.state.showMoreMenu) {
contextMenu = <CallContextMenu contextMenu = <CallContextMenu
{...aboveLeftOf( {...alwaysAboveLeftOf(
this.contextMenuButton.current.getBoundingClientRect(), this.contextMenuButton.current.getBoundingClientRect(),
ChevronFace.None, ChevronFace.None,
CONTEXT_MENU_VPADDING, CONTEXT_MENU_VPADDING,
@ -384,8 +427,15 @@ export default class CallView extends React.Component<IProps, IState> {
onClick={this.onVidMuteClick} onClick={this.onVidMuteClick}
/> : null; /> : null;
// The 'more' button actions are only relevant in a connected call // The dial pad & 'more' button actions are only relevant in a connected call
// When not connected, we have to put something there to make the flexbox alignment correct // When not connected, we have to put something there to make the flexbox alignment correct
const dialpadButton = this.state.callState === CallState.Connected ? <ContextMenuButton
className="mx_CallView_callControls_button mx_CallView_callControls_dialpad"
inputRef={this.dialpadButton}
onClick={this.onDialpadClick}
isExpanded={this.state.showDialpad}
/> : <div className="mx_CallView_callControls_button mx_CallView_callControls_button_dialpad_hidden" />;
const contextMenuButton = this.state.callState === CallState.Connected ? <ContextMenuButton const contextMenuButton = this.state.callState === CallState.Connected ? <ContextMenuButton
className="mx_CallView_callControls_button mx_CallView_callControls_button_more" className="mx_CallView_callControls_button mx_CallView_callControls_button_more"
onClick={this.onMoreClick} onClick={this.onMoreClick}
@ -396,7 +446,7 @@ export default class CallView extends React.Component<IProps, IState> {
// in the near future, the dial pad button will go on the left. For now, it's the nothing button // in the near future, the dial pad button will go on the left. For now, it's the nothing button
// because something needs to have margin-right: auto to make the alignment correct. // because something needs to have margin-right: auto to make the alignment correct.
const callControls = <div className={callControlsClasses}> const callControls = <div className={callControlsClasses}>
<div className="mx_CallView_callControls_button mx_CallView_callControls_nothing" /> {dialpadButton}
<AccessibleButton <AccessibleButton
className={micClasses} className={micClasses}
onClick={this.onMicMuteClick} onClick={this.onMicMuteClick}
@ -558,6 +608,7 @@ export default class CallView extends React.Component<IProps, IState> {
return <div className={"mx_CallView " + myClassName}> return <div className={"mx_CallView " + myClassName}>
{header} {header}
{contentView} {contentView}
{dialPad}
{contextMenu} {contextMenu}
</div>; </div>;
} }

View file

@ -54,8 +54,9 @@ class DialPadButton extends React.PureComponent<IButtonProps> {
interface IProps { interface IProps {
onDigitPress: (string) => void; onDigitPress: (string) => void;
onDeletePress: (string) => void; hasDialAndDelete: boolean;
onDialPress: (string) => void; onDeletePress?: (string) => void;
onDialPress?: (string) => void;
} }
export default class Dialpad extends React.PureComponent<IProps> { export default class Dialpad extends React.PureComponent<IProps> {
@ -68,12 +69,14 @@ export default class Dialpad extends React.PureComponent<IProps> {
/>); />);
} }
if (this.props.hasDialAndDelete) {
buttonNodes.push(<DialPadButton key="del" kind={DialPadButtonKind.Delete} buttonNodes.push(<DialPadButton key="del" kind={DialPadButtonKind.Delete}
onButtonPress={this.props.onDeletePress} onButtonPress={this.props.onDeletePress}
/>); />);
buttonNodes.push(<DialPadButton key="dial" kind={DialPadButtonKind.Dial} buttonNodes.push(<DialPadButton key="dial" kind={DialPadButtonKind.Dial}
onButtonPress={this.props.onDialPress} onButtonPress={this.props.onDialPress}
/>); />);
}
return <div className="mx_DialPad"> return <div className="mx_DialPad">
{buttonNodes} {buttonNodes}

View file

@ -101,7 +101,8 @@ export default class DialpadModal extends React.PureComponent<IProps, IState> {
</div> </div>
<div className="mx_DialPadModal_horizSep" /> <div className="mx_DialPadModal_horizSep" />
<div className="mx_DialPadModal_dialPad"> <div className="mx_DialPadModal_dialPad">
<DialPad onDigitPress={this.onDigitPress} <DialPad hasDialAndDelete={true}
onDigitPress={this.onDigitPress}
onDeletePress={this.onDeletePress} onDeletePress={this.onDeletePress}
onDialPress={this.onDialPress} onDialPress={this.onDialPress}
/> />

View file

@ -241,7 +241,7 @@
"Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or <a>enable unsafe scripts</a>.": "Nelze se připojit k domovskému serveru přes HTTP, pokud je v adresním řádku HTTPS. Buď použijte HTTPS, nebo <a>povolte nezabezpečené skripty</a>.", "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or <a>enable unsafe scripts</a>.": "Nelze se připojit k domovskému serveru přes HTTP, pokud je v adresním řádku HTTPS. Buď použijte HTTPS, nebo <a>povolte nezabezpečené skripty</a>.",
"Click here to fix": "Pro opravu klepněte zde", "Click here to fix": "Pro opravu klepněte zde",
"Click to mute video": "Klepněte pro zakázání videa", "Click to mute video": "Klepněte pro zakázání videa",
"click to reveal": "pro odhlení klepněte", "click to reveal": "klepněte pro odhalení",
"Click to unmute video": "Klepněte pro povolení videa", "Click to unmute video": "Klepněte pro povolení videa",
"Click to unmute audio": "Klepněte pro povolení zvuku", "Click to unmute audio": "Klepněte pro povolení zvuku",
"Displays action": "Zobrazí akci", "Displays action": "Zobrazí akci",
@ -764,7 +764,7 @@
"Demote": "Degradovat", "Demote": "Degradovat",
"Share Link to User": "Sdílet odkaz na uživatele", "Share Link to User": "Sdílet odkaz na uživatele",
"Send an encrypted reply…": "Odeslat šifrovanou odpověď …", "Send an encrypted reply…": "Odeslat šifrovanou odpověď …",
"Send an encrypted message…": "Odeslat šifrovanou zprávu …", "Send an encrypted message…": "Odeslat šifrovanou zprávu…",
"Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "%(displayName)s (%(userName)s) viděl %(dateTime)s", "Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "%(displayName)s (%(userName)s) viděl %(dateTime)s",
"Replying": "Odpovídá", "Replying": "Odpovídá",
"Share room": "Sdílet místnost", "Share room": "Sdílet místnost",
@ -1263,7 +1263,7 @@
"You can still join it because this is a public room.": "I přesto můžete vstoupit, protože tato místnost je veřejná.", "You can still join it because this is a public room.": "I přesto můžete vstoupit, protože tato místnost je veřejná.",
"Join the discussion": "Zapojit se do diskuze", "Join the discussion": "Zapojit se do diskuze",
"Try to join anyway": "Stejně se pokusit vstoupit", "Try to join anyway": "Stejně se pokusit vstoupit",
"Do you want to chat with %(user)s?": "Chcete si povídat s uživatelem %(user)s?", "Do you want to chat with %(user)s?": "Chcete si povídat s %(user)s?",
"Do you want to join %(roomName)s?": "Chcete vstoupit do místnosti %(roomName)s?", "Do you want to join %(roomName)s?": "Chcete vstoupit do místnosti %(roomName)s?",
"<userName/> invited you": "Uživatel <userName/> vás pozval", "<userName/> invited you": "Uživatel <userName/> vás pozval",
"You're previewing %(roomName)s. Want to join it?": "Nahlížíte do místnosti %(roomName)s. Chcete do ní vstoupit?", "You're previewing %(roomName)s. Want to join it?": "Nahlížíte do místnosti %(roomName)s. Chcete do ní vstoupit?",
@ -1519,11 +1519,11 @@
"Show all": "Zobrazit vše", "Show all": "Zobrazit vše",
"Edited at %(date)s. Click to view edits.": "Upraveno v %(date)s. Klinutím zobrazíte změny.", "Edited at %(date)s. Click to view edits.": "Upraveno v %(date)s. Klinutím zobrazíte změny.",
"Frequently Used": "Často používané", "Frequently Used": "Často používané",
"Smileys & People": "Obličeje & Lidé", "Smileys & People": "Obličeje a lidé",
"Animals & Nature": "Zvířata & Příroda", "Animals & Nature": "Zvířata a příroda",
"Food & Drink": "Jídlo & Nápoje", "Food & Drink": "Jídlo a nápoje",
"Activities": "Aktivity", "Activities": "Aktivity",
"Travel & Places": "Cestování & Místa", "Travel & Places": "Cestování a místa",
"Objects": "Objekty", "Objects": "Objekty",
"Symbols": "Symboly", "Symbols": "Symboly",
"Flags": "Vlajky", "Flags": "Vlajky",
@ -1755,7 +1755,7 @@
"This bridge is managed by <user />.": "Toto propojení spravuje <user />.", "This bridge is managed by <user />.": "Toto propojení spravuje <user />.",
"Workspace: %(networkName)s": "Pracovní oblast: %(networkName)s", "Workspace: %(networkName)s": "Pracovní oblast: %(networkName)s",
"Channel: %(channelName)s": "Kanál: %(channelName)s", "Channel: %(channelName)s": "Kanál: %(channelName)s",
"Show less": "Skrýt detaily", "Show less": "Zobrazit méně",
"Show more": "Více", "Show more": "Více",
"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.": "Změna hesla resetuje šifrovací klíče pro všechny vaše relace. Pokud si nejdřív nevyexportujete klíče místností a po změně je znovu neimportujete, nedostanete se k historickým zprávám. V budoucnu se toto zjednoduší.", "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.": "Změna hesla resetuje šifrovací klíče pro všechny vaše relace. Pokud si nejdřív nevyexportujete klíče místností a po změně je znovu neimportujete, nedostanete se k historickým zprávám. V budoucnu se toto zjednoduší.",
"Cross-signing and secret storage are enabled.": "Cross-signing a bezpečné úložiště jsou zapnuté.", "Cross-signing and secret storage are enabled.": "Cross-signing a bezpečné úložiště jsou zapnuté.",
@ -1801,7 +1801,7 @@
"Session key:": "Klíč relace:", "Session key:": "Klíč relace:",
"Message search": "Vyhledávání ve zprávách", "Message search": "Vyhledávání ve zprávách",
"Cross-signing": "Cross-signing", "Cross-signing": "Cross-signing",
"A session's public name is visible to people you communicate with": "Lidé, se kterými komunikujete, mohou veřejný název zobrazit", "A session's public name is visible to people you communicate with": "Lidé, se kterými komunikujete, mohou zobrazit veřejný název",
"This room is bridging messages to the following platforms. <a>Learn more.</a>": "Tato místnost je propojena s následujícími platformami. <a>Více informací</a>", "This room is bridging messages to the following platforms. <a>Learn more.</a>": "Tato místnost je propojena s následujícími platformami. <a>Více informací</a>",
"This room isnt bridging messages to any platforms. <a>Learn more.</a>": "Tato místnost není propojená s žádnými dalšími platformami. <a>Více informací.</a>", "This room isnt bridging messages to any platforms. <a>Learn more.</a>": "Tato místnost není propojená s žádnými dalšími platformami. <a>Více informací.</a>",
"Bridges": "Propojení", "Bridges": "Propojení",
@ -1820,7 +1820,7 @@
"Encrypted by a deleted session": "Šifrované smazanou relací", "Encrypted by a deleted session": "Šifrované smazanou relací",
"Invite only": "Pouze na pozvání", "Invite only": "Pouze na pozvání",
"Send a reply…": "Odpovědět…", "Send a reply…": "Odpovědět…",
"Send a message…": "Napsat zprávu…", "Send a message…": "Odeslat zprávu…",
"Direct Messages": "Přímé zprávy", "Direct Messages": "Přímé zprávy",
"Reject & Ignore user": "Odmítnout & ignorovat uživatele", "Reject & Ignore user": "Odmítnout & ignorovat uživatele",
"Unknown Command": "Neznámý příkaz", "Unknown Command": "Neznámý příkaz",
@ -2180,7 +2180,7 @@
"%(senderName)s: %(reaction)s": "%(senderName)s: %(reaction)s", "%(senderName)s: %(reaction)s": "%(senderName)s: %(reaction)s",
"%(senderName)s: %(stickerName)s": "%(senderName)s: %(stickerName)s", "%(senderName)s: %(stickerName)s": "%(senderName)s: %(stickerName)s",
"Change notification settings": "Upravit nastavení oznámení", "Change notification settings": "Upravit nastavení oznámení",
"Communities v2 prototypes. Requires compatible homeserver. Highly experimental - use with caution.": "Prototyp komunit verze 2. Vyžaduje kompatibilní domovský server. Experimentální - používejte opatrně.", "Communities v2 prototypes. Requires compatible homeserver. Highly experimental - use with caution.": "Prototyp skupin verze 2. Vyžaduje kompatibilní domovský server. Experimentální - používejte opatrně.",
"Use custom size": "Použít vlastní velikost", "Use custom size": "Použít vlastní velikost",
"Use a more compact Modern layout": "Používat kompaktní Moderní vzhled", "Use a more compact Modern layout": "Používat kompaktní Moderní vzhled",
"Use a system font": "Používat systémové nastavení písma", "Use a system font": "Používat systémové nastavení písma",
@ -2251,9 +2251,9 @@
"Feedback": "Zpětná vazba", "Feedback": "Zpětná vazba",
"Feedback sent": "Zpětná vazba byla odeslána", "Feedback sent": "Zpětná vazba byla odeslána",
"Security & privacy": "Zabezpečení", "Security & privacy": "Zabezpečení",
"All settings": "Nastavení", "All settings": "Všechna nastavení",
"Start a conversation with someone using their name, email address or username (like <userId/>).": "Napište jméno nebo emailovou adresu uživatele se kterým chcete začít konverzaci (např. <userId/>).", "Start a conversation with someone using their name, email address or username (like <userId/>).": "Napište jméno nebo emailovou adresu uživatele se kterým chcete začít konverzaci (např. <userId/>).",
"Start a new chat": "Založit nový chat", "Start a new chat": "Založit novou konverzaci",
"Which officially provided instance you are using, if any": "Kterou oficiální instanci Riot.im používáte (a jestli vůbec)", "Which officially provided instance you are using, if any": "Kterou oficiální instanci Riot.im používáte (a jestli vůbec)",
"Change the topic of this room": "Změnit téma této místnosti", "Change the topic of this room": "Změnit téma této místnosti",
"%(senderName)s declined the call.": "%(senderName)s odmítl/a hovor.", "%(senderName)s declined the call.": "%(senderName)s odmítl/a hovor.",
@ -2326,13 +2326,13 @@
"Upload a file": "Nahrát soubor", "Upload a file": "Nahrát soubor",
"You've reached the maximum number of simultaneous calls.": "Dosáhli jste maximálního počtu souběžných hovorů.", "You've reached the maximum number of simultaneous calls.": "Dosáhli jste maximálního počtu souběžných hovorů.",
"Too Many Calls": "Přiliš mnoho hovorů", "Too Many Calls": "Přiliš mnoho hovorů",
"Community and user menu": "Nabídka komunity a uživatele", "Community and user menu": "Nabídka skupiny a uživatele",
"User menu": "Uživatelská nabídka", "User menu": "Uživatelská nabídka",
"Switch theme": "Přepnout téma", "Switch theme": "Přepnout téma",
"Switch to dark mode": "Přepnout do tmavého režimu", "Switch to dark mode": "Přepnout do tmavého režimu",
"Switch to light mode": "Přepnout do světlého režimu", "Switch to light mode": "Přepnout do světlého režimu",
"User settings": "Uživatelská nastavení", "User settings": "Uživatelská nastavení",
"Community settings": "Nastavení komunity", "Community settings": "Nastavení skupiny",
"Confirm your recovery passphrase": "Potvrďte vaši frázi pro obnovení", "Confirm your recovery passphrase": "Potvrďte vaši frázi pro obnovení",
"Repeat your recovery passphrase...": "Opakujte přístupovou frázi pro obnovení...", "Repeat your recovery passphrase...": "Opakujte přístupovou frázi pro obnovení...",
"Please enter your recovery passphrase a second time to confirm.": "Potvrďte prosím podruhé svou frázi pro obnovení.", "Please enter your recovery passphrase a second time to confirm.": "Potvrďte prosím podruhé svou frázi pro obnovení.",
@ -2357,8 +2357,8 @@
"Delete the room address %(alias)s and remove %(name)s from the directory?": "Smazat adresu místnosti %(alias)s a odebrat %(name)s z adresáře?", "Delete the room address %(alias)s and remove %(name)s from the directory?": "Smazat adresu místnosti %(alias)s a odebrat %(name)s z adresáře?",
"Self-verification request": "Požadavek na sebeověření", "Self-verification request": "Požadavek na sebeověření",
"%(creator)s created this DM.": "%(creator)s vytvořil tuto přímou zprávu.", "%(creator)s created this DM.": "%(creator)s vytvořil tuto přímou zprávu.",
"You do not have permission to create rooms in this community.": "Nemáte oprávnění k vytváření místností v této komunitě.", "You do not have permission to create rooms in this community.": "Nemáte oprávnění k vytváření místností v této skupině.",
"Cannot create rooms in this community": "V této komunitě nelze vytvořit místnosti", "Cannot create rooms in this community": "V této skupině nelze vytvořit místnosti",
"Great, that'll help people know it's you": "Skvělé, to pomůže lidem zjistit, že jste to vy", "Great, that'll help people know it's you": "Skvělé, to pomůže lidem zjistit, že jste to vy",
"Add a photo so people know it's you.": "Přidejte fotku, aby lidé věděli, že jste to vy.", "Add a photo so people know it's you.": "Přidejte fotku, aby lidé věděli, že jste to vy.",
"Explore Public Rooms": "Prozkoumat veřejné místnosti", "Explore Public Rooms": "Prozkoumat veřejné místnosti",
@ -2399,10 +2399,10 @@
"Invite by email": "Pozvat emailem", "Invite by email": "Pozvat emailem",
"Comment": "Komentář", "Comment": "Komentář",
"Add comment": "Přidat komentář", "Add comment": "Přidat komentář",
"Update community": "Aktualizovat komunitu", "Update community": "Aktualizovat skupinu",
"Create a room in %(communityName)s": "Vytvořit místnost v %(communityName)s", "Create a room in %(communityName)s": "Vytvořit místnost v %(communityName)s",
"Your server requires encryption to be enabled in private rooms.": "Váš server vyžaduje povolení šifrování v soukromých místnostech.", "Your server requires encryption to be enabled in private rooms.": "Váš server vyžaduje povolení šifrování v soukromých místnostech.",
"An image will help people identify your community.": "Obrázek pomůže lidem identifikovat vaši komunitu.", "An image will help people identify your community.": "Obrázek pomůže lidem identifikovat vaši skupinu.",
"Invite people to join %(communityName)s": "Pozvat lidi do %(communityName)s", "Invite people to join %(communityName)s": "Pozvat lidi do %(communityName)s",
"Send %(count)s invites|one": "Poslat %(count)s pozvánku", "Send %(count)s invites|one": "Poslat %(count)s pozvánku",
"Send %(count)s invites|other": "Poslat %(count)s pozvánek", "Send %(count)s invites|other": "Poslat %(count)s pozvánek",
@ -2421,7 +2421,7 @@
"Use email to optionally be discoverable by existing contacts.": "Pomocí e-mailu můžete být volitelně viditelní pro existující kontakty.", "Use email to optionally be discoverable by existing contacts.": "Pomocí e-mailu můžete být volitelně viditelní pro existující kontakty.",
"Use email or phone to optionally be discoverable by existing contacts.": "Použijte e-mail nebo telefon, abyste byli volitelně viditelní pro stávající kontakty.", "Use email or phone to optionally be discoverable by existing contacts.": "Použijte e-mail nebo telefon, abyste byli volitelně viditelní pro stávající kontakty.",
"Sign in with SSO": "Přihlásit pomocí SSO", "Sign in with SSO": "Přihlásit pomocí SSO",
"Create community": "Vytvořit komunitu", "Create community": "Vytvořit skupinu",
"Add an email to be able to reset your password.": "Přidejte email, abyste mohli obnovit své heslo.", "Add an email to be able to reset your password.": "Přidejte email, abyste mohli obnovit své heslo.",
"That phone number doesn't look quite right, please check and try again": "Toto telefonní číslo nevypadá úplně správně, zkontrolujte ho a zkuste to znovu", "That phone number doesn't look quite right, please check and try again": "Toto telefonní číslo nevypadá úplně správně, zkontrolujte ho a zkuste to znovu",
"Forgot password?": "Zapomenuté heslo?", "Forgot password?": "Zapomenuté heslo?",
@ -2435,7 +2435,7 @@
"Successfully restored %(sessionCount)s keys": "Úspěšně obnoveno %(sessionCount)s klíčů", "Successfully restored %(sessionCount)s keys": "Úspěšně obnoveno %(sessionCount)s klíčů",
"Keys restored": "Klíče byly obnoveny", "Keys restored": "Klíče byly obnoveny",
"You're all caught up.": "Vše vyřízeno.", "You're all caught up.": "Vše vyřízeno.",
"There was an error updating your community. The server is unable to process your request.": "Při aktualizaci komunity došlo k chybě. Server nemůže zpracovat váš požadavek.", "There was an error updating your community. The server is unable to process your request.": "Při aktualizaci skupiny došlo k chybě. Server nemůže zpracovat váš požadavek.",
"There are two ways you can provide feedback and help us improve %(brand)s.": "Jsou dva způsoby, jak můžete poskytnout zpětnou vazbu a pomoci nám vylepšit %(brand)s.", "There are two ways you can provide feedback and help us improve %(brand)s.": "Jsou dva způsoby, jak můžete poskytnout zpětnou vazbu a pomoci nám vylepšit %(brand)s.",
"Rate %(brand)s": "Ohodnotit %(brand)s", "Rate %(brand)s": "Ohodnotit %(brand)s",
"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.": "V této relaci jste již dříve používali novější verzi %(brand)s. Chcete-li tuto verzi znovu použít s šifrováním, budete se muset odhlásit a znovu přihlásit.", "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.": "V této relaci jste již dříve používali novější verzi %(brand)s. Chcete-li tuto verzi znovu použít s šifrováním, budete se muset odhlásit a znovu přihlásit.",
@ -2446,7 +2446,7 @@
"This version of %(brand)s does not support searching encrypted messages": "Tato verze %(brand)s nepodporuje hledání v šifrovaných zprávách", "This version of %(brand)s does not support searching encrypted messages": "Tato verze %(brand)s nepodporuje hledání v šifrovaných zprávách",
"Information": "Informace", "Information": "Informace",
"%(count)s results|one": "%(count)s výsledek", "%(count)s results|one": "%(count)s výsledek",
"Explore community rooms": "Prozkoumat místnosti komunity", "Explore community rooms": "Prozkoumat místnosti skupin",
"Role": "Role", "Role": "Role",
"Madagascar": "Madagaskar", "Madagascar": "Madagaskar",
"Macedonia": "Makedonie", "Macedonia": "Makedonie",
@ -2751,5 +2751,158 @@
"Unable to query secret storage status": "Nelze zjistit stav úložiště klíčů", "Unable to query secret storage status": "Nelze zjistit stav úložiště klíčů",
"Update %(brand)s": "Aktualizovat %(brand)s", "Update %(brand)s": "Aktualizovat %(brand)s",
"You can also set up Secure Backup & manage your keys in Settings.": "Zabezpečené zálohování a správu klíčů můžete také nastavit v Nastavení.", "You can also set up Secure Backup & manage your keys in Settings.": "Zabezpečené zálohování a správu klíčů můžete také nastavit v Nastavení.",
"Set a Security Phrase": "Nastavit bezpečnostní frázi" "Set a Security Phrase": "Nastavit bezpečnostní frázi",
"Use this when referencing your community to others. The community ID cannot be changed.": "Použijte toto, když odkazujete svou skupinu na ostatní. ID skupiny nelze změnit.",
"Please go into as much detail as you like, so we can track down the problem.": "Udejte prosím co nejvíce podrobností, abychom mohli problém vystopovat.",
"Start a conversation with someone using their name or username (like <userId/>).": "Začněte konverzaci s někým pomocí jeho jména nebo uživatelského jména (například <userId />).",
"Tell us below how you feel about %(brand)s so far.": "Níže se podělte s vašimi zkušenostmi s %(brand)s.",
"%(senderDisplayName)s set the server ACLs for this room.": "%(senderDisplayName)s nastavil seznam přístupů serveru pro tuto místnost.",
"What's the name of your community or team?": "Jak se jmenuje vaše skupina nebo tým?",
"Invite someone using their name, username (like <userId/>) or <a>share this room</a>.": "Pozvěte někoho pomocí svého jména, uživatelského jména (například <userId />) nebo <a>sdílejte tuto místnost</a>.",
"Confirm by comparing the following with the User Settings in your other session:": "Potvrďte porovnáním následujícího s uživatelským nastavením v jiné relaci:",
"Data on this screen is shared with %(widgetDomain)s": "Data na této obrazovce jsou sdílena s %(widgetDomain)s",
"Just a heads up, if you don't add an email and forget your password, you could <b>permanently lose access to your account</b>.": "Jen upozornění, pokud nepřidáte e-mail a zapomenete heslo, můžete <b>trvale ztratit přístup ke svému účtu</b>.",
"Your area is experiencing difficulties connecting to the internet.": "Ve vaší oblasti dochází k problémům s připojením k internetu.",
"A connection error occurred while trying to contact the server.": "Při pokusu o kontakt se serverem došlo k chybě připojení.",
"The server is not configured to indicate what the problem is (CORS).": "Server není nakonfigurován tak, aby indikoval, v čem je problém (CORS).",
"Recent changes that have not yet been received": "Nedávné změny, které dosud nebyly přijaty",
"Unable to access secret storage. Please verify that you entered the correct recovery passphrase.": "Nelze získat přístup k úložišti klíčů. Ověřte, zda jste zadali správnou přístupovou frázi pro obnovení.",
"Enter your Security Phrase or <button>Use your Security Key</button> to continue.": "Pokračujte zadáním bezpečnostní fráze nebo <button>použijte váš bezpečnostní klíč</button> pro pokračování.",
"Restoring keys from backup": "Obnovení klíčů ze zálohy",
"Backup could not be decrypted with this recovery passphrase: please verify that you entered the correct recovery passphrase.": "Zálohu nebylo možné dešifrovat pomocí této přístupové fráze pro obnovení: ověřte, zda jste zadali správnou přístupovou frázi pro obnovení.",
"%(completed)s of %(total)s keys restored": "Obnoveno %(completed)s z %(total)s klíčů",
"Store your Security Key somewhere safe, like a password manager or a safe, as its used to safeguard your encrypted data.": "Uložte bezpečnostní klíč někam na bezpečné místo, například do správce hesel nebo do trezoru, který slouží k ochraně vašich šifrovaných dat.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your recovery passphrase.": "Váš klíč pro obnovení je bezpečnostní sítí - můžete jej použít k obnovení přístupu k šifrovaným zprávám, pokud zapomenete přístupovou frázi pro obnovení.",
"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.": "Byla zjištěna data ze starší verze %(brand)s. To bude mít za následek nefunkčnost end-to-end kryptografie ve starší verzi. End-to-end šifrované zprávy vyměněné nedávno při používání starší verze nemusí být v této verzi dešifrovatelné. To může také způsobit selhání zpráv vyměňovaných s touto verzí. Pokud narazíte na problémy, odhlaste se a znovu se přihlaste. Chcete-li zachovat historii zpráv, exportujte a znovu importujte klíče.",
"Failed to find the general chat for this community": "Nepodařilo se najít obecný chat pro tuto skupinu",
"We'll store an encrypted copy of your keys on our server. Secure your backup with a recovery passphrase.": "Na náš server uložíme zašifrovanou kopii vašich klíčů. Zabezpečte zálohu pomocí přístupové fráze pro obnovení.",
"Enter your recovery passphrase a second time to confirm it.": "Zadejte podruhé přístupovou frázi pro obnovení a potvrďte ji.",
"If you cancel now, you may lose encrypted messages & data if you lose access to your logins.": "Pokud nyní nebudete pokračovat, můžete ztratit šifrované zprávy a data, pokud ztratíte přístup ke svým přihlašovacím údajům.",
"Messages in this room are end-to-end encrypted. When people join, you can verify them in their profile, just tap on their avatar.": "Zprávy v této místnosti jsou šifrovány end-to-end. Když se lidé připojí, můžete je ověřit v jejich profilu, stačí klepnout na jejich avatara.",
"Revoke permissions": "Odvolat oprávnění",
"Continuing without email": "Pokračuje se bez e-mailu",
"You can change this later if needed.": "V případě potřeby to můžete později změnit.",
"Video conference started by %(senderName)s": "Videokonferenci byla zahájena uživatelem %(senderName)s",
"Video conference updated by %(senderName)s": "Videokonference byla aktualizována uživatelem %(senderName)s",
"Video conference ended by %(senderName)s": "Videokonference byla ukončena uživatelem %(senderName)s",
"Unpin": "Odepnout",
"Fill Screen": "Vyplnit obrazovku",
"Voice Call": "Hlasový hovor",
"Video Call": "Videohovor",
"%(senderName)s ended the call": "Uživatel %(senderName)s ukončil hovor",
"You ended the call": "Ukončili jste hovor",
"New version of %(brand)s is available": "K dispozici je nová verze %(brand)s",
"Error leaving room": "Při opouštění místnosti došlo k chybě",
"See messages posted to your active room": "Zobrazit zprávy odeslané do vaší aktivní místnosti",
"See messages posted to this room": "Zobrazit zprávy odeslané do této místnosti",
"See when the avatar changes in your active room": "Podívejte se, kdy se změní avatar ve vaší aktivní místnosti",
"Change the avatar of your active room": "Změňte avatar vaší aktivní místnosti",
"See when the avatar changes in this room": "Podívejte se, kdy se změní avatar v této místnosti",
"Change the avatar of this room": "Změňte avatar této místnosti",
"See when the name changes in your active room": "Podívejte se, kdy se ve vaší aktivní místnosti změní název",
"Change the name of your active room": "Změňte název své aktivní místnosti",
"Change the name of this room": "Změňte název této místnosti",
"A browser extension is preventing the request.": "Rozšíření prohlížeče brání požadavku.",
"Your firewall or anti-virus is blocking the request.": "Váš firewall nebo antivirový program blokuje požadavek.",
"The server (%(serverName)s) took too long to respond.": "Serveru (%(serverName)s) trvalo příliš dlouho, než odpověděl.",
"Your server isn't responding to some of your requests. Below are some of the most likely reasons.": "Váš server neodpovídá na některé vaše požadavky. Níže jsou některé z nejpravděpodobnějších důvodů.",
"<h1>HTML for your community's page</h1>\n<p>\n Use the long description to introduce new members to the community, or distribute\n some important <a href=\"foo\">links</a>\n</p>\n<p>\n You can even add images with Matrix URLs <img src=\"mxc://url\" />\n</p>\n": "<h1>HTML pro vaši stránku skupiny</h1>\n<p>\n Pomocí popisu můžete představit nové členy skupiny nebo distribuovat\n některé důležité <a href=\"foo\">odkazy</a>\n</p>\n<p>\n Můžete dokonce přidat obrázky pomocí Matrix URL <img src=\"mxc://url\" />\n</p>\n",
"Private rooms can be found and joined by invitation only. Public rooms can be found and joined by anyone in this community.": "Soukromé místnosti lze najít a připojit se do nich pouze na pozvání. Veřejné místnosti může najít a připojit se do nich kdokoli v této skupině.",
"Community ID: +<localpart />:%(domain)s": "ID skupiny: +<localpart />:%(domain)s",
"The operation could not be completed": "Operace nemohla být dokončena",
"Failed to save your profile": "Váš profil se nepodařilo uložit",
"%(peerName)s held the call": "%(peerName)s podržel hovor",
"You held the call <a>Resume</a>": "Podrželi jste hovor <a>Pokračovat</a>",
"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.": "Můžete použít vlastní volbu serveru a přihlásit se k jiným Matrix serverům zadáním adresy URL domovského serveru. To vám umožní používat Element s existujícím Matrix účtem na jiném domovském serveru.",
"Unpin a widget to view it in this panel": "Odepněte widget, aby mohl být zobrazen v tomto panelu",
"You can only pin up to %(count)s widgets|other": "Můžete připnout až %(count)s widgetů",
"Edit widgets, bridges & bots": "Upravujte widgety, mosty a boty",
"a device cross-signing signature": "zařízení používající cross-signing podpis",
"This widget would like to:": "Tento widget by chtěl:",
"Modal Widget": "Modální widget",
"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.": "Toto můžete deaktivovat, pokud bude místnost použita pro spolupráci s externími týmy, které mají svůj vlastní domovský server. Toto nelze později změnit.",
"Join the conference from the room information card on the right": "Připojte se ke konferenci z informační karty místnosti napravo",
"Join the conference at the top of this room": "Připojte se ke konferenci v horní části této místnosti",
"There are advanced notifications which are not shown here.": "Existují pokročilá oznámení, která se zde nezobrazují.",
"Enable advanced debugging for the room list": "Povolit pokročilé ladění pro seznam místností",
"Securely cache encrypted messages locally for them to appear in search results, using %(size)s to store messages from %(rooms)s rooms.|one": "Bezpečně uloží zašifrované zprávy v místním úložišti, aby se mohly objevit ve výsledcích vyhledávání, využívá se %(size)s k ukládání zpráv z %(rooms)s místnosti.",
"Securely cache encrypted messages locally for them to appear in search results, using %(size)s to store messages from %(rooms)s rooms.|other": "Bezpečně uloží zašifrované zprávy v místním úložišti, aby se mohly objevit ve výsledcích vyhledávání, využívá se %(size)s k ukládání zpráv z %(rooms)s místností.",
"You might have configured them in a client other than %(brand)s. You cannot tune them in %(brand)s but they still apply.": "Možná jste je nakonfigurovali v jiném klientovi než %(brand)s. Nelze je zobrazit v %(brand)s, ale stále platí.",
"well formed": "ve správném tvaru",
"There was an error creating your community. The name may be taken or the server is unable to process your request.": "Při vytváření vaší skupiny došlo k chybě. Název může být již obsazen nebo server nemůže zpracovat váš požadavek.",
"See <b>%(eventType)s</b> events posted to this room": "Zobrazit události <b>%(eventType)s</b> zveřejněné v této místnosti",
"Send stickers to your active room as you": "Poslat nálepky do vaší aktivní místnosti jako vy",
"Send stickers to this room as you": "Poslat samolepky jako vy do této místnosti",
"Change the topic of your active room": "Změnit téma vaší aktivní místnosti",
"Change which room you're viewing": "Změnit kterou místnost si prohlížíte",
"Send stickers into your active room": "Poslat nálepky do vaší aktivní místnosti",
"Send stickers into this room": "Poslat nálepky do této místnosti",
"Send messages as you in this room": "Poslat zprávy jako vy v této místnosti",
"Send messages as you in your active room": "Poslat zprávy jako vy ve vaší aktivní místnosti",
"Send text messages as you in this room": "Poslat textové zprávy jako vy v této místnosti",
"Send text messages as you in your active room": "Poslat textové zprávy jako vy ve vaší aktivní místnosti",
"See text messages posted to this room": "Podívat se na textové zprávy odeslané do této místnosti",
"See text messages posted to your active room": "Podívat se na textové zprávy odeslané do vaší aktivní místnosti",
"Send images as you in this room": "Poslat obrázky jako vy v této místnosti",
"Send images as you in your active room": "Poslat obrázky jako vy ve vaší aktivní místnosti",
"See images posted to this room": "Podívat se na obrázky zveřejněné v této místnosti",
"See images posted to your active room": "Podívat se na obrázky zveřejněné ve vaší aktivní místnosti",
"Send videos as you in this room": "Poslat videa jako vy v této místnosti",
"Send videos as you in your active room": "Podívat se na videa jako vy ve vaší aktivní místnosti",
"See videos posted to this room": "Podívat se na videa zveřejněná v této místnosti",
"See videos posted to your active room": "Podívat se na videa zveřejněná ve vaší aktivní místnosti",
"Send general files as you in this room": "Poslat obecné soubory jako vy v této místnosti",
"Send general files as you in your active room": "Poslat obecné soubory jako vy ve vaší aktivní místnosti",
"See general files posted to this room": "Prohlédnout obecné soubory zveřejněné v této místnosti",
"See general files posted to your active room": "Prohlédnout obecné soubory zveřejněné ve vaší aktivní místnosti",
"Send <b>%(msgtype)s</b> messages as you in this room": "Poslat zprávy <b>%(msgtype)s</b> jako vy v této místnosti",
"Send <b>%(msgtype)s</b> messages as you in your active room": "Poslat zprávy <b>%(msgtype)s</b> jako vy ve vašá aktivní místnosti",
"See <b>%(msgtype)s</b> messages posted to this room": "Prohlédnout zprávy <b>%(msgtype)s</b> zveřejněné v této místnosti",
"See <b>%(msgtype)s</b> messages posted to your active room": "Prohlédnout zprávy <b>%(msgtype)s</b> zveřejněné ve vaší aktivní místnosti",
"Render LaTeX maths in messages": "Ve zprávách vykreslit matematické výrazy LaTeXu",
"New spinner design": "Nový design ukazatele zpracování",
"Show message previews for reactions in DMs": "Zobrazit náhledy zpráv pro reakce v přímých zprávách",
"Show message previews for reactions in all rooms": "Zobrazit náhledy zpráv pro reakce ve všech místnostech",
"Sends the given message with confetti": "Pošle zprávu s konfetami",
"sends confetti": "pošle konfety",
"Sends the given message with fireworks": "Pošle zprávu s ohňostrojem",
"sends fireworks": "pošle ohňostroj",
"The <b>%(capability)s</b> capability": "Schopnost <b>%(capability)s</b>",
"See <b>%(eventType)s</b> events posted to your active room": "Zobrazit události <b>%(eventType)s</b> odeslané do vaší aktivní místnosti",
"Send <b>%(eventType)s</b> events as you in your active room": "Poslat události <b>%(eventType)s</b> jako vy ve vaší aktivní místnosti",
"Send <b>%(eventType)s</b> events as you in this room": "Poslat události <b>%(eventType)s</b> jako vy v této místnosti",
"with an empty state key": "s prázdným stavovým klíčem",
"with state key %(stateKey)s": "se stavovým klíčem %(stateKey)s",
"User signing private key:": "Podpisový klíč uživatele:",
"Self signing private key:": "Vlastní podpisový klíč:",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "Vloží ┬──┬ ( ゜-゜ノ) na začátek zprávy",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "Vloží (╯°□°)╯︵ ┻━┻ na začátek zprávy",
"Remain on your screen while running": "Při běhu zůstává na obrazovce",
"Remain on your screen when viewing another room, when running": "Při prohlížení jiné místnosti zůstává při běhu na obrazovce",
"%(senderDisplayName)s changed the server ACLs for this room.": "%(senderDisplayName)s změnil seznam přístupů serveru pro tuto místnost.",
"Offline encrypted messaging using dehydrated devices": "Offline šifrovaná komunikace pomocí dehydrovaných zařízení",
"See emotes posted to your active room": "Prohlédněte si emoji zveřejněné ve vaší aktivní místnosti",
"See emotes posted to this room": "Prohlédněte si emoji zveřejněné v této místnosti",
"Send emotes as you in your active room": "Poslat emoji jako vy ve své aktivní místnosti",
"Send emotes as you in this room": "Poslat emoji jako vy v této místnosti",
"See when anyone posts a sticker to your active room": "Podívejte se, kdy někdo zveřejní nálepku ve vaší aktivní místnosti",
"See when a sticker is posted in this room": "Podívejte se, kdy je zveřejněna nálepka v této místnosti",
"See when the name changes in this room": "Podívejte se, kdy se změní název v této místnosti",
"See when the topic changes in your active room": "Podívejte se, kdy se změní téma ve vaší aktivní místnosti",
"See when the topic changes in this room": "Podívejte se, kdy se změní téma v této místnosti",
"%(name)s on hold": "%(name)s podržen",
"You held the call <a>Switch</a>": "Podrželi jste hovor <a>Přepnout</a>",
"sends snowfall": "pošle sněžení",
"Sends the given message with snowfall": "Pošle zprávu se sněžením",
"You have no visible notifications.": "Nejsou dostupná žádná oznámení.",
"Transfer": "Přepojit",
"Failed to transfer call": "Hovor se nepodařilo přepojit",
"A call can only be transferred to a single user.": "Hovor lze přepojit pouze jednomu uživateli.",
"There was an error finding this widget.": "Při hledání tohoto widgetu došlo k chybě.",
"Active Widgets": "Aktivní widgety",
"Open dial pad": "Otevřít číselník",
"Start a Conversation": "Zahájit konverzaci",
"Dial pad": "Číselník",
"There was an error looking up the phone number": "Při vyhledávání telefonního čísla došlo k chybě",
"Unable to look up phone number": "Nelze nalézt telefonní číslo"
} }

View file

@ -18,7 +18,7 @@
"Kicks user with given id": "Smider bruger med givet id ud", "Kicks user with given id": "Smider bruger med givet id ud",
"Changes your display nickname": "Ændrer dit viste navn", "Changes your display nickname": "Ændrer dit viste navn",
"Searches DuckDuckGo for results": "Søger på DuckDuckGo efter resultater", "Searches DuckDuckGo for results": "Søger på DuckDuckGo efter resultater",
"Commands": "kommandoer", "Commands": "Kommandoer",
"Emoji": "Emoji", "Emoji": "Emoji",
"Sign in": "Log ind", "Sign in": "Log ind",
"Warning!": "Advarsel!", "Warning!": "Advarsel!",
@ -69,7 +69,7 @@
"World readable": "Læselig af alle", "World readable": "Læselig af alle",
"Guests can join": "Gæster kan deltage", "Guests can join": "Gæster kan deltage",
"No rooms to show": "Ingen rum at vise", "No rooms to show": "Ingen rum at vise",
"This email address is already in use": "Denne emailadresse er allerede i brug", "This email address is already in use": "Denne email adresse er allerede i brug",
"This phone number is already in use": "Dette telefonnummer er allerede i brug", "This phone number is already in use": "Dette telefonnummer er allerede i brug",
"Failed to verify email address: make sure you clicked the link in the email": "Kunne ikke bekræfte emailaddressen: vær sikker på at klikke på linket i emailen", "Failed to verify email address: make sure you clicked the link in the email": "Kunne ikke bekræfte emailaddressen: vær sikker på at klikke på linket i emailen",
"Call Timeout": "Opkalds Timeout", "Call Timeout": "Opkalds Timeout",
@ -536,5 +536,87 @@
"%(senderName)s updated the rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s opdaterede den regel der banner rum som matcher %(glob)s på grund af %(reason)s", "%(senderName)s updated the rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s opdaterede den regel der banner rum som matcher %(glob)s på grund af %(reason)s",
"%(senderName)s updated the rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s opdaterede den regel der banner servere der matcher %(glob)s på grund af %(reason)s", "%(senderName)s updated the rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s opdaterede den regel der banner servere der matcher %(glob)s på grund af %(reason)s",
"%(senderName)s updated a ban rule matching %(glob)s for %(reason)s": "%(senderName)s opdaterede en ban-regel der matcher %(glob)s på grund af %(reason)s", "%(senderName)s updated a ban rule matching %(glob)s for %(reason)s": "%(senderName)s opdaterede en ban-regel der matcher %(glob)s på grund af %(reason)s",
"Explore rooms": "Udforsk rum" "Explore rooms": "Udforsk rum",
"Verification code": "Verifikationskode",
"Who can access this room?": "Hvem kan tilgå dette rum?",
"Encrypted": "Krypteret",
"Once enabled, encryption cannot be disabled.": "Efter aktivering er det ikke muligt at slå kryptering fra.",
"Security & Privacy": "Sikkerhed & Privatliv",
"Who can read history?": "Hvem kan læse historikken?",
"Enable encryption?": "Aktiver kryptering?",
"Only people who have been invited": "Kun folk som er blevet inviteret",
"Add a User": "Tilføj en bruger",
"Everyone": "Alle",
"Description": "Beskrivelse",
"Create a Group Chat": "Opret en gruppechat",
"Explore Public Rooms": "Udforsk offentlige rum",
"Send a Direct Message": "Send en Direkte Besked",
"Permissions": "Tilladelser",
"Headphones": "Hovedtelefoner",
"Show more": "Vis mere",
"Show less": "Vis mindre",
"Passwords don't match": "Adgangskoderne matcher ikke",
"Confirm password": "Bekræft adgangskode",
"Reset": "Nulstil",
"No": "Nej",
"Enter password": "Indtast adgangskode",
"Add a new server": "Tilføj en ny server",
"Matrix": "Matrix",
"Remove server": "Fjern server",
"Change notification settings": "Skift notifikations indstillinger",
"%(senderName)s: %(stickerName)s": "%(senderName)s: %(stickerName)s",
"%(senderName)s: %(reaction)s": "%(senderName)s: %(reaction)s",
"%(senderName)s: %(message)s": "%(senderName)s: %(message)s",
"* %(senderName)s %(emote)s": "* %(senderName)s %(emote)s",
"%(senderName)s is calling": "%(senderName)s ringer",
"Waiting for answer": "Venter på svar",
"%(senderName)s started a call": "%(senderName)s startede et opkald",
"You started a call": "Du startede et opkald",
"Verified!": "Bekræftet!",
"Video Call": "Video Opkald",
"Accept": "Accepter",
"Decline": "Afvis",
"Save": "Gem",
"Profile picture": "Profil billede",
"Categories": "Kategorier",
"Checking server": "Tjekker server",
"You're signed out": "Du er logget ud",
"Change Password": "Skift adgangskode",
"Current password": "Nuværende adgangskode",
"Theme added!": "Tema tilføjet!",
"The other party declined the call.": "Den anden part afviste opkaldet.",
"Comment": "Kommentar",
"or": "eller",
"%(brand)s Android": "%(brand)s Android",
"%(brand)s iOS": "%(brand)s iOS",
"Privacy": "Privatliv",
"Please enter a name for the room": "Indtast et navn for rummet",
"No results": "Ingen resultater",
"Disable": "Deaktiver",
"Profile": "Profil",
"Local address": "Lokal adresse",
"This room has no local addresses": "Dette rum har ingen lokal adresse",
"The conversation continues here.": "Samtalen fortsætter her.",
"Send a message…": "Send en besked…",
"Send an encrypted message…": "Send en krypteret besked…",
"Send a reply…": "Besvar…",
"Message deleted on %(date)s": "Besked slettet d. %(date)s",
"Message deleted by %(name)s": "Besked slettet af %(name)s",
"Message deleted": "Besked slettet",
"Theme": "Tema",
"France": "Frankrig",
"Finland": "Finland",
"Egypt": "Egypten",
"Denmark": "Danmark",
"Cuba": "Cuba",
"China": "Kina",
"Canada": "Canada",
"End conference": "Afslut konference",
"Too Many Calls": "For mange opkald",
"Permission is granted to use the webcam": "Tilladelse er givet til brug af webcam",
"Unable to access webcam / microphone": "Kan ikke tilgå webcam / mikrofon",
"Unable to access microphone": "Kan ikke tilgå mikrofonen",
"The call could not be established": "Opkaldet kunne ikke etableres",
"Call Declined": "Opkald afvist",
"Folder": "Mappe"
} }

View file

@ -149,7 +149,7 @@
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s hat das Berechtigungslevel von %(powerLevelDiffText)s geändert.", "%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s hat das Berechtigungslevel von %(powerLevelDiffText)s geändert.",
"%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s hat den Raumnamen geändert zu %(roomName)s.", "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s hat den Raumnamen geändert zu %(roomName)s.",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s hat das Thema geändert in \"%(topic)s\".", "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s hat das Thema geändert in \"%(topic)s\".",
"/ddg is not a command": "/ddg ist kein Kommando", "/ddg is not a command": "/ddg ist kein Befehl",
"%(senderName)s ended the call.": "%(senderName)s hat den Anruf beendet.", "%(senderName)s ended the call.": "%(senderName)s hat den Anruf beendet.",
"Failed to send request.": "Anfrage konnte nicht gesendet werden.", "Failed to send request.": "Anfrage konnte nicht gesendet werden.",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s von %(fromPowerLevel)s zu %(toPowerLevel)s", "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s von %(fromPowerLevel)s zu %(toPowerLevel)s",
@ -177,7 +177,7 @@
"%(senderName)s set a profile picture.": "%(senderName)s hat ein Profilbild gesetzt.", "%(senderName)s set a profile picture.": "%(senderName)s hat ein Profilbild gesetzt.",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s hat den Anzeigenamen geändert in %(displayName)s.", "%(senderName)s set their display name to %(displayName)s.": "%(senderName)s hat den Anzeigenamen geändert in %(displayName)s.",
"This room is not recognised.": "Dieser Raum wurde nicht erkannt.", "This room is not recognised.": "Dieser Raum wurde nicht erkannt.",
"To use it, just wait for autocomplete results to load and tab through them.": "Um diese Funktion zu nutzen, warte einfach auf die Autovervollständigungsergebnisse und benutze dann die TAB-Taste zum durchblättern.", "To use it, just wait for autocomplete results to load and tab through them.": "Um diese Funktion zu nutzen, warte einfach auf die Ergebnisse der Autovervollständigung und benutze dann die TAB-Taste zum Durchblättern.",
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s hat die Verbannung von %(targetName)s aufgehoben.", "%(senderName)s unbanned %(targetName)s.": "%(senderName)s hat die Verbannung von %(targetName)s aufgehoben.",
"Usage": "Verwendung", "Usage": "Verwendung",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s hat die Einladung für %(targetName)s zurückgezogen.", "%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s hat die Einladung für %(targetName)s zurückgezogen.",
@ -197,7 +197,7 @@
"Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or <a>enable unsafe scripts</a>.": "Es kann keine Verbindung zum Heimserver via HTTP aufgebaut werden, wenn die Adresszeile des Browsers eine HTTPS-URL enthält. Entweder HTTPS verwenden oder alternativ <a>unsichere Skripte erlauben</a>.", "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or <a>enable unsafe scripts</a>.": "Es kann keine Verbindung zum Heimserver via HTTP aufgebaut werden, wenn die Adresszeile des Browsers eine HTTPS-URL enthält. Entweder HTTPS verwenden oder alternativ <a>unsichere Skripte erlauben</a>.",
"Click to mute audio": "Klicke um den Ton stumm zu stellen", "Click to mute audio": "Klicke um den Ton stumm zu stellen",
"Click to mute video": "Klicken, um das Video stummzuschalten", "Click to mute video": "Klicken, um das Video stummzuschalten",
"Command error": "Befehlsfehler", "Command error": "Fehler im Befehl",
"Decrypt %(text)s": "%(text)s entschlüsseln", "Decrypt %(text)s": "%(text)s entschlüsseln",
"Disinvite": "Einladung zurückziehen", "Disinvite": "Einladung zurückziehen",
"Download %(text)s": "%(text)s herunterladen", "Download %(text)s": "%(text)s herunterladen",
@ -1189,7 +1189,7 @@
"Unable to query for supported registration methods.": "Konnte unterstützte Registrierungsmethoden nicht abrufen.", "Unable to query for supported registration methods.": "Konnte unterstützte Registrierungsmethoden nicht abrufen.",
"Bulk options": "Sammeloptionen", "Bulk options": "Sammeloptionen",
"Join millions for free on the largest public server": "Schließe dich kostenlos auf dem größten öffentlichen Server Millionen von Menschen an", "Join millions for free on the largest public server": "Schließe dich kostenlos auf dem größten öffentlichen Server Millionen von Menschen an",
"Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Fügt ¯\\_(ツ)_/¯ vor einer Klartextnachricht ein", "Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Stellt ¯\\_(ツ)_/¯ einer Klartextnachricht voran",
"Changes your display nickname in the current room only": "Ändert den Anzeigenamen ausschließlich für den aktuellen Raum", "Changes your display nickname in the current room only": "Ändert den Anzeigenamen ausschließlich für den aktuellen Raum",
"%(senderDisplayName)s enabled flair for %(groups)s in this room.": "%(senderDisplayName)s aktivierte Abzeichen der Gruppen %(groups)s für diesen Raum.", "%(senderDisplayName)s enabled flair for %(groups)s in this room.": "%(senderDisplayName)s aktivierte Abzeichen der Gruppen %(groups)s für diesen Raum.",
"%(senderDisplayName)s disabled flair for %(groups)s in this room.": "%(senderDisplayName)s deaktivierte Abzeichen der Gruppen %(groups)s in diesem Raum.", "%(senderDisplayName)s disabled flair for %(groups)s in this room.": "%(senderDisplayName)s deaktivierte Abzeichen der Gruppen %(groups)s in diesem Raum.",
@ -1333,7 +1333,7 @@
"Only continue if you trust the owner of the server.": "Fahre nur fort, wenn du dem/r Besitzer*in des Servers vertraust.", "Only continue if you trust the owner of the server.": "Fahre nur fort, wenn du dem/r Besitzer*in des Servers vertraust.",
"Trust": "Vertrauen", "Trust": "Vertrauen",
"Custom (%(level)s)": "Benutzerdefinierte (%(level)s)", "Custom (%(level)s)": "Benutzerdefinierte (%(level)s)",
"Sends a message as plain text, without interpreting it as markdown": "Verschickt eine Nachricht in reinem Textformat, ohne sie in Markdown zu formatieren", "Sends a message as plain text, without interpreting it as markdown": "Verschickt eine Nachricht in Rohtext, ohne sie als Markdown darzustellen",
"Use an identity server to invite by email. Manage in Settings.": "Nutze einen Identitätsserver, um über E-Mail Einladungen zu verschicken. Verwalte es in den Einstellungen.", "Use an identity server to invite by email. Manage in Settings.": "Nutze einen Identitätsserver, um über E-Mail Einladungen zu verschicken. Verwalte es in den Einstellungen.",
"%(name)s (%(userId)s)": "%(name)s (%(userId)s)", "%(name)s (%(userId)s)": "%(name)s (%(userId)s)",
"Try out new ways to ignore people (experimental)": "Versuche neue Möglichkeiten, um Menschen zu ignorieren (experimentell)", "Try out new ways to ignore people (experimental)": "Versuche neue Möglichkeiten, um Menschen zu ignorieren (experimentell)",
@ -1630,10 +1630,10 @@
"Your recovery key": "Dein Wiederherstellungsschlüssel", "Your recovery key": "Dein Wiederherstellungsschlüssel",
"Copy": "In Zwischenablage kopieren", "Copy": "In Zwischenablage kopieren",
"Make a copy of your recovery key": "Speichere deinen Wiederherstellungsschlüssel", "Make a copy of your recovery key": "Speichere deinen Wiederherstellungsschlüssel",
"Sends a message as html, without interpreting it as markdown": "Verschickt eine Nachricht im html-Format, ohne sie in Markdown zu formatieren", "Sends a message as html, without interpreting it as markdown": "Verschickt eine Nachricht im HTML-Format, ohne sie als Markdown zu darzustellen",
"Show rooms with unread notifications first": "Räume mit ungelesenen Benachrichtigungen zuerst zeigen", "Show rooms with unread notifications first": "Räume mit ungelesenen Benachrichtigungen zuerst zeigen",
"Show shortcuts to recently viewed rooms above the room list": "Kurzbefehle zu den kürzlich gesichteten Räumen über der Raumliste anzeigen", "Show shortcuts to recently viewed rooms above the room list": "Kurzbefehle zu den kürzlich gesichteten Räumen über der Raumliste anzeigen",
"Use Single Sign On to continue": "Benutze Single Sign-On um fortzufahren", "Use Single Sign On to continue": "Single-Sign-On zum Fortfahren nutzen",
"Confirm adding this email address by using Single Sign On to prove your identity.": "Bestätige die hinzugefügte E-Mail-Adresse mit Single Sign-On, um deine Identität nachzuweisen.", "Confirm adding this email address by using Single Sign On to prove your identity.": "Bestätige die hinzugefügte E-Mail-Adresse mit Single Sign-On, um deine Identität nachzuweisen.",
"Single Sign On": "Single Sign-On", "Single Sign On": "Single Sign-On",
"Confirm adding email": "Bestätige hinzugefügte E-Mail-Addresse", "Confirm adding email": "Bestätige hinzugefügte E-Mail-Addresse",
@ -2950,5 +2950,34 @@
"Call failed because no microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "Der Anruf ist fehlgeschlagen weil nicht auf das Mikrofon zugegriffen werden konnte. Stelle sicher, dass das Mikrofon richtig eingesteckt und eingerichtet ist.", "Call failed because no microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "Der Anruf ist fehlgeschlagen weil nicht auf das Mikrofon zugegriffen werden konnte. Stelle sicher, dass das Mikrofon richtig eingesteckt und eingerichtet ist.",
"Call failed because no webcam or microphone could not be accessed. Check that:": "Der Anruf ist fehlgeschlagen weil nicht auf das Mikrofon oder die Webcam zugegriffen werden konnte. Stelle sicher, dass:", "Call failed because no webcam or microphone could not be accessed. Check that:": "Der Anruf ist fehlgeschlagen weil nicht auf das Mikrofon oder die Webcam zugegriffen werden konnte. Stelle sicher, dass:",
"Unable to access webcam / microphone": "Auf Webcam / Mikrofon konnte nicht zugegriffen werden", "Unable to access webcam / microphone": "Auf Webcam / Mikrofon konnte nicht zugegriffen werden",
"Unable to access microphone": "Es konnte nicht auf das Mikrofon zugegriffen werden" "Unable to access microphone": "Es konnte nicht auf das Mikrofon zugegriffen werden",
"Host account on": "Benutzer*innenkonto betreiben an",
"Hold": "Halten",
"Resume": "Fortsetzen",
"We call the places where you can host your account homeservers.": "Den Ort, an dem du dein Benutzer*innenkonto betreibst, nennen wir „Heimserver“.",
"Invalid URL": "Ungültiger Link",
"Unable to validate homeserver": "Überprüfung des Heimservers nicht möglich",
"%(name)s paused": "%(name)s hat pausiert",
"%(peerName)s held the call": "%(peerName)s hält den Anruf",
"You held the call <a>Resume</a>": "Du hältst den Anruf <a>Fortsetzen</a>",
"sends fireworks": "sendet Feuerwerk",
"Sends the given message with fireworks": "Sendet die gewählte Nachricht mit Feuerwerk",
"sends confetti": "sendet Konfetti",
"Sends the given message with confetti": "Sendet die gewählte Nachricht ohne Konfetti",
"Show chat effects": "Chat-Effekte anzeigen",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "Stellt ┬──┬ ( ゜-゜ノ) einer Klartextnachricht voran",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "Stellt (╯°□°)╯︵ ┻━┻ einer Klartextnachricht voran",
"Effects": "Effekte",
"You've reached the maximum number of simultaneous calls.": "Du hast die maximale Anzahl gleichzeitiger Anrufe erreicht.",
"Too Many Calls": "Zu viele Anrufe",
"Call failed because webcam or microphone could not be accessed. Check that:": "Der Anruf ist fehlgeschlagen, weil nicht auf die Webcam oder der das Mikrofon zugegriffen werden konnte. Prüfe nach, ob:",
"Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "Der Anruf ist fehlgeschlagen, weil nicht auf das Mikrofon zugegriffen werden konnte. Prüfe noch einmal nach, ob das Mikrofon eingesteckt und richtig eingestellt ist.",
"You have no visible notifications.": "Du hast keine sichtbaren Benachrichtigungen.",
"%(name)s on hold": "%(name)s wird gehalten",
"You held the call <a>Switch</a>": "Du hältst den Anruf <a>Wechseln</a>",
"sends snowfall": "sendet Schneeflocken",
"Sends the given message with snowfall": "Sendet die gewählte Nachricht mit Schneeflocken",
"Transfer": "Übertragen",
"Failed to transfer call": "Anruf-Übertragung fehlgeschlagen",
"A call can only be transferred to a single user.": "Ein Anruf kann nur auf einen einzelnen Nutzer übertragen werden."
} }

View file

@ -604,5 +604,9 @@
"Sets the room name": "Θέτει το θέμα του δωματίου", "Sets the room name": "Θέτει το θέμα του δωματίου",
"Use an identity server": "Χρησιμοποιήστε ένα διακομιστή ταυτοτήτων", "Use an identity server": "Χρησιμοποιήστε ένα διακομιστή ταυτοτήτων",
"Your %(brand)s is misconfigured": "Οι παράμετροι του %(brand)s σας είναι λανθασμένα ρυθμισμένοι", "Your %(brand)s is misconfigured": "Οι παράμετροι του %(brand)s σας είναι λανθασμένα ρυθμισμένοι",
"Explore rooms": "Εξερευνήστε δωμάτια" "Explore rooms": "Εξερευνήστε δωμάτια",
"Whether you're using %(brand)s as an installed Progressive Web App": "Εάν χρησιμοπιείται %(brand)s σαν εγκατεστημένο Progressive Web App",
"Whether you're using %(brand)s on a device where touch is the primary input mechanism": "Ενα χρησιμοποιείται το %(brand)s σε συσκευή αφής",
"Click the button below to confirm adding this phone number.": "Πιέστε το κουμπί από κάτω για να επιβεβαίωσετε την προσθήκη του τηλεφωνικού αριθμού.",
"Confirm": "Επιβεβαίωση"
} }

View file

@ -2040,6 +2040,8 @@
"Explore Account Data": "Explore Account Data", "Explore Account Data": "Explore Account Data",
"View Servers in Room": "View Servers in Room", "View Servers in Room": "View Servers in Room",
"Verification Requests": "Verification Requests", "Verification Requests": "Verification Requests",
"Active Widgets": "Active Widgets",
"There was an error finding this widget.": "There was an error finding this widget.",
"Toolbox": "Toolbox", "Toolbox": "Toolbox",
"Developer Tools": "Developer Tools", "Developer Tools": "Developer Tools",
"There was an error updating your community. The server is unable to process your request.": "There was an error updating your community. The server is unable to process your request.", "There was an error updating your community. The server is unable to process your request.": "There was an error updating your community. The server is unable to process your request.",

View file

@ -655,9 +655,9 @@
"Messages in one-to-one chats": "Mesaĝoj en duopaj babiloj", "Messages in one-to-one chats": "Mesaĝoj en duopaj babiloj",
"Unavailable": "Nedisponebla", "Unavailable": "Nedisponebla",
"View Decrypted Source": "Vidi malĉifritan fonton", "View Decrypted Source": "Vidi malĉifritan fonton",
"Failed to update keywords": "Malsukcesis ĝisdatigi la ŝlosilvortojn", "Failed to update keywords": "Malsukcesis ĝisdatigi la ĉefvortojn",
"remove %(name)s from the directory.": "forigi %(name)s de la katalogo.", "remove %(name)s from the directory.": "forigi %(name)s de la katalogo.",
"Notifications on the following keywords follow rules which cant be displayed here:": "La sciigoj de la jenaj ŝlosilvortoj sekvas regulojn kiuj ne povas esti montrataj ĉi tie:", "Notifications on the following keywords follow rules which cant be displayed here:": "La sciigoj de la jenaj ĉefvortoj obeas regulojn kiuj ne povas esti montrataj ĉi tie:",
"Please set a password!": "Bonvolu agordi pasvorton!", "Please set a password!": "Bonvolu agordi pasvorton!",
"You have successfully set a password!": "Vi sukcese agordis pasvorton!", "You have successfully set a password!": "Vi sukcese agordis pasvorton!",
"An error occurred whilst saving your email notification preferences.": "Konservo de agordoj pri retpoŝtaj sciigoj eraris.", "An error occurred whilst saving your email notification preferences.": "Konservo de agordoj pri retpoŝtaj sciigoj eraris.",
@ -671,10 +671,10 @@
"Collecting app version information": "Kolektante informon pri versio de la aplikaĵo", "Collecting app version information": "Kolektante informon pri versio de la aplikaĵo",
"Enable notifications for this account": "Ŝalti sciigojn por tiu ĉi konto", "Enable notifications for this account": "Ŝalti sciigojn por tiu ĉi konto",
"Invite to this community": "Inviti al tiu ĉi komunumo", "Invite to this community": "Inviti al tiu ĉi komunumo",
"Messages containing <span>keywords</span>": "Mesaĝoj enhavantaj <span>ŝlosilovortojn</span>", "Messages containing <span>keywords</span>": "Mesaĝoj enhavantaj <span>ĉefvortojn</span>",
"Error saving email notification preferences": "Konservo de preferoj pri retpoŝtaj sciigoj eraris", "Error saving email notification preferences": "Konservo de preferoj pri retpoŝtaj sciigoj eraris",
"Tuesday": "Mardo", "Tuesday": "Mardo",
"Enter keywords separated by a comma:": "Entajpu ŝlosilvortojn apartigitajn per komoj:", "Enter keywords separated by a comma:": "Entajpu ĉefvortojn apartigitajn per komoj:",
"Search…": "Serĉi…", "Search…": "Serĉi…",
"You have successfully set a password and an email address!": "Vi sukcese agordis pasvorton kaj retpoŝtadreson!", "You have successfully set a password and an email address!": "Vi sukcese agordis pasvorton kaj retpoŝtadreson!",
"Remove %(name)s from the directory?": "Ĉu forigi %(name)s de la katalogo?", "Remove %(name)s from the directory?": "Ĉu forigi %(name)s de la katalogo?",
@ -708,7 +708,7 @@
"What's new?": "Kio novas?", "What's new?": "Kio novas?",
"Notify me for anything else": "Sciigu min pri ĉio alia", "Notify me for anything else": "Sciigu min pri ĉio alia",
"When I'm invited to a room": "Kiam mi estas invitita al ĉambro", "When I'm invited to a room": "Kiam mi estas invitita al ĉambro",
"Keywords": "Ŝlosilvortoj", "Keywords": "Ĉefvortoj",
"Can't update user notification settings": "Agordoj de sciigoj al uzanto ne ĝisdatigeblas", "Can't update user notification settings": "Agordoj de sciigoj al uzanto ne ĝisdatigeblas",
"Notify for all other messages/rooms": "Sciigu min por ĉiuj aliaj mesaĝoj/ĉambroj", "Notify for all other messages/rooms": "Sciigu min por ĉiuj aliaj mesaĝoj/ĉambroj",
"Unable to look up room ID from server": "Ne povas akiri ĉambran identigilon de la servilo", "Unable to look up room ID from server": "Ne povas akiri ĉambran identigilon de la servilo",
@ -2072,7 +2072,7 @@
"Invalid theme schema.": "Nevalida skemo de haŭto.", "Invalid theme schema.": "Nevalida skemo de haŭto.",
"Mod": "Reguligisto", "Mod": "Reguligisto",
"In encrypted rooms, your messages are secured and only you and the recipient have the unique keys to unlock them.": "En ĉifritaj ĉambroj, viaj mesaĝoj estas sekurigitaj, kaj nur vi kaj la ricevanto havas la unikajn malĉifrajn ŝlosilojn.", "In encrypted rooms, your messages are secured and only you and the recipient have the unique keys to unlock them.": "En ĉifritaj ĉambroj, viaj mesaĝoj estas sekurigitaj, kaj nur vi kaj la ricevanto havas la unikajn malĉifrajn ŝlosilojn.",
"Verify all users in a room to ensure it's secure.": "Kontroli ĉiujn uzantojn en ĉambro por certigi, ke ĝi sekuras.", "Verify all users in a room to ensure it's secure.": "Kontrolu ĉiujn uzantojn en ĉambro por certigi, ke ĝi sekuras.",
"In encrypted rooms, verify all users to ensure its secure.": "En ĉifritaj ĉambroj, kontroli ĉiujn uzantojn por certigi, ke ili sekuras.", "In encrypted rooms, verify all users to ensure its secure.": "En ĉifritaj ĉambroj, kontroli ĉiujn uzantojn por certigi, ke ili sekuras.",
"Verified": "Kontrolita", "Verified": "Kontrolita",
"Verification cancelled": "Kontrolo nuliĝis", "Verification cancelled": "Kontrolo nuliĝis",
@ -2329,7 +2329,7 @@
"Show %(count)s more|other": "Montri %(count)s pliajn", "Show %(count)s more|other": "Montri %(count)s pliajn",
"Show %(count)s more|one": "Montri %(count)s plian", "Show %(count)s more|one": "Montri %(count)s plian",
"Use default": "Uzi implicitan", "Use default": "Uzi implicitan",
"Mentions & Keywords": "Mencioj kaj ŝlosilvortoj", "Mentions & Keywords": "Mencioj kaj ĉefvortoj",
"Notification options": "Elektebloj pri sciigoj", "Notification options": "Elektebloj pri sciigoj",
"Favourited": "Elstarigita", "Favourited": "Elstarigita",
"Leave Room": "Foriri de ĉambro", "Leave Room": "Foriri de ĉambro",
@ -2697,5 +2697,167 @@
"Caribbean Netherlands": "Kariba Nederlando", "Caribbean Netherlands": "Kariba Nederlando",
"Burkina Faso": "Burkino", "Burkina Faso": "Burkino",
"Bouvet Island": "Buvet-Insulo", "Bouvet Island": "Buvet-Insulo",
"Anguilla": "Angvilo" "Anguilla": "Angvilo",
"%(name)s on hold": "%(name)s estas paŭzigita",
"Return to call": "Reveni al voko",
"Fill Screen": "Plenigi ekranon",
"Voice Call": "Voĉvoko",
"Video Call": "Vidvoko",
"%(peerName)s held the call": "%(peerName)s paŭzigis la vokon",
"You held the call <a>Resume</a>": "Vi paŭzigis la vokon <a>Daŭrigi</a>",
"You held the call <a>Switch</a>": "Vi paŭzigis la vokon <a>Baskuli</a>",
"Render LaTeX maths in messages": "Bildigi matematikon de Lateĥo en mesaĝoj",
"%(senderName)s ended the call": "%(senderName)s finis la vokon",
"You ended the call": "Vi finis la vokon",
"New version of %(brand)s is available": "Nova versio de %(brand)s disponeblas",
"Update %(brand)s": "Ĝisdatigi %(brand)s",
"Enable desktop notifications": "Ŝalti labortablajn sciigojn",
"See <b>%(msgtype)s</b> messages posted to your active room": "Vidi mesaĝojn de speco <b>%(msgtype)s</b> afiŝitajn al via aktiva ĉambro",
"See <b>%(msgtype)s</b> messages posted to this room": "Vidi mesaĝojn de speco <b>%(msgtype)s</b> afiŝitajn al ĉi tiu ĉambro",
"Send <b>%(msgtype)s</b> messages as you in your active room": "Sendi mesaĝojn de speco <b>%(msgtype)s</b> kiel vi en via aktiva ĉambro",
"Send <b>%(msgtype)s</b> messages as you in this room": "Sendi mesaĝojn de speco <b>%(msgtype)s</b> kiel vi en ĉi tiu ĉambro",
"See general files posted to your active room": "Sendi ĝeneralajn dosierojn afiŝitajn al via aktiva ĉambro",
"See general files posted to this room": "Sendi ĝeneralajn dosierojn afiŝitajn al ĉi tiu ĉambro",
"Send general files as you in your active room": "Sendi ĝeneralajn dosierojn kiel vi en via aktiva ĉambro",
"Send general files as you in this room": "Sendi ĝeneralajn dosierojn kiel vi en ĉi tiu ĉambro",
"See videos posted to your active room": "Vidi filmojn afiŝitajn al via aktiva ĉambro",
"See videos posted to this room": "Vidi filmojn afiŝitajn al ĉi tiu ĉambro",
"Send videos as you in your active room": "Sendi filmojn kiel vi en via aktiva ĉambro",
"Send videos as you in this room": "Sendi filmojn kiel vi en ĉi tiu ĉambro",
"See images posted to your active room": "Vidi bildojn afiŝitajn al via aktiva ĉambro",
"See images posted to this room": "Vidi bildojn afiŝitajn al ĉi tiu ĉambro",
"Send images as you in your active room": "Sendi bildojn kiel vi en via aktiva ĉambro",
"Send images as you in this room": "Sendi bildojn kiel vi en ĉi tiu ĉambro",
"The <b>%(capability)s</b> capability": "La kapablo <b>%(capability)s</b>",
"See <b>%(eventType)s</b> events posted to your active room": "Vidi eventojn de speco <b>%(eventType)s</b> afiŝitajn al via aktiva ĉambro",
"Send <b>%(eventType)s</b> events as you in your active room": "Sendi eventojn de speco <b>%(eventType)s</b> kiel vi en via aktiva ĉambro",
"See <b>%(eventType)s</b> events posted to this room": "Vidi eventojn de speco <b>%(eventType)s</b> afiŝitajn al ĉi tiu ĉambro",
"Send <b>%(eventType)s</b> events as you in this room": "Sendi eventojn de speco <b>%(eventType)s</b> kiel vi en ĉi tiu ĉambro",
"See messages posted to your active room": "Vidi mesaĝojn senditajn al via aktiva ĉambro",
"See messages posted to this room": "Vidi mesaĝojn senditajn al ĉi tiu ĉambro",
"Send messages as you in your active room": "Sendi mesaĝojn kiel vi en via aktiva ĉambro",
"Send messages as you in this room": "Sendi mesaĝojn kiel vi en ĉi tiu ĉambro",
"See when anyone posts a sticker to your active room": "Vidi ies ajn afiŝojn de glumarkoj al via aktiva ĉambro",
"Send stickers to your active room as you": "Sendi glumarkojn al via aktiva ĉambro kiel vi",
"See when a sticker is posted in this room": "Vidi afiŝojn de glumarkoj en ĉi tiu ĉambro",
"Send stickers to this room as you": "Sendi glumarkojn al ĉi tiu ĉambro kiel vi",
"See when the avatar changes in your active room": "Vidi ŝanĝojn de bildo de ĉambro en via aktiva ĉambro",
"Change the avatar of your active room": "Ŝanĝi la bildon de via aktiva ĉambro",
"See when the avatar changes in this room": "Vidi ŝanĝojn de bildo de ĉambro en ĉi tiu ĉambro",
"Change the avatar of this room": "Ŝanĝi la bildon de ĉi tiu ĉambro",
"See when the name changes in your active room": "Vidi ŝanĝojn de nomo en via aktiva ĉambro",
"Change the name of your active room": "Ŝanĝi la nomon de via aktiva ĉambro",
"See when the name changes in this room": "Vidi ŝanĝojn de nomo en ĉi tiu ĉambro",
"Change the name of this room": "Ŝanĝi la nomon de ĉi tiu ĉambro",
"See when the topic changes in your active room": "Vidi ŝanĝojn de temo en via aktiva ĉambro",
"Change the topic of your active room": "Ŝanĝi la temon de via aktiva ĉambro",
"See when the topic changes in this room": "Vidi ŝanĝojn de temo en ĉi tiu ĉambro",
"Change the topic of this room": "Ŝanĝi la temon de ĉi tiu ĉambro",
"Change which room you're viewing": "Ŝanĝi la vidatan ĉambron",
"Send stickers into your active room": "Sendi glumarkojn al via aktiva ĉambro",
"Send stickers into this room": "Sendi glumarkojn al ĉi tiu ĉambro",
"Takes the call in the current room off hold": "Malpaŭzigas la vokon en la nuna ĉambro",
"Places the call in the current room on hold": "Paŭzigas la vokon en la nuna ĉambro",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "Antaŭmetas ┬──┬ ( ゜-゜ノ) al platteksta mesaĝo",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "Antaŭmetas (╯°□°)╯︵ ┻━┻ al platteksta mesaĝo",
"Effects": "Efektoj",
"Zimbabwe": "Zimbabvo",
"Zambia": "Zambio",
"Yemen": "Jemeno",
"Western Sahara": "Okcidenta Saharo",
"Wallis & Futuna": "Valiso kaj Futuno",
"Vietnam": "Vjetnamujo",
"Venezuela": "Venezuelo",
"Vatican City": "Vatikano",
"Vanuatu": "Vanuatuo",
"Uruguay": "Urugvajo",
"U.S. Virgin Islands": "Usonaj Virgulininsuloj",
"Tuvalu": "Tuvalo",
"Turks & Caicos Islands": "Turkoj kaj Kajkoj",
"Turkmenistan": "Turkmenujo",
"Trinidad & Tobago": "Trinidado kaj Tobago",
"Switzerland": "Svisujo",
"Sweden": "Svedujo",
"Swaziland": "Svaziujo",
"Svalbard & Jan Mayen": "Svalbardo kaj Janmajeno",
"Suriname": "Surinamo",
"Sudan": "Sudano",
"St. Vincent & Grenadines": "Sankt-Vincento kaj Grenadinoj",
"St. Pierre & Miquelon": "Sankt-Pjero kaj Mikelono",
"St. Martin": "Sankt-Marteno",
"St. Lucia": "Sankt-Lucio",
"St. Kitts & Nevis": "Sankt-Kito kaj Neviso",
"St. Barthélemy": "Sankt-Bartolomeo",
"St. Helena": "Sankt-Heleno",
"South Sudan": "Sud-Sudano",
"South Georgia & South Sandwich Islands": "Sud-Georgio kaj Sud-Sandviĉinsuloj",
"Sint Maarten": "Sint-Marteno",
"Réunion": "Reunio",
"Pitcairn Islands": "Pitkernaj insuloj",
"Northern Mariana Islands": "Nord-Marianoj",
"Norfolk Island": "Norfolkinsulo",
"Nicaragua": "Nikaragvo",
"Mongolia": "Mongolujo",
"Monaco": "Monako",
"Moldova": "Moldavujo",
"Micronesia": "Mikronezio",
"Mexico": "Meksiko",
"Mayotte": "Majoto",
"Mauritius": "Maŭricio",
"Mauritania": "Maŭritanio",
"Martinique": "Martiniko",
"Marshall Islands": "Marŝaloj",
"Malawi": "Malavio",
"Madagascar": "Madagaskaro",
"Macedonia": "Makedonujo",
"Macau": "Makao",
"Libya": "Libio",
"Liberia": "Liberio",
"Lesotho": "Lesoto",
"Lebanon": "Libano",
"Kuwait": "Kuvajto",
"Kiribati": "Kiribato",
"Jordan": "Jordanio",
"Jersey": "Ĵerzejo",
"Heard & McDonald Islands": "Insuloj de Herdo kaj Makdonaldo",
"Guyana": "Gujano",
"Guinea-Bissau": "Gvineo-Bisaŭo",
"Guinea": "Gvineo",
"Guernsey": "Gernezejo",
"Guam": "Gvamo",
"Guadeloupe": "Gvadelupo",
"Ghana": "Ganao",
"Georgia": "Kartvelujo",
"Gambia": "Gambio",
"Gabon": "Gabono",
"French Southern Territories": "Francaj sudaj teritorioj",
"French Polynesia": "Franca Polinezio",
"Congo - Kinshasa": "Demokratia respubliko Kongo (Kinŝasa)",
"Congo - Brazzaville": "Respubliko Kongo (Brazavila)",
"British Indian Ocean Territory": "Brita hindoceana teritorio",
"Tonga": "Tongo",
"Tokelau": "Tokelao",
"Togo": "Togolando",
"Timor-Leste": "Orienta Timoro",
"Thailand": "Tajujo",
"Tanzania": "Tanzanio",
"Taiwan": "Tajvano",
"São Tomé & Príncipe": "Santomeo kaj Principeo",
"Syria": "Sirio",
"French Guiana": "Franca Gujano",
"Faroe Islands": "Ferooj",
"Falkland Islands": "Falklandoj",
"Djibouti": "Ĝibutio",
"Curaçao": "Kuracao",
"Cocos (Keeling) Islands": "Kokosinsuloj",
"Cayman Islands": "Kajmaninsuloj",
"You've reached the maximum number of simultaneous calls.": "Vi atingis la maksimuman nombron de samtempaj vokoj.",
"Too Many Calls": "Tro multaj vokoj",
"No other application is using the webcam": "Neniu alia aplikaĵo uzas la retfilmilon",
"Permission is granted to use the webcam": "Permeso uzi la retfilmilon estas donita",
"A microphone and webcam are plugged in and set up correctly": "Mikrofono kaj retfilmilo estas ĝuste konektitaj kaj agorditaj",
"Call failed because webcam or microphone could not be accessed. Check that:": "Voko malsukcesis, ĉar retfilmilo aŭ mikrofono ne povis uziĝi. Kontrolu, ke:",
"Unable to access webcam / microphone": "Ne povas aliri retfilmilon / mikrofonon",
"Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "Voko malsukcesis, ĉar mikrofono ne estis uzebla. Kontrolu, ĉu mikrofono estas ĝuste konektita kaj agordita.",
"Unable to access microphone": "Ne povas aliri mikrofonon"
} }

View file

@ -62,7 +62,7 @@
"Voice call": "Häälkõne", "Voice call": "Häälkõne",
"Video call": "Videokõne", "Video call": "Videokõne",
"Hangup": "Katkesta kõne", "Hangup": "Katkesta kõne",
"Upload file": "Lae fail üles", "Upload file": "Laadi fail üles",
"Send an encrypted reply…": "Saada krüptitud vastus…", "Send an encrypted reply…": "Saada krüptitud vastus…",
"Send a reply…": "Saada vastus…", "Send a reply…": "Saada vastus…",
"Send an encrypted message…": "Saada krüptitud sõnum…", "Send an encrypted message…": "Saada krüptitud sõnum…",
@ -105,7 +105,7 @@
"expand": "laienda", "expand": "laienda",
"Communities": "Kogukonnad", "Communities": "Kogukonnad",
"You cannot delete this image. (%(code)s)": "Sa ei saa seda pilti eemaldada, (%(code)s)", "You cannot delete this image. (%(code)s)": "Sa ei saa seda pilti eemaldada, (%(code)s)",
"Uploaded on %(date)s by %(user)s": "Üles laetud %(date)s %(user)s poolt", "Uploaded on %(date)s by %(user)s": "Üles laaditud %(date)s %(user)s poolt",
"Rotate Left": "Pööra vasakule", "Rotate Left": "Pööra vasakule",
"Rotate counter-clockwise": "Pööra vastupäeva", "Rotate counter-clockwise": "Pööra vastupäeva",
"Rotate Right": "Pööra paremale", "Rotate Right": "Pööra paremale",
@ -157,7 +157,7 @@
"Remove from community": "Eemalda kogukonnast", "Remove from community": "Eemalda kogukonnast",
"Remove this user from community?": "Kas eemaldan selle kasutaja kogukonnast?", "Remove this user from community?": "Kas eemaldan selle kasutaja kogukonnast?",
"Failed to remove user from community": "Kasutaja eemaldamine kogukonnast ebaõnnestus", "Failed to remove user from community": "Kasutaja eemaldamine kogukonnast ebaõnnestus",
"Failed to load group members": "Grupi liikmete laadimine ebaõnnestus", "Failed to load group members": "Grupi liikmete laadimine ei õnnestunud",
"Filter community members": "Filtreeri kogukonna liikmeid", "Filter community members": "Filtreeri kogukonna liikmeid",
"Are you sure you want to remove '%(roomName)s' from %(groupId)s?": "Kas sa soovid eemaldada %(roomName)s jututoa %(groupId)s kogukonnast?", "Are you sure you want to remove '%(roomName)s' from %(groupId)s?": "Kas sa soovid eemaldada %(roomName)s jututoa %(groupId)s kogukonnast?",
"Removing a room from the community will also remove it from the community page.": "Eemaldades jututoa kogukonnast eemaldad selle ka kogukonna lehelt.", "Removing a room from the community will also remove it from the community page.": "Eemaldades jututoa kogukonnast eemaldad selle ka kogukonna lehelt.",
@ -172,11 +172,11 @@
"%(networkName)s rooms": "%(networkName)s jututoad", "%(networkName)s rooms": "%(networkName)s jututoad",
"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.": "Kas sa oled kindel et soovid eemaldada (kustutada) seda sündmust? Pane tähele, et see muutus võib tagasi pöörduda, kui muudad hiljem jututoa nime või teema nime.", "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.": "Kas sa oled kindel et soovid eemaldada (kustutada) seda sündmust? Pane tähele, et see muutus võib tagasi pöörduda, kui muudad hiljem jututoa nime või teema nime.",
"Sign out and remove encryption keys?": "Logi välja ja eemalda krüptimisvõtmed?", "Sign out and remove encryption keys?": "Logi välja ja eemalda krüptimisvõtmed?",
"Upload files (%(current)s of %(total)s)": "Lae failid üles (%(current)s / %(total)s)", "Upload files (%(current)s of %(total)s)": "Laadin faile üles (%(current)s / %(total)s)",
"Upload files": "Lae failid üles", "Upload files": "Laadi failid üles",
"These files are <b>too large</b> to upload. The file size limit is %(limit)s.": "Need failid on üleslaadimiseks <b>liiga suured</b>. Failisuuruse piir on %(limit)s.", "These files are <b>too large</b> to upload. The file size limit is %(limit)s.": "Need failid on üleslaadimiseks <b>liiga suured</b>. Failisuuruse piir on %(limit)s.",
"Some files are <b>too large</b> to be uploaded. The file size limit is %(limit)s.": "Mõned failid on üleslaadimiseks <b>liiga suured</b>. Failisuuruse piir on %(limit)s.", "Some files are <b>too large</b> to be uploaded. The file size limit is %(limit)s.": "Mõned failid on üleslaadimiseks <b>liiga suured</b>. Failisuuruse piir on %(limit)s.",
"Upload %(count)s other files|other": "Lae üles %(count)s muud faili", "Upload %(count)s other files|other": "Laadi üles %(count)s muud faili",
"Unable to reject invite": "Ei õnnestu kutset tagasi lükata", "Unable to reject invite": "Ei õnnestu kutset tagasi lükata",
"Resend": "Saada uuesti", "Resend": "Saada uuesti",
"Resend edit": "Saada muudetud sõnum uuesti", "Resend edit": "Saada muudetud sõnum uuesti",
@ -222,7 +222,7 @@
"Remove %(name)s from the directory?": "Eemalda %(name)s kataloogist?", "Remove %(name)s from the directory?": "Eemalda %(name)s kataloogist?",
"Remove from Directory": "Eemalda kataloogist", "Remove from Directory": "Eemalda kataloogist",
"remove %(name)s from the directory.": "eemalda %(name)s kataloogist.", "remove %(name)s from the directory.": "eemalda %(name)s kataloogist.",
"You seem to be uploading files, are you sure you want to quit?": "Tundub, et sa parasjagu laed faile üles. Kas sa kindlasti soovid väljuda?", "You seem to be uploading files, are you sure you want to quit?": "Tundub, et sa parasjagu laadid faile üles. Kas sa kindlasti soovid väljuda?",
"Failed to set direct chat tag": "Otsevestluse sildi lisamine ei õnnestunud", "Failed to set direct chat tag": "Otsevestluse sildi lisamine ei õnnestunud",
"Failed to remove tag %(tagName)s from room": "Sildi %(tagName)s eemaldamine jututoast ebaõnnestus", "Failed to remove tag %(tagName)s from room": "Sildi %(tagName)s eemaldamine jututoast ebaõnnestus",
"Calls": "Kõned", "Calls": "Kõned",
@ -322,7 +322,7 @@
"Attachment": "Manus", "Attachment": "Manus",
"Error decrypting attachment": "Viga manuse dekrüptimisel", "Error decrypting attachment": "Viga manuse dekrüptimisel",
"Decrypt %(text)s": "Dekrüpti %(text)s", "Decrypt %(text)s": "Dekrüpti %(text)s",
"Download %(text)s": "Lae alla %(text)s", "Download %(text)s": "Laadi alla %(text)s",
"Invalid file%(extra)s": "Vigane fail %(extra)s", "Invalid file%(extra)s": "Vigane fail %(extra)s",
"Error decrypting image": "Viga pildi dekrüptimisel", "Error decrypting image": "Viga pildi dekrüptimisel",
"Show image": "Näita pilti", "Show image": "Näita pilti",
@ -416,7 +416,7 @@
"System Alerts": "Süsteemi teated", "System Alerts": "Süsteemi teated",
"This room": "See jututuba", "This room": "See jututuba",
"Joining room …": "Liitun jututoaga …", "Joining room …": "Liitun jututoaga …",
"Loading …": "Laen …", "Loading …": "Laadin …",
"e.g. %(exampleValue)s": "näiteks %(exampleValue)s", "e.g. %(exampleValue)s": "näiteks %(exampleValue)s",
"Could not find user in room": "Jututoast ei leidnud kasutajat", "Could not find user in room": "Jututoast ei leidnud kasutajat",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Näita ajatempleid 12-tunnises vormingus (näiteks 2:30pl)", "Show timestamps in 12 hour format (e.g. 2:30pm)": "Näita ajatempleid 12-tunnises vormingus (näiteks 2:30pl)",
@ -468,7 +468,7 @@
"Search…": "Otsi…", "Search…": "Otsi…",
"Cancel search": "Tühista otsing", "Cancel search": "Tühista otsing",
"Search failed": "Otsing ebaõnnestus", "Search failed": "Otsing ebaõnnestus",
"Server may be unavailable, overloaded, or search timed out :(": "Server kas pole leitav, on üle koormatud või otsing aegus :(", "Server may be unavailable, overloaded, or search timed out :(": "Server kas pole leitav, on ülekoormatud või otsing aegus :(",
"No more results": "Rohkem otsingutulemusi pole", "No more results": "Rohkem otsingutulemusi pole",
"%(brand)s is securely caching encrypted messages locally for them to appear in search results:": "Otsingus kasutamiseks %(brand)s puhverdab turvaliselt kohalikku arvutisse krüptitud sõnumeid:", "%(brand)s is securely caching encrypted messages locally for them to appear in search results:": "Otsingus kasutamiseks %(brand)s puhverdab turvaliselt kohalikku arvutisse krüptitud sõnumeid:",
"%(brand)s does not have permission to send you notifications - please check your browser settings": "%(brand)s'il puudub luba sulle teavituste kuvamiseks - palun kontrolli oma brauseri seadistusi", "%(brand)s does not have permission to send you notifications - please check your browser settings": "%(brand)s'il puudub luba sulle teavituste kuvamiseks - palun kontrolli oma brauseri seadistusi",
@ -584,10 +584,10 @@
"You have verified this user. This user has verified all of their sessions.": "Sa oled selle kasutaja verifitseerinud. See kasutaja on verifitseerinud kõik nende sessioonid.", "You have verified this user. This user has verified all of their sessions.": "Sa oled selle kasutaja verifitseerinud. See kasutaja on verifitseerinud kõik nende sessioonid.",
"Someone is using an unknown session": "Keegi kasutab tundmatut sessiooni", "Someone is using an unknown session": "Keegi kasutab tundmatut sessiooni",
"This event could not be displayed": "Seda sündmust ei õnnestunud kuvada", "This event could not be displayed": "Seda sündmust ei õnnestunud kuvada",
"Downloading update...": "Laen alla uuendust...", "Downloading update...": "Laadin alla uuendust...",
"Download this file": "Lae see fail alla", "Download this file": "Laadi see fail alla",
"You can now close this window or <a>log in</a> to your new account.": "Sa võid nüüd sulgeda selle akna või <a>logida sisse</a> oma uuele kontole.", "You can now close this window or <a>log in</a> to your new account.": "Sa võid nüüd sulgeda selle akna või <a>logida sisse</a> oma uuele kontole.",
"Download": "Lae alla", "Download": "Laadi alla",
"Your recovery key is in your <b>Downloads</b> folder.": "Sinu taastevõti on sinu <b>Allalaadimised</b> kasutas.", "Your recovery key is in your <b>Downloads</b> folder.": "Sinu taastevõti on sinu <b>Allalaadimised</b> kasutas.",
"Disable": "Lülita välja", "Disable": "Lülita välja",
"Not currently indexing messages for any room.": "Mitte ainsamagi jututoa sõnumeid hetkel ei indekseerita.", "Not currently indexing messages for any room.": "Mitte ainsamagi jututoa sõnumeid hetkel ei indekseerita.",
@ -619,7 +619,7 @@
"%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s muutis jututoa vana nime %(oldRoomName)s uueks nimeks %(newRoomName)s.", "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s muutis jututoa vana nime %(oldRoomName)s uueks nimeks %(newRoomName)s.",
"%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s muutis jututoa nimeks %(roomName)s.", "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s muutis jututoa nimeks %(roomName)s.",
"Show info about bridges in room settings": "Näita jututoa seadistustes teavet sõnumisildade kohta", "Show info about bridges in room settings": "Näita jututoa seadistustes teavet sõnumisildade kohta",
"Upload": "Lae üles", "Upload": "Laadi üles",
"Save": "Salvesta", "Save": "Salvesta",
"General": "Üldist", "General": "Üldist",
"Notifications": "Teavitused", "Notifications": "Teavitused",
@ -701,7 +701,7 @@
"Show display name changes": "Näita kuvatava nime muutusi", "Show display name changes": "Näita kuvatava nime muutusi",
"Match system theme": "Kasuta süsteemset teemat", "Match system theme": "Kasuta süsteemset teemat",
"Messages containing my display name": "Sõnumid, mis sisaldavad minu kuvatavat nime", "Messages containing my display name": "Sõnumid, mis sisaldavad minu kuvatavat nime",
"Failed to upload profile picture!": "Profiilipildi üleslaadimine ebaõnnestus!", "Failed to upload profile picture!": "Profiilipildi üleslaadimine ei õnnestunud!",
"No display name": "Kuvatav nimi puudub", "No display name": "Kuvatav nimi puudub",
"New passwords don't match": "Uued salasõnad ei klapi", "New passwords don't match": "Uued salasõnad ei klapi",
"Passwords can't be empty": "Salasõna ei saa olla tühi", "Passwords can't be empty": "Salasõna ei saa olla tühi",
@ -920,9 +920,9 @@
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Üritasin laadida teatud hetke selle jututoa ajajoonelt, kuid sul ei ole õigusi selle sõnumi nägemiseks.", "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Üritasin laadida teatud hetke selle jututoa ajajoonelt, kuid sul ei ole õigusi selle sõnumi nägemiseks.",
"Failed to load timeline position": "Asukoha laadimine ajajoonel ei õnnestunud", "Failed to load timeline position": "Asukoha laadimine ajajoonel ei õnnestunud",
"Guest": "Külaline", "Guest": "Külaline",
"Uploading %(filename)s and %(count)s others|other": "Laen üles %(filename)s ning %(count)s muud faili", "Uploading %(filename)s and %(count)s others|other": "Laadin üles %(filename)s ning %(count)s muud faili",
"Uploading %(filename)s and %(count)s others|zero": "Laen üles %(filename)s", "Uploading %(filename)s and %(count)s others|zero": "Laadin üles %(filename)s",
"Uploading %(filename)s and %(count)s others|one": "Laen üles %(filename)s ning veel %(count)s faili", "Uploading %(filename)s and %(count)s others|one": "Laadin üles %(filename)s ning veel %(count)s faili",
"Verify this login": "Verifitseeri see sisselogimissessioon", "Verify this login": "Verifitseeri see sisselogimissessioon",
"Session verified": "Sessioon on verifitseeritud", "Session verified": "Sessioon on verifitseeritud",
"Failed to send email": "E-kirja saatmine ebaõnnestus", "Failed to send email": "E-kirja saatmine ebaõnnestus",
@ -974,7 +974,7 @@
"You have no visible notifications": "Sul ei ole nähtavaid teavitusi", "You have no visible notifications": "Sul ei ole nähtavaid teavitusi",
"%(brand)s failed to get the protocol list from the homeserver. The homeserver may be too old to support third party networks.": "%(brand)s'il ei õnnestunud koduserverist laadida toetatud protokollide loendit. Toetamaks kolmandate osapoolte võrke võib koduserver olla liiga vana.", "%(brand)s failed to get the protocol list from the homeserver. The homeserver may be too old to support third party networks.": "%(brand)s'il ei õnnestunud koduserverist laadida toetatud protokollide loendit. Toetamaks kolmandate osapoolte võrke võib koduserver olla liiga vana.",
"%(brand)s failed to get the public room list.": "%(brand)s'il ei õnnestunud laadida avalike jututubade loendit.", "%(brand)s failed to get the public room list.": "%(brand)s'il ei õnnestunud laadida avalike jututubade loendit.",
"The homeserver may be unavailable or overloaded.": "Koduserver pole kas saadaval või on üle koormatud.", "The homeserver may be unavailable or overloaded.": "Koduserver pole kas saadaval või on ülekoormatud.",
"Room not found": "Jututuba ei leidunud", "Room not found": "Jututuba ei leidunud",
"Preview": "Eelvaade", "Preview": "Eelvaade",
"View": "Näita", "View": "Näita",
@ -1011,7 +1011,7 @@
"Everyone": "Kes iganes soovib", "Everyone": "Kes iganes soovib",
"Your community hasn't got a Long Description, a HTML page to show to community members.<br />Click here to open settings and give it one!": "Sinu kogukonnal on puudu pikk kirjeldus, mis pole muud, kui lihtne HTML-leht, mida kuvatakse liikmetele.<br />Klõpsi siia ja loo selline leht!", "Your community hasn't got a Long Description, a HTML page to show to community members.<br />Click here to open settings and give it one!": "Sinu kogukonnal on puudu pikk kirjeldus, mis pole muud, kui lihtne HTML-leht, mida kuvatakse liikmetele.<br />Klõpsi siia ja loo selline leht!",
"Long Description (HTML)": "Pikk kirjeldus (HTML)", "Long Description (HTML)": "Pikk kirjeldus (HTML)",
"Upload avatar": "Lae üles profiilipilt ehk avatar", "Upload avatar": "Laadi üles profiilipilt ehk avatar",
"Description": "Kirjeldus", "Description": "Kirjeldus",
"Community %(groupId)s not found": "%(groupId)s kogukonda ei leidunud", "Community %(groupId)s not found": "%(groupId)s kogukonda ei leidunud",
"This homeserver does not support communities": "See koduserver ei toeta kogukondade funktsionaalsust", "This homeserver does not support communities": "See koduserver ei toeta kogukondade funktsionaalsust",
@ -1030,7 +1030,7 @@
"Click here to fix": "Parandamiseks klõpsi siia", "Click here to fix": "Parandamiseks klõpsi siia",
"Server error": "Serveri viga", "Server error": "Serveri viga",
"Command error": "Käsu viga", "Command error": "Käsu viga",
"Server unavailable, overloaded, or something else went wrong.": "Kas server pole saadaval, on üle koormatud või midagi muud läks viltu.", "Server unavailable, overloaded, or something else went wrong.": "Server pole kas saadaval, on ülekoormatud või midagi muud läks viltu.",
"Unknown Command": "Tundmatu käsk", "Unknown Command": "Tundmatu käsk",
"Unrecognised command: %(commandText)s": "Tundmatu käsk: %(commandText)s", "Unrecognised command: %(commandText)s": "Tundmatu käsk: %(commandText)s",
"Send as message": "Saada sõnumina", "Send as message": "Saada sõnumina",
@ -1054,7 +1054,7 @@
"Rejecting invite …": "Hülgan kutset …", "Rejecting invite …": "Hülgan kutset …",
"Join the conversation with an account": "Liitu vestlusega kasutades oma kontot", "Join the conversation with an account": "Liitu vestlusega kasutades oma kontot",
"Sign Up": "Registreeru", "Sign Up": "Registreeru",
"Loading room preview": "Laen jututoa eelvaadet", "Loading room preview": "Laadin jututoa eelvaadet",
"You were kicked from %(roomName)s by %(memberName)s": "%(memberName)s müksas sind välja jututoast %(roomName)s", "You were kicked from %(roomName)s by %(memberName)s": "%(memberName)s müksas sind välja jututoast %(roomName)s",
"Reason: %(reason)s": "Põhjus: %(reason)s", "Reason: %(reason)s": "Põhjus: %(reason)s",
"Forget this room": "Unusta see jututuba", "Forget this room": "Unusta see jututuba",
@ -1177,13 +1177,13 @@
"Recently Direct Messaged": "Viimased otsesõnumite saajad", "Recently Direct Messaged": "Viimased otsesõnumite saajad",
"Invite someone using their name, username (like <userId/>), email address or <a>share this room</a>.": "Kutsu kedagi tema nime, kasutajanime (nagu <userId/>), e-posti aadressi alusel või <a>jaga seda jututuba</a>.", "Invite someone using their name, username (like <userId/>), email address or <a>share this room</a>.": "Kutsu kedagi tema nime, kasutajanime (nagu <userId/>), e-posti aadressi alusel või <a>jaga seda jututuba</a>.",
"Upload completed": "Üleslaadimine valmis", "Upload completed": "Üleslaadimine valmis",
"%(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 kasutab varasemaga võrreldes 3-5 korda vähem mälu, sest laeb teavet kasutajate kohta vaid siis, kui vaja. Palun oota hetke, kuni sünkroniseerime andmeid serveriga!", "%(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 kasutab varasemaga võrreldes 3-5 korda vähem mälu, sest laadib teavet kasutajate kohta vaid siis, kui vaja. Palun oota hetke, kuni sünkroniseerime andmeid serveriga!",
"Updating %(brand)s": "Uuendan rakendust %(brand)s", "Updating %(brand)s": "Uuendan rakendust %(brand)s",
"I don't want my encrypted messages": "Ma ei soovi oma krüptitud sõnumeid", "I don't want my encrypted messages": "Ma ei soovi oma krüptitud sõnumeid",
"Manually export keys": "Ekspordi võtmed käsitsi", "Manually export keys": "Ekspordi võtmed käsitsi",
"You'll lose access to your encrypted messages": "Sa kaotad ligipääsu oma krüptitud sõnumitele", "You'll lose access to your encrypted messages": "Sa kaotad ligipääsu oma krüptitud sõnumitele",
"Are you sure you want to sign out?": "Kas sa oled kindel, et soovid välja logida?", "Are you sure you want to sign out?": "Kas sa oled kindel, et soovid välja logida?",
"Upload %(count)s other files|one": "Lae üles %(count)s muu fail", "Upload %(count)s other files|one": "Laadi üles %(count)s muu fail",
"Cancel All": "Tühista kõik", "Cancel All": "Tühista kõik",
"Upload Error": "Üleslaadimise viga", "Upload Error": "Üleslaadimise viga",
"Verify other session": "Verifitseeri teine sessioon", "Verify other session": "Verifitseeri teine sessioon",
@ -1275,7 +1275,7 @@
"Your password has been reset.": "Sinu salasõna on muudetud.", "Your password has been reset.": "Sinu salasõna on muudetud.",
"Dismiss read marker and jump to bottom": "Ära arvesta loetud sõnumite järjehoidjat ning mine kõige lõppu", "Dismiss read marker and jump to bottom": "Ära arvesta loetud sõnumite järjehoidjat ning mine kõige lõppu",
"Jump to oldest unread message": "Mine vanima lugemata sõnumi juurde", "Jump to oldest unread message": "Mine vanima lugemata sõnumi juurde",
"Upload a file": "Lae fail üles", "Upload a file": "Laadi fail üles",
"Read Marker lifetime (ms)": "Lugemise markeri iga (ms)", "Read Marker lifetime (ms)": "Lugemise markeri iga (ms)",
"Unignore": "Lõpeta eiramine", "Unignore": "Lõpeta eiramine",
"<not supported>": "<ei ole toetatud>", "<not supported>": "<ei ole toetatud>",
@ -1289,7 +1289,7 @@
"Key backup": "Võtmete varundus", "Key backup": "Võtmete varundus",
"Cross-signing": "Risttunnustamine", "Cross-signing": "Risttunnustamine",
"<b>Warning</b>: Upgrading a room will <i>not automatically migrate room members to the new version of the room.</i> 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.": "<b>Hoiatus</b>: Jututoa versiooni uuendamine <i>ei koli jututoa liikmeid automaatselt uude jututoa olekusse.</i> Vanas jututoa versioonis saab olema viide uuele versioonile ning kõik liikmed peavad seda viidet klõpsama.", "<b>Warning</b>: Upgrading a room will <i>not automatically migrate room members to the new version of the room.</i> 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.": "<b>Hoiatus</b>: Jututoa versiooni uuendamine <i>ei koli jututoa liikmeid automaatselt uude jututoa olekusse.</i> Vanas jututoa versioonis saab olema viide uuele versioonile ning kõik liikmed peavad seda viidet klõpsama.",
"Uploaded sound": "Üleslaetud heli", "Uploaded sound": "Üleslaaditud heli",
"Sounds": "Helid", "Sounds": "Helid",
"Notification sound": "Teavitusheli", "Notification sound": "Teavitusheli",
"Reset": "Taasta algolek", "Reset": "Taasta algolek",
@ -1326,7 +1326,7 @@
"The file '%(fileName)s' failed to upload.": "Faili '%(fileName)s' üleslaadimine ei õnnestunud.", "The file '%(fileName)s' failed to upload.": "Faili '%(fileName)s' üleslaadimine ei õnnestunud.",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "Faili '%(fileName)s' suurus ületab serveris seadistatud üleslaadimise piiri", "The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "Faili '%(fileName)s' suurus ületab serveris seadistatud üleslaadimise piiri",
"Upload Failed": "Üleslaadimine ei õnnestunud", "Upload Failed": "Üleslaadimine ei õnnestunud",
"Server may be unavailable, overloaded, or you hit a bug.": "Server kas pole võrgus või on üle koormatud, aga võib-olla oled komistanud süsteemivea otsa.", "Server may be unavailable, overloaded, or you hit a bug.": "Server kas pole võrgus või on ülekoormatud, aga võib-olla oled hoopis komistanud süsteemivea otsa.",
"The server does not support the room version specified.": "See server ei toeta antud jututoa versiooni.", "The server does not support the room version specified.": "See server ei toeta antud jututoa versiooni.",
"Failure to create room": "Jututoa loomine ei õnnestunud", "Failure to create room": "Jututoa loomine ei õnnestunud",
"If you cancel now, you won't complete verifying the other user.": "Kui sa katkestad nüüd, siis sul jääb teise kasutaja verifitseerimine lõpetamata.", "If you cancel now, you won't complete verifying the other user.": "Kui sa katkestad nüüd, siis sul jääb teise kasutaja verifitseerimine lõpetamata.",
@ -1370,7 +1370,7 @@
"Ensure you have a stable internet connection, or get in touch with the server admin": "Palun kontrolli, kas sul on toimiv internetiühendus ning kui on, siis küsi abi koduserveri haldajalt", "Ensure you have a stable internet connection, or get in touch with the server admin": "Palun kontrolli, kas sul on toimiv internetiühendus ning kui on, siis küsi abi koduserveri haldajalt",
"Your %(brand)s is misconfigured": "Sinu %(brand)s'i seadistused on paigast ära", "Your %(brand)s is misconfigured": "Sinu %(brand)s'i seadistused on paigast ära",
"Your homeserver does not support session management.": "Sinu koduserver ei toeta sessioonide haldust.", "Your homeserver does not support session management.": "Sinu koduserver ei toeta sessioonide haldust.",
"Unable to load session list": "Sessioonide laadimine ei õnnestunud", "Unable to load session list": "Sessioonide loendi laadimine ei õnnestunud",
"Identity server URL does not appear to be a valid identity server": "Isikutuvastusserveri aadress ei tundu viitama kehtivale isikutuvastusserverile", "Identity server URL does not appear to be a valid identity server": "Isikutuvastusserveri aadress ei tundu viitama kehtivale isikutuvastusserverile",
"Looks good!": "Tundub õige!", "Looks good!": "Tundub õige!",
"Use Recovery Key or Passphrase": "Kasuta taastevõtit või paroolifraasi", "Use Recovery Key or Passphrase": "Kasuta taastevõtit või paroolifraasi",
@ -1579,8 +1579,8 @@
"You can now return to your account after signing out, and sign in on other devices.": "Nüüd sa saad peale väljalogimist pöörduda tagasi oma konto juurde või logida sisse muudest seadmetest.", "You can now return to your account after signing out, and sign in on other devices.": "Nüüd sa saad peale väljalogimist pöörduda tagasi oma konto juurde või logida sisse muudest seadmetest.",
"Remember, you can always set an email address in user settings if you change your mind.": "Jäta meelde, et sa saad alati hiljem määrata kasutajaseadetest oma e-posti aadressi.", "Remember, you can always set an email address in user settings if you change your mind.": "Jäta meelde, et sa saad alati hiljem määrata kasutajaseadetest oma e-posti aadressi.",
"Use bots, bridges, widgets and sticker packs": "Kasuta roboteid, sõnumisildu, vidinaid või kleepsupakke", "Use bots, bridges, widgets and sticker packs": "Kasuta roboteid, sõnumisildu, vidinaid või kleepsupakke",
"Upload all": "Lae kõik üles", "Upload all": "Laadi kõik üles",
"This file is <b>too large</b> to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "See fail on üleslaadimiseks <b>liiga suur</b>. Üleslaetavate failide mahupiir on %(limit)s, kuid selle faili suurus on %(sizeOfThisFile)s.", "This file is <b>too large</b> to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "See fail on üleslaadimiseks <b>liiga suur</b>. Üleslaaditavate failide mahupiir on %(limit)s, kuid selle faili suurus on %(sizeOfThisFile)s.",
"Appearance": "Välimus", "Appearance": "Välimus",
"Enter recovery passphrase": "Sisesta taastamise paroolifraas", "Enter recovery passphrase": "Sisesta taastamise paroolifraas",
"For security, this session has been signed out. Please sign in again.": "Turvalisusega seotud põhjustel on see sessioon välja logitud. Palun logi uuesti sisse.", "For security, this session has been signed out. Please sign in again.": "Turvalisusega seotud põhjustel on see sessioon välja logitud. Palun logi uuesti sisse.",
@ -1751,7 +1751,7 @@
"%(severalUsers)sleft and rejoined %(count)s times|one": "%(severalUsers)s lahkusid ja liitusid uuesti", "%(severalUsers)sleft and rejoined %(count)s times|one": "%(severalUsers)s lahkusid ja liitusid uuesti",
"%(oneUser)sleft and rejoined %(count)s times|other": "%(oneUser)s lahkus ja liitus uuesti %(count)s korda", "%(oneUser)sleft and rejoined %(count)s times|other": "%(oneUser)s lahkus ja liitus uuesti %(count)s korda",
"%(oneUser)sleft and rejoined %(count)s times|one": "%(oneUser)s lahkus ja liitus uuesti", "%(oneUser)sleft and rejoined %(count)s times|one": "%(oneUser)s lahkus ja liitus uuesti",
"To use it, just wait for autocomplete results to load and tab through them.": "Selle kasutamiseks oota, kuni automaatne sõnalõpetus laeb kõik valikud ja sa saad nad läbi lapata.", "To use it, just wait for autocomplete results to load and tab through them.": "Selle kasutamiseks oota, kuni automaatne sõnalõpetus laadib kõik valikud ja sa saad nad läbi lapata.",
"Bans user with given id": "Keela ligipääs antud tunnusega kasutajale", "Bans user with given id": "Keela ligipääs antud tunnusega kasutajale",
"Unbans user with given ID": "Taasta ligipääs antud tunnusega kasutajale", "Unbans user with given ID": "Taasta ligipääs antud tunnusega kasutajale",
"Ignores a user, hiding their messages from you": "Eirab kasutajat peites kõik tema sõnumid sinu eest", "Ignores a user, hiding their messages from you": "Eirab kasutajat peites kõik tema sõnumid sinu eest",
@ -1806,7 +1806,7 @@
"This bridge is managed by <user />.": "Seda võrgusilda haldab <user />.", "This bridge is managed by <user />.": "Seda võrgusilda haldab <user />.",
"Workspace: %(networkName)s": "Tööruum: %(networkName)s", "Workspace: %(networkName)s": "Tööruum: %(networkName)s",
"Channel: %(channelName)s": "Kanal: %(channelName)s", "Channel: %(channelName)s": "Kanal: %(channelName)s",
"Upload new:": "Lae üles uus:", "Upload new:": "Laadi üles uus:",
"Export E2E room keys": "Ekspordi jututubade läbiva krüptimise võtmed", "Export E2E room keys": "Ekspordi jututubade läbiva krüptimise võtmed",
"Your homeserver does not support cross-signing.": "Sinu koduserver ei toeta risttunnustamist.", "Your homeserver does not support cross-signing.": "Sinu koduserver ei toeta risttunnustamist.",
"Cross-signing and secret storage are enabled.": "Risttunnustamine ja turvahoidla on kasutusel.", "Cross-signing and secret storage are enabled.": "Risttunnustamine ja turvahoidla on kasutusel.",
@ -1843,7 +1843,7 @@
"Legal": "Juriidiline teave", "Legal": "Juriidiline teave",
"Credits": "Tänuavaldused", "Credits": "Tänuavaldused",
"Bug reporting": "Vigadest teatamine", "Bug reporting": "Vigadest teatamine",
"Clear cache and reload": "Tühjenda puhver ja lae uuesti", "Clear cache and reload": "Tühjenda puhver ja laadi uuesti",
"FAQ": "Korduma kippuvad küsimused", "FAQ": "Korduma kippuvad küsimused",
"Versions": "Versioonid", "Versions": "Versioonid",
"%(brand)s version:": "%(brand)s'i versioon:", "%(brand)s version:": "%(brand)s'i versioon:",
@ -1905,7 +1905,7 @@
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (õigused %(powerLevelNumber)s)", "%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (õigused %(powerLevelNumber)s)",
"Emoji picker": "Emoji'de valija", "Emoji picker": "Emoji'de valija",
"No pinned messages.": "Klammerdatud sõnumeid ei ole.", "No pinned messages.": "Klammerdatud sõnumeid ei ole.",
"Loading...": "Laen...", "Loading...": "Laadin...",
"Pinned Messages": "Klammerdatud sõnumid", "Pinned Messages": "Klammerdatud sõnumid",
"Unpin Message": "Eemalda sõnumi klammerdus", "Unpin Message": "Eemalda sõnumi klammerdus",
"No recently visited rooms": "Hiljuti külastatud jututubasid ei leidu", "No recently visited rooms": "Hiljuti külastatud jututubasid ei leidu",
@ -2414,13 +2414,13 @@
"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.": "Kui %(brand)s teine versioon on mõnel teisel vahekaardil endiselt avatud, palun sulge see. %(brand)s kasutamine samal serveril põhjustab vigu olukorras, kus laisk laadimine on samal ajal lubatud ja keelatud.", "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.": "Kui %(brand)s teine versioon on mõnel teisel vahekaardil endiselt avatud, palun sulge see. %(brand)s kasutamine samal serveril põhjustab vigu olukorras, kus laisk laadimine on samal ajal lubatud ja keelatud.",
"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.": "%(brand)s vanema versiooni andmed on tuvastatud. See kindlasti põhjustab läbiva krüptimise tõrke vanemas versioonis. Läbivalt krüptitud sõnumid, mida on vanema versiooni kasutamise ajal hiljuti vahetatud, ei pruugi selles versioonis olla dekrüptitavad. See võib põhjustada vigu ka selle versiooniga saadetud sõnumite lugemisel. Kui teil tekib probleeme, logige välja ja uuesti sisse. Sõnumite ajaloo säilitamiseks eksportige ja uuesti importige oma krüptovõtmed.", "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.": "%(brand)s vanema versiooni andmed on tuvastatud. See kindlasti põhjustab läbiva krüptimise tõrke vanemas versioonis. Läbivalt krüptitud sõnumid, mida on vanema versiooni kasutamise ajal hiljuti vahetatud, ei pruugi selles versioonis olla dekrüptitavad. See võib põhjustada vigu ka selle versiooniga saadetud sõnumite lugemisel. Kui teil tekib probleeme, logige välja ja uuesti sisse. Sõnumite ajaloo säilitamiseks eksportige ja uuesti importige oma krüptovõtmed.",
"Navigation": "Navigeerimine", "Navigation": "Navigeerimine",
"Uploading logs": "Laen üles logisid", "Uploading logs": "Laadin logisid üles",
"Downloading logs": "Laen alla logisid", "Downloading logs": "Laadin logisid alla",
"Can't see what youre looking for?": "Kas sa ei leia seda, mida otsisid?", "Can't see what youre looking for?": "Kas sa ei leia seda, mida otsisid?",
"Explore all public rooms": "Sirvi kõiki avalikke jututubasid", "Explore all public rooms": "Sirvi kõiki avalikke jututubasid",
"%(count)s results|other": "%(count)s tulemust", "%(count)s results|other": "%(count)s tulemust",
"Preparing to download logs": "Valmistun logikirjete allalaadimiseks", "Preparing to download logs": "Valmistun logikirjete allalaadimiseks",
"Download logs": "Lae logikirjed alla", "Download logs": "Laadi logikirjed alla",
"Unexpected server error trying to leave the room": "Jututoast lahkumisel tekkis serveris ootamatu viga", "Unexpected server error trying to leave the room": "Jututoast lahkumisel tekkis serveris ootamatu viga",
"Error leaving room": "Viga jututoast lahkumisel", "Error leaving room": "Viga jututoast lahkumisel",
"Communities v2 prototypes. Requires compatible homeserver. Highly experimental - use with caution.": "Kogukondade v2 prototüüp. Eeldab, et koduserver toetab sellist funktsionaalsust. Lahendus on esialgne ja katseline - kui kasutad, siis väga ettevaatlikult.", "Communities v2 prototypes. Requires compatible homeserver. Highly experimental - use with caution.": "Kogukondade v2 prototüüp. Eeldab, et koduserver toetab sellist funktsionaalsust. Lahendus on esialgne ja katseline - kui kasutad, siis väga ettevaatlikult.",
@ -2972,5 +2972,24 @@
"You held the call <a>Resume</a>": "Sa panid kõne ootele. <a>Jätka kõnet</a>", "You held the call <a>Resume</a>": "Sa panid kõne ootele. <a>Jätka kõnet</a>",
"You've reached the maximum number of simultaneous calls.": "Oled jõudnud suurima lubatud samaaegsete kõnede arvuni.", "You've reached the maximum number of simultaneous calls.": "Oled jõudnud suurima lubatud samaaegsete kõnede arvuni.",
"%(name)s paused": "%(name)s peatas ajutiselt kõne", "%(name)s paused": "%(name)s peatas ajutiselt kõne",
"Too Many Calls": "Liiga palju kõnesid" "Too Many Calls": "Liiga palju kõnesid",
"sends fireworks": "saadab ilutulestiku",
"Sends the given message with fireworks": "Lisab sellele sõnumile ilutulestiku",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "Lisab vormindamata sõnumi ette ┬──┬ ( ゜-゜ノ)",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "Lisab vormindamata sõnumi ette (╯°□°)╯︵ ┻━┻",
"You held the call <a>Switch</a>": "Sa panid kõne ootele <a>Lülita tagasi</a>",
"%(name)s on hold": "%(name)s on ootel",
"sends snowfall": "saadab lumesaju",
"Sends the given message with snowfall": "Saadab antud sõnumi koos lumesajuga",
"You have no visible notifications.": "Sul pole nähtavaid teavitusi.",
"Transfer": "Suuna kõne edasi",
"Failed to transfer call": "Kõne edasisuunamine ei õnnestunud",
"A call can only be transferred to a single user.": "Kõnet on võimalik edasi suunata vaid ühele kasutajale.",
"There was an error finding this widget.": "Selle vidina leidmisel tekkis viga.",
"Active Widgets": "Kasutusel vidinad",
"Open dial pad": "Ava numbriklahvistik",
"Start a Conversation": "Alusta vestlust",
"Dial pad": "Numbriklahvistik",
"There was an error looking up the phone number": "Telefoninumbri otsimisel tekkis viga",
"Unable to look up phone number": "Telefoninumbrit ei õnnestu leida"
} }

View file

@ -76,7 +76,7 @@
"Custom": "Mukautettu", "Custom": "Mukautettu",
"Custom level": "Mukautettu taso", "Custom level": "Mukautettu taso",
"/ddg is not a command": "/ddg ei ole komento", "/ddg is not a command": "/ddg ei ole komento",
"Deactivate Account": "Deaktivoi tili", "Deactivate Account": "Poista tili pysyvästi",
"Decline": "Hylkää", "Decline": "Hylkää",
"Default": "Oletus", "Default": "Oletus",
"Disinvite": "Peru kutsu", "Disinvite": "Peru kutsu",
@ -391,7 +391,7 @@
"You are no longer ignoring %(userId)s": "Huomioit jälleen käyttäjän %(userId)s", "You are no longer ignoring %(userId)s": "Huomioit jälleen käyttäjän %(userId)s",
"%(senderName)s removed their profile picture.": "%(senderName)s poisti profiilikuvansa.", "%(senderName)s removed their profile picture.": "%(senderName)s poisti profiilikuvansa.",
"%(senderName)s set a profile picture.": "%(senderName)s asetti profiilikuvan.", "%(senderName)s set a profile picture.": "%(senderName)s asetti profiilikuvan.",
"%(senderName)s made future room history visible to all room members, from the point they are invited.": "%(senderName)s muutti tulevat viestit näkyviksi kaikille huoneen jäsenille, alkaen kutsusta huoneeseen.", "%(senderName)s made future room history visible to all room members, from the point they are invited.": "%(senderName)s muutti tulevan huonehistorian näkyväksi kaikille huoneen jäsenille heidän kutsumisestaan alkaen.",
"%(senderName)s made future room history visible to all room members, from the point they joined.": "%(senderName)s teki tulevan huonehistorian näkyväksi kaikille huoneen jäsenille, heidän liittymisestään alkaen.", "%(senderName)s made future room history visible to all room members, from the point they joined.": "%(senderName)s teki tulevan huonehistorian näkyväksi kaikille huoneen jäsenille, heidän liittymisestään alkaen.",
"%(senderName)s made future room history visible to all room members.": "%(senderName)s teki tulevan huonehistorian näkyväksi kaikille huoneen jäsenille.", "%(senderName)s made future room history visible to all room members.": "%(senderName)s teki tulevan huonehistorian näkyväksi kaikille huoneen jäsenille.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s teki tulevan huonehistorian näkyväksi kaikille.", "%(senderName)s made future room history visible to anyone.": "%(senderName)s teki tulevan huonehistorian näkyväksi kaikille.",
@ -1030,7 +1030,7 @@
"Thumbs up": "Peukut ylös", "Thumbs up": "Peukut ylös",
"We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Lähetimme sinulle sähköpostin osoitteesi vahvistamiseksi. Noudata sähköpostissa olevia ohjeita, ja klikkaa sen jälkeen alla olevaa painiketta.", "We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Lähetimme sinulle sähköpostin osoitteesi vahvistamiseksi. Noudata sähköpostissa olevia ohjeita, ja klikkaa sen jälkeen alla olevaa painiketta.",
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Oletko varma? Et voi lukea salattuja viestejäsi, mikäli avaimesi eivät ole kunnolla varmuuskopioituna.", "Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Oletko varma? Et voi lukea salattuja viestejäsi, mikäli avaimesi eivät ole kunnolla varmuuskopioituna.",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Salatut viestit turvataan kahdenkeskisellä salauksella. Vain sinä ja viestien vastaanottaja(t) omaavat avaimet näiden viestien lukemiseen.", "Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Salatut viestit turvataan päästä päähän -salauksella. Vain sinä ja viestien vastaanottaja(t) omaavat avaimet näiden viestien lukemiseen.",
"Unable to load key backup status": "Avainten varmuuskopionnin tilan lukeminen epäonnistui", "Unable to load key backup status": "Avainten varmuuskopionnin tilan lukeminen epäonnistui",
"Back up your keys before signing out to avoid losing them.": "Varmuuskopioi avaimesi ennen kuin kirjaudut ulos välttääksesi avainten menetyksen.", "Back up your keys before signing out to avoid losing them.": "Varmuuskopioi avaimesi ennen kuin kirjaudut ulos välttääksesi avainten menetyksen.",
"Backing up %(sessionsRemaining)s keys...": "Varmuuskopioidaan %(sessionsRemaining)s avainta…", "Backing up %(sessionsRemaining)s keys...": "Varmuuskopioidaan %(sessionsRemaining)s avainta…",
@ -1099,7 +1099,7 @@
"An error ocurred whilst trying to remove the widget from the room": "Poistaessa sovelmaa huoneesta tapahtui virhe", "An error ocurred whilst trying to remove the widget from the room": "Poistaessa sovelmaa huoneesta tapahtui virhe",
"Minimize apps": "Pienennä sovellukset", "Minimize apps": "Pienennä sovellukset",
"Popout widget": "Avaa sovelma omassa ikkunassaan", "Popout widget": "Avaa sovelma omassa ikkunassaan",
"Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Lisää ¯\\_(ツ)_/¯ viestin alkuun", "Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Lisää ¯\\_(ツ)_/¯ viestin alkuun",
"User %(userId)s is already in the room": "Käyttäjä %(userId)s on jo huoneessa", "User %(userId)s is already in the room": "Käyttäjä %(userId)s on jo huoneessa",
"The user must be unbanned before they can be invited.": "Käyttäjän porttikielto täytyy poistaa ennen kutsumista.", "The user must be unbanned before they can be invited.": "Käyttäjän porttikielto täytyy poistaa ennen kutsumista.",
"<a>Upgrade</a> to your own domain": "<a>Päivitä</a> omaan verkkotunnukseen", "<a>Upgrade</a> to your own domain": "<a>Päivitä</a> omaan verkkotunnukseen",
@ -1135,8 +1135,8 @@
"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. <b>This action is irreversible.</b>": "Tämä tekee tilistäsi lopullisesti käyttökelvottoman. Et voi kirjautua sisään, eikä kukaan voi rekisteröidä samaa käyttäjätunnusta. Tilisi poistuu kaikista huoneista, joihin se on liittynyt, ja tilisi tiedot poistetaan identiteettipalvelimeltasi. <b>Tämä toimenpidettä ei voi kumota.</b>", "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. <b>This action is irreversible.</b>": "Tämä tekee tilistäsi lopullisesti käyttökelvottoman. Et voi kirjautua sisään, eikä kukaan voi rekisteröidä samaa käyttäjätunnusta. Tilisi poistuu kaikista huoneista, joihin se on liittynyt, ja tilisi tiedot poistetaan identiteettipalvelimeltasi. <b>Tämä toimenpidettä ei voi kumota.</b>",
"Deactivating your account <b>does not by default cause us to forget messages you have sent.</b> If you would like us to forget your messages, please tick the box below.": "Tilisi poistaminen käytöstä <b>ei oletuksena saa meitä unohtamaan lähettämiäsi viestejä.</b> Jos haluaisit meidän unohtavan viestisi, rastita alla oleva ruutu.", "Deactivating your account <b>does not by default cause us to forget messages you have sent.</b> If you would like us to forget your messages, please tick the box below.": "Tilisi poistaminen käytöstä <b>ei oletuksena saa meitä unohtamaan lähettämiäsi viestejä.</b> Jos haluaisit meidän unohtavan viestisi, rastita alla oleva ruutu.",
"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.": "Viestien näkyvyys Matrixissa on samantapainen kuin sähköpostissa. Vaikka se, että unohdamme viestisi, tarkoittaa, ettei viestejäsi jaeta enää uusille tai rekisteröitymättömille käyttäjille, käyttäjät, jotka ovat jo saaneet viestisi pystyvät lukemaan jatkossakin omaa kopiotaan viesteistäsi.", "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.": "Viestien näkyvyys Matrixissa on samantapainen kuin sähköpostissa. Vaikka se, että unohdamme viestisi, tarkoittaa, ettei viestejäsi jaeta enää uusille tai rekisteröitymättömille käyttäjille, käyttäjät, jotka ovat jo saaneet viestisi pystyvät lukemaan jatkossakin omaa kopiotaan viesteistäsi.",
"Please forget all messages I have sent when my account is deactivated (<b>Warning:</b> this will cause future users to see an incomplete view of conversations)": "Unohda kaikki viestit, jotka olen lähettänyt, kun tilini poistetaan käytöstä (<b>Varoitus:</b> tämä saa tulevat käyttäjät näkemään epätäydellisen version keskusteluista)", "Please forget all messages I have sent when my account is deactivated (<b>Warning:</b> this will cause future users to see an incomplete view of conversations)": "Unohda kaikki viestit, jotka olen lähettänyt, kun tilini poistetaan (<b>Varoitus:</b> tämä saa tulevat käyttäjät näkemään epätäydellisen version keskusteluista)",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Varmenna tämä käyttäjä merkitäksesi hänet luotetuksi. Käyttäjiin luottaminen antaa sinulle ylimääräistä mielenrauhaa käyttäessäsi osapuolten välistä salausta.", "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Varmenna tämä käyttäjä merkitäksesi hänet luotetuksi. Käyttäjiin luottaminen antaa sinulle ylimääräistä mielenrauhaa käyttäessäsi päästä päähän -salausta.",
"Waiting for partner to confirm...": "Odotetaan, että toinen osapuoli varmistaa...", "Waiting for partner to confirm...": "Odotetaan, että toinen osapuoli varmistaa...",
"Incoming Verification Request": "Saapuva varmennuspyyntö", "Incoming Verification Request": "Saapuva varmennuspyyntö",
"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.": "Olet aikaisemmin käytttänyt %(brand)sia laitteella %(host)s, jossa oli jäsenten laiska lataus käytössä. Tässä versiossa laiska lataus on pois käytöstä. Koska paikallinen välimuisti ei ole yhteensopiva näiden kahden asetuksen välillä, %(brand)sin täytyy synkronoida tilisi tiedot uudelleen.", "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.": "Olet aikaisemmin käytttänyt %(brand)sia laitteella %(host)s, jossa oli jäsenten laiska lataus käytössä. Tässä versiossa laiska lataus on pois käytöstä. Koska paikallinen välimuisti ei ole yhteensopiva näiden kahden asetuksen välillä, %(brand)sin täytyy synkronoida tilisi tiedot uudelleen.",
@ -1232,7 +1232,7 @@
"A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.": "Sovelma osoitteessa %(widgetUrl)s haluaisi todentaa henkilöllisyytesi. Jos sallit tämän, sovelma pystyy todentamaan käyttäjätunnuksesi, muttei voi toimia nimissäsi.", "A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.": "Sovelma osoitteessa %(widgetUrl)s haluaisi todentaa henkilöllisyytesi. Jos sallit tämän, sovelma pystyy todentamaan käyttäjätunnuksesi, muttei voi toimia nimissäsi.",
"Remember my selection for this widget": "Muista valintani tälle sovelmalle", "Remember my selection for this widget": "Muista valintani tälle sovelmalle",
"Deny": "Kiellä", "Deny": "Kiellä",
"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.": "Tunnistimme dataa, joka on lähtöisin vanhasta %(brand)sin versiosta. Tämä aiheuttaa toimintahäiriöitä osapuolten välisessä salauksessa vanhassa versiossa. Viestejä, jotka on salattu osapuolten välisellä salauksella vanhalla versiolla, ei välttämättä voida purkaa tällä versiolla. Tämä voi myös aiheuttaa epäonnistumisia viestien välityksessä tämän version kanssa. Jos kohtaat ongelmia, kirjaudu ulos ja takaisin sisään. Säilyttääksesi viestihistoriasi, vie salausavaimesi ja tuo ne uudelleen.", "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.": "Tunnistimme dataa, joka on lähtöisin vanhasta %(brand)sin versiosta. Tämä aiheuttaa toimintahäiriöitä päästä päähän -salauksessa vanhassa versiossa. Viestejä, jotka on salattu päästä päähän -salauksella vanhalla versiolla, ei välttämättä voida purkaa tällä versiolla. Tämä voi myös aiheuttaa epäonnistumisia viestien välityksessä tämän version kanssa. Jos kohtaat ongelmia, kirjaudu ulos ja takaisin sisään. Säilyttääksesi viestihistoriasi, vie salausavaimesi ja tuo ne uudelleen.",
"%(brand)s failed to get the protocol list from the homeserver. The homeserver may be too old to support third party networks.": "%(brand)s epäonnistui protokollalistan hakemisessa kotipalvelimelta. Kotipalvelin saattaa olla liian vanha tukeakseen kolmannen osapuolen verkkoja.", "%(brand)s failed to get the protocol list from the homeserver. The homeserver may be too old to support third party networks.": "%(brand)s epäonnistui protokollalistan hakemisessa kotipalvelimelta. Kotipalvelin saattaa olla liian vanha tukeakseen kolmannen osapuolen verkkoja.",
"%(brand)s failed to get the public room list.": "%(brand)s ei onnistunut hakemaan julkista huoneluetteloa.", "%(brand)s failed to get the public room list.": "%(brand)s ei onnistunut hakemaan julkista huoneluetteloa.",
"The homeserver may be unavailable or overloaded.": "Kotipalvelin saattaa olla saavuttamattomissa tai ylikuormitettuna.", "The homeserver may be unavailable or overloaded.": "Kotipalvelin saattaa olla saavuttamattomissa tai ylikuormitettuna.",
@ -1250,7 +1250,7 @@
"If you don't want to set this up now, you can later in Settings.": "Jos et halua ottaa tätä käyttöön nyt, voit tehdä sen myöhemmin asetuksissa.", "If you don't want to set this up now, you can later in Settings.": "Jos et halua ottaa tätä käyttöön nyt, voit tehdä sen myöhemmin asetuksissa.",
"Set up": "Ota käyttöön", "Set up": "Ota käyttöön",
"New Recovery Method": "Uusi palautustapa", "New Recovery Method": "Uusi palautustapa",
"A new recovery passphrase and key for Secure Messages have been detected.": "Uusi palautuksen salalause ja avain salatuille viesteille on löydetty.", "A new recovery passphrase and key for Secure Messages have been detected.": "Uusi palautuksen salasana ja avain salatuille viesteille on löydetty.",
"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.": "Jos et ottanut käyttöön uutta palautustapaa, hyökkääjä saattaa yrittää käyttää tiliäsi. Vaihda tilisi salasana ja aseta uusi palautustapa asetuksissa välittömästi.", "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.": "Jos et ottanut käyttöön uutta palautustapaa, hyökkääjä saattaa yrittää käyttää tiliäsi. Vaihda tilisi salasana ja aseta uusi palautustapa asetuksissa välittömästi.",
"Set up Secure Messages": "Ota käyttöön salatut viestit", "Set up Secure Messages": "Ota käyttöön salatut viestit",
"Recovery Method Removed": "Palautustapa poistettu", "Recovery Method Removed": "Palautustapa poistettu",
@ -1431,11 +1431,11 @@
"Terms of service not accepted or the identity server is invalid.": "Käyttöehtoja ei ole hyväksytty tai identiteettipalvelin ei ole kelvollinen.", "Terms of service not accepted or the identity server is invalid.": "Käyttöehtoja ei ole hyväksytty tai identiteettipalvelin ei ole kelvollinen.",
"Enter a new identity server": "Syötä uusi identiteettipalvelin", "Enter a new identity server": "Syötä uusi identiteettipalvelin",
"Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Hyväksy identiteettipalvelimen (%(serverName)s) käyttöehdot (Terms of Service), jotta sinut voi löytää sähköpostiosoitteen tai puhelinnumeron perusteella.", "Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Hyväksy identiteettipalvelimen (%(serverName)s) käyttöehdot (Terms of Service), jotta sinut voi löytää sähköpostiosoitteen tai puhelinnumeron perusteella.",
"Deactivate account": "Deaktivoi tili", "Deactivate account": "Poista tili pysyvästi",
"Remove %(email)s?": "Poista %(email)s?", "Remove %(email)s?": "Poista %(email)s?",
"Remove %(phone)s?": "Poista %(phone)s?", "Remove %(phone)s?": "Poista %(phone)s?",
"Command Help": "Komento-ohje", "Command Help": "Komento-ohje",
"This account has been deactivated.": "Tämä tili on deaktivoitu.", "This account has been deactivated.": "Tämä tili on poistettu.",
"Sends a message as plain text, without interpreting it as markdown": "Lähettää viestin pelkkänä tekstinä, tulkitsematta sitä markdownina", "Sends a message as plain text, without interpreting it as markdown": "Lähettää viestin pelkkänä tekstinä, tulkitsematta sitä markdownina",
"You do not have the required permissions to use this command.": "Sinulla ei ole vaadittavia oikeuksia tämän komennon käyttämiseksi.", "You do not have the required permissions to use this command.": "Sinulla ei ole vaadittavia oikeuksia tämän komennon käyttämiseksi.",
"Use an identity server": "Käytä identiteettipalvelinta", "Use an identity server": "Käytä identiteettipalvelinta",
@ -1467,7 +1467,7 @@
"Strikethrough": "Yliviivattu", "Strikethrough": "Yliviivattu",
"Code block": "Ohjelmakoodia", "Code block": "Ohjelmakoodia",
"This invite to %(roomName)s was sent to %(email)s which is not associated with your account": "Kutsu huoneeseen %(roomName)s lähetettiin osoitteeseen %(email)s, joka ei ole yhteydessä tiliisi", "This invite to %(roomName)s was sent to %(email)s which is not associated with your account": "Kutsu huoneeseen %(roomName)s lähetettiin osoitteeseen %(email)s, joka ei ole yhteydessä tiliisi",
"Filter": "Suodata", "Filter": "Haku",
"Filter rooms…": "Suodata huoneita…", "Filter rooms…": "Suodata huoneita…",
"Changes the avatar of the current room": "Vaihtaa nykyisen huoneen kuvan", "Changes the avatar of the current room": "Vaihtaa nykyisen huoneen kuvan",
"Error changing power level requirement": "Virhe muutettaessa oikeustasovaatimusta", "Error changing power level requirement": "Virhe muutettaessa oikeustasovaatimusta",
@ -1492,9 +1492,9 @@
"Explore rooms": "Selaa huoneita", "Explore rooms": "Selaa huoneita",
"ID": "Tunnus", "ID": "Tunnus",
"Unable to revoke sharing for phone number": "Puhelinnumeron jakamista ei voi kumota", "Unable to revoke sharing for phone number": "Puhelinnumeron jakamista ei voi kumota",
"Deactivate user?": "Deaktivoi käyttäjä?", "Deactivate user?": "Poista käyttäjä pysyvästi?",
"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?": "Käyttäjän deaktivoiminen kirjaa hänet ulos ja estää häntä kirjautumasta takaisin sisään. Lisäksi hän poistuu kaikista huoneista, joissa hän on. Tätä toimintoa ei voi kumota. Oletko varma, että haluat deaktivoida tämän käyttäjän?", "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?": "Käyttäjän poistaminen kirjaa hänet ulos ja estää häntä kirjautumasta takaisin sisään. Lisäksi hän poistuu kaikista huoneista, joissa hän on. Tätä toimintoa ei voi kumota. Oletko varma, että haluat pysyvästi poistaa tämän käyttäjän?",
"Deactivate user": "Deaktivoi käyttäjä", "Deactivate user": "Poista käyttäjä pysyvästi",
"Link this email with your account in Settings to receive invites directly in %(brand)s.": "Linkitä tämä sähköposti tilisi kanssa asetuksissa, jotta voit saada kutsuja suoraan %(brand)sissa.", "Link this email with your account in Settings to receive invites directly in %(brand)s.": "Linkitä tämä sähköposti tilisi kanssa asetuksissa, jotta voit saada kutsuja suoraan %(brand)sissa.",
"e.g. my-room": "esim. oma-huone", "e.g. my-room": "esim. oma-huone",
"Please enter a name for the room": "Syötä huoneelle nimi", "Please enter a name for the room": "Syötä huoneelle nimi",
@ -1541,7 +1541,7 @@
"Jump to first invite.": "Siirry ensimmäiseen kutsuun.", "Jump to first invite.": "Siirry ensimmäiseen kutsuun.",
"DuckDuckGo Results": "DuckDuckGo-tulokset", "DuckDuckGo Results": "DuckDuckGo-tulokset",
"A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "Tekstiviesti on lähetetty numeroon +%(msisdn)s. Syötä siinä oleva varmistuskoodi.", "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "Tekstiviesti on lähetetty numeroon +%(msisdn)s. Syötä siinä oleva varmistuskoodi.",
"Failed to deactivate user": "Käyttäjän deaktivointi epäonnistui", "Failed to deactivate user": "Käyttäjän poistaminen epäonnistui",
"Hide advanced": "Piilota edistyneet", "Hide advanced": "Piilota edistyneet",
"Show advanced": "Näytä edistyneet", "Show advanced": "Näytä edistyneet",
"Document": "Asiakirja", "Document": "Asiakirja",
@ -1632,9 +1632,9 @@
"Failed to connect to integration manager": "Yhdistäminen integraatioiden lähteeseen epäonnistui", "Failed to connect to integration manager": "Yhdistäminen integraatioiden lähteeseen epäonnistui",
"Trusted": "Luotettu", "Trusted": "Luotettu",
"Not trusted": "Ei-luotettu", "Not trusted": "Ei-luotettu",
"This client does not support end-to-end encryption.": "Tämä asiakasohjelma ei tue osapuolten välistä salausta.", "This client does not support end-to-end encryption.": "Tämä asiakasohjelma ei tue päästä päähän -salausta.",
"Messages in this room are not end-to-end encrypted.": "Tämän huoneen viestit eivät ole salattuja.", "Messages in this room are not end-to-end encrypted.": "Tämän huoneen viestit eivät ole päästä päähän -salattuja.",
"Messages in this room are end-to-end encrypted.": "Tämän huoneen viestit ovat salattuja.", "Messages in this room are end-to-end encrypted.": "Tämän huoneen viestit ovat päästä päähän -salattuja.",
"Verify": "Varmenna", "Verify": "Varmenna",
"You have ignored this user, so their message is hidden. <a>Show anyways.</a>": "Olet jättänyt tämän käyttäjän huomiotta, joten hänen viestit ovat piilotettu. <a>Näytä käyttäjän viestit.</a>", "You have ignored this user, so their message is hidden. <a>Show anyways.</a>": "Olet jättänyt tämän käyttäjän huomiotta, joten hänen viestit ovat piilotettu. <a>Näytä käyttäjän viestit.</a>",
"You verified %(name)s": "Varmensit käyttäjän %(name)s", "You verified %(name)s": "Varmensit käyttäjän %(name)s",
@ -1739,7 +1739,7 @@
"Lock": "Lukko", "Lock": "Lukko",
"Whether you're using %(brand)s on a device where touch is the primary input mechanism": "Käytätkö %(brand)sia laitteella, jossa kosketus on ensisijainen syöttömekanismi", "Whether you're using %(brand)s on a device where touch is the primary input mechanism": "Käytätkö %(brand)sia laitteella, jossa kosketus on ensisijainen syöttömekanismi",
"Whether you're using %(brand)s as an installed Progressive Web App": "Käytätkö %(brand)sia asennettuna PWA:na (Progressive Web App)", "Whether you're using %(brand)s as an installed Progressive Web App": "Käytätkö %(brand)sia asennettuna PWA:na (Progressive Web App)",
"Cancel entering passphrase?": "Peruuta salalauseen syöttäminen?", "Cancel entering passphrase?": "Peruuta salasanan syöttäminen?",
"Encryption upgrade available": "Salauksen päivitys saatavilla", "Encryption upgrade available": "Salauksen päivitys saatavilla",
"a few seconds ago": "muutama sekunti sitten", "a few seconds ago": "muutama sekunti sitten",
"about a minute ago": "noin minuutti sitten", "about a minute ago": "noin minuutti sitten",
@ -1808,7 +1808,7 @@
"Suggestions": "Ehdotukset", "Suggestions": "Ehdotukset",
"Your account is not secure": "Tilisi ei ole turvallinen", "Your account is not secure": "Tilisi ei ole turvallinen",
"Your password": "Salasanasi", "Your password": "Salasanasi",
"Incorrect recovery passphrase": "Virheellinen palautuksen salalause", "Incorrect recovery passphrase": "Virheellinen palautussalasana",
"Enter recovery passphrase": "Syötä palautuksen salalause", "Enter recovery passphrase": "Syötä palautuksen salalause",
"Enter recovery key": "Syötä palautusavain", "Enter recovery key": "Syötä palautusavain",
"Confirm your identity by entering your account password below.": "Vahvista henkilöllisyytesi syöttämällä tilisi salasana alle.", "Confirm your identity by entering your account password below.": "Vahvista henkilöllisyytesi syöttämällä tilisi salasana alle.",
@ -1829,7 +1829,7 @@
"Use your account or create a new one to continue.": "Käytä tiliäsi tai luo uusi jatkaaksesi.", "Use your account or create a new one to continue.": "Käytä tiliäsi tai luo uusi jatkaaksesi.",
"Create Account": "Luo tili", "Create Account": "Luo tili",
"Session already verified!": "Istunto on jo vahvistettu!", "Session already verified!": "Istunto on jo vahvistettu!",
"WARNING: Session already verified, but keys do NOT MATCH!": "VAROITUS: Istunto on jo vahvistettu, mutta avaimet EIVÄT VASTAA!", "WARNING: Session already verified, but keys do NOT MATCH!": "VAROITUS: Istunto on jo vahvistettu, mutta avaimet EIVÄT TÄSMÄÄ!",
"Not Trusted": "Ei luotettu", "Not Trusted": "Ei luotettu",
"Ask this user to verify their session, or manually verify it below.": "Pyydä tätä käyttäjää vahvistamaan istuntonsa, tai vahvista se manuaalisesti alla.", "Ask this user to verify their session, or manually verify it below.": "Pyydä tätä käyttäjää vahvistamaan istuntonsa, tai vahvista se manuaalisesti alla.",
"a few seconds from now": "muutama sekunti sitten", "a few seconds from now": "muutama sekunti sitten",
@ -1846,13 +1846,13 @@
"If you cancel now, you won't complete verifying your other session.": "Jos peruutat nyt, toista istuntoasi ei varmenneta.", "If you cancel now, you won't complete verifying your other session.": "Jos peruutat nyt, toista istuntoasi ei varmenneta.",
"Setting up keys": "Otetaan avaimet käyttöön", "Setting up keys": "Otetaan avaimet käyttöön",
"Verifies a user, session, and pubkey tuple": "Varmentaa käyttäjän, istunnon ja julkiset avaimet", "Verifies a user, session, and pubkey tuple": "Varmentaa käyttäjän, istunnon ja julkiset avaimet",
"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!": "VAROITUS: AVAIMEN VARMENTAMINEN EPÄONNISTUI! Käyttäjän %(userId)s ja laitteen %(deviceId)s istunnon allekirjoitusavain on ”%(fprint)s”, mikä ei täsmää annettuun avaimeen ”%(fingerprint)s”. Tämä voi tarkoittaa, että yhteyksiänne peukaloidaan!", "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!": "VAROITUS: AVAIMEN VARMENTAMINEN EPÄONNISTUI! Käyttäjän %(userId)s ja laitteen %(deviceId)s istunnon allekirjoitusavain on ”%(fprint)s”, mikä ei täsmää annettuun avaimeen ”%(fingerprint)s”. Tämä voi tarkoittaa, että viestintäänne siepataan!",
"The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "Antamasi allekirjoitusavain täsmää käyttäjältä %(userId)s saamaasi istunnon %(deviceId)s allekirjoitusavaimeen. Istunto on varmennettu.", "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "Antamasi allekirjoitusavain täsmää käyttäjältä %(userId)s saamaasi istunnon %(deviceId)s allekirjoitusavaimeen. Istunto on varmennettu.",
"Displays information about a user": "Näyttää tietoa käyttäjästä", "Displays information about a user": "Näyttää tietoa käyttäjästä",
"%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s vaihtoi huoneen nimen %(oldRoomName)s nimeksi %(newRoomName)s.", "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s vaihtoi huoneen nimen %(oldRoomName)s nimeksi %(newRoomName)s.",
"%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s lisäsi vaihtoehtoisia osoitteita %(addresses)s tälle huoneelle.", "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s lisäsi vaihtoehtoiset osoitteet %(addresses)s tälle huoneelle.",
"%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s lisäsi vaihtoehtoisen osoitteen %(addresses)s tälle huoneelle.", "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s lisäsi vaihtoehtoisen osoitteen %(addresses)s tälle huoneelle.",
"%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s poisti vaihtoehtoisia osoitteita %(addresses)s tältä huoneelta.", "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s poisti vaihtoehtoiset osoitteet %(addresses)s tältä huoneelta.",
"%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s poisti vaihtoehtoisen osoitteitteen %(addresses)s tältä huoneelta.", "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s poisti vaihtoehtoisen osoitteitteen %(addresses)s tältä huoneelta.",
"%(senderName)s changed the alternative addresses for this room.": "%(senderName)s muutti tämän huoneen vaihtoehtoisia osoitteita.", "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s muutti tämän huoneen vaihtoehtoisia osoitteita.",
"%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s muutti tämän huoneen pää- sekä vaihtoehtoisia osoitteita.", "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s muutti tämän huoneen pää- sekä vaihtoehtoisia osoitteita.",
@ -1956,7 +1956,7 @@
"Liberate your communication": "Vapauta viestintäsi", "Liberate your communication": "Vapauta viestintäsi",
"Send a Direct Message": "Lähetä yksityisviesti", "Send a Direct Message": "Lähetä yksityisviesti",
"Explore Public Rooms": "Selaa julkisia huoneita", "Explore Public Rooms": "Selaa julkisia huoneita",
"Create a Group Chat": "Luo ryhmä", "Create a Group Chat": "Luo huone",
"Super": "Super", "Super": "Super",
"Cancel replying to a message": "Peruuta viestiin vastaaminen", "Cancel replying to a message": "Peruuta viestiin vastaaminen",
"Jump to room search": "Siirry huonehakuun", "Jump to room search": "Siirry huonehakuun",
@ -2018,7 +2018,7 @@
"Waiting for your other session to verify…": "odotetaan toista istuntoasi varmennukseen…", "Waiting for your other session to verify…": "odotetaan toista istuntoasi varmennukseen…",
"Verify all your sessions to ensure your account & messages are safe": "Varmenna kaikki istuntosi varmistaaksesi, että tunnuksesi ja viestisi ovat turvassa", "Verify all your sessions to ensure your account & messages are safe": "Varmenna kaikki istuntosi varmistaaksesi, että tunnuksesi ja viestisi ovat turvassa",
"Verify the new login accessing your account: %(name)s": "Varmenna uusi tunnuksellesi sisäänkirjautunut taho: %(name)s", "Verify the new login accessing your account: %(name)s": "Varmenna uusi tunnuksellesi sisäänkirjautunut taho: %(name)s",
"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.": "Tällä hetkellä salasanan vaihtaminen nollaa kaikki osapuolten välisen salauksen avaimet kaikissa istunnoissa, tehden salatusta keskusteluhistoriasta lukukelvotonta, ellet ensin vie kaikkia huoneavaimiasi ja tuo niitä salasanan vaihtamisen jäkeen takaisin. Tulevaisuudessa tämä tulee toimimaan paremmin.", "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.": "Tällä hetkellä salasanan vaihtaminen nollaa kaikki päästä päähän -salauksen avaimet kaikissa istunnoissa, tehden salatusta keskusteluhistoriasta lukukelvotonta, ellet ensin vie kaikkia huoneavaimiasi ja tuo niitä salasanan vaihtamisen jäkeen takaisin. Tulevaisuudessa tämä tulee toimimaan paremmin.",
"Your homeserver does not support cross-signing.": "Kotipalvelimesi ei tue ristiinvarmennusta.", "Your homeserver does not support cross-signing.": "Kotipalvelimesi ei tue ristiinvarmennusta.",
"Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Tunnuksellasi on ristiinvarmennuksen identiteetti salaisessa tallennustilassa, mutta tämä istunto ei vielä luota siihen.", "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Tunnuksellasi on ristiinvarmennuksen identiteetti salaisessa tallennustilassa, mutta tämä istunto ei vielä luota siihen.",
"Reset cross-signing and secret storage": "Nollaa ristivarmennus ja salavarasto", "Reset cross-signing and secret storage": "Nollaa ristivarmennus ja salavarasto",
@ -2046,7 +2046,7 @@
"This user has not verified all of their sessions.": "Tämä käyttäjä ei ole varmentanut kaikkia istuntojaan.", "This user has not verified all of their sessions.": "Tämä käyttäjä ei ole varmentanut kaikkia istuntojaan.",
"You have not verified this user.": "Et ole varmentanut tätä käyttäjää.", "You have not verified this user.": "Et ole varmentanut tätä käyttäjää.",
"You have verified this user. This user has verified all of their sessions.": "Olet varmentanut tämän käyttäjän. Tämä käyttäjä on varmentanut kaikki istuntonsa.", "You have verified this user. This user has verified all of their sessions.": "Olet varmentanut tämän käyttäjän. Tämä käyttäjä on varmentanut kaikki istuntonsa.",
"This room is end-to-end encrypted": "Tämä huone käyttää osapuolten välistä salausta", "This room is end-to-end encrypted": "Tämä huone käyttää päästä päähän -salausta",
"Everyone in this room is verified": "Kaikki tämän huoneen käyttäjät on varmennettu", "Everyone in this room is verified": "Kaikki tämän huoneen käyttäjät on varmennettu",
"Your key share request has been sent - please check your other sessions for key share requests.": "Avainten jakopyyntösi on lähetetty. Tarkista muut istuntosi avainten jakopyyntöjen varalta.", "Your key share request has been sent - please check your other sessions for key share requests.": "Avainten jakopyyntösi on lähetetty. Tarkista muut istuntosi avainten jakopyyntöjen varalta.",
"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.": "Avainten jakopyynnöt lähetetään muille istunnoillesi automaattisesti. Jos hylkäsit tai jätit huomiotta avainten jakopyynnön toisessa istunnossasi, klikkaa tästä pyytääksesi avaimia uudelleen.", "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.": "Avainten jakopyynnöt lähetetään muille istunnoillesi automaattisesti. Jos hylkäsit tai jätit huomiotta avainten jakopyynnön toisessa istunnossasi, klikkaa tästä pyytääksesi avaimia uudelleen.",
@ -2096,11 +2096,11 @@
"Destroy cross-signing keys?": "Tuhoa ristiinvarmennuksen avaimet?", "Destroy cross-signing keys?": "Tuhoa ristiinvarmennuksen avaimet?",
"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.": "Ristiinvarmennuksen avainten tuhoamista ei voi kumota. Jokainen, jonka olet varmentanut, tulee näkemään turvallisuushälytyksiä. Et todennäköisesti halua tehdä tätä, ellet ole hukannut kaikkia laitteitasi, joista pystyit ristiinvarmentamaan.", "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.": "Ristiinvarmennuksen avainten tuhoamista ei voi kumota. Jokainen, jonka olet varmentanut, tulee näkemään turvallisuushälytyksiä. Et todennäköisesti halua tehdä tätä, ellet ole hukannut kaikkia laitteitasi, joista pystyit ristiinvarmentamaan.",
"Clear cross-signing keys": "Tyhjennä ristiinvarmennuksen avaimet", "Clear cross-signing keys": "Tyhjennä ristiinvarmennuksen avaimet",
"Enable end-to-end encryption": "Ota osapuolten välinen salaus käyttöön", "Enable end-to-end encryption": "Ota päästä päähän -salaus käyttöön",
"Session key": "Istunnon tunnus", "Session key": "Istunnon tunnus",
"Verification Requests": "Varmennuspyynnöt", "Verification Requests": "Varmennuspyynnöt",
"Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Tämän käyttäjän varmentaminen merkitsee hänen istuntonsa luotetuksi, ja myös merkkaa sinun istuntosi luotetuksi hänen laitteissaan.", "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Tämän käyttäjän varmentaminen merkitsee hänen istuntonsa luotetuksi, ja myös merkkaa sinun istuntosi luotetuksi hänen laitteissaan.",
"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.": "Varmenna tämä laite merkataksesi se luotetuksi. Tähän laitteeseen luottaminen antaa sinulle ja muille käyttäjille ylimääräistä mielenrauhaa, kun käytätte osapuolten välistä salausta.", "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.": "Varmenna tämä laite merkitäksesi sen luotetuksi. Tähän laitteeseen luottaminen antaa sinulle ja muille käyttäjille lisää mielenrauhaa, kun käytätte päästä päähän -salausta.",
"Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Tämän laitteen varmentaminen merkkaa sen luotetuksi, ja sinut varmentaneet käyttäjät luottavat automaattisesti tähän laitteeseen.", "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Tämän laitteen varmentaminen merkkaa sen luotetuksi, ja sinut varmentaneet käyttäjät luottavat automaattisesti tähän laitteeseen.",
"Confirm to continue": "Haluan jatkaa", "Confirm to continue": "Haluan jatkaa",
"Click the button below to confirm your identity.": "Paina alapuolella olevaa painiketta varmistaaksesi identiteettisi.", "Click the button below to confirm your identity.": "Paina alapuolella olevaa painiketta varmistaaksesi identiteettisi.",
@ -2253,15 +2253,15 @@
"Error leaving room": "Virhe poistuessa huoneesta", "Error leaving room": "Virhe poistuessa huoneesta",
"Unexpected server error trying to leave the room": "Huoneesta poistuessa tapahtui odottamaton palvelinvirhe", "Unexpected server error trying to leave the room": "Huoneesta poistuessa tapahtui odottamaton palvelinvirhe",
"%(senderName)s declined the call.": "%(senderName)s hylkäsi puhelun.", "%(senderName)s declined the call.": "%(senderName)s hylkäsi puhelun.",
"(an error occurred)": "(virhe tapahtui)", "(an error occurred)": "(tapahtui virhe)",
"(their device couldn't start the camera / microphone)": "(hänen laitteensa ei voinut käynnistää kameraa tai mikrofonia)", "(their device couldn't start the camera / microphone)": "(hänen laitteensa ei voinut käynnistää kameraa tai mikrofonia)",
"(connection failed)": "(yhteys katkesi)", "(connection failed)": "(yhteys katkesi)",
"🎉 All servers are banned from participating! This room can no longer be used.": "Kaikki palvelimet ovat saaneet porttikiellon huoneeseen! Tätä huonetta ei voi enää käyttää.", "🎉 All servers are banned from participating! This room can no longer be used.": "Kaikki palvelimet ovat saaneet porttikiellon huoneeseen! Tätä huonetta ei voi enää käyttää.",
"Prepends ( ͡° ͜ʖ ͡°) to a plain-text message": "Lisää hymiön ( ͡° ͜ʖ ͡°) viestin alkuun", "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message": "Lisää ( ͡° ͜ʖ ͡°) viestin alkuun",
"Are you sure you want to cancel entering passphrase?": "Haluatko varmasti peruuttaa salalauseen syöttämisen?", "Are you sure you want to cancel entering passphrase?": "Haluatko varmasti peruuttaa salasanan syöttämisen?",
"The call was answered on another device.": "Puheluun vastattiin toisessa laitteessa.", "The call was answered on another device.": "Puheluun vastattiin toisessa laitteessa.",
"Answered Elsewhere": "Vastattu muualla", "Answered Elsewhere": "Vastattu muualla",
"The call could not be established": "Puhelua ei voitu aloittaa", "The call could not be established": "Puhelua ei voitu muodostaa",
"The other party declined the call.": "Toinen osapuoli hylkäsi puhelun.", "The other party declined the call.": "Toinen osapuoli hylkäsi puhelun.",
"Call Declined": "Puhelu hylätty", "Call Declined": "Puhelu hylätty",
"%(brand)s Android": "%(brand)s Android", "%(brand)s Android": "%(brand)s Android",
@ -2341,7 +2341,7 @@
"Enter phone number": "Syötä puhelinnumero", "Enter phone number": "Syötä puhelinnumero",
"Now, let's help you get started": "Autetaanpa sinut alkuun", "Now, let's help you get started": "Autetaanpa sinut alkuun",
"delete the address.": "poista osoite.", "delete the address.": "poista osoite.",
"Filter rooms and people": "Suodata huoneita ja ihmisiä", "Filter rooms and people": "Hae huoneita ja ihmisiä",
"Go to Home View": "Siirry kotinäkymään", "Go to Home View": "Siirry kotinäkymään",
"Community and user menu": "Yhteisö- ja käyttäjävalikko", "Community and user menu": "Yhteisö- ja käyttäjävalikko",
"Decline All": "Kieltäydy kaikista", "Decline All": "Kieltäydy kaikista",
@ -2699,12 +2699,138 @@
"Use the <a>Desktop app</a> to see all encrypted files": "Voit tarkastella kaikkia salattuja tiedostoja <a>työpöytäsovelluksella</a>", "Use the <a>Desktop app</a> to see all encrypted files": "Voit tarkastella kaikkia salattuja tiedostoja <a>työpöytäsovelluksella</a>",
"Use the <a>Desktop app</a> to search encrypted messages": "Käytä salattuja viestejä <a>työpöytäsovelluksella</a>", "Use the <a>Desktop app</a> to search encrypted messages": "Käytä salattuja viestejä <a>työpöytäsovelluksella</a>",
"Ignored attempt to disable encryption": "Ohitettu yritys poistaa salaus käytöstä", "Ignored attempt to disable encryption": "Ohitettu yritys poistaa salaus käytöstä",
"Messages here are end-to-end encrypted. Verify %(displayName)s in their profile - tap on their avatar.": "Tässä olevat viestit on päästä-päähän -salattu. Vahvista %(displayName)s heidät - napauta heidän profiilikuvia.", "Messages here are end-to-end encrypted. Verify %(displayName)s in their profile - tap on their avatar.": "Tässä olevat viestit on päästä päähän -salattu. Vahvista %(displayName)s profiilistaan napauttamalla profiilikuvaa.",
"Messages in this room are end-to-end encrypted. When people join, you can verify them in their profile, just tap on their avatar.": "Tämän huoneen viestit on päästä-päähän -salattu. Kun ihmisiä liittyy, voit vahvistaa heidät heidän profiilista, napauta vain heidän profiilikuvaa.", "Messages in this room are end-to-end encrypted. When people join, you can verify them in their profile, just tap on their avatar.": "Tämän huoneen viestit on päästä päähän -salattu. Kun ihmisiä liittyy, heidät voi vahvistaa profiilistaan profiilikuvaa napauttamalla.",
"Unpin a widget to view it in this panel": "Irrota sovelma, jotta voit tarkastella sitä tässä paneelissa", "Unpin a widget to view it in this panel": "Irrota sovelma, jotta voit tarkastella sitä tässä paneelissa",
"You can only pin up to %(count)s widgets|other": "Voit kiinnittää enintään %(count)s sovelmaa", "You can only pin up to %(count)s widgets|other": "Voit kiinnittää enintään %(count)s sovelmaa",
"Favourited": "Suositut", "Favourited": "Suositut",
"Use the + to make a new room or explore existing ones below": "Luo uusi huone tai tutustu alla oleviin + -painikeella", "Use the + to make a new room or explore existing ones below": "Luo uusi huone tai tutustu alla oleviin + -painikeella",
"%(senderDisplayName)s set the server ACLs for this room.": "%(senderDisplayName)s asetti palvelimen pääsyhallintaluetteloon tämän huoneen.", "%(senderDisplayName)s set the server ACLs for this room.": "%(senderDisplayName)s asetti palvelimen pääsyhallintaluetteloon tämän huoneen.",
"%(senderDisplayName)s changed the server ACLs for this room.": "%(senderDisplayName)s muutti palvelimen pääsyhallintaluetteloa tälle huoneelle." "%(senderDisplayName)s changed the server ACLs for this room.": "%(senderDisplayName)s muutti palvelimen pääsyhallintaluetteloa tälle huoneelle.",
"Expand room list section": "Laajenna huoneluettelon osa",
"Collapse room list section": "Supista huoneluettelon osa",
"Use a different passphrase?": "Käytä eri salalausetta?",
"Already have an account? <a>Sign in here</a>": "Onko sinulla jo tili? <a>Kirjaudu tästä</a>",
"There was a problem communicating with the homeserver, please try again later.": "Yhteydessä kotipalvelimeen ilmeni ongelma, yritä myöhemmin uudelleen.",
"This widget would like to:": "Tämä sovelma haluaa:",
"Learn more": "Lue lisää",
"Other homeserver": "Muu kotipalvelin",
"Matrix.org is the biggest public homeserver in the world, so its a good place for many.": "Matrix.org on maailman suurin kotipalvelin, joten se on hyvä paikka monille.",
"Specify a homeserver": "Määritä kotipalvelin",
"The server has denied your request.": "Palvelin eväsi pyyntösi.",
"Just a heads up, if you don't add an email and forget your password, you could <b>permanently lose access to your account</b>.": "Huomio: jos et lisää sähköpostia ja unohdat salasanasi, saatat <b>menettää pääsyn tiliisi pysyvästi</b>.",
"Private rooms can be found and joined by invitation only. Public rooms can be found and joined by anyone in this community.": "Yksityiset huoneet ovat löydettävissä ja liityttävissä vain kutsulla. Julkiset huoneet ovat kenen tahansa tämän yhteisön jäsenen löydettävissä ja liityttävissä.",
"Private rooms can be found and joined by invitation only. Public rooms can be found and joined by anyone.": "Yksityiset huoneet ovat löydettävissä ja liityttävissä vain kutsulla. Julkiset huoneet ovat kenen tahansa löydettävissä ja liityttävissä.",
"Homeserver": "Kotipalvelin",
"Your server admin has disabled end-to-end encryption by default in private rooms & Direct Messages.": "Palvelimesi ylläpitäjä on poistanut päästä päähän -salauksen oletuksena käytöstä yksityisissä huoneissa ja yksityisviesteissä.",
"%(peerName)s held the call": "%(peerName)s piti puhelua pidossa",
"Send general files as you in your active room": "Lähetä aktiiviseen huoneeseesi yleisiä tiedostoja itsenäsi",
"Send general files as you in this room": "Lähetä tähän huoneeseen yleisiä tiedostoja itsenäsi",
"Send videos as you in your active room": "Lähetä aktiiviseen huoneeseesi videoita itsenäsi",
"Send videos as you in this room": "Lähetä tähän huoneeseen videoita itsenäsi",
"Send images as you in your active room": "Lähetä aktiiviseen huoneeseesi kuvia itsenäsi",
"Send images as you in this room": "Lähetä tähän huoneeseen kuvia itsenäsi",
"Send text messages as you in your active room": "Lähetä aktiiviseen huoneeseesi tekstiviestejä itsenäsi",
"Send text messages as you in this room": "Lähetä tähän huoneeseen tekstiviestejä itsenäsi",
"Send messages as you in your active room": "Lähetä aktiiviseen huoneeseesi viestejä itsenäsi",
"Send messages as you in this room": "Lähetä tähän huoneeseen viestejä itsenäsi",
"Show message previews for reactions in DMs": "Näytä reaktioille esikatselu yksityisviesteissä",
"Show message previews for reactions in all rooms": "Näytä reaktioille esikatselu kaikissa huoneissa",
"New spinner design": "Uusi kehrääjä tyyli",
"Render LaTeX maths in messages": "Suorita LaTeX-matematiikkaa viesteissä",
"* %(senderName)s %(emote)s": "* %(senderName)s %(emote)s",
"Downloading logs": "Ladataan lokeja",
"Uploading logs": "Lähetetään lokeja",
"Show chat effects": "Näytä keskustelutehosteet",
"Enable advanced debugging for the room list": "Ota huoneluettelon edistynyt virheenkorjaus käyttöön",
"A connection error occurred while trying to contact the server.": "Yhteysvirhe yritettäessä ottaa yhteyttä palvelimeen.",
"The <b>%(capability)s</b> capability": "<b>%(capability)s</b>-ominaisuus",
"See when the avatar changes in this room": "Katso, milloin nimi vaihtuu tässä huoneessa",
"See when the name changes in your active room": "Katso, milloin nimi muuttuu aktiivisessa huoneessa",
"If disabled, messages from encrypted rooms won't appear in search results.": "Jos ei ole käytössä, salattujen huoneiden viestejä ei näytetä hakutuloksissa.",
"Jump to start/end of the composer": "Siirry kirjoittimen alkuun/loppuun",
"Dismiss read marker and jump to bottom": "Hylkää lukumerkki ja hyppää pohjaan",
"Toggle the top left menu": "Vaihda vasemman yläkulman valikkoa",
"New? <a>Create account</a>": "Uusi? <a>Luo tili</a>",
"Continuing without email": "Jatka ilman sähköpostia",
"Invite by email": "Kutsu sähköpostilla",
"Report a bug": "Raportoi virheestä",
"Invalid Recovery Key": "Virheellinen palautusavain",
"Confirm Security Phrase": "Vahvista turvalauseke",
"Upload a file": "Lähetä tiedosto",
"Confirm encryption setup": "Vahvista salauksen asetukset",
"Verify other session": "Vahvista toinen istunto",
"Confirm account deactivation": "Vahvista tilin deaktivointi",
"Toggle right panel": "Vaihda oikea paneeli",
"Navigate composer history": "Selaa kirjoittimen historiaa",
"a key signature": "avaimen allekirjoitus",
"Homeserver feature support:": "Kotipalvelimen ominaisuuksien tuki:",
"Create key backup": "Luo avaimen varmuuskopio",
"Recovery key mismatch": "Palautusavain ei täsmää",
"%(name)s paused": "%(name)s keskeytetty",
"Invalid URL": "Virheellinen URL",
"Reason (optional)": "Syy (valinnainen)",
"Fill Screen": "Täytä näyttö",
"Send feedback": "Lähetä palautetta",
"Rate %(brand)s": "Arvioi %(brand)s",
"%(brand)s Desktop": "%(brand)s Desktop",
"%(brand)s Web": "%(brand)s Web",
"Security Phrase": "Turvalauseke",
"Security Key": "Turva-avain",
"Verify session": "Vahvista istunto",
"Hold": "Pidä",
"Resume": "Jatka",
"Comment": "Kommentti",
"Navigation": "Navigointi",
"Manage": "Hallitse",
"Remain on your screen when viewing another room, when running": "Pysy ruudulla katsellessasi huonetta, kun se on käynnissä",
"Remain on your screen while running": "Pysy ruudulla käynnissä olon ajan",
"Move autocomplete selection up/down": "Siirrä automaattisen täydennyksen valintaa ylös/alas",
"sends snowfall": "lähetä lumisadetta",
"Sends the given message with snowfall": "Lähetä viesti lumisateen kera",
"Sends the given message with fireworks": "Lähettää viestin ilotulitteiden kera",
"sends confetti": "lähetä konfettia",
"Sends the given message with confetti": "Lähettää viestin konfettien kera",
"sends fireworks": "lähetä ilotulitus",
"You held the call <a>Switch</a>": "Puhelu pidossa <a>Vaihda</a>",
"You held the call <a>Resume</a>": "Puhelu pidossa <a>Jatka</a>",
"%(name)s on hold": "%(name)s on pidossa",
"Please verify the room ID or address and try again.": "Tarkista huonetunnus ja yritä uudelleen.",
"Use this when referencing your community to others. The community ID cannot be changed.": "Käytä tätä, kun kutsut muita yhteisöösi. Yhteisötunnusta ei voi muuttaa.",
"Community ID: +<localpart />:%(domain)s": "Yhteisötunnus: +<localpart />:%(domain)s",
"Are you sure you want to deactivate your account? This is irreversible.": "Haluatko varmasti poistaa tilisi pysyvästi?",
"Data on this screen is shared with %(widgetDomain)s": "Tällä näytöllä olevia tietoja jaetaan %(widgetDomain)s:n kanssa",
"A browser extension is preventing the request.": "Selainlaajennus estää pyynnön.",
"Approve widget permissions": "Hyväksy sovelman käyttöoikeudet",
"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.": "Olet kirjautunut ulos kaikista istunnoista, etkä enää saa push-ilmoituksia. Ota ilmoitukset uudelleen käyttöön kirjautumalla uudelleen kullekin laitteelle.",
"That username already exists, please try another.": "Antamasi käyttäjänimi on varattu, kokeile toista.",
"Continue with %(ssoButtons)s": "Jatka %(ssoButtons)slla",
"%(ssoButtons)s Or %(usernamePassword)s": "%(ssoButtons)s Tai %(usernamePassword)s",
"Host account on": "Isännöi tiliä osoitteessa",
"Decide where your account is hosted": "Päätä, missä tiliäsi isännöidään",
"Your new session is now verified. Other users will see it as trusted.": "Uusi istuntosi on vahvistettu. Muut käyttäjät näkevät sen luotettavana.",
"Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Uusi istuntosi on vahvistettu. Sillä on nyt pääsy salattuihin viesteihisi, ja muut käyttäjät näkevät sen luotettavana.",
"Enter a recovery passphrase": "Syötä palautuksen salasana",
"Great! This recovery passphrase looks strong enough.": "Hienoa! Tämä palautuksen salasana näyttää riittävän vahvalta.",
"Please enter your recovery passphrase a second time to confirm.": "Vahvista antamalla palautuksen salasana uudelleen.",
"Repeat your recovery passphrase...": "Toista palautuksen salasana...",
"Enter a security phrase only you know, as its used to safeguard your data. To be secure, you shouldnt re-use your account password.": "Syötä salasana, jonka tiedät vain sinä, koska sitä käytetään tietojesi suojaamiseen. Turvallisuuden takaamiseksi älä käytä samaa salasanaa muualla.",
"Enter your recovery passphrase a second time to confirm it.": "Vahvista antamalla palautuksen salasana uudelleen.",
"Message downloading sleep time(ms)": "Viestin lataamisen odotusaika(ms)",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "Lisää ┬──┬ ( ゜-゜ノ) viestin alkuun",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "Lisää (╯°□°)╯︵ ┻━┻ viestin alkuun",
"Unable to access secret storage. Please verify that you entered the correct recovery passphrase.": "Salaisen tallenustilan avaaminen epäonnistui. Varmista, että syötit oikean palautuksen salasanan.",
"Enter a Security Phrase": "Kirjoita turvalauseke",
"Set a Security Phrase": "Aseta turvalauseke",
"Unable to query secret storage status": "Salaisen tallennustilan tilaa ei voi kysellä",
"If you cancel now, you may lose encrypted messages & data if you lose access to your logins.": "Jos peruutat nyt, voit menettää salattuja viestejä ja tietoja, jos menetät pääsyn kirjautumistietoihisi.",
"You can also set up Secure Backup & manage your keys in Settings.": "Voit myös ottaa käyttöön suojatun varmuuskopioinnin ja hallita avaimia asetuksista.",
"Save your Security Key": "Tallenna turva-avain",
"This session is encrypting history using the new recovery method.": "Tämä istunto salaa historiansa käyttäen uutta palautustapaa.",
"This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "Tämä istunto on havainnut, että palauttamisen salauslause ja salattujen viestien avain on poistettu.",
"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.": "Jos teit tämän vahingossa, voit ottaa käyttöön turvalliset viestit tälle istunnolle, se salaa tämän istunnon viestihistorian uudella palautustavalla.",
"Close dialog or context menu": "Sulje valintaikkuna tai pikavalikko",
"%(brand)s is securely caching encrypted messages locally for them to appear in search results:": "%(brand)s tallentaa turvallisesti salattuja viestejä välimuistiin, jotta ne näkyvät hakutuloksissa:",
"Navigate recent messages to edit": "Voit muokata viimeisimpiä viestejä",
"Clear room list filter field": "Tyhjennä huoneluettelon suodatinkenttä"
} }

View file

@ -2545,5 +2545,308 @@
"You might enable this if the room will only be used for collaborating with internal teams on your homeserver. This cannot be changed later.": "Vous devriez l'activer si le salon n'est utilisé que pour collaborer avec des équipes internes sur votre serveur d'accueil. Ce ne peut pas être changé plus tard.", "You might enable this if the room will only be used for collaborating with internal teams on your homeserver. This cannot be changed later.": "Vous devriez l'activer si le salon n'est utilisé que pour collaborer avec des équipes internes sur votre serveur d'accueil. Ce ne peut pas être changé plus tard.",
"Your server requires encryption to be enabled in private rooms.": "Votre serveur requiert d'activer le chiffrement dans les salons privés.", "Your server requires encryption to be enabled in private rooms.": "Votre serveur requiert d'activer le chiffrement dans les salons privés.",
"Private rooms can be found and joined by invitation only. Public rooms can be found and joined by anyone in this community.": "Les salons privés ne peuvent être trouvés et rejoints seulement par invitation. Les salons publics peut être trouvés et rejoints par n'importe qui dans cette communauté.", "Private rooms can be found and joined by invitation only. Public rooms can be found and joined by anyone in this community.": "Les salons privés ne peuvent être trouvés et rejoints seulement par invitation. Les salons publics peut être trouvés et rejoints par n'importe qui dans cette communauté.",
"Private rooms can be found and joined by invitation only. Public rooms can be found and joined by anyone.": "Les salons privés ne peuvent être trouvés et rejoints seulement par invitation. Les salons publics peut être trouvés et rejoints par n'importe qui." "Private rooms can be found and joined by invitation only. Public rooms can be found and joined by anyone.": "Les salons privés ne peuvent être trouvés et rejoints seulement par invitation. Les salons publics peut être trouvés et rejoints par n'importe qui.",
"Start a new chat": "Commencer une nouvelle discussion",
"Add a photo so people know it's you.": "Ajoutez une photo pour que les gens savent que c'est vous",
"%(ssoButtons)s Or %(usernamePassword)s": "%(ssoButtons)s ou %(usernamePassword)s",
"Decide where your account is hosted": "Décidez où votre compte est hébergé",
"Go to Home View": "Revenir à la page d'accueil",
"Use Ctrl + Enter to send a message": "Utilisez Ctrl + Entrée pour envoyer un message",
"%(senderName)s ended the call": "%(senderName)s a terminé l'appel",
"You ended the call": "Vous avez terminé l'appel",
"%(creator)s created this DM.": "%(creator)s a envoyé ce DM.",
"Now, let's help you get started": "Maintenant, commençons à vous initier",
"Welcome %(name)s": "Bienvenue %(name)s",
"Filter rooms and people": "Filtrer des salons et personnes",
"Got an account? <a>Sign in</a>": "Vous avez un compte? <a>Connectez-vous</a>",
"New here? <a>Create an account</a>": "Nouveau ici? <a>Créez un compte</a>",
"There was a problem communicating with the homeserver, please try again later.": "Il y a eu un problème lors de la communication avec le serveur d'accueil, veuillez réessayer ultérieurement.",
"New? <a>Create account</a>": "Nouveau? <a>Créez un compte</a>",
"That username already exists, please try another.": "Ce nom d'utilisateur existe déjà, essayez-en un autre.",
"Already have an account? <a>Sign in here</a>": "Vous avez déjà un compte? <a>Connectez-vous ici</a>",
"Algeria": "Algérie",
"Albania": "Albanie",
"Åland Islands": "Îles Åland",
"Afghanistan": "Afghanistan",
"United States": "États-Unis",
"United Kingdom": "Royaume-Uni",
"You've reached the maximum number of simultaneous calls.": "Vous avez atteint le nombre maximum d'appels en simultané.",
"No other application is using the webcam": "Aucune autre application n'est en train d'utiliser la caméra",
"A microphone and webcam are plugged in and set up correctly": "Un microphone et une caméra sont branchées et bien configurées",
"Unable to access webcam / microphone": "Impossible d'accéder à la caméra ou microphone",
"Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "La fonction a échoué car le microphone n'a pas pu être accédé. Vérifiez qu'un microphone est branché et bien configuré.",
"Unable to access microphone": "Impossible d'accéder au microphone",
"Belgium": "Belgique",
"Belarus": "Biélorussie",
"Barbados": "Barbade",
"Bangladesh": "Bangladesh",
"Bahrain": "Bahreïn",
"Bahamas": "Les Bahamas",
"Azerbaijan": "Azerbaïdjan",
"Austria": "Autriche",
"Australia": "Australie",
"Aruba": "Aruba",
"Armenia": "Arménie",
"Argentina": "Argentine",
"Antigua & Barbuda": "Antigue-et-Barbude",
"Antarctica": "Antarctique",
"Anguilla": "Anguilla",
"Angola": "République d'Angola",
"Andorra": "Andorre",
"American Samoa": "Samoa américaines",
"Invite someone using their name, email address, username (like <userId/>) or <a>share this room</a>.": "Invitez quelqu'un via leur nom, e-mail ou nom d'utilisateur (p. ex. <userId/>) ou <a>partagez ce salon</a>.",
"Start a conversation with someone using their name, email address or username (like <userId/>).": "Commencer une conversation avec quelqu'un via leur nom, e-mail ou nom d'utilisateur (comme par exemple <userId/>).",
"Too Many Calls": "Trop d'appels",
"Permission is granted to use the webcam": "Permission accordée pour l'utilisation de la webcam",
"Call failed because webcam or microphone could not be accessed. Check that:": "La fonction a échoué car la webcam ou le microphone ne pouvait pas être accédé. Vérifiez que:",
"Send stickers to this room as you": "Envoyer des stickers dans ce salon en tant que vous",
"Zambia": "Zambie",
"Yemen": "Yémen",
"Western Sahara": "Sahara occidental",
"Wallis & Futuna": "Wallis-et-Futuna",
"Vietnam": "Viêt Nam",
"Venezuela": "Vénézuéla",
"Vatican City": "Vatican",
"Vanuatu": "Vanuatu",
"Uzbekistan": "Ouzbékistan",
"Uruguay": "Uruguay",
"United Arab Emirates": "Émirats arabes unis",
"Ukraine": "Ukraine",
"Uganda": "Ouganda",
"U.S. Virgin Islands": "Îles Vierges des États-Unis",
"Tuvalu": "Tuvalu",
"Turks & Caicos Islands": "Îles Turques-et-Caïques",
"Turkmenistan": "Turkménistan",
"Turkey": "Turquie",
"Tunisia": "Tunisie",
"Trinidad & Tobago": "Trinité-et-Tobago",
"Tonga": "Tonga",
"Tokelau": "Tokelau",
"Togo": "Togo",
"Timor-Leste": "Timor oriental",
"Thailand": "Thaïlande",
"Tanzania": "Tanzanie",
"Tajikistan": "Tadjikistan",
"Taiwan": "Taïwan",
"São Tomé & Príncipe": "Sao Tomé-et-Principe",
"Syria": "Syrie",
"Switzerland": "Suisse",
"Sweden": "Suède",
"Swaziland": "Eswatini",
"Svalbard & Jan Mayen": "Svalbard et Jan Mayen",
"Suriname": "Suriname",
"Sudan": "Soudan",
"St. Vincent & Grenadines": "Saint-Vincent-et-les-Grenadines",
"St. Pierre & Miquelon": "Saint-Pierre-et-Miquelon",
"St. Martin": "Saint-Martin (Antilles françaises)",
"St. Lucia": "Sainte-Lucie",
"St. Kitts & Nevis": "Saint-Christophe-et-Niévès",
"St. Helena": "Île Sainte-Hélène",
"St. Barthélemy": "Saint-Barthélemy",
"Sri Lanka": "Sri Lanka",
"Spain": "Espagne",
"South Sudan": "Soudan du Sud",
"South Korea": "Corée du Sud",
"South Georgia & South Sandwich Islands": "Géorgie du Sud-et-les îles Sandwich du Sud",
"South Africa": "Afrique du Sud",
"Somalia": "Somalie",
"Solomon Islands": "Îles Salomon",
"Slovenia": "Slovénie",
"Slovakia": "Slovaquie",
"Sint Maarten": "Saint-Martin (royaume des Pays-Bas)",
"Singapore": "Singapour",
"Sierra Leone": "Sierra Leone",
"Seychelles": "Seychelles",
"Serbia": "Serbie",
"Senegal": "Sénégal",
"Saudi Arabia": "Arabie saoudite",
"San Marino": "Saint-Marin",
"Samoa": "Samoa",
"Réunion": "La Réunion",
"Rwanda": "Rwanda",
"Russia": "Russie",
"Romania": "Roumanie",
"Qatar": "Qatar",
"Puerto Rico": "Porto Rico",
"Portugal": "Portugal",
"Poland": "Pologne",
"Pitcairn Islands": "Îles Pitcairn",
"Philippines": "Philippines",
"Peru": "Pérou",
"Paraguay": "Paraguay",
"Papua New Guinea": "Papouasie-Nouvelle-Guinée",
"Panama": "Panama",
"Palestine": "Palestine",
"Palau": "Palaos",
"Pakistan": "Pakistan",
"Oman": "Oman",
"Norway": "Norvège",
"Northern Mariana Islands": "Îles Mariannes du Nord",
"North Korea": "Corée du Nord",
"Norfolk Island": "Île Norfolk",
"Niue": "Niue",
"Nigeria": "Nigéria",
"Niger": "Niger",
"Nicaragua": "Nicaragua",
"New Zealand": "Nouvelle-Zélande",
"New Caledonia": "Nouvelle-Calédonie",
"Netherlands": "Pays-Bas",
"Nepal": "Népal",
"Nauru": "Nauru",
"Namibia": "Namibie",
"Myanmar": "Birmanie",
"Mozambique": "Mozambique",
"Morocco": "Maroc",
"Montserrat": "Montserrat",
"Montenegro": "Monténégro",
"Mongolia": "Mongolie",
"Monaco": "Monaco",
"Moldova": "Moldavie",
"Micronesia": "États fédérés de Micronésie",
"Mexico": "Mexico",
"Mayotte": "Mayotte",
"Mauritius": "République de Maurice",
"Mauritania": "Mauritanie",
"Martinique": "Martinique",
"Marshall Islands": "Îles Marshall",
"Malta": "Malte",
"Mali": "Mali",
"Maldives": "Maldives",
"Malaysia": "Malaisie",
"Malawi": "Malawi",
"Madagascar": "Madagascar",
"Macedonia": "Macédoine du Nord",
"Macau": "Macao",
"Benin": "Bénin",
"Host account on": "Héberger le compte sur",
"Belize": "Bélize",
"Luxembourg": "Luxembourg",
"Lithuania": "Lituanie",
"Liechtenstein": "Liechtenstein",
"Libya": "Libye",
"Liberia": "Liberia",
"Lesotho": "Lesotho",
"Lebanon": "Liban",
"Latvia": "Lettonie",
"Laos": "Laos",
"Kyrgyzstan": "Kirghizistan",
"Kuwait": "Koweït",
"Kosovo": "Kosovo",
"Kiribati": "Kiribati",
"Kenya": "Kenya",
"Kazakhstan": "Kazakhstan",
"Jordan": "Jordanie",
"Jersey": "Jersey",
"Japan": "Japon",
"Jamaica": "Jamaïque",
"Italy": "Italie",
"Israel": "Israël",
"Isle of Man": "Île de Man",
"Ireland": "Irlande",
"Iraq": "Irak",
"Iran": "Iran",
"Indonesia": "Indonésie",
"India": "Inde",
"Iceland": "Islande",
"Hungary": "Hongrie",
"Hong Kong": "Hong Kong",
"Honduras": "Honduras",
"Heard & McDonald Islands": "Îles Heard-et-MacDonald",
"Haiti": "Haïti",
"Guyana": "Guyana",
"Guinea-Bissau": "Guinée-Bissau",
"Guinea": "Guinée",
"Guernsey": "Guernesey",
"Guatemala": "Guatemala",
"Guam": "Guam",
"Guadeloupe": "Guadeloupe",
"Grenada": "Grenade",
"Greenland": "Groenland",
"Greece": "Grèce",
"Gibraltar": "Gibraltar",
"Ghana": "Ghana",
"Germany": "Allemagne",
"Georgia": "Géorgie",
"Gambia": "Gambie",
"Gabon": "République gabonaise",
"French Southern Territories": "Terres australes et antarctiques françaises",
"French Polynesia": "Polynésie française",
"French Guiana": "Guyane",
"France": "France",
"Finland": "Finlande",
"Fiji": "Îles Fidji",
"Faroe Islands": "Îles Féroé",
"Falkland Islands": "Îles Malouines (Falkland)",
"Ethiopia": "Éthiopie",
"Estonia": "Estonie",
"Eritrea": "Érythrée",
"Equatorial Guinea": "Guinée équatoriale",
"El Salvador": "Le Salvador",
"Egypt": "Égypte",
"Ecuador": "République de l'Équateur",
"Dominican Republic": "République dominicaine",
"Dominica": "Dominique",
"Djibouti": "Djibouti",
"Denmark": "Danemark",
"Côte dIvoire": "Côte dIvoire (Terre d'Éburnie)",
"Czech Republic": "La République tchèque",
"Cyprus": "Chypre",
"Curaçao": "Curaçao",
"Cuba": "Cuba",
"Croatia": "Croatie",
"Costa Rica": "Costa Rica",
"Cook Islands": "Îles Cook",
"Congo - Kinshasa": "République démocratique du Congo",
"Congo - Brazzaville": "République du Congo",
"Comoros": "Comores",
"Colombia": "Colombia",
"Cocos (Keeling) Islands": "îles Cocos",
"Christmas Island": "île Christmas",
"China": "Chine",
"Chile": "Chili",
"Chad": "Tchad",
"Central African Republic": "République centrafricaine",
"Cayman Islands": "Îles Caïmans",
"Caribbean Netherlands": "Pays-Bas caribéens",
"Cape Verde": "Cap-Vert",
"Canada": "Canada",
"Cameroon": "Cameroun",
"Cambodia": "Cambodge",
"Burundi": "La république du Burundi",
"Burkina Faso": "Burkina Faso",
"Bulgaria": "Bulgarie",
"Brunei": "Brunéi",
"British Virgin Islands": "Îles Vierges britanniques",
"British Indian Ocean Territory": "Territoire britannique de l'océan Indien",
"Brazil": "Brésil",
"Bouvet Island": "Île Bouvet",
"Botswana": "",
"Bosnia": "",
"Bolivia": "",
"Bhutan": "",
"Bermuda": "",
"with state key %(stateKey)s": "avec la ou les clés d'état %(stateKey)s",
"with an empty state key": "avec une clé d'état vide",
"See when anyone posts a sticker to your active room": "Voir quand n'importe qui envoye un sticker dans le salon actuel",
"See when a sticker is posted in this room": "Voir quand un sticker est envoyé dans ce salon",
"See when the avatar changes in your active room": "Voir quand l'avatar change dans le salon actuel",
"Change the avatar of your active room": "Changer l'avatar du salon actuel",
"See when the avatar changes in this room": "Voir quand l'avatar change dans ce salon",
"Change the avatar of this room": "Changer l'avatar de ce salon",
"Send stickers into your active room": "Envoyer des stickers dans le salon actuel",
"See when the topic changes in this room": "Voir quand le sujet change dans ce salon",
"See when the topic changes in your active room": "Voir quand le sujet change dans le salon actuel",
"Change the name of your active room": "Changer le nom du salon actuel",
"See when the name changes in this room": "Traquer quand le nom change dans ce salon",
"Change the name of this room": "Changer le nom de ce salon",
"Change the topic of your active room": "Changer le sujet dans le salon actuel",
"Change the topic of this room": "Changer le sujet de ce salon",
"Send stickers into this room": "Envoyer des stickers dans ce salon",
"Remain on your screen when viewing another room, when running": "Reste sur votre écran quand vous regardez un autre salon lors de l'appel",
"Takes the call in the current room off hold": "Reprends l'appel en cours dans ce salon",
"Places the call in the current room on hold": "Met l'appel en pause dans ce salon",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "Ajoute \"(╯°□°)╯︵ ┻━┻\" en préfixe du message",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "Ajoute \"┬──┬ ( ゜-゜ノ)\" en préfixe du message",
"Effects": "Effets",
"Zimbabwe": "Zimbabwe"
} }

View file

@ -920,7 +920,7 @@
"Messages": "Mensaxes", "Messages": "Mensaxes",
"Actions": "Accións", "Actions": "Accións",
"Other": "Outro", "Other": "Outro",
"Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Anteponse ¯\\_(ツ)_/¯ a mensaxe en texto plano", "Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Antecede con ¯\\_(ツ)_/¯ a mensaxe en texto plano",
"Sends a message as plain text, without interpreting it as markdown": "Envía unha mensaxe como texto plano, sen interpretalo como markdown", "Sends a message as plain text, without interpreting it as markdown": "Envía unha mensaxe como texto plano, sen interpretalo como markdown",
"Sends a message as html, without interpreting it as markdown": "Envía unha mensaxe como html, sen interpretalo como markdown", "Sends a message as html, without interpreting it as markdown": "Envía unha mensaxe como html, sen interpretalo como markdown",
"Upgrades a room to a new version": "Subir a sala de versión", "Upgrades a room to a new version": "Subir a sala de versión",
@ -2971,5 +2971,24 @@
"You held the call <a>Resume</a>": "Colgaches a chamada, <a>Retomar</a>", "You held the call <a>Resume</a>": "Colgaches a chamada, <a>Retomar</a>",
"You've reached the maximum number of simultaneous calls.": "Acadaches o número máximo de chamadas simultáneas.", "You've reached the maximum number of simultaneous calls.": "Acadaches o número máximo de chamadas simultáneas.",
"Too Many Calls": "Demasiadas chamadas", "Too Many Calls": "Demasiadas chamadas",
"%(name)s paused": "detido por %(name)s" "%(name)s paused": "detido por %(name)s",
"sends fireworks": "envía fogos de artificio",
"Sends the given message with fireworks": "Envia a mensaxe dada con fogos de artificio",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "Antecede con ┬──┬ ( ゜-゜ノ) a unha mensaxe de texto plano",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "Antecede con (╯°□°)╯︵ ┻━┻ a unha mensaxe de texto plano",
"%(name)s on hold": "%(name)s agardando",
"You held the call <a>Switch</a>": "Pausaches a chamada <a>Cambiar</a>",
"sends snowfall": "envía neve",
"Sends the given message with snowfall": "Engade neve caendo á mensaxe",
"You have no visible notifications.": "Non tes notificacións visibles.",
"Transfer": "Transferir",
"Failed to transfer call": "Fallou a transferencia da chamada",
"A call can only be transferred to a single user.": "Unha chamada só se pode transferir a unha única usuaria.",
"There was an error finding this widget.": "Houbo un fallo ao buscar o widget.",
"Active Widgets": "Widgets activos",
"Open dial pad": "Abrir marcador",
"Start a Conversation": "Iniciar unha Conversa",
"Dial pad": "Marcador",
"There was an error looking up the phone number": "Houbo un erro buscando o número de teléfono",
"Unable to look up phone number": "Non atopamos o número de teléfono"
} }

File diff suppressed because it is too large Load diff

View file

@ -5,7 +5,7 @@
"Custom Server Options": "Egyéni kiszolgálóbeállítások", "Custom Server Options": "Egyéni kiszolgálóbeállítások",
"Dismiss": "Eltüntetés", "Dismiss": "Eltüntetés",
"Error": "Hiba", "Error": "Hiba",
"Failed to forget room %(errCode)s": "Nem sikerült elfelejteni a szobát: %(errCode)s", "Failed to forget room %(errCode)s": "A szobát nem sikerült elfelejtetni: %(errCode)s",
"Favourite": "Kedvenc", "Favourite": "Kedvenc",
"Mute": "Elnémít", "Mute": "Elnémít",
"Notifications": "Értesítések", "Notifications": "Értesítések",
@ -116,7 +116,7 @@
"Failed to set display name": "Megjelenítési nevet nem sikerült beállítani", "Failed to set display name": "Megjelenítési nevet nem sikerült beállítani",
"Failed to unban": "Kizárás visszavonása sikertelen", "Failed to unban": "Kizárás visszavonása sikertelen",
"Failed to upload profile picture!": "Profil kép feltöltése sikertelen!", "Failed to upload profile picture!": "Profil kép feltöltése sikertelen!",
"Failed to verify email address: make sure you clicked the link in the email": "E-mail cím ellenőrzése sikertelen: ellenőrizd, hogy az e-mailben lévő hivatkozásra kattintottál", "Failed to verify email address: make sure you clicked the link in the email": "E-mail cím ellenőrzése sikertelen: ellenőrizze, hogy az e-mailben lévő hivatkozásra kattintott-e",
"Failure to create room": "Szoba létrehozása sikertelen", "Failure to create room": "Szoba létrehozása sikertelen",
"Favourites": "Kedvencek", "Favourites": "Kedvencek",
"Fill screen": "Képernyő kitöltése", "Fill screen": "Képernyő kitöltése",
@ -279,8 +279,8 @@
"Who can read history?": "Ki olvashatja a régi üzeneteket?", "Who can read history?": "Ki olvashatja a régi üzeneteket?",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s visszavonta %(targetName)s meghívóját.", "%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s visszavonta %(targetName)s meghívóját.",
"You are already in a call.": "Már hívásban vagy.", "You are already in a call.": "Már hívásban vagy.",
"You cannot place a call with yourself.": "Nem hívhatod fel saját magadat.", "You cannot place a call with yourself.": "Nem hívhatja fel saját magát.",
"You cannot place VoIP calls in this browser.": "Nem indíthatsz VoIP hívást ebben a böngészőben.", "You cannot place VoIP calls in this browser.": "Nem indíthat VoIP hívást ebben a böngészőben.",
"You do not have permission to post to this room": "Nincs jogod üzenetet küldeni ebbe a szobába", "You do not have permission to post to this room": "Nincs jogod üzenetet küldeni ebbe a szobába",
"You have <a>disabled</a> URL previews by default.": "Az URL előnézet alapból <a>tiltva</a> van.", "You have <a>disabled</a> URL previews by default.": "Az URL előnézet alapból <a>tiltva</a> van.",
"You have <a>enabled</a> URL previews by default.": "Az URL előnézet alapból <a>engedélyezve</a> van.", "You have <a>enabled</a> URL previews by default.": "Az URL előnézet alapból <a>engedélyezve</a> van.",
@ -292,13 +292,13 @@
"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 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 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.", "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Nem leszel képes visszavonni ezt a változtatást mivel a felhasználót ugyanarra a szintre emeled amin te vagy.",
"Sun": "v", "Sun": "Vas",
"Mon": "h", "Mon": "",
"Tue": "k", "Tue": "Ke",
"Wed": "sze", "Wed": "Sze",
"Thu": "cs", "Thu": "Csü",
"Fri": "p", "Fri": "",
"Sat": "szo", "Sat": "Szo",
"Jan": "jan.", "Jan": "jan.",
"Feb": "feb.", "Feb": "feb.",
"Mar": "már.", "Mar": "már.",
@ -626,12 +626,12 @@
"Learn more about how we use analytics.": "Tudj meg többet arról hogyan használjuk az analitikai adatokat.", "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 %(brand)sot:",
"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.", "Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Minden azonosításra alkalmas adat, mint a szoba-, felhasználó- vagy csoportazonosítók, eltávolításra kerülnek, mielőtt elküldenénk a kiszolgálónak.",
"The platform you're on": "A platform amit használsz", "The platform you're on": "A platform amit használ",
"The version of %(brand)s": "%(brand)s verziója", "The version of %(brand)s": "%(brand)s verziója",
"Your language of choice": "A használt nyelv", "Your language of choice": "A használt nyelv",
"Which officially provided instance you are using, if any": "Melyik hivatalosan nyújtott példányt használod", "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álod-e a Richtext módot a szerkesztőben vagy nem", "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 Matrix kiszolgálód URL-je", "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", "%(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.", "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.", "Community IDs cannot be empty.": "A közösségi azonosító nem lehet üres.",
@ -784,9 +784,9 @@
"Checking for an update...": "Frissítés keresése...", "Checking for an update...": "Frissítés keresése...",
"Missing roomId.": "Hiányzó szobaazonosító.", "Missing roomId.": "Hiányzó szobaazonosító.",
"Popout widget": "Kiugró kisalkalmazás", "Popout widget": "Kiugró kisalkalmazás",
"Every page you use in the app": "Minden oldal, amit az alkalmazásban használsz", "Every page you use in the app": "Minden oldal, amit az alkalmazásban használ",
"e.g. <CurrentPageURL>": "pl.: <CurrentPageURL>", "e.g. <CurrentPageURL>": "pl.: <CurrentPageURL>",
"Your device resolution": "Eszközöd felbontása", "Your device resolution": "Eszköz felbontása",
"Always show encryption icons": "Titkosítási ikon folyamatos megjelenítése", "Always show encryption icons": "Titkosítási ikon folyamatos megjelenítése",
"Send Logs": "Naplók küldése", "Send Logs": "Naplók küldése",
"Clear Storage and Sign Out": "Tárhely törlése és kijelentkezés", "Clear Storage and Sign Out": "Tárhely törlése és kijelentkezés",
@ -833,8 +833,8 @@
"Demote": "Lefokozás", "Demote": "Lefokozás",
"This event could not be displayed": "Az eseményt nem lehet megjeleníteni", "This event could not be displayed": "Az eseményt nem lehet megjeleníteni",
"Permission Required": "Jogosultság szükséges", "Permission Required": "Jogosultság szükséges",
"You do not have permission to start a conference call in this room": "Nincs jogosultságod konferencia hívást kezdeményezni ebben a szobában", "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",
"A call is currently being placed!": "A hívás indítás alatt van!", "A call is currently being placed!": "A hívás indítás alatt!",
"Failed to remove widget": "A kisalkalmazás törlése sikertelen", "Failed to remove widget": "A kisalkalmazás törlése sikertelen",
"An error ocurred whilst trying to remove the widget from the room": "A kisalkalmazás szobából való törlése közben hiba történt", "An error ocurred whilst trying to remove the widget from the room": "A kisalkalmazás szobából való törlése közben hiba történt",
"System Alerts": "Rendszer figyelmeztetések", "System Alerts": "Rendszer figyelmeztetések",
@ -881,7 +881,7 @@
"Incompatible Database": "Nem kompatibilis adatbázis", "Incompatible Database": "Nem kompatibilis adatbázis",
"Continue With Encryption Disabled": "Folytatás a titkosítás kikapcsolásával", "Continue With Encryption Disabled": "Folytatás a titkosítás kikapcsolásával",
"Sign in with single sign-on": "Bejelentkezés „egyszeri bejelentkezéssel”", "Sign in with single sign-on": "Bejelentkezés „egyszeri bejelentkezéssel”",
"Unable to load! Check your network connectivity and try again.": "A betöltés sikertelen! Ellenőrizd a hálózati kapcsolatot és próbáld újra.", "Unable to load! Check your network connectivity and try again.": "A betöltés sikertelen! Ellenőrizze a hálózati kapcsolatot és próbálja újra.",
"Delete Backup": "Mentés törlése", "Delete Backup": "Mentés törlése",
"Unable to load key backup status": "A mentett kulcsok állapotát nem lehet lekérdezni", "Unable to load key backup status": "A mentett kulcsok állapotát nem lehet lekérdezni",
"Backup version: ": "Mentés verzió: ", "Backup version: ": "Mentés verzió: ",
@ -1069,7 +1069,7 @@
"Homeserver URL": "Matrixszerver URL", "Homeserver URL": "Matrixszerver URL",
"Identity Server URL": "Azonosítási Szerver URL", "Identity Server URL": "Azonosítási Szerver URL",
"Free": "Szabad", "Free": "Szabad",
"Join millions for free on the largest public server": "Milliók kapcsolódnak ingyen a legnagyobb nyilvános szerveren", "Join millions for free on the largest public server": "Csatlakozzon több millió felhasználóhoz ingyen a legnagyobb nyilvános szerveren",
"Premium": "Prémium", "Premium": "Prémium",
"Premium hosting for organisations <a>Learn more</a>": "Prémium üzemeltetés szervezetek részére <a>Tudj meg többet</a>", "Premium hosting for organisations <a>Learn more</a>": "Prémium üzemeltetés szervezetek részére <a>Tudj meg többet</a>",
"Other": "Más", "Other": "Más",
@ -1084,7 +1084,7 @@
"Recovery Method Removed": "Visszaállítási eljárás törölve", "Recovery Method Removed": "Visszaállítási eljárás törölve",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Ha nem Ön törölte a visszaállítási módot, akkor egy támadó hozzá akar férni a fiókjához. Azonnal változtassa meg a jelszavát, és állítson be egy visszaállítási módot a Beállításokban.", "If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Ha nem Ön törölte a visszaállítási módot, akkor egy támadó hozzá akar férni a fiókjához. Azonnal változtassa meg a jelszavát, és állítson be egy visszaállítási módot a Beállításokban.",
"Chat with %(brand)s Bot": "Csevegés a %(brand)s Robottal", "Chat with %(brand)s Bot": "Csevegés a %(brand)s Robottal",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "A(z) „%(fileName)s” mérete nagyobb mint amekkorát a Matrix-kiszolgáló enged feltölteni", "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", "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.", "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 hozzáférhetővé tette a szobát bárkinek, aki ismeri a linket.",
@ -1255,9 +1255,9 @@
"The homeserver may be unavailable or overloaded.": "A Matrix szerver elérhetetlen vagy túlterhelt.", "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.|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.", "You have %(count)s unread notifications in a prior version of this room.|one": "%(count)s olvasatlan értesítésed van a régi verziójú szobában.",
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Használsz-e „morzsákat” (profilképek a szobalista felett)", "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Használ-e „morzsákat” (profilképek a szobalista felett)",
"Replying With Files": "Válasz fájlokkal", "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éd feltölteni a fájlt úgy, hogy az nem egy válasz lesz?", "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.", "The file '%(fileName)s' failed to upload.": "A(z) „%(fileName)s” fájl feltöltése sikertelen.",
"Rotate counter-clockwise": "Óramutató járásával ellentétesen fordít", "Rotate counter-clockwise": "Óramutató járásával ellentétesen fordít",
"Rotate clockwise": "Óramutató járásával megegyező irányba fordít", "Rotate clockwise": "Óramutató járásával megegyező irányba fordít",
@ -1382,7 +1382,7 @@
"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éped az összes szobában",
"Removing…": "Eltávolítás…", "Removing…": "Eltávolítás…",
"Clear all data": "Minden adat törlése", "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.", "Your homeserver doesn't seem to support this feature.": "A Matrix szervered úgy tűnik nem támogatja ezt a szolgáltatást.",
"Resend edit": "Szerkesztés újraküldése", "Resend edit": "Szerkesztés újraküldése",
"Resend %(unsentCount)s reaction(s)": "%(unsentCount)s reakció újraküldése", "Resend %(unsentCount)s reaction(s)": "%(unsentCount)s reakció újraküldése",
"Resend removal": "Törlés újraküldése", "Resend removal": "Törlés újraküldése",
@ -1403,8 +1403,8 @@
"Service": "Szolgáltatás", "Service": "Szolgáltatás",
"Summary": "Összefoglaló", "Summary": "Összefoglaló",
"Call failed due to misconfigured server": "A hívás a helytelenül beállított kiszolgáló miatt sikertelen", "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 (<code>%(homeserverDomain)s</code>) to configure a TURN server in order for calls to work reliably.": "Kérd meg a Matrix-kiszolgálód (<code>%(homeserverDomain)s</code>) 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 (<code>%(homeserverDomain)s</code>) to configure a TURN server in order for calls to work reliably.": "Kérje meg a Matrix-kiszolgáló (<code>%(homeserverDomain)s</code>) adminisztrátorát, hogy a hívások megfelelő működéséhez állítson be egy TURN-kiszolgálót.",
"Alternatively, you can try to use the public server at <code>turn.matrix.org</code>, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Másik lehetőségként használhatod a <code>turn.matrix.org</code> nyilvános kiszolgálót, de ez nem lesz annyira megbízható, és megosztja az IP-címedet a kiszolgálóval. A Beállításokban állíthatod be.", "Alternatively, you can try to use the public server at <code>turn.matrix.org</code>, 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 <code>turn.matrix.org</code> 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", "Try using turn.matrix.org": "A turn.matrix.org használatának kipróbálása",
"Messages": "Üzenetek", "Messages": "Üzenetek",
"Actions": "Műveletek", "Actions": "Műveletek",
@ -1693,7 +1693,7 @@
"in secret storage": "biztonsági tárolóban", "in secret storage": "biztonsági tárolóban",
"Secret storage public key:": "Biztonsági tároló nyilvános kulcs:", "Secret storage public key:": "Biztonsági tároló nyilvános kulcs:",
"in account data": "fiók adatokban", "in account data": "fiók adatokban",
"Cross-signing": "Eszközök közti aláírás", "Cross-signing": "Eszközök közti hitelesítés",
"<b>Warning</b>: You should only set up key backup from a trusted computer.": "<b>Figyelmeztetés</b>: Csak biztonságos számítógépről állíts be kulcs mentést.", "<b>Warning</b>: You should only set up key backup from a trusted computer.": "<b>Figyelmeztetés</b>: Csak biztonságos számítógépről állíts be kulcs mentést.",
"If you've forgotten your recovery key you can <button>set up new recovery options</button>": "Ha elfelejtetted a visszaállítási kulcsot <button>állíts be új visszaállítási lehetőséget</button>", "If you've forgotten your recovery key you can <button>set up new recovery options</button>": "Ha elfelejtetted a visszaállítási kulcsot <button>állíts be új visszaállítási lehetőséget</button>",
"Set up with a recovery key": "Beállítás visszaállítási kulccsal", "Set up with a recovery key": "Beállítás visszaállítási kulccsal",
@ -1804,7 +1804,7 @@
"Enable": "Engedélyez", "Enable": "Engedélyez",
"%(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 <nativeLink>search components added</nativeLink>.": "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 <nativeLink>kereső komponens hozzáadásával</nativeLink>.", "%(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 <nativeLink>search components added</nativeLink>.": "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 <nativeLink>kereső komponens hozzáadásával</nativeLink>.",
"Message search": "Üzenet keresése", "Message search": "Üzenet keresése",
"This room is bridging messages to the following platforms. <a>Learn more.</a>": "Ez a szoba összeköti az üzeneteket a következő platformokkal, <a>tudj meg többet.</a>", "This room is bridging messages to the following platforms. <a>Learn more.</a>": "Ez a szoba összeköti az üzeneteket a felsorolt platformokkal, <a>tudj meg többet.</a>",
"This room isnt bridging messages to any platforms. <a>Learn more.</a>": "Ez a szoba egy platformmal sem köt össze üzeneteket. <a>Tudj meg többet.</a>", "This room isnt bridging messages to any platforms. <a>Learn more.</a>": "Ez a szoba egy platformmal sem köt össze üzeneteket. <a>Tudj meg többet.</a>",
"Bridges": "Hidak", "Bridges": "Hidak",
"New session": "Új munkamenet", "New session": "Új munkamenet",
@ -1940,15 +1940,15 @@
"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.", "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", "Clear cross-signing keys": "Eszközök közti hitelesítési kulcsok törlése",
"Reset cross-signing and secret storage": "Eszközök közti hitelesítés és biztonsági tároló alaphelyzetbe állítása", "Reset cross-signing and secret storage": "Eszközök közti hitelesítés és biztonsági tároló alaphelyzetbe állítása",
"Whether you're using %(brand)s on a device where touch is the primary input mechanism": "Olyan eszközön használod-e a %(brand)sot, ahol az érintés az elsődleges beviteli mód", "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álod-e a %(brand)sot", "Whether you're using %(brand)s as an installed Progressive Web App": "Progresszív webalkalmazásként használja-e a %(brand)sot",
"Your user agent": "Felhasználói ügynök", "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.", "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", "You declined": "Elutasítottad",
"%(name)s declined": "%(name)s elutasította", "%(name)s declined": "%(name)s elutasította",
"Cancelling…": "Megszakítás…", "Cancelling…": "Megszakítás…",
"Your homeserver does not support cross-signing.": "A matrix szervered nem támogatja az eszközök közti hitelesítést.", "Your homeserver does not support cross-signing.": "A matrix szervered nem támogatja az eszközök közti hitelesítést.",
"Homeserver feature support:": "Matrix szerver támogatott szolgáltatások:", "Homeserver feature support:": "Matrix szerver támogatja-e a szolgáltatást:",
"exists": "létezik", "exists": "létezik",
"Accepting…": "Elfogadás…", "Accepting…": "Elfogadás…",
"Accepting …": "Elfogadás …", "Accepting …": "Elfogadás …",
@ -2077,7 +2077,7 @@
"Space": "Szóköz", "Space": "Szóköz",
"End": "End", "End": "End",
"Session backup key:": "Munkamenet másolat kulcs:", "Session backup key:": "Munkamenet másolat kulcs:",
"Use Single Sign On to continue": "A folytatáshoz használd az egyszeri bejelentkezést (SSO)", "Use Single Sign On to continue": "A folytatáshoz használja az egyszeri bejelentkezést (SSO)",
"Single Sign On": "Egyszeri bejelentkezés", "Single Sign On": "Egyszeri bejelentkezés",
"%(name)s is requesting verification": "%(name)s ellenőrzést kér", "%(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é",
@ -2117,11 +2117,11 @@
"Self-verification request": "Ön ellenőrzés kérése", "Self-verification request": "Ön ellenőrzés kérése",
"Cancel replying to a message": "Üzenet válasz megszakítása", "Cancel replying to a message": "Üzenet válasz megszakítása",
"Confirm adding email": "E-mail hozzáadásának megerősítése", "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 kattints a gombra lent.", "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 phone number": "Telefonszám hozzáadásának megerősítése", "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 kattints a gombra lent.", "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ítsd meg, hogy az egyszeri bejelentkezésnél a személyazonosságod bizonyításaként használt e-mail címet hozzáadod.", "Confirm adding this 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ítsd meg, hogy az egyszeri bejelentkezésnél a személyazonosságod bizonyításaként használt telefonszámot hozzáadod.", "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.",
"If you cancel now, you won't complete your operation.": "A műveletet nem fejezed be, ha ezt most megszakítod.", "If you cancel now, you won't complete your operation.": "A műveletet nem fejezed be, ha ezt most megszakítod.",
"Failed to set topic": "A téma beállítása sikertelen", "Failed to set topic": "A téma beállítása sikertelen",
"Command failed": "A parancs sikertelen", "Command failed": "A parancs sikertelen",
@ -2514,7 +2514,7 @@
"Cannot create rooms in this community": "A közösségben nem lehet szobát készíteni", "Cannot create rooms in this community": "A közösségben nem lehet szobát készíteni",
"You do not have permission to create rooms in this community.": "A közösségben szoba létrehozásához nincs jogosultságod.", "You do not have permission to create rooms in this community.": "A közösségben szoba létrehozásához nincs jogosultságod.",
"End conference": "Konferenciahívás befejezése", "End conference": "Konferenciahívás befejezése",
"This will end the conference for everyone. Continue?": "Mindenki számára befejeződik a konferencia. Folytatod?", "This will end the conference for everyone. Continue?": "Mindenki számára befejeződik a konferencia. Folytatja?",
"Offline encrypted messaging using dehydrated devices": "Kapcsolat nélküli titkosított üzenetküldés tartósított eszközökkel", "Offline encrypted messaging using dehydrated devices": "Kapcsolat nélküli titkosított üzenetküldés tartósított eszközökkel",
"Ignored attempt to disable encryption": "A titkosítás kikapcsolására tett kísérlet figyelmen kívül lett hagyva", "Ignored attempt to disable encryption": "A titkosítás kikapcsolására tett kísérlet figyelmen kívül lett hagyva",
"Join the conference at the top of this room": "Csatlakozz a konferenciához a szoba tetején", "Join the conference at the top of this room": "Csatlakozz a konferenciához a szoba tetején",
@ -2839,12 +2839,144 @@
"You created this room.": "Te készítetted ezt a szobát.", "You created this room.": "Te készítetted ezt a szobát.",
"<a>Add a topic</a> to help people know what it is about.": "<a>Állítsd be a szoba témáját</a>, hogy az emberek tudják, hogy miről van itt szó.", "<a>Add a topic</a> to help people know what it is about.": "<a>Állítsd be a szoba témáját</a>, hogy az emberek tudják, hogy miről van itt szó.",
"Topic: %(topic)s ": "Téma: %(topic)s ", "Topic: %(topic)s ": "Téma: %(topic)s ",
"Send stickers to this room as you": "Ön helyett matricák küldése a szobába", "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 képének megváltoztatása",
"Change the name of this room": "A szoba nevé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 szoba témájának megváltoztatása",
"Change the topic of this room": "A szoba témájának megváltoztatá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", "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 ön aktív szobájába", "Send stickers into your active room": "Matricák küldése az aktív szobába",
"Send stickers into this room": "Matricák küldése a szobá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",
"Continue with %(ssoButtons)s": "Folytatás ezzel: %(ssoButtons)s",
"That username already exists, please try another.": "Ez a felhasználói név már létezik, kérlek próbálj ki egy másikat.",
"New? <a>Create account</a>": "Új vagy? <a>Készíts egy fiókot</a>",
"There was a problem communicating with the homeserver, please try again later.": "A szerverrel való kommunikációval probléma történt, kérlek próbáld újra.",
"New here? <a>Create an account</a>": "Új vagy? <a>Készíts egy fiókot</a>",
"Got an account? <a>Sign in</a>": "Van már fiókod? <a>Jelentkezz be</a>",
"Filter rooms and people": "Szobák és emberek szűrése",
"Forgot password?": "Elfelejtetted a jelszót?",
"That phone number doesn't look quite right, please check and try again": "Ez a telefonszám nem tűnik teljesen helyesnek, kérlek ellenőrizd újra",
"Enter phone number": "Telefonszám megadása",
"Enter email address": "E-mail cím megadása",
"Open the link in the email to continue registration.": "A regisztráció folytatásához nyisd meg a hivatkozást az e-mailben.",
"A confirmation email has been sent to %(emailAddress)s": "Megerősítő e-mail elküldve ide: %(emailAddress)s",
"Hold": "Várakoztat",
"Resume": "Folytatás",
"Decline All": "Mindet elutasít",
"Approve": "Engedélyez",
"This widget would like to:": "A kisalkalmazás ezeket szeretné:",
"Approve widget permissions": "Kisalkalmazás engedélyek elfogadása",
"Sign into your homeserver": "Bejelentkezés a matrix szerveredbe",
"Specify a homeserver": "Matrix szerver megadása",
"Invalid URL": "Érvénytelen URL",
"Unable to validate homeserver": "A matrix szervert nem lehet ellenőrizni",
"Continuing without email": "Folytatás e-mail cím nélkül",
"Reason (optional)": "Ok (opcionális)",
"Continue with %(provider)s": "Folytatás ezzel a szolgáltatóval: %(provider)s",
"Homeserver": "Matrix kiszolgáló",
"Role": "Szerepkör",
"Start a new chat": "Új beszélgetés indítása",
"%(name)s paused": "%(name)s megállítva",
"Return to call": "Visszatérés a híváshoz",
"Fill Screen": "Képernyő kitöltése",
"Voice Call": "Hanghívás",
"Video Call": "Videohívás",
"%(peerName)s held the call": "%(peerName)s várakoztatja a hívást",
"You held the call <a>Resume</a>": "A hívás várakozik, <a>folytatás</a>",
"sends fireworks": "tűzijáték küldése",
"Sends the given message with fireworks": "Az üzenet elküldése tűzijátékkal",
"sends confetti": "konfetti küldése",
"Sends the given message with confetti": "Az üzenet elküldése konfettivel",
"Show chat effects": "Beszélgetés effektek megjelenítése",
"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",
"Render LaTeX maths in messages": "LaTeX matematikai kifejezések megjelenítése az üzenetekben",
"See <b>%(msgtype)s</b> messages posted to your active room": "<b>%(msgtype)s</b> üzenetek megjelenítése az aktív szobádban",
"See <b>%(msgtype)s</b> messages posted to this room": "<b>%(msgtype)s</b> üzenetek megjelenítése ebben a szobában",
"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",
"The <b>%(capability)s</b> capability": "<b>%(capability)s</b> képesség",
"See <b>%(eventType)s</b> events posted to your active room": "<b>%(eventType)s</b> események megjelenítése az aktív szobában",
"Send <b>%(eventType)s</b> events as you in your active room": "<b>%(eventType)s</b> események küldése a nevedben az aktív szobába",
"See <b>%(eventType)s</b> events posted to this room": "<b>%(eventType)s</b> események megjelenítése ebben a szobában",
"Send <b>%(eventType)s</b> events as you in this room": "<b>%(eventType)s</b> 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",
"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",
"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",
"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",
"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.",
"Unable to access microphone": "A mikrofont nem lehet használni",
"Already have an account? <a>Sign in here</a>": "Van már fiókod? <a>Belépés</a>",
"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.",
"Use email or phone to optionally be discoverable by existing contacts.": "Az e-mail, vagy telefonszám használatával a jelenlegi ismerőseid is megtalálhatnak.",
"Add an email to be able to reset your password.": "Adj meg egy e-mail címet, hogy vissza tudd állítani a jelszavad.",
"Just a heads up, if you don't add an email and forget your password, you could <b>permanently lose access to your account</b>.": "Csak egy figyelmeztetés, ha nem adsz meg e-mail címet, és elfelejted a jelszavad, <b>véglegesen elveszítheted a fiókodhoz való hozzáférést</b>.",
"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.": "Megadhatsz egyéni szervert, amit használni szeretnél, a címének beírásával. Ez lehetővé teszi, hogy, ha a fiókod másik szerveren van, be tudj jelentkezni oda.",
"Server Options": "Szerver lehetőségek",
"Learn more": "Tudj meg többet",
"Matrix.org is the biggest public homeserver in the world, so its a good place for many.": "A matrix.org a legnagyobb nyilvános Matrix szerver a világon, és sok felhasználónak megfelelő választás.",
"About homeservers": "A Matrix szerverekről",
"Use your preferred Matrix homeserver if you have one, or host your own.": "Add meg az általad választott Matrix szerver címét, ha van ilyen, vagy üzemeltess egy sajátot!",
"Other homeserver": "Másik Matrix szerver",
"Host account on": "Fiók létrehozása itt:",
"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 <b>%(msgtype)s</b> messages as you in your active room": "<b>%(msgtype)s</b> üzenet küldése az aktív szobádba saját néven",
"Send <b>%(msgtype)s</b> messages as you in this room": "<b>%(msgtype)s</b> üzenet 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",
"Send videos as you in this room": "Videók küldése ebbe a szobába saját néven",
"Send images as you in your active room": "Képek küldése az aktív szobájába saját néven",
"Send images as you in this room": "Képek küldése ebbe a szobába saját néven",
"Send emotes as you in your active room": "Emodzsik küldése az aktív szobájába saját néven",
"Send emotes as you in this room": "Emodzsik küldése ebbe a szobába saját néven",
"Send text messages as you in your active room": "Szöveges üzenetek küldése az aktív szobájába saját néven",
"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",
"<h1>HTML for your community's page</h1>\n<p>\n Use the long description to introduce new members to the community, or distribute\n some important <a href=\"foo\">links</a>\n</p>\n<p>\n You can even add images with Matrix URLs <img src=\"mxc://url\" />\n</p>\n": "<h1>HTML a közössége oldalához</h1>\n<p>\n Az új tagnak a közösség bemutatásához vagy fontos \n <a href=\"foo\">hivatkozások</a> megosztásához a hosszú leírást lehet használni.\n</p>\n<p>\n Képeket Matrix URL-ekkel lehet hozzáadni: <img src=\"mxc://url\" />\n</p>\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.",
"%(name)s on hold": "%(name)s hívás tartva",
"You held the call <a>Switch</a>": "A hívás várakozik, <a>átkapcsolás</a>",
"sends snowfall": "hóesés küldése",
"Sends the given message with snowfall": "Az üzenet elküldése hóeséssel",
"See emotes posted to your active room": "Az aktív szobájába küldött emodzsik megjelenítése",
"See emotes posted to this room": "Ebbe a szobába küldött emodzsik megjelenítése",
"You have no visible notifications.": "Nincsenek látható értesítések.",
"Transfer": "Átadás",
"Failed to transfer call": "A hívás átadása nem sikerült",
"A call can only be transferred to a single user.": "Csak egy felhasználónak lehet átadni a hívást."
} }

View file

@ -2971,5 +2971,24 @@
"%(peerName)s held the call": "%(peerName)s ha sospeso la chiamata", "%(peerName)s held the call": "%(peerName)s ha sospeso la chiamata",
"You held the call <a>Resume</a>": "Hai sospeso la chiamata <a>Riprendi</a>", "You held the call <a>Resume</a>": "Hai sospeso la chiamata <a>Riprendi</a>",
"You've reached the maximum number of simultaneous calls.": "Hai raggiungo il numero massimo di chiamate simultanee.", "You've reached the maximum number of simultaneous calls.": "Hai raggiungo il numero massimo di chiamate simultanee.",
"Too Many Calls": "Troppe chiamate" "Too Many Calls": "Troppe chiamate",
"%(name)s on hold": "%(name)s in sospeso",
"You held the call <a>Switch</a>": "Hai sospeso la chiamata <a>Cambia</a>",
"sends snowfall": "invia nevicata",
"Sends the given message with snowfall": "Invia il messaggio con una nevicata",
"sends fireworks": "invia fuochi d'artificio",
"Sends the given message with fireworks": "Invia il messaggio con fuochi d'artificio",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "Antepone ┬──┬ ( ゜-゜ノ) ad un messaggio di testo",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "Antepone (╯°□°)╯︵ ┻━┻ ad un messaggio di testo",
"You have no visible notifications.": "Non hai notifiche visibili.",
"Transfer": "Trasferisci",
"Failed to transfer call": "Trasferimento chiamata fallito",
"A call can only be transferred to a single user.": "Una chiamata può essere trasferita solo ad un singolo utente.",
"There was an error finding this widget.": "Si è verificato un errore trovando i widget.",
"Active Widgets": "Widget attivi",
"Open dial pad": "Apri tastierino",
"Start a Conversation": "Inizia una conversazione",
"Dial pad": "Tastierino",
"There was an error looking up the phone number": "Si è verificato un errore nella ricerca del numero di telefono",
"Unable to look up phone number": "Impossibile cercare il numero di telefono"
} }

View file

@ -910,7 +910,7 @@
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "ファイル '%(fileName)s' はこのホームサーバのアップロードのサイズ上限を超えています", "The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "ファイル '%(fileName)s' はこのホームサーバのアップロードのサイズ上限を超えています",
"The server does not support the room version specified.": "このサーバは指定された部屋バージョンに対応していません。", "The server does not support the room version specified.": "このサーバは指定された部屋バージョンに対応していません。",
"Name or Matrix ID": "名前またはMatrix ID", "Name or Matrix ID": "名前またはMatrix ID",
"Identity server has no terms of service": "IDサーバーは利用規約を持っていません", "Identity server has no terms of service": "ID サーバーは利用規約を持っていません",
"Messages": "メッセージ", "Messages": "メッセージ",
"Actions": "アクション", "Actions": "アクション",
"Other": "その他", "Other": "その他",
@ -1317,7 +1317,7 @@
"Join the discussion": "話し合いに参加", "Join the discussion": "話し合いに参加",
"%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s はプレビューできません。部屋に参加しますか?", "%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s はプレビューできません。部屋に参加しますか?",
"Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)": "他のユーザーがあなたのホームサーバー (%(localDomain)s) を通じてこの部屋を見つけられるよう、アドレスを設定しましょう", "Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)": "他のユーザーがあなたのホームサーバー (%(localDomain)s) を通じてこの部屋を見つけられるよう、アドレスを設定しましょう",
"Enter recovery key": "リカバリキーを入力", "Enter recovery key": "リカバリキーを入力",
"Verify this login": "このログインを承認", "Verify this login": "このログインを承認",
"Signing In...": "サインイン中...", "Signing In...": "サインイン中...",
"If you've joined lots of rooms, this might take a while": "たくさんの部屋に参加している場合は、時間がかかる可能性があります", "If you've joined lots of rooms, this might take a while": "たくさんの部屋に参加している場合は、時間がかかる可能性があります",
@ -1488,5 +1488,22 @@
"Securely cache encrypted messages locally for them to appear in search results, using %(size)s to store messages from %(rooms)s rooms.|one": "検索結果を表示させるために、暗号化されたメッセージをローカルに安全にキャッシュしています。現在、%(rooms)s 件の部屋のメッセージの保存に %(size)s を使用中です。", "Securely cache encrypted messages locally for them to appear in search results, using %(size)s to store messages from %(rooms)s rooms.|one": "検索結果を表示させるために、暗号化されたメッセージをローカルに安全にキャッシュしています。現在、%(rooms)s 件の部屋のメッセージの保存に %(size)s を使用中です。",
"Securely cache encrypted messages locally for them to appear in search results, using %(size)s to store messages from %(rooms)s rooms.|other": "検索結果を表示させるために、暗号化されたメッセージをローカルに安全にキャッシュしています。現在、%(rooms)s 件の部屋のメッセージの保存に %(size)s を使用中です。", "Securely cache encrypted messages locally for them to appear in search results, using %(size)s to store messages from %(rooms)s rooms.|other": "検索結果を表示させるために、暗号化されたメッセージをローカルに安全にキャッシュしています。現在、%(rooms)s 件の部屋のメッセージの保存に %(size)s を使用中です。",
"Mentions & Keywords": "メンションとキーワード", "Mentions & Keywords": "メンションとキーワード",
"Security Key": "セキュリティキー" "Security Key": "セキュリティキー",
"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.": "ID サーバーの使用は任意です。ID サーバーを使用しない場合、あなたは他のユーザーから発見されなくなり、メールアドレスや電話番号で他のユーザーを招待することもできません。",
"Integration Managers receive configuration data, and can modify widgets, send room invites, and set power levels on your behalf.": "インテグレーションマネージャは設定データを受け取り、ユーザーの代わりにウィジェットの変更、部屋への招待の送信、権限レベルの設定を行うことができます。",
"Use an Integration Manager to manage bots, widgets, and sticker packs.": "インテグレーションマネージャを使用して、ボット、ウィジェット、ステッカーパックを管理します。",
"Use an Integration Manager <b>(%(serverName)s)</b> to manage bots, widgets, and sticker packs.": "インテグレーションマネージャ <b>(%(serverName)s)</b> を使用して、ボット、ウィジェット、ステッカーパックを管理します。",
"Integrations not allowed": "インテグレーションは許可されていません",
"Integrations are disabled": "インテグレーションが無効になっています",
"Manage integrations": "インテグレーションの管理",
"Enter a new identity server": "新しい ID サーバーを入力",
"Use Ctrl + Enter to send a message": "Ctrl + Enter でメッセージを送信する",
"Show chat effects": "チャットエフェクトを表示",
"Backup key cached:": "バックアップキーのキャッシュ:",
"Backup key stored:": "バックアップキー保存場所:",
"Algorithm:": "アルゴリズム:",
"Backup version:": "バックアップバージョン:",
"Secret storage:": "機密ストレージ:",
"Master private key:": "マスター秘密鍵:",
"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 Recovery Key.": "セッションにアクセスできなくなる場合に備えて、アカウントデータとともに暗号鍵をバックアップします。あなたの鍵は一意のリカバリーキーで保護されます。"
} }

View file

@ -790,7 +790,7 @@
"%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s yekkes tansa-nni tayeḍ %(addresses)s i texxamt-a.", "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s yekkes tansa-nni tayeḍ %(addresses)s i texxamt-a.",
"%(senderName)s changed the alternative addresses for this room.": "%(senderName)s ibeddel tansa-nni tayeḍ n texxamt-a.", "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s ibeddel tansa-nni tayeḍ n texxamt-a.",
"%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s ibeddel tansa tagejdant d tansa-nni tayeḍ i texxamt-a.", "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s ibeddel tansa tagejdant d tansa-nni tayeḍ i texxamt-a.",
"Sends a message as html, without interpreting it as markdown": "Yuzen izen d html war ma isegza-t s tukksa n tecreḍt", "Sends a message as html, without interpreting it as markdown": "Yuzen izen d html war ma isegza-t belli d tukksa n tecreḍt",
"Deops user with given id": "Aseqdac Deops s usulay i d-yettunefken", "Deops user with given id": "Aseqdac Deops s usulay i d-yettunefken",
"Sends the given message coloured as a rainbow": "Yuzen iznan i d-yettunefken yeɣman s yiniten am teslit n Unẓar", "Sends the given message coloured as a rainbow": "Yuzen iznan i d-yettunefken yeɣman s yiniten am teslit n Unẓar",
"Sends the given emote coloured as a rainbow": "Yuzen tanfalit i d-yettunefken yeɣman s yiniten am teslit n Unẓar", "Sends the given emote coloured as a rainbow": "Yuzen tanfalit i d-yettunefken yeɣman s yiniten am teslit n Unẓar",
@ -2449,5 +2449,287 @@
"Widgets": "Iwiǧiten", "Widgets": "Iwiǧiten",
"Unpin app": "Serreḥ i usnas", "Unpin app": "Serreḥ i usnas",
"Pin to room": "Sentu deg texxamt", "Pin to room": "Sentu deg texxamt",
"You can only pin 2 widgets at a time": "Tzemreḍ ad tsentuḍ 2 kan n yiwiǧiten ɣef tikkelt" "You can only pin 2 widgets at a time": "Tzemreḍ ad tsentuḍ 2 kan n yiwiǧiten ɣef tikkelt",
"Call Declined": "Yettwagi usiwel",
"Video Call": "Asiwel s tvidyut",
"Iraq": "ɛiṛaq",
"Bosnia": "Busniya",
"Mali": "Mali",
"Sweden": "Sswid",
"Moldova": "Muldavya",
"Sint Maarten": "San Maṛtan",
"Morocco": "Meṛṛuk",
"British Indian Ocean Territory": "Timura n ugaraw ahendi abṛitani",
"Slovakia": "Sluvakya",
"Macedonia": "Masidunya",
"Zimbabwe": "Zimbabwi",
"Antigua & Barbuda": "Antigua & Barbuda",
"Forgot password?": "Tettuḍ awal uffir?",
"Madagascar": "Madagaskaṛ",
"Niue": "Niué",
"Central African Republic": "Tafriqt Talemmast",
"St. Pierre & Miquelon": "San Pyir & Miklun",
"Benin": "Binin",
"New Zealand": "Ziland Tamaynut",
"Russia": "Rrus",
"Tajikistan": "Tajikistan",
"Bangladesh": "Bengladic",
"Iran": "Iṛan",
"St. Lucia": "Sant Lusi",
"Rwanda": "Ṛwanda",
"Laos": "Lawus",
"Guinea": "Ginya",
"Bulgaria": "Bulgarya",
"Cambodia": "Kambuj",
"Guatemala": "Guatemala",
"Luxembourg": "Luxembourg",
"Guernsey": "Guernsey",
"Ukraine": "Ukrin",
"Cape Verde": "Cap-Vert",
"Add comment": "Rnu awennit",
"Kiribati": "Kiribati",
"French Southern Territories": "Timura n uwezlu n Fṛansa",
"Barbados": "Barbade",
"Yemen": "Yaman",
"Cook Islands": "Tigzirin n Kuk",
"Uganda": "Uganda",
"Armenia": "Arminya",
"Anguilla": "Anguilla",
"Christmas Island": "Tigzrin n Kristmaṣ",
"Chad": "Čad",
"Turkmenistan": "Turkminya",
"Somalia": "Ṣumal",
"Lesotho": "Lizuṭu",
"Austria": "Tutrict",
"Burkina Faso": "Burkina Faso",
"Malawi": "Malawi",
"Philippines": "Filippin",
"Peru": "Piru",
"Nicaragua": "Nikaṛagwa",
"Libya": "Libya",
"Eritrea": "Iritirya",
"Uzbekistan": "Uzbikistan",
"Guyana": "Guyane",
"Kuwait": "Koweït",
"Invalid URL": "Yir URL",
"Venezuela": "Vinizwila",
"Greenland": "Griland",
"Jamaica": "Jamaïque",
"Ireland": "Irland",
"Brazil": "Brizil",
"Haiti": "Hayti",
"Lithuania": "Litwanya",
"Norway": "Nuṛwij",
"Botswana": "Butswana",
"Guinea-Bissau": "Ginya bisaw",
"Netherlands": "Timura n Wadda",
"United Arab Emirates": "Tiglednuwin Taεrabin Yedduklen",
"Micronesia": "Mikṛunizya",
"Cameroon": "Kamirun",
"Return to call": "Uɣal ɣer usiwel",
"Curaçao": "Kuṛačaw",
"Thailand": "Tayland",
"Croatia": "Karwaṣiya",
"Liechtenstein": "Lictencṭayn",
"Panama": "Panama",
"Mauritius": "Île Maurice",
"St. Vincent & Grenadines": "San Vansun & grinadin",
"Estonia": "Isṭuni",
"Timor-Leste": "Timur n usamar",
"Tokelau": "Ṭuklu",
"Guam": "Guam",
"Svalbard & Jan Mayen": "Svalbard & Ǧan Mayen",
"Uruguay": "Urugway",
"Indonesia": "Indunisya",
"Congo - Brazzaville": "Kungu - Brazavil",
"Montserrat": "Montserrat",
"U.S. Virgin Islands": "Tigzirin n Virǧin n Marikan",
"Paraguay": "Paṛagway",
"Iceland": "Island",
"Falkland Islands": "Tugzirin n fakland",
"Norfolk Island": "Tigzirtn n Nuṛfulk",
"Réunion": "Tigzirt n Riyunyun",
"Côte dIvoire": "Côte dIvoire",
"El Salvador": "Salvador",
"Belgium": "Biljik",
"Senegal": "Sinigal",
"Isle of Man": "Île de Man",
"Learn more": "Learn more",
"Sierra Leone": "Sirra Lyun",
"Seychelles": "Sicil",
"Niger": "Nigir",
"Andorra": "Andorre",
"Bolivia": "Bulivya",
"Solomon Islands": "Tigzirin n Salumun",
"Namibia": "Namibya",
"Germany": "Lalman",
"Belize": "Belize",
"Gambia": "Gambya",
"Portugal": "Puṛtugal",
"Burundi": "Burundi",
"American Samoa": "Samwa n Marikan",
"User settings": "Iɣewwaren n useqdac",
"Cocos (Keeling) Islands": "Tigzirin n kuku",
"Mauritania": "Muritanya",
"Gabon": "Gabun",
"Poland": "Pulunya",
"Comoros": "Kumuṛ",
"Taiwan": "Taiwan",
"Egypt": "Maṣer",
"Qatar": "Qatar",
"North Korea": "Kuriya n ugafa",
"Czech Republic": "Tagduda Tačikit",
"Saudi Arabia": "Tagelda Tasaɛudit taɛrabt",
"São Tomé & Príncipe": "Saw Ṭumi & Prinsip",
"Chile": "Cili",
"Palestine": "Falasṭin",
"Send feedback": "Azen takti-inek·inem",
"Australia": "Australie",
"Belarus": "Bilarus",
"Bhutan": "Buṭan",
"Mexico": "Miksik",
"Cyprus": "Cipr",
"Latvia": "Liṭṭunya",
"Zambia": "Ẓambya",
"Tonga": "Tatungit",
"Singapore": "Singapour",
"Effects": "Effets",
"Djibouti": "Djibouti",
"Montenegro": "Muntinigru",
"Hungary": "Hungarya",
"Cuba": "Kuba",
"Monaco": "Monaco",
"Antarctica": "Antartique",
"Pitcairn Islands": "Tigzirin n Pitkaṛn",
"Malaysia": "Malizya",
"Unpin": "Kkes asenteḍ",
"Jordan": "Urdun",
"Safeguard against losing access to encrypted messages & data": "Seḥbiber iman-ik·im mgal asruḥu n unekcum ɣer yiznann & yisefka yettwawgelhen",
"Kosovo": "Kuṣuvu",
"South Korea": "Kuriya n uwezlu",
"Dominica": "Dominique",
"Kenya": "Kinya",
"Oman": "ɛuman",
"Colombia": "Kulumbya",
"Canada": "Kanada",
"Aruba": "Aruba",
"Japan": "Japun",
"Fill Screen": "Ačcar agdil",
"Fiji": "Fidji",
"Unable to access microphone": "Anekcum ɣer usawaḍ ulamek",
"Nigeria": "Nijirya",
"St. Barthélemy": "St. Barthélemy",
"Guadeloupe": "Guadeloupe",
"Trinidad & Tobago": "Ṭrindad & Ṭubagu",
"Turkey": "Ṭṭerk",
"Macau": "Macao",
"Mayotte": "Mayotte",
"Costa Rica": "Costa Rica",
"Afghanistan": "Afɣanistan",
"Angola": "Angula",
"Approve": "Qbel",
"Heard & McDonald Islands": "Tigzirin n Hird d Tigzirin n MakDunald",
"Puerto Rico": "Porto Rico",
"Suriname": "Surinam",
"Tanzania": "Tanẓanya",
"Pakistan": "Pakistan",
"Bahamas": "Bahamas",
"Myanmar": "Myanmaṛ",
"San Marino": "Saint-Marin",
"Bahrain": "Bahreïn",
"Gibraltar": "Gibraltar",
"Sri Lanka": "Sri Lanka",
"Nepal": "Nipal",
"Nauru": "Nauru",
"Vanuatu": "Vanuyatu",
"Switzerland": "Sswis",
"South Africa": "Tafriqt n Wenẓul",
"Move left": "Mutti s azelmaḍ",
"Cayman Islands": "Tigzirin n Kayman",
"Move right": "Mutti s ayfus",
"Romania": "Rumanya",
"Western Sahara": "Ṣaḥṛa Tutrimt",
"Enter phone number": "Sekcem uṭṭun n tiliɣri",
"Sudan": "Sudan",
"Honduras": "Hunduṛas",
"Hong Kong": "Hong Kong",
"Congo - Kinshasa": "Kungu - Kincasa",
"Brunei": "Brunei",
"Finland": "Finland",
"Algeria": "Zzayer",
"Role": "Tamlit",
"Tunisia": "Tunes",
"Equatorial Guinea": "Ginya Tasebgast",
"Swaziland": "Swis",
"Azerbaijan": "Azerbiǧan",
"Faroe Islands": "Tigzirin n Fiṛuwi",
"India": "Lhend",
"South Georgia & South Sandwich Islands": "Tigzirin n Jyuṛjya n Unzul akked Sandwič n Unẓul",
"Israel": "Israyil",
"Samoa": "Samoa",
"St. Kitts & Nevis": "san Kits & Nivis",
"St. Helena": "San Ilina",
"Albania": "Albaniya",
"Syria": "Surya",
"Ghana": "Gana",
"Argentina": "Argentine",
"Spain": "Spenyul",
"Resume": "kemmel",
"Jersey": "Jersey",
"France": "Fransa",
"Kyrgyzstan": "Kirgizistan",
"Voice Call": "Asiwel aɣectan",
"Caribbean Netherlands": "Timura Karaib n hulund",
"China": "Ccinwa",
"South Sudan": "Sudan n Wenzul",
"Mozambique": "Muzumbik",
"Martinique": "Martinique",
"Ecuador": "Ikwaduṛ",
"Marshall Islands": "Tigzirin Marcal",
"Wallis & Futuna": "Wallis & Futuna",
"Denmark": "Danmark",
"Vatican City": "Vatikan",
"Vietnam": "Vyiṭnam",
"Malta": "Malte",
"Papua New Guinea": "Papwazi-Ginya-Tamaynut",
"British Virgin Islands": "Tigzirin n Virǧin n gliz",
"Georgia": "Georgia",
"Bermuda": "Bermudes",
"Dominican Republic": "Duminik",
"St. Martin": "San Maṛtan",
"Serbia": "Ṣirbya",
"Italy": "Ṭelyan",
"Lebanon": "Liban",
"Slovenia": "Sluvinya",
"Northern Mariana Islands": "Tigzirin n Maṛyan n uwezlu",
"Kazakhstan": "Kazaxistan",
"French Polynesia": "Pulinizya n Fṛansa",
"Bouvet Island": "Tigzirin Buvet",
"French Guiana": "Giyan n Fṛansa",
"Ethiopia": "Ityupya",
"Comment": "Awennit",
"Turks & Caicos Islands": "Ṭurk & Tegzirin n Kaykus",
"Åland Islands": "Tigzirin n Aland",
"Tuvalu": "Tuvalu",
"Liberia": "Libiriya",
"Maldives": "Maldives",
"Greece": "Legrig",
"Mongolia": "Mungulya",
"Togo": "Ṭugu",
"United Kingdom": "Tagelda Yeddukklen",
"Palau": "Palaos",
"Grenada": "Grenade",
"United States": "Iwanaken-Yeddukklen-N-Temrikt",
"New Caledonia": "Kaliduni amaynut",
"You've reached the maximum number of simultaneous calls.": "Tessawḍeḍ amḍan n yisawalen afellay yemseḍfaren.",
"Too Many Calls": "Ddeqs n yisawalen",
"No other application is using the webcam": "Ulac asnas-nniḍen i iseqdacen takamiṛat",
"Permission is granted to use the webcam": "Tettynefk tsiregt i useqdec takamiṛat",
"A microphone and webcam are plugged in and set up correctly": "Asawaḍ d tkamiṛat qqnen yerna ttusewlen akken iwata",
"Call failed because webcam or microphone could not be accessed. Check that:": "Asiwel ur yeddi ara aku takamiṛat neɣ asawaḍ ulac anekum ɣur-s. Senqed aya:",
"Unable to access webcam / microphone": "Anekcum ɣer tkamiṛat / usawaḍ d awezɣi",
"The call was answered on another device.": "Tiririt ɣef usiwel tella-d ɣef yibenk-nniḍen.",
"Answered Elsewhere": "Yerra-d seg wadeg-nniḍen",
"The call could not be established": "Asiwel ur yeqεid ara",
"The other party declined the call.": "Amdan-nniḍen yugi asiwel."
} }

View file

@ -1228,11 +1228,11 @@
"Don't ask again": "Niet opnieuw vragen", "Don't ask again": "Niet opnieuw vragen",
"New Recovery Method": "Nieuwe herstelmethode", "New Recovery Method": "Nieuwe herstelmethode",
"A new recovery passphrase and key for Secure Messages have been detected.": "Er zijn een nieuw herstelwachtwoord en een nieuwe herstelsleutel voor beveiligde berichten gedetecteerd.", "A new recovery passphrase and key for Secure Messages have been detected.": "Er zijn een nieuw herstelwachtwoord en een nieuwe herstelsleutel voor beveiligde berichten gedetecteerd.",
"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.": "Als u deze nieuwe herstelmethode niet heeft ingesteld, is het mogelijk dat er een aanvaller toegang tot uw account probeert te verkrijgen. Wijzig onmiddellijk uw accountwachtwoord en stel een nieuwe herstelmethode in in de instellingen.", "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.": "Als u deze nieuwe herstelmethode niet heeft ingesteld, is het mogelijk dat een aanvaller toegang tot uw account probeert te krijgen. Wijzig onmiddellijk uw accountwachtwoord en stel in het instellingenmenu een nieuwe herstelmethode in.",
"Go to Settings": "Ga naar instellingen", "Go to Settings": "Ga naar instellingen",
"Set up Secure Messages": "Beveiligde berichten instellen", "Set up Secure Messages": "Beveiligde berichten instellen",
"Recovery Method Removed": "Herstelmethode verwijderd", "Recovery Method Removed": "Herstelmethode verwijderd",
"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.": "Als u de herstelmethode niet heeft verwijderd, is het mogelijk dat er een aanvaller toegang tot uw account probeert te verkrijgen. Wijzig onmiddellijk uw accountwachtwoord en stel een nieuwe herstelmethode in in de instellingen.", "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.": "Als u de herstelmethode niet heeft verwijderd, is het mogelijk dat er een aanvaller toegang tot uw account probeert te verkrijgen. Wijzig onmiddellijk uw accountwachtwoord en stel in het instellingenmenu een nieuwe herstelmethode in.",
"<b>Warning</b>: Upgrading a room will <i>not automatically migrate room members to the new version of the room.</i> 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.": "<b>Let op</b>: gesprekken bijwerken <i>voegt gespreksleden niet automatisch toe aan de nieuwe versie van het gesprek</i>. Er komt in het oude gesprek een koppeling naar het nieuwe, waarop gespreksleden moeten klikken om aan het nieuwe gesprek deel te nemen.", "<b>Warning</b>: Upgrading a room will <i>not automatically migrate room members to the new version of the room.</i> 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.": "<b>Let op</b>: gesprekken bijwerken <i>voegt gespreksleden niet automatisch toe aan de nieuwe versie van het gesprek</i>. Er komt in het oude gesprek een koppeling naar het nieuwe, waarop gespreksleden moeten klikken om aan het nieuwe gesprek deel te nemen.",
"Adds a custom widget by URL to the room": "Voegt met een URL een aangepaste widget toe aan het gesprek", "Adds a custom widget by URL to the room": "Voegt met een URL een aangepaste widget toe aan het gesprek",
"Please supply a https:// or http:// widget URL": "Voer een https://- of http://-widget-URL in", "Please supply a https:// or http:// widget URL": "Voer een https://- of http://-widget-URL in",
@ -1884,7 +1884,7 @@
"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.": "Verifieer dit apparaat om het als vertrouwd te markeren. Door dit apparaat te vertrouwen geeft u extra gemoedsrust aan uzelf en andere gebruikers bij het gebruik van eind-tot-eind-versleutelde berichten.", "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.": "Verifieer dit apparaat om het als vertrouwd te markeren. Door dit apparaat te vertrouwen geeft u extra gemoedsrust aan uzelf en andere gebruikers bij het gebruik van eind-tot-eind-versleutelde berichten.",
"Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Dit apparaat verifiëren zal het als vertrouwd markeren, en gebruikers die met u geverifieerd hebben zullen het vertrouwen.", "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Dit apparaat verifiëren zal het als vertrouwd markeren, en gebruikers die met u geverifieerd hebben zullen het vertrouwen.",
"Integrations are disabled": "Integraties zijn uitgeschakeld", "Integrations are disabled": "Integraties zijn uitgeschakeld",
"Enable 'Manage Integrations' in Settings to do this.": "Schakel Beheer integraties in in de instellingen om dit te doen.", "Enable 'Manage Integrations' in Settings to do this.": "Schakel in het Algemene Instellingenmenu Beheer integraties in om dit te doen.",
"Integrations not allowed": "Integraties niet toegestaan", "Integrations not allowed": "Integraties niet toegestaan",
"Your %(brand)s doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Uw %(brand)s laat u geen integratiebeheerder gebruiken om dit te doen. Neem contact op met een beheerder.", "Your %(brand)s doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Uw %(brand)s laat u geen integratiebeheerder gebruiken om dit te doen. Neem contact op met een beheerder.",
"Failed to invite the following users to chat: %(csvUsers)s": "Het uitnodigen van volgende gebruikers voor gesprek is mislukt: %(csvUsers)s", "Failed to invite the following users to chat: %(csvUsers)s": "Het uitnodigen van volgende gebruikers voor gesprek is mislukt: %(csvUsers)s",
@ -2027,5 +2027,273 @@
"Restart": "Herstarten", "Restart": "Herstarten",
"People": "Tweegesprekken", "People": "Tweegesprekken",
"Set a room address to easily share your room with other people.": "Geef het gesprek een adres om het gemakkelijk met anderen te kunnen delen.", "Set a room address to easily share your room with other people.": "Geef het gesprek een adres om het gemakkelijk met anderen te kunnen delen.",
"Invite people to join %(communityName)s": "Stuur uitnodigingen voor %(communityName)s" "Invite people to join %(communityName)s": "Stuur uitnodigingen voor %(communityName)s",
"Unable to access microphone": "Je microfoon lijkt niet beschikbaar",
"The call was answered on another device.": "De oproep werd op een ander toestel beantwoord.",
"Answered Elsewhere": "Ergens anders beantwoord",
"The call could not be established": "De oproep kon niet worden volbracht",
"The other party declined the call.": "De tegenpartij heeft je oproep afgewezen.",
"Call Declined": "Oproep Afgewezen",
"Bahrain": "Bahrein",
"Bahamas": "Bahama's",
"Azerbaijan": "Azerbeidzjan",
"Austria": "Oostenrijk",
"Australia": "Australië",
"Aruba": "Aruba",
"Armenia": "Armenië",
"Argentina": "Argentinië",
"Antigua & Barbuda": "Antigua & Barbuda",
"Antarctica": "Antarctica",
"Anguilla": "Anguilla",
"Angola": "Angola",
"Andorra": "Andorra",
"American Samoa": "Amerikaans Samoa",
"Algeria": "Algerije",
"Albania": "Albanië",
"Åland Islands": "Åland",
"Afghanistan": "Afghanistan",
"United States": "Verenigde Staten",
"United Kingdom": "Verenigd Koninkrijk",
"This will end the conference for everyone. Continue?": "Dit beëindigt de vergadering voor iedereen. Doorgaan?",
"End conference": "Beëindig vergadering",
"You've reached the maximum number of simultaneous calls.": "Je hebt het maximum aantal van gelijktijdige oproepen bereikt.",
"Too Many Calls": "Te veel oproepen",
"No other application is using the webcam": "Geen andere applicatie de camera gebruikt",
"Permission is granted to use the webcam": "Toegang tot de webcam is toegestaan",
"A microphone and webcam are plugged in and set up correctly": "Een microfoon en webcam zijn aangesloten en juist ingesteld",
"Call failed because webcam or microphone could not be accessed. Check that:": "Oproep mislukt omdat er geen toegang is tot de webcam of de microfoon. Kijk na dat:",
"Unable to access webcam / microphone": "Je webcam of microfoon lijkt niet beschikbaar",
"Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "Oproep mislukt omdat er geen toegang is tot de microfoon. Kijk na dat de microfoon juist is aangesloten en ingesteld.",
"Video conference started by %(senderName)s": "Videovergadering gestart door %(senderName)s",
"Video conference updated by %(senderName)s": "Videovergadering geüpdatet door %(senderName)s",
"Video conference ended by %(senderName)s": "Videovergadering beëindigt door %(senderName)s",
"Join the conference from the room information card on the right": "Neem deel aan de vergadering via de informatiekaart rechts",
"List options": "Lijstopties",
"A-Z": "A-Z",
"Activity": "Activiteit",
"Sort by": "Sorteer op",
"Compare emoji": "Vergelijk de emoji's",
"Verification cancelled": "Verificatie geannuleerd",
"You cancelled verification.": "Je hebt de verificatie geannuleerd.",
"%(displayName)s cancelled verification.": "%(displayName)s heeft de verificatie geannuleerd.",
"You cancelled verification on your other session.": "Je hebt de verificatie vanuit jouw andere sessie beëindigt.",
"Verification timed out.": "Verificatie verlopen.",
"Start verification again from their profile.": "Begin verificatie opnieuw vanaf hun profiel.",
"Romania": "Roemenië",
"St. Martin": "Sint Maarten/Sint-Maarten",
"St. Kitts & Nevis": "Saint Kitts en Nevis",
"St. Barthélemy": "Saint-Barthélemy",
"South Korea": "Zuid-Korea",
"Somalia": "Somalië",
"Papua New Guinea": "Papoea-Nieuw-Guinea",
"North Korea": "Noord-Korea",
"Netherlands": "Nederland",
"Malta": "Malta",
"Mali": "Mali",
"Macau": "Macau",
"Laos": "Laos",
"Kosovo": "Kosovo",
"India": "India",
"Guinea": "Guinee",
"Guinea-Bissau": "Guinee-Bissau",
"Gibraltar": "Gibraltar",
"Georgia": "Georgië",
"Equatorial Guinea": "Equatoriaal-Guinea",
"Dominican Republic": "Dominicaanse Republiek",
"Dominica": "Dominica",
"Czech Republic": "Tsjechië",
"Congo - Kinshasa": "Congo-Kinshasa",
"Congo - Brazzaville": "Congo-Brazzaville",
"Caribbean Netherlands": "Caribisch Nederland",
"Cape Verde": "Kaapverdië",
"British Indian Ocean Territory": "Brits Indische Oceaanterritorium",
"Zimbabwe": "Zimbabwe",
"Zambia": "Zambia",
"Yemen": "Jemen",
"Western Sahara": "Westelijke Sahara",
"Wallis & Futuna": "Wallis en Futuna",
"U.S. Virgin Islands": "Amerikaanse Maagdeneilanden",
"British Virgin Islands": "Britse Maagdeneilanden",
"Vietnam": "Vietnam",
"Venezuela": "Venezuela",
"Vanuatu": "Vanuatu",
"Uzbekistan": "Oezbekistan",
"Uruguay": "Uruguay",
"Ireland": "Verenigd Koninkrijk",
"United Arab Emirates": "Verenigde Arabische Emiraten",
"Ukraine": "Oekraïne",
"Uganda": "Oeganda",
"Tuvalu": "Tuvalu",
"Turks & Caicos Islands": "Turks- en Caicoseilanden",
"Turkmenistan": "Turkmenistan",
"Turkey": "Turkije",
"Tunisia": "Tunesië",
"Trinidad & Tobago": "Trinidad en Tobago",
"Tonga": "Tonga",
"Tokelau": "Tokelau",
"Togo": "Togo",
"Timor-Leste": "Oost-Timor",
"Thailand": "Thailand",
"Tanzania": "Tanzania",
"Tajikistan": "Tadzjikistan",
"Syria": "Syrië",
"Switzerland": "Zwitserland",
"Sweden": "Zweden",
"Svalbard & Jan Mayen": "Spitsbergen en Jan Mayen",
"Suriname": "Suriname",
"Sri Lanka": "Sri Lanka",
"Spain": "Spanje",
"South Africa": "Zuid-Afrika",
"Solomon Islands": "Salomonseilanden",
"Slovenia": "Slovenië",
"Slovakia": "Slowakije",
"Sint Maarten": "Sint Maarten",
"Singapore": "Singapore",
"Sierra Leone": "Sierra Leone",
"Seychelles": "Seychellen",
"Serbia": "Servië",
"Senegal": "Senegal",
"Saudi Arabia": "Saoedi-Arabië",
"San Marino": "San Marino",
"Samoa": "Samoa",
"Rwanda": "Rwanda",
"Russia": "Rusland",
"Réunion": "Réunion",
"Qatar": "Qatar",
"Puerto Rico": "Puerto Rico",
"Portugal": "Portugal",
"Poland": "Polen",
"Pitcairn Islands": "Pitcairneilanden",
"Philippines": "Filipijnen",
"Peru": "Peru",
"Paraguay": "Paraguay",
"Panama": "Panama",
"Palestine": "Palestina",
"Palau": "Palau",
"Pakistan": "Pakistan",
"Norway": "Noorwegen",
"Northern Mariana Islands": "Noordelijke Marianen",
"Macedonia": "Noord-Macedonië",
"Norfolk Island": "Norfolk",
"Niue": "Niue",
"Nigeria": "Nigeria",
"Niger": "Niger",
"Nicaragua": "Nicaragua",
"New Zealand": "Nieuw-Zeeland",
"New Caledonia": "Nieuw-Caledonië",
"Nepal": "Nepal",
"Nauru": "Nauru",
"Namibia": "Namibië",
"Myanmar": "Myanmar",
"Mozambique": "Mozambique",
"Morocco": "Marokko",
"Montserrat": "Montserrat",
"Montenegro": "Montenegro",
"Mongolia": "Mongolië",
"Monaco": "Monaco",
"Moldova": "Moldavië",
"Micronesia": "Micronesia",
"Mexico": "Mexico",
"Mayotte": "Mayotte",
"Mauritius": "Mauritius",
"Mauritania": "Mauritanië",
"Martinique": "Martinique",
"Marshall Islands": "Marshalleilanden",
"Maldives": "Maldiven",
"Malaysia": "Maleisië",
"Malawi": "Malawi",
"Madagascar": "Madagaskar",
"Luxembourg": "Luxemburg",
"Lithuania": "Litouwen",
"Liechtenstein": "Liechtenstein",
"Libya": "Libië",
"Liberia": "Liberia",
"Lesotho": "Lesotho",
"Lebanon": "Libanon",
"Latvia": "Letland",
"Kyrgyzstan": "Kirgizië",
"Kuwait": "Koeweit",
"Kiribati": "Kiribati",
"Kenya": "Kenia",
"Kazakhstan": "Kazachstan",
"Jordan": "Jordanië",
"Jersey": "Jersey",
"Japan": "Japan",
"Jamaica": "Jamaica",
"Italy": "Italië",
"Israel": "Israël",
"Isle of Man": "Man",
"Iraq": "Irak",
"Iran": "Iran",
"Indonesia": "Indonesië",
"Iceland": "IJsland",
"Hungary": "Hongarije",
"Hong Kong": "Hongkong",
"Honduras": "Honduras",
"Heard & McDonald Islands": "Heard en McDonaldeilanden",
"Haiti": "Haïti",
"Guyana": "Guyana",
"Guernsey": "Guernsey",
"Guatemala": "Guatemala",
"Guam": "Guam",
"Guadeloupe": "Guadeloupe",
"Grenada": "Grenada",
"Greenland": "Groenland",
"Greece": "Griekenland",
"Ghana": "Ghana",
"Germany": "Duitsland",
"Gambia": "Gambia",
"Gabon": "Gabon",
"French Southern Territories": "Franse Zuidelijke en Antarctische Gebieden",
"French Polynesia": "Frans-Polynesië",
"French Guiana": "Frans-Guyana",
"France": "Frankrijk",
"Finland": "Finland",
"Fiji": "Fiji",
"Faroe Islands": "Faeröer",
"Falkland Islands": "Falklandeilanden",
"Ethiopia": "Ethiopië",
"Estonia": "Estland",
"Eritrea": "Eritrea",
"El Salvador": "El Salvador",
"Egypt": "Egypte",
"Ecuador": "Ecuador",
"Djibouti": "Djibouti",
"Denmark": "Denemarken",
"Cyprus": "Cyprus",
"Curaçao": "Curaçao",
"Cuba": "Cuba",
"Croatia": "Kroatië",
"Côte dIvoire": "Ivoorkust",
"Costa Rica": "Costa Rica",
"Cook Islands": "Cookeilanden",
"Comoros": "Comoren",
"Colombia": "Colombia",
"Cocos (Keeling) Islands": "Cocoseilanden",
"Christmas Island": "Christmaseiland",
"China": "China",
"Chile": "Chili",
"Chad": "Tsjaad",
"Central African Republic": "Centraal-Afrikaanse Republiek",
"Cayman Islands": "Kaaimaneilanden",
"Canada": "Canada",
"Cameroon": "Kameroen",
"Cambodia": "Cambodja",
"Burundi": "Burundi",
"Burkina Faso": "Burkina Faso",
"Bulgaria": "Bulgarije",
"Brunei": "Brunei",
"Brazil": "Brazilië",
"Bouvet Island": "Bouveteiland",
"Botswana": "Botswana",
"Bosnia": "Bosnië en Herzegovina",
"Bolivia": "Bolivia",
"Bhutan": "Bhutan",
"Bermuda": "Bermuda",
"Benin": "Benin",
"Belize": "Belize",
"Belgium": "België",
"Belarus": "Wit-Rusland",
"Barbados": "Barbados",
"Bangladesh": "Bangladesh"
} }

View file

@ -744,7 +744,7 @@
"Labs": "Labben", "Labs": "Labben",
"Check for update": "Sjå etter oppdateringar", "Check for update": "Sjå etter oppdateringar",
"Reject all %(invitedRooms)s invites": "Kanseller alle invitasjonar frå %(invitedRooms)s", "Reject all %(invitedRooms)s invites": "Kanseller alle invitasjonar frå %(invitedRooms)s",
"Start automatically after system login": "Start automagisk etter systeminnlogging", "Start automatically after system login": "Start automatisk etter systeminnlogging",
"No media permissions": "Ingen mediatilgang", "No media permissions": "Ingen mediatilgang",
"You may need to manually permit %(brand)s to access your microphone/webcam": "Det kan henda at du må gje %(brand)s tilgang til mikrofonen/nettkameraet for hand", "You may need to manually permit %(brand)s to access your microphone/webcam": "Det kan henda at du må gje %(brand)s tilgang til mikrofonen/nettkameraet for hand",
"No Audio Outputs detected": "Ingen ljodavspelingseiningar funne", "No Audio Outputs detected": "Ingen ljodavspelingseiningar funne",
@ -1332,5 +1332,44 @@
"Order rooms by name": "Sorter rom etter namn", "Order rooms by name": "Sorter rom etter namn",
"Show rooms with unread notifications first": "Vis rom med ulesne varsel fyrst", "Show rooms with unread notifications first": "Vis rom med ulesne varsel fyrst",
"Show rooms with unread messages first": "Vis rom med ulesne meldingar fyrst", "Show rooms with unread messages first": "Vis rom med ulesne meldingar fyrst",
"People": "Folk" "People": "Folk",
"Show tray icon and minimize window to it on close": "Vis ikon i systemstatusfeltet og minimer vindauget dit ved lukking",
"Always show the window menu bar": "Vis alltid menyfeltet i toppen av vindauget",
"Report a bug": "Send inn feilrapport",
"%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please <issueLink>submit a bug report</issueLink>.": "Feilkode %(errcode)s vart returnert under lasting av rommet. Viss du trur dette er ein feil, <issueLink>send inn ein feilrapport</issueLink>.",
"Feedback": "Tilbakemeldingar",
"Security & privacy": "Sikkerheit og personvern",
"All settings": "Alle innstillingar",
"Use default": "Bruk standard",
"Delete Backup": "Slett sikkerheitskopi",
"Restore from Backup": "Gjenopprett frå sikkerheitskopi",
"This session is backing up your keys. ": "Denne økta har aktivert sikkerheitskopiering av nøklane dine ",
"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 Recovery Key.": "Lag sikkerheitskopiar av krypteringsnøklane saman med kontoinnstillingane, slik at du kan gjenopprette data viss det skulle skje at du å mister tilgang til øktene dine. Sikkerheitskopiane er beskytta med ein unik gjenopprettingsnøkkel (Recovery Key).",
"Encryption": "Kryptografi",
"Use Ctrl + Enter to send a message": "Bruk tastekombinasjonen Ctrl + Enter for å sende meldingar",
"Set the name of a font installed on your system & %(brand)s will attempt to use it.": "Skriv namnet på skrifttypen(fonten) og %(brand)s forsøka å henta den frå operativsystemet.",
"Use a system font": "Bruk tilpassa skrifttype henta frå operativsystemet",
"System font name": "Namn på skrifttype",
"Enable experimental, compact IRC style layout": "Bruk ei kompakt, IRC-liknande visning (eksperimentell)",
"Use a more compact Modern layout": "Bruk 'Modern layout' - ei meir kompakt visning",
"Custom font size can only be between %(min)s pt and %(max)s pt": "Tilpassa skriftstorleik må vere mellom %(min)s og %(max)s punkt",
"Font size": "Skriftstorleik",
"Dark": "Mørkt tema",
"Light": "Lyst tema",
"Appearance": "Utsjånad",
"Appearance Settings only affect this %(brand)s session.": "Innstillingane gjeld berre for denne %(brand)s-økta.",
"Customise your appearance": "Tilpass utsjånad",
"Change notification settings": "Endra varslingsinnstillingar",
"Enable desktop notifications": "Aktiver skrivebordsvarsel",
"Toggle video on/off": "Slå video på/av",
"Video conference started by %(senderName)s": "Videokonferanse starta av %(senderName)s",
"Video conference updated by %(senderName)s": "Videokonferanse oppdatert av %(senderName)s",
"Video conference ended by %(senderName)s": "Videokonferanse avslutta av %(senderName)s",
"Show previews of messages": "Vis førehandsvisningar for meldingar",
"Activity": "Aktivitet",
"Sort by": "Sorter etter",
"List options": "Sjå alternativ",
"Explore Public Rooms": "Utforsk offentlege rom",
"Explore all public rooms": "Utforsk alle offentlege rom",
"Explore public rooms": "Utforsk offentlege rom"
} }

View file

@ -1970,5 +1970,70 @@
"Mayotte": "Majotta", "Mayotte": "Majotta",
"Mauritius": "Mauritius", "Mauritius": "Mauritius",
"Mauritania": "Mauretania", "Mauritania": "Mauretania",
"Martinique": "Martynika" "Martinique": "Martynika",
"Room %(name)s": "Pokój %(name)s",
"This is the start of <roomName/>.": "Oto początek <roomName/>.",
"Add a photo, so people can easily spot your room.": "Dodaj zdjęcie, aby inni mogli łatwo zauważyć Twój pokój.",
"%(displayName)s created this room.": "%(displayName)s utworzył(a) ten pokój.",
"You created this room.": "Utworzyłeś(-aś) ten pokój.",
"Topic: %(topic)s ": "Temat: %(topic)s ",
"Topic: %(topic)s (<a>edit</a>)": "Temat: %(topic)s (<a>edytuj</a>)",
"Only the two of you are in this conversation, unless either of you invites anyone to join.": "Tylko Wy jesteście w tej konwersacji, dopóki ktoś z Was nie zaprosi tu innej osoby.",
"This is the beginning of your direct message history with <displayName/>.": "Oto początek historii Twojej rozmowy bezpośredniej z <displayName/>.",
"%(count)s results|other": "%(count)s wyniki(-ów)",
"Security & privacy": "Bezpieczeństwo i prywatność",
"Start chatting": "Rozpocznij rozmowę",
"<userName/> wants to chat": "<userName/> chce porozmawiać",
"Rejecting invite …": "Odrzucanie zaproszenia…",
"Use the + to make a new room or explore existing ones below": "Użyj + aby utworzyć nowy pokój, lub przeglądaj istniejące poniżej",
"%(count)s results|one": "%(count)s wynik",
"Custom Tag": "Niestandardowy tag",
"Explore community rooms": "Przeglądaj pokoje społeczności",
"Hide Widgets": "Ukryj widgety",
"No recently visited rooms": "Brak ostatnio odwiedzonych pokoi",
"Show Widgets": "Pokaż widgety",
"Can't see what youre looking for?": "Nie możesz znaleźć tego, czego szukasz?",
"Start a new chat": "Rozpocznij nową rozmowę",
"Change the name of this room": "Zmień nazwę tego pokoju",
"Interactively verify by Emoji": "Zweryfikuj interaktywnie przez Emoji",
"Not Trusted": "Nie zaufany(-a)",
"Ask this user to verify their session, or manually verify it below.": "Poproś go/ją o zweryfikowanie tej sesji bądź zweryfikuj ją osobiście poniżej.",
"%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s%(userId)s zalogował(a) się do nowej sesji bez zweryfikowania jej:",
"Verify your other session using one of the options below.": "Zweryfikuj swoje pozostałe sesje używając jednej z opcji poniżej.",
"You signed in to a new session without verifying it:": "Zalogowałeś się do nowej sesji bez jej zweryfikowania;",
"%(senderName)s changed a rule that was banning servers matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s zmienił regułę banującą serwery pasujące do wzorca na %(oldGlob)s ustawiając nowy wzorzec %(newGlob)s z powodu %(reason)s",
"%(senderName)s changed a rule that was banning rooms matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s zmienił regułę banującą pokoje pasujące do wzorca na %(oldGlob)s ustawiając nowy wzorzec %(newGlob)s z powodu %(reason)s",
"%(senderName)s changed a rule that was banning users matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s zmienił regułę banującą użytkowników pasujących do wzorca na %(oldGlob)s ustawiając nowy wzorzec %(newGlob)s z powodu %(reason)s",
"%(senderName)s created a rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s utworzył regułę banującą serwery pasujące do wzorca %(glob)s z powodu %(reason)s",
"%(senderName)s created a rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s utworzył regułę banującą pokoje pasujące do wzorca %(glob)s z powodu %(reason)s",
"%(senderName)s created a rule banning users matching %(glob)s for %(reason)s": "%(senderName)s utworzył regułę banującą użytkowników pasujących do wzorca %(glob)s z powodu %(reason)s",
"%(senderName)s updated the rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s zaktualizował regułę banującą serwery pasujące do wzorca %(glob)s z powodu %(reason)s",
"%(senderName)s updated the rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s zaktualizował regułę banującą pokoje pasujące do wzorca %(glob)s z powodu %(reason)s",
"%(senderName)s updated the rule banning users matching %(glob)s for %(reason)s": "%(senderName)s zaktualizował regułę banującą użytkowników pasujących do wzorca %(glob)s z powodu %(reason)s",
"%(senderName)s updated an invalid ban rule": "%(senderName)s zaktualizował nieprawidłową regułę banującą",
"%(senderName)s removed the rule banning servers matching %(glob)s": "%(senderName)s usunął regułę banującą serwery pasujące do wzorca %(glob)s",
"%(senderName)s removed the rule banning rooms matching %(glob)s": "%(senderName)s usunął regułę banującą pokoje pasujące do wzorca %(glob)s",
"%(senderName)s removed the rule banning users matching %(glob)s": "%(senderName)s usunął regułę banującą użytkowników pasujących do wzorca %(glob)s",
"%(senderName)s declined the call.": "%(senderName)s odrzucił(a) połączenie.",
"(an error occurred)": "(wystąpił błąd)",
"(their device couldn't start the camera / microphone)": "(ich urządzenie nie może uruchomić kamery / mikrofonu)",
"(connection failed)": "(połączenie nieudane)",
"%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s usunął(-ęła) alternatywny adres %(addresses)s tego pokoju.",
"%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s usunął(-ęła) alternatywny adres %(addresses)s tego pokoju.",
"🎉 All servers are banned from participating! This room can no longer be used.": "🎉 Wszystkie serwery zostały wykluczone z uczestnictwa! Ten pokój nie może być już używany.",
"Effects": "Efekty",
"Japan": "Japonia",
"Jamaica": "Jamajka",
"Italy": "Włochy",
"You've reached the maximum number of simultaneous calls.": "Osiągnięto maksymalną liczbę jednoczesnych połączeń.",
"Too Many Calls": "Zbyt wiele połączeń",
"No other application is using the webcam": "Kamera nie jest obecnie używana przez inną aplikację",
"Permission is granted to use the webcam": "Przyznano uprawnienia dostępu do kamery",
"A microphone and webcam are plugged in and set up correctly": "Mikrofon i kamera są podpięte i skonfigurowane prawidłowo",
"Call failed because webcam or microphone could not be accessed. Check that:": "Połączenie nieudane z powodu braku dostępu do kamery bądź mikrofonu. Sprawdź czy:",
"Unable to access webcam / microphone": "Nie można uzyskać dostępu do kamery / mikrofonu",
"Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "Nie udało się zestawić połączenia z powodu braku dostępu do mikrofonu. Sprawdź czy mikrofon jest podłączony i poprawnie skonfigurowany.",
"Unable to access microphone": "Nie można uzyskać dostępu do mikrofonu",
"Forgot password?": "Nie pamiętasz hasła?",
"Use an identity server to invite by email. Manage in <settings>Settings</settings>.": "Użyj serwera tożsamości, aby zapraszać przez e-mail. Zarządzaj w <settings>Ustawieniach</settings>."
} }

View file

@ -2903,5 +2903,14 @@
"You held the call <a>Resume</a>": "Você pausou a chamada <a>Retomar</a>", "You held the call <a>Resume</a>": "Você pausou a chamada <a>Retomar</a>",
"You've reached the maximum number of simultaneous calls.": "Você atingiu o número máximo de chamadas simultâneas.", "You've reached the maximum number of simultaneous calls.": "Você atingiu o número máximo de chamadas simultâneas.",
"Too Many Calls": "Muitas chamadas", "Too Many Calls": "Muitas chamadas",
"%(name)s paused": "%(name)s pausou" "%(name)s paused": "%(name)s pausou",
"You held the call <a>Switch</a>": "Você pausou a chamada <a>Retomar</a>",
"%(name)s on hold": "%(name)s em espera",
"sends snowfall": "envia neve caindo",
"Sends the given message with snowfall": "Envia a mensagem com neve caindo",
"sends fireworks": "envia fogos de artifício",
"Sends the given message with fireworks": "Envia a mensagem com fogos de artifício",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "Adiciona ┬──┬ ( ゜-゜ノ) a uma mensagem de texto simples",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "Adiciona (╯°□°)╯︵ ┻━┻ a uma mensagem de texto",
"You have no visible notifications.": "Não há notificações."
} }

View file

@ -2455,7 +2455,7 @@
"User settings": "Пользовательские настройки", "User settings": "Пользовательские настройки",
"Community and user menu": "Сообщество и меню пользователя", "Community and user menu": "Сообщество и меню пользователя",
"Privacy": "Конфиденциальность", "Privacy": "Конфиденциальность",
"Prepends ( ͡° ͜ʖ ͡°) to a plain-text message": "Добавляет ( ͡° ͜ʖ ͡°) к текстовому сообщению", "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message": "Добавляет ( ͡° ͜ʖ ͡°) в начало сообщения",
"Unknown App": "Неизвестное приложение", "Unknown App": "Неизвестное приложение",
"%(count)s results|one": "%(count)s результат", "%(count)s results|one": "%(count)s результат",
"Room Info": "Информация о комнате", "Room Info": "Информация о комнате",
@ -2963,5 +2963,17 @@
"You held the call <a>Resume</a>": "Вы удерживаете звонок <a>Возобновить</a>", "You held the call <a>Resume</a>": "Вы удерживаете звонок <a>Возобновить</a>",
"%(name)s paused": "%(name)s приостановлен", "%(name)s paused": "%(name)s приостановлен",
"You've reached the maximum number of simultaneous calls.": "Вы достигли максимального количества одновременных звонков.", "You've reached the maximum number of simultaneous calls.": "Вы достигли максимального количества одновременных звонков.",
"Too Many Calls": "Слишком много звонков" "Too Many Calls": "Слишком много звонков",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "Добавляет ┬──┬ ( ゜-゜ノ) в начало сообщения",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "Добавляет (╯°□°)╯︵ ┻━┻ в начало сообщения",
"sends fireworks": "отправляет фейерверк",
"Sends the given message with fireworks": "Отправляет сообщение с фейерверком",
"%(name)s on hold": "%(name)s на удержании",
"You held the call <a>Switch</a>": "Вы удерживаете звонок <a>Переключить</a>",
"sends snowfall": "отправляет снегопад",
"Sends the given message with snowfall": "Отправляет сообщение со снегопадом",
"You have no visible notifications.": "У вас нет видимых уведомлений.",
"Transfer": "Перевод",
"Failed to transfer call": "Не удалось перевести звонок",
"A call can only be transferred to a single user.": "Вызов может быть передан только одному пользователю."
} }

View file

@ -807,7 +807,7 @@
"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.": "Nëse më herët keni përdorur një version më të freskët të %(brand)s-it, sesioni juaj mund të jetë i papërputhshëm me këtë version. Mbylleni këtë dritare dhe kthehuni te versioni më i ri.", "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.": "Nëse më herët keni përdorur një version më të freskët të %(brand)s-it, sesioni juaj mund të jetë i papërputhshëm me këtë version. Mbylleni këtë dritare dhe kthehuni te versioni më i ri.",
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Spastrimi i gjërave të depozituara në shfletuesin tuaj mund ta ndreqë problemin, por kjo do të sjellë nxjerrjen tuaj nga llogari dhe do ta bëjë të palexueshëm çfarëdo historiku të fshehtëzuar të bisedës.", "Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Spastrimi i gjërave të depozituara në shfletuesin tuaj mund ta ndreqë problemin, por kjo do të sjellë nxjerrjen tuaj nga llogari dhe do ta bëjë të palexueshëm çfarëdo historiku të fshehtëzuar të bisedës.",
"If you already have a Matrix account you can <a>log in</a> instead.": "Nëse keni tashmë një llogari Matrix, mund <a>të bëni hyrjen</a>.", "If you already have a Matrix account you can <a>log in</a> instead.": "Nëse keni tashmë një llogari Matrix, mund <a>të bëni hyrjen</a>.",
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Krijoni një bashkësi që bëni tok përdorues dhe dhoma! Krijoni një faqe hyrëse vetjake, që të ravijëzoni hapësirën tuaj në universin Matrix.", "Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Krijoni një bashkësi që bëni tok përdorues dhe dhoma! Krijoni një faqe hyrëse vetjake, që të ravijëzoni hapësirën tuaj në universin Matrix.",
"Sent messages will be stored until your connection has returned.": "Mesazhet e dërguar do të depozitohen deri sa lidhja juaj të jetë rikthyer.", "Sent messages will be stored until your connection has returned.": "Mesazhet e dërguar do të depozitohen deri sa lidhja juaj të jetë rikthyer.",
"Server may be unavailable, overloaded, or search timed out :(": "Shërbyesi mund të jetë i pakapshëm, i mbingarkuar, ose kërkimit i mbaroi koha :(", "Server may be unavailable, overloaded, or search timed out :(": "Shërbyesi mund të jetë i pakapshëm, i mbingarkuar, ose kërkimit i mbaroi koha :(",
"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 and the usernames of other users. They do not contain messages.": "Nëse parashtruat një të metë përmes GitHub-it, regjistrat e diagnostikimit mund të na ndihmojnë të ndjekim problemin. Regjistrat e diagnostikimit përmbajnë të dhëna përdorimi, përfshi emrin tuaj të përdoruesit, ID-të ose aliaset e dhomave apo grupeve që keni vizituar dhe emrat e përdoruesve të përdoruesve të tjerë. Në to nuk përmbahen mesazhet.", "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 and the usernames of other users. They do not contain messages.": "Nëse parashtruat një të metë përmes GitHub-it, regjistrat e diagnostikimit mund të na ndihmojnë të ndjekim problemin. Regjistrat e diagnostikimit përmbajnë të dhëna përdorimi, përfshi emrin tuaj të përdoruesit, ID-të ose aliaset e dhomave apo grupeve që keni vizituar dhe emrat e përdoruesve të përdoruesve të tjerë. Në to nuk përmbahen mesazhet.",
@ -2963,5 +2963,16 @@
"You've reached the maximum number of simultaneous calls.": "Keni mbërritur në numrin maksimum të thirrjeve të njëkohshme.", "You've reached the maximum number of simultaneous calls.": "Keni mbërritur në numrin maksimum të thirrjeve të njëkohshme.",
"Too Many Calls": "Shumë Thirrje", "Too Many Calls": "Shumë Thirrje",
"Call failed because webcam or microphone could not be accessed. Check that:": "Thirrja dështoi, ngaqë su hy dot kamera ose mikrofoni. Kontrolloni që:", "Call failed because webcam or microphone could not be accessed. Check that:": "Thirrja dështoi, ngaqë su hy dot kamera ose mikrofoni. Kontrolloni që:",
"Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "Thirrja dështoi, ngaqë su hy dot te mikrofoni. Kontrolloni që të jetë futur një mikrofon dhe të jetë ujdisur saktësisht." "Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "Thirrja dështoi, ngaqë su hy dot te mikrofoni. Kontrolloni që të jetë futur një mikrofon dhe të jetë ujdisur saktësisht.",
"sends fireworks": "dërgon fishekzjarrë",
"Sends the given message with fireworks": "E dërgon me fishekzjarrë mesazhin e dhënë",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "E paraprin një mesazh tekst i thjeshtë me ┬──┬ ( ゜-゜ノ)",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "E paraprin një mesazh tekst i thjeshtë me (╯°□°)╯︵ ┻━┻",
"%(name)s on hold": "%(name)s e mbajtur",
"sends snowfall": "dërgon rënie bore",
"Sends the given message with snowfall": "E dërgon mesazhin e dhënë të stolisur me rënie bore",
"You have no visible notifications.": "Skeni njoftime të dukshme.",
"Transfer": "Shpërngule",
"Failed to transfer call": "Su arrit të shpërngulej thirrje",
"A call can only be transferred to a single user.": "Një thirrje mund të shpërngulet vetëm te një përdorues."
} }

View file

@ -1902,7 +1902,7 @@
"Show %(count)s more|other": "Visa %(count)s till", "Show %(count)s more|other": "Visa %(count)s till",
"Show %(count)s more|one": "Visa %(count)s till", "Show %(count)s more|one": "Visa %(count)s till",
"Use default": "Använd förval", "Use default": "Använd förval",
"Mentions & Keywords": "Benämningar & nyckelord", "Mentions & Keywords": "Omnämnanden & nyckelord",
"Notification options": "Aviseringsinställningar", "Notification options": "Aviseringsinställningar",
"Forget Room": "Glöm rum", "Forget Room": "Glöm rum",
"Favourited": "Favoritmarkerade", "Favourited": "Favoritmarkerade",
@ -2860,5 +2860,66 @@
"Show chat effects": "Visa chatteffekter", "Show chat effects": "Visa chatteffekter",
"Effects": "Effekter", "Effects": "Effekter",
"Call failed because webcam or microphone could not be accessed. Check that:": "Samtal misslyckades eftersom webbkamera eller mikrofon inte kunde kommas åt. Kolla att:", "Call failed because webcam or microphone could not be accessed. Check that:": "Samtal misslyckades eftersom webbkamera eller mikrofon inte kunde kommas åt. Kolla att:",
"Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "Samtal misslyckades eftersom att mikrofonen inte kunde kommas åt. Kolla att en mikrofon är inkopplat och korrekt inställd." "Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "Samtal misslyckades eftersom att mikrofonen inte kunde kommas åt. Kolla att en mikrofon är inkopplat och korrekt inställd.",
"Go to Home View": "Gå till hemvyn",
"Decide where your account is hosted": "Bestäm var ditt konto finns",
"Host account on": "Skapa kontot på",
"Already have an account? <a>Sign in here</a>": "Har du redan ett konto? <a>Logga in här</a>",
"%(ssoButtons)s Or %(usernamePassword)s": "%(ssoButtons)s Eller %(usernamePassword)s",
"Continue with %(ssoButtons)s": "Fortsätt med %(ssoButtons)s",
"That username already exists, please try another.": "Det användarnamnet finns redan, vänligen pröva ett annat.",
"New? <a>Create account</a>": "Ny? <a>Skapa konto</a>",
"There was a problem communicating with the homeserver, please try again later.": "Ett problem inträffade vi kommunikation med hemservern, vänligen försök igen senare.",
"New here? <a>Create an account</a>": "Ny här? <a>Skapa ett konto</a>",
"Got an account? <a>Sign in</a>": "Har du ett konto? <a>Logga in</a>",
"Filter rooms and people": "Filtrera rum och personer",
"<h1>HTML for your community's page</h1>\n<p>\n Use the long description to introduce new members to the community, or distribute\n some important <a href=\"foo\">links</a>\n</p>\n<p>\n You can even add images with Matrix URLs <img src=\"mxc://url\" />\n</p>\n": "<h1>HTML för din gemenskaps sida</h1>\n<p>\n Använd den långa beskrivningen för att introducera nya medlemmar till gemenskapen, eller\n sprida några viktiga <a href=\"foo\">länkar</a>\n</p>\n<p>\n Du kan till och med lägga till bilder med Matrix-URLer <img src=\"mxc://url\" />\n</p>\n",
"Use email to optionally be discoverable by existing contacts.": "Använd e-post för att valfritt kunna upptäckas av existerande kontakter.",
"Use email or phone to optionally be discoverable by existing contacts.": "Använd e-post eller telefon för att valfritt kunna upptäckas av existerande kontakter.",
"Add an email to be able to reset your password.": "Lägg till en e-postadress för att kunna återställa ditt lösenord.",
"Forgot password?": "Glömt lösenordet?",
"That phone number doesn't look quite right, please check and try again": "Det telefonnumret ser inte korrekt ut, vänligen kolla det och försök igen",
"Enter phone number": "Ange telefonnummer",
"Enter email address": "Ange e-postadress",
"Open the link in the email to continue registration.": "Öppna länken i e-brevet för att fortsätta registreringen.",
"A confirmation email has been sent to %(emailAddress)s": "Ett bekräftelse-e-brev har skickats till %(emailAddress)s",
"Hold": "Parkera",
"Resume": "Återuppta",
"Decline All": "Neka alla",
"Approve": "Godta",
"This widget would like to:": "Den här widgeten skulle vilja:",
"Approve widget permissions": "Godta widgetbehörigheter",
"About homeservers": "Om hemservrar",
"Learn more": "Läs mer",
"Use your preferred Matrix homeserver if you have one, or host your own.": "Använd din föredragna hemserver om du har en, eller driv din egen.",
"We call the places where you can host your account homeservers.": "Vi kallar platser där du kan ha ditt konto 'hemservrar'.",
"Other homeserver": "Annan hemserver",
"Sign into your homeserver": "Logga in på din hemserver",
"Matrix.org is the biggest public homeserver in the world, so its a good place for many.": "Matrix.org är den största offentliga hemservern i världen, så den är ett bra ställe för många.",
"Specify a homeserver": "Specificera en hemserver",
"Invalid URL": "Ogiltig URL",
"Unable to validate homeserver": "Kan inte validera hemservern",
"%(name)s on hold": "%(name)s parkerad",
"%(peerName)s held the call": "%(peerName)s parkerade samtalet",
"You held the call <a>Resume</a>": "Du parkerade samtalet <a>Återuppta</a>",
"You held the call <a>Switch</a>": "Du parkerade samtalet <a>Byt</a>",
"sends snowfall": "skickar snöfall",
"Sends the given message with snowfall": "Skickar det givna meddelandet med snöfall",
"sends fireworks": "skickar fyrverkerier",
"Sends the given message with fireworks": "Skicka det givna meddelandet med fyrverkerier",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "Lägger till ┬──┬ ( ゜-゜ノ) till början av ett textmeddelande",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "Lägger till (╯°□°)╯︵ ┻━┻ till början av ett textmeddelande",
"You've reached the maximum number of simultaneous calls.": "Du har nått det maximala antalet samtidiga samtal.",
"Too Many Calls": "För många samtal",
"You have no visible notifications.": "Du har inga synliga aviseringar.",
"Transfer": "Överlåt",
"Failed to transfer call": "Misslyckades att överlåta samtal",
"A call can only be transferred to a single user.": "Ett samtal kan bara överlåtas till en enskild användare.",
"There was an error finding this widget.": "Ett fel inträffade vid sökning efter widgeten.",
"Active Widgets": "Aktiva widgets",
"Open dial pad": "Öppna knappsats",
"Start a Conversation": "Starta en konversation",
"Dial pad": "Knappsats",
"There was an error looking up the phone number": "Ett fel inträffade vid uppslagning av telefonnumret",
"Unable to look up phone number": "Kunde inte slå upp telefonnumret"
} }

View file

@ -226,7 +226,7 @@
"This email address is already in use": "Bu e-posta adresi zaten kullanımda", "This email address is already in use": "Bu e-posta adresi zaten kullanımda",
"This email address was not found": "Bu e-posta adresi bulunamadı", "This email address was not found": "Bu e-posta adresi bulunamadı",
"The email address linked to your account must be entered.": "Hesabınıza bağlı e-posta adresi girilmelidir.", "The email address linked to your account must be entered.": "Hesabınıza bağlı e-posta adresi girilmelidir.",
"The remote side failed to pick up": "Uzak taraf toplanamadı(alınamadı)", "The remote side failed to pick up": "Karşı taraf cevaplayamadı",
"This room has no local addresses": "Bu oda hiçbir yerel adrese sahip değil", "This room has no local addresses": "Bu oda hiçbir yerel adrese sahip değil",
"This room is not recognised.": "Bu oda tanınmıyor.", "This room is not recognised.": "Bu oda tanınmıyor.",
"This doesn't appear to be a valid email address": "Bu geçerli bir e-posta adresi olarak gözükmüyor", "This doesn't appear to be a valid email address": "Bu geçerli bir e-posta adresi olarak gözükmüyor",
@ -902,7 +902,7 @@
"Show developer tools": "Geliştirici araçlarını göster", "Show developer tools": "Geliştirici araçlarını göster",
"Low bandwidth mode": "Düşük bant genişliği modu", "Low bandwidth mode": "Düşük bant genişliği modu",
"Messages containing my username": "Kullanıcı adımı içeren mesajlar", "Messages containing my username": "Kullanıcı adımı içeren mesajlar",
"When rooms are upgraded": "Odaların güncellenme zamanları", "When rooms are upgraded": "Odalar güncellendiğinde",
"My Ban List": "Yasaklı Listem", "My Ban List": "Yasaklı Listem",
"Verified!": "Doğrulandı!", "Verified!": "Doğrulandı!",
"You've successfully verified this user.": "Bu kullanıcıyı başarılı şekilde doğruladınız.", "You've successfully verified this user.": "Bu kullanıcıyı başarılı şekilde doğruladınız.",
@ -1150,7 +1150,7 @@
"Copied!": "Kopyalandı!", "Copied!": "Kopyalandı!",
"Failed to copy": "Kopyalama başarısız", "Failed to copy": "Kopyalama başarısız",
"edited": "düzenlendi", "edited": "düzenlendi",
"You are still <b>sharing your personal data</b> on the identity server <idserver />.": "Kimlik sunucusu üzerinde hala <b>kişisel veri paylaşımı</b> yapıyorsunuz \n<idserver />.", "You are still <b>sharing your personal data</b> on the identity server <idserver />.": "Kimlik sunucusu üzerinde hala <b>kişisel veri paylaşımı</b> yapıyorsunuz <idserver />.",
"We recommend that you remove your email addresses and phone numbers from the identity server before disconnecting.": "Kimlik sunucusundan bağlantıyı kesmeden önce telefon numaranızı ve e-posta adreslerinizi silmenizi tavsiye ederiz.", "We recommend that you remove your email addresses and phone numbers from the identity server before disconnecting.": "Kimlik sunucusundan bağlantıyı kesmeden önce telefon numaranızı ve e-posta adreslerinizi silmenizi tavsiye ederiz.",
"Set a new account password...": "Yeni bir hesap parolası belirle...", "Set a new account password...": "Yeni bir hesap parolası belirle...",
"Deactivating your account is a permanent action - be careful!": "Hesabınızı pasifleştirmek bir kalıcı eylemdir - dikkat edin!", "Deactivating your account is a permanent action - be careful!": "Hesabınızı pasifleştirmek bir kalıcı eylemdir - dikkat edin!",
@ -1243,7 +1243,7 @@
"Avoid years that are associated with you": "Sizle ilişkili yıllardan kaçının", "Avoid years that are associated with you": "Sizle ilişkili yıllardan kaçının",
"Avoid dates and years that are associated with you": "Sizle ilişkili tarihler ve yıllardan kaçının", "Avoid dates and years that are associated with you": "Sizle ilişkili tarihler ve yıllardan kaçının",
"Capitalization doesn't help very much": "Baş harfi büyük yapmak size pek yardımcı olmaz", "Capitalization doesn't help very much": "Baş harfi büyük yapmak size pek yardımcı olmaz",
"All-uppercase is almost as easy to guess as all-lowercase": "Bütün harflerin büyük olmasıyla tümünün küçük olması tahmin için hemen hemen aynı kolaylıktadır", "All-uppercase is almost as easy to guess as all-lowercase": "Bütün harflerin büyük olmasıyla tümünün küçük olması tahmin edilmesi bakımından hemen hemen aynı kolaylıktadır",
"Reversed words aren't much harder to guess": "Ters kelimeler tahmin için çok zor değil", "Reversed words aren't much harder to guess": "Ters kelimeler tahmin için çok zor değil",
"Repeats like \"aaa\" are easy to guess": "“aaa” gibi tekrarlar tahmin için oldukça kolay", "Repeats like \"aaa\" are easy to guess": "“aaa” gibi tekrarlar tahmin için oldukça kolay",
"Dates are often easy to guess": "Tarihler sıklıkla tahmin için daha kolaydır", "Dates are often easy to guess": "Tarihler sıklıkla tahmin için daha kolaydır",
@ -1592,7 +1592,7 @@
"To continue you need to accept the terms of this service.": "Devam etmek için bu servisi kullanma şartlarını kabul etmeniz gerekiyor.", "To continue you need to accept the terms of this service.": "Devam etmek için bu servisi kullanma şartlarını kabul etmeniz gerekiyor.",
"Upload files (%(current)s of %(total)s)": "Dosyaları yükle (%(current)s / %(total)s)", "Upload files (%(current)s of %(total)s)": "Dosyaları yükle (%(current)s / %(total)s)",
"Incorrect recovery passphrase": "Hatalı kurtarma parolası", "Incorrect recovery passphrase": "Hatalı kurtarma parolası",
"Failed to decrypt %(failedCount)s sessions!": "Çözümlemesi başarısız olan %(failedCount)s oturum!", "Failed to decrypt %(failedCount)s sessions!": "%(failedCount)s adet oturum çözümlenemedi!",
"Enter recovery passphrase": "Kurtarma parolasını girin", "Enter recovery passphrase": "Kurtarma parolasını girin",
"Confirm your identity by entering your account password below.": "Hesabınızın şifresini aşağıya girerek kimliğinizi teyit edin.", "Confirm your identity by entering your account password below.": "Hesabınızın şifresini aşağıya girerek kimliğinizi teyit edin.",
"An email has been sent to %(emailAddress)s": "%(emailAddress)s adresine bir e-posta gönderildi", "An email has been sent to %(emailAddress)s": "%(emailAddress)s adresine bir e-posta gönderildi",
@ -1635,7 +1635,7 @@
"Sends a message as plain text, without interpreting it as markdown": "Mesajı markdown kullanmadan basit metin olarak iletir", "Sends a message as plain text, without interpreting it as markdown": "Mesajı markdown kullanmadan basit metin olarak iletir",
"Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "E-posta ile davet etmek için kimlik sunucusu kullan. Varsayılan kimlik sunucusunu (%(defaultIdentityServerName)s) kullanmak için devam edin ya da ayarlardan değiştirin.", "Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "E-posta ile davet etmek için kimlik sunucusu kullan. Varsayılan kimlik sunucusunu (%(defaultIdentityServerName)s) kullanmak için devam edin ya da ayarlardan değiştirin.",
"Unignored user": "Reddedilmemiş kullanıcı", "Unignored user": "Reddedilmemiş kullanıcı",
"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!": "UYARI: ANAHTAR DOĞRULAMASI BAŞARISIZ! %(userld)s'nin/nın %(deviceld)s oturumu için imza anahtarı \"%(fprint)s\" verilen anahtar ile uyumsuz \"%(fingerprint)s\". Bu iletişiminizin engellendiği anlamına gelebilir!", "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!": "UYARI: ANAHTAR DOĞRULAMASI BAŞARISIZ! %(userld)s'nin/nın %(deviceId)s oturumu için imza anahtarı \"%(fprint)s\" verilen anahtar ile uyuşmuyor \"%(fingerprint)s\". Bu iletişiminizin engellendiği anlamına gelebilir!",
"The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "Verilen imza anahtarı %(userld)s'nin/nın %(deviceld)s oturumundan gelen anahtar ile uyumlu. Oturum doğrulanmış olarak işaretlendi.", "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "Verilen imza anahtarı %(userld)s'nin/nın %(deviceld)s oturumundan gelen anahtar ile uyumlu. Oturum doğrulanmış olarak işaretlendi.",
"Forces the current outbound group session in an encrypted room to be discarded": "Şifreli bir odadaki geçerli giden grup oturumunun atılmasını zorlar", "Forces the current outbound group session in an encrypted room to be discarded": "Şifreli bir odadaki geçerli giden grup oturumunun atılmasını zorlar",
"%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s oda ismini %(oldRoomName)s bununla değiştirdi %(newRoomName)s.", "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s oda ismini %(oldRoomName)s bununla değiştirdi %(newRoomName)s.",
@ -1726,7 +1726,7 @@
"Ok": "Tamam", "Ok": "Tamam",
"Set password": "Parola belirle", "Set password": "Parola belirle",
"To return to your account in future you need to set a password": "İleride hesabınızı tekrar kullanabilmek için bir parola belirlemeniz gerek", "To return to your account in future you need to set a password": "İleride hesabınızı tekrar kullanabilmek için bir parola belirlemeniz gerek",
"New login. Was this you?": "", "New login. Was this you?": "Yeni giriş. Bu siz miydiniz?",
"Restart": "Yeniden başlat", "Restart": "Yeniden başlat",
"You joined the call": "Çağrıya katıldınız", "You joined the call": "Çağrıya katıldınız",
"%(senderName)s joined the call": "%(senderName)s çağrıya katıldı", "%(senderName)s joined the call": "%(senderName)s çağrıya katıldı",
@ -1757,5 +1757,525 @@
"You were kicked": "Atıldınız", "You were kicked": "Atıldınız",
"%(targetName)s was kicked": "%(targetName)s atıldı", "%(targetName)s was kicked": "%(targetName)s atıldı",
"You rejected the invite": "Daveti reddettiniz", "You rejected the invite": "Daveti reddettiniz",
"%(targetName)s rejected the invite": "%(targetName)s daveti reddetti" "%(targetName)s rejected the invite": "%(targetName)s daveti reddetti",
"See when anyone posts a sticker to your active room": "Aktif odanızda birisi çıkartma paylaştığında görün",
"See when a sticker is posted in this room": "Bu odada çıkartma paylaşıldığında görün",
"See when the avatar changes in your active room": "Aktif odanızdaki avatar değişikliklerini görün",
"See when the avatar changes in this room": "Bu odadaki avatar değişikliklerini görün",
"The person who invited you already left the room, or their server is offline.": "Seni davet eden kişi zaten odadan ayrılmış yada sunucuları çevrim dışı.",
"The person who invited you already left the room.": "Seni davet eden kişi zaten odadan ayrılmış.",
"New version of %(brand)s is available": "%(brand)s 'in yeni versiyonu hazır",
"Update %(brand)s": "%(brand)s 'i güncelle",
"Verify the new login accessing your account: %(name)s": "Hesabınıza erişen yeni girişi onaylayın: %(name)s",
"Safeguard against losing access to encrypted messages & data": "Şifrelenmiş mesajlara ve verilere erişimi kaybetmemek için koruma sağlayın",
"Set up Secure Backup": "Güvenli Yedekleme kur",
"Enable desktop notifications": "Masaüstü bildirimlerini etkinleştir",
"Don't miss a reply": "Yanıtları kaçırma",
"Send <UsageDataLink>anonymous usage data</UsageDataLink> which helps us improve %(brand)s. This will use a <PolicyLink>cookie</PolicyLink>.": "%(brand)s 'i geliştirmemize yardımcı olan <UsageDataLink> gizli kullanım verilerini</UsageDataLink> gönder. Bu <PolicyLink> çerez</PolicyLink> kullanacaktır.",
"Help us improve %(brand)s": "%(brand)s 'i geliştirmemize yardım et",
"Unknown App": "Bilinmeyen uygulama",
"Error leaving room": "Odadan ayrılırken hata",
"This room is used for important messages from the Homeserver, so you cannot leave it.": "Bu oda, Ana Sunucudan gelen önemli mesajlar için kullanılır, bu yüzden ayrılamazsınız.",
"Can't leave Server Notices room": "Sunucu Bildirimleri odasından ayrılınamıyor",
"Unexpected server error trying to leave the room": "Odadan ayrılmaya çalışırken beklenmeyen sunucu hatası",
"See images posted to your active room": "Aktif odanıza gönderilen fotoğrafları görün",
"See emotes posted to your active room": "Aktif odanıza gönderilen ifadeleri görün",
"See emotes posted to this room": "Bu odaya gönderilen ifadeleri görün",
"See text messages posted to your active room": "Aktif odanıza gönderilen metin mesajlarını görün",
"See text messages posted to this room": "Bu odaya gönderilen metin mesajlarını gör",
"The <b>%(capability)s</b> capability": "<b>%(capability)s</b> kabiliyet",
"See messages posted to your active room": "Aktif odanıza gönderilen mesajları görün",
"See messages posted to this room": "Bu odaya gönderilen mesajları görün",
"Change the avatar of your active room": "Aktif odanın avatarını değiştir",
"Change the avatar of this room": "Bu odanın avatarını değiştir",
"Change the name of your active room": "Aktif odanızın ismini değiştirin",
"%(senderName)s declined the call.": "%(senderName)s aramayı reddetti.",
"🎉 All servers are banned from participating! This room can no longer be used.": "🎉 Tüm sunucuların katılımı yasaklanmıştır! Bu oda artık kullanılamaz.",
"Change the name of this room": "Bu odanın ismini değiştirin",
"Change the topic of your active room": "Aktif odanızın konusunu değiştirin",
"Change the topic of this room": "Bu odanın konusunu değiştirin",
"Change which room you're viewing": "Görüntülediğiniz odayı değiştirin",
"Send stickers into your active room": "Aktif odanıza çıkartma gönderin",
"Send stickers into this room": "Bu odaya çıkartma gönderin",
"(an error occurred)": "(bir hata meydana geldi)",
"(their device couldn't start the camera / microphone)": "(Cihazları kamerayı/mikrofonu başlatamadı )",
"(connection failed)": "(bağlantı hatası)",
"%(senderDisplayName)s changed the server ACLs for this room.": "%(senderDisplayName)s bu oda için sunucu ACL'lerini değiştirdi.",
"%(senderDisplayName)s set the server ACLs for this room.": "%(senderDisplayName)s bu oda için sunucu ACL'lerini ayarladı.",
"Takes the call in the current room off hold": "Mevcut odadaki aramayı beklemeden çıkarır",
"Places the call in the current room on hold": "Mevcut odadaki aramayı beklemeye alır",
"Please supply a widget URL or embed code": "Lütfen bir widget URL'si veya yerleşik kod girin",
"Prepends ( ͡° ͜ʖ ͡°) to a plain-text message": "Düz metin mesajının başına (͡ ° ͜ʖ ͡ °) ekler",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "Düz metin mesajının başına ┬──┬ (゜ - ゜ ) ekler",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "Düz metin mesajının başına (╯°□°)╯︵ ┻━┻ ekler",
"Zimbabwe": "Zimbabve",
"Zambia": "Zambiya",
"Yemen": "Yemen",
"Western Sahara": "Batı Sahra",
"Wallis & Futuna": "Wallis & Futuna",
"Vietnam": "Vietnam",
"Venezuela": "Venezuela",
"Vatican City": "Vatikan Şehri",
"Vanuatu": "Vanuatu",
"Uzbekistan": "Özbekistan",
"Uruguay": "Uruguay",
"United Arab Emirates": "Birleşik Arap Emirlikleri",
"Ukraine": "Ukrayna",
"Uganda": "Uganda",
"U.S. Virgin Islands": "Amerika Birleşik Devletleri Virgin Adaları",
"Tuvalu": "Tuvalu",
"Turks & Caicos Islands": "Turks ve Caicos Adaları",
"Turkmenistan": "Türkmenistan",
"Turkey": "Türkiye",
"Tunisia": "Tunus",
"Trinidad & Tobago": "Trinidad & Tobago",
"Tonga": "Tonga",
"Tokelau": "Tokelau",
"Togo": "Togo",
"Timor-Leste": "Doğu Timor",
"Thailand": "Tayland",
"Tanzania": "Tanzanya",
"Tajikistan": "Tajikistan",
"Taiwan": "Tayvan",
"São Tomé & Príncipe": "São Tomé ve Príncipe",
"Syria": "Suriye",
"Switzerland": "İsviçre",
"Sweden": "İsveç",
"Swaziland": "Svaziland",
"Svalbard & Jan Mayen": "Svalbard & Jan Mayen",
"Suriname": "Surinam",
"Sudan": "Sudan",
"St. Vincent & Grenadines": "St. Vincent ve Grenadinler",
"St. Pierre & Miquelon": "St. Pierre ve Miquelon",
"St. Martin": "St. Martin",
"St. Lucia": "St. Lucia",
"St. Kitts & Nevis": "St. Kitts ve Nevis",
"St. Helena": "St. Helena",
"St. Barthélemy": "St. Barthélemy",
"Sri Lanka": "Sri Lanka",
"Spain": "İspanya",
"South Sudan": "Güney Sudan",
"South Korea": "Güney Kore",
"South Georgia & South Sandwich Islands": "Güney Georgia ve Güney Sandwich Adaları",
"South Africa": "Güney Afrika",
"Somalia": "Somali",
"Solomon Islands": "Solomon Adaları",
"Slovenia": "Slovenya",
"Slovakia": "Slovakya",
"Sint Maarten": "St Martin",
"Singapore": "Singapur",
"Sierra Leone": "Sierra Leone",
"Seychelles": "Şeyseller",
"Serbia": "Sırbistan",
"Senegal": "Senegal",
"Saudi Arabia": "Suudi Arabistan",
"San Marino": "San Marino",
"Samoa": "Samoa",
"Réunion": "Réunion",
"Rwanda": "Ruanda",
"Russia": "Rusya",
"Romania": "Romanya",
"Qatar": "Katar",
"Puerto Rico": "Porto Riko",
"Portugal": "Portekiz",
"Poland": "Polonya",
"Pitcairn Islands": "Pitcairn Adaları",
"Philippines": "Filipinler",
"Peru": "Peru",
"Paraguay": "Paraguay",
"Papua New Guinea": "Papua Yeni Gine",
"Panama": "Panama",
"Palestine": "Filistin",
"Palau": "Palau",
"Pakistan": "Pakistan",
"Oman": "Umman",
"Norway": "Norveç",
"Northern Mariana Islands": "Kuzey Mariana Adaları",
"North Korea": "Kuzey Kore",
"Norfolk Island": "Norfolk Adası",
"Niue": "Niue",
"Nigeria": "Nijerya",
"Niger": "Nijer",
"Nicaragua": "Nikaragua",
"New Zealand": "Yeni Zelanda",
"New Caledonia": "Yeni Kaledonya",
"Netherlands": "Hollanda",
"Nepal": "Nepal",
"Macau": "Makao",
"Nauru": "Nauru",
"Namibia": "Namibya",
"Myanmar": "Myanmar",
"Mozambique": "Mozambik",
"Morocco": "Fas",
"Montserrat": "Montserrat",
"Montenegro": "Karadağ",
"Mongolia": "Moğolistan",
"Monaco": "Monako",
"Moldova": "Moldova",
"Micronesia": "Mikronezya",
"Mexico": "Meksika",
"Mayotte": "Mayotte",
"Mauritius": "Mauritius",
"Mauritania": "Moritanya",
"Martinique": "Martinik",
"Marshall Islands": "Marşal Adaları",
"Malta": "Malta",
"Mali": "Mali",
"Maldives": "Maldivler",
"Malaysia": "Malezya",
"Malawi": "Malawi",
"Madagascar": "Madagaskar",
"Macedonia": "Makedonya",
"Luxembourg": "Lüksemburg",
"Lithuania": "Litvanya",
"Liechtenstein": "Lihtenştayn",
"Libya": "Libya",
"Liberia": "Liberya",
"Lesotho": "Lesoto",
"Lebanon": "Lübnan",
"Latvia": "Letonya",
"Laos": "Laos",
"Kyrgyzstan": "Kırgızistan",
"Kuwait": "Kuveyt",
"Jordan": "Ürdün",
"Kosovo": "Kosova",
"Kiribati": "Kiribati",
"Kenya": "Kenya",
"Kazakhstan": "Kazakistan",
"Jersey": "Jersey",
"Japan": "Japonya",
"Jamaica": "Jamaika",
"Italy": "İtalya",
"Israel": "İsrail",
"Isle of Man": "Man Adası",
"Ireland": "İrlanda",
"Iraq": "Irak",
"Iran": "İran",
"Indonesia": "Endonezya",
"India": "Hindistan",
"Iceland": "İzlanda",
"Hungary": "Macaristan",
"Hong Kong": "Hong Kong",
"Honduras": "Honduras",
"Heard & McDonald Islands": "Heard ve McDonald Adaları",
"Haiti": "Haiti",
"Guyana": "Guyana",
"Guinea-Bissau": "Gine-Bissau",
"Guinea": "Gine",
"Guernsey": "Guernsey",
"Guatemala": "Guatemala",
"Guam": "Guam",
"Guadeloupe": "Guadeloupe",
"Grenada": "Grenada",
"Greenland": "Grönland",
"Greece": "Yunanistan",
"Gibraltar": "Cebelitarık",
"Ghana": "Gana",
"Germany": "Almanya",
"Georgia": "Gürcistan",
"Gambia": "Gambiya",
"Gabon": "Gabon",
"French Southern Territories": "Fransız Güney Toprakları",
"French Polynesia": "Fransız Polinezyası",
"French Guiana": "Fransız Guyanası",
"France": "Fransa",
"Finland": "Finlandiya",
"Fiji": "Fij",
"Faroe Islands": "Faroe adaları",
"Falkland Islands": "Falkland adaları",
"Ethiopia": "Etiyopya",
"Estonia": "Estonya",
"Eritrea": "Eritre",
"Equatorial Guinea": "Ekvator Ginesi",
"El Salvador": "El Salvador",
"Egypt": "Mısır",
"Ecuador": "Ekvador",
"Dominican Republic": "Dominik cumhuriyeti",
"Dominica": "Dominik",
"Denmark": "Danimarka",
"Djibouti": "Cibuti",
"Côte dIvoire": "Fildişi Sahili",
"Czech Republic": "Çek cumhuriyeti",
"Cyprus": "Kıbrıs",
"Curaçao": "Curacao",
"Cuba": "Küba",
"Croatia": "Hırvatistan",
"Costa Rica": "Kosta Rika",
"Cook Islands": "Cook Adaları",
"Congo - Kinshasa": "Kongo - Kinşasa",
"Congo - Brazzaville": "Kongo - Brazzaville",
"Comoros": "Komorlar",
"Colombia": "Kolombiya",
"Cocos (Keeling) Islands": "Cocos (Keeling) Adaları",
"Christmas Island": "Noel Adası",
"China": "Çin",
"Chile": "Şili",
"Chad": "Çad",
"Central African Republic": "Orta Afrika Cumhuriyeti",
"Cayman Islands": "Cayman Adaları",
"Caribbean Netherlands": "Karayip Hollandası",
"Cape Verde": "Cape Verde",
"Canada": "Kanada",
"Cameroon": "Kamerun",
"Cambodia": "Kamboçya",
"Burundi": "Burundi",
"Burkina Faso": "Burkina Faso",
"Bulgaria": "Bulgaristan",
"Brunei": "Brunei",
"British Virgin Islands": "Britanya Virjin Adaları",
"British Indian Ocean Territory": "İngiliz Hint Okyanusu Bölgesi",
"Brazil": "Brezilya",
"Bouvet Island": "Bouvet Adası",
"Botswana": "Botsvana",
"Bosnia": "Bosna",
"Bolivia": "Bolivya",
"Bhutan": "Butan",
"Bermuda": "Bermuda",
"Benin": "Benin",
"Belize": "Belize",
"Belgium": "Belçika",
"Belarus": "Belarus",
"Barbados": "Barbados",
"Bangladesh": "Bangladeş",
"See <b>%(msgtype)s</b> messages posted to this room": "Bu odada gönderilen <b>%(msgtype)s</b> mesajlara bak",
"Send <b>%(msgtype)s</b> messages as you in this room": "Bu odadayken <b>%(msgtype)s</b> mesajlar gönder",
"Bahrain": "Bahreyn",
"Bahamas": "Bahamalar",
"Azerbaijan": "Azerbaycan",
"Austria": "Avusturya",
"Review terms and conditions": "Hükümler ve koşulları incele",
"Terms and Conditions": "Hükümler ve koşullar",
"To continue using the %(homeserverDomain)s homeserver you must review and agree to our terms and conditions.": "%(homeserverDomain)s ana sunucusunu kullanmaya devam etmek için hüküm ve koşulları incelemeli ve kabul etmelisiniz.",
"You do not have permission to create rooms in this community.": "Bu toplulukta oda oluşturmaya izniniz yok.",
"Cannot create rooms in this community": "Bu toplulukta oda oluşturulamıyor",
"Create a Group Chat": "Grup sohbeti başlat",
"Explore Public Rooms": "Herkese açık odaları keşfet",
"Send a Direct Message": "Direkt mesaj gönderin",
"Liberate your communication": "İletişiminizi özgürleştirin",
"Welcome to %(appName)s": "%(appName)s' e hoş geldiniz",
"Now, let's help you get started": "Şimdi, başlamanıza yardım edelim",
"Click to view edits": "Düzenlemeleri görmek için tıkla",
"Edited at %(date)s": "%(date)s tarihinde düzenlendi",
"This room is a continuation of another conversation.": "Bu oda başka bir görüşmenin devamıdır.",
"Message deleted on %(date)s": "Mesaj %(date)s tarihinde silindi",
"Message deleted by %(name)s": "Mesaj %(name)s tarafından silindi",
"Message deleted": "Mesaj silindi",
"%(name)s declined": "%(name)s reddetti",
"You declined": "Reddettiniz",
"You have ignored this user, so their message is hidden. <a>Show anyways.</a>": "Bu kullanıcıyı yok saydınız, bu yüzden mesajları gizlidir. <a>Yine de göster.</a>",
"Video conference started by %(senderName)s": "Video konferans %(senderName)s tarafından başlatıldı",
"Video conference updated by %(senderName)s": "Video konferans %(senderName)s tarafından güncellendi",
"Video conference ended by %(senderName)s": "Video konferans %(senderName)s tarafından sonlandırıldı",
"React": "Tepki ver",
"The encryption used by this room isn't supported.": "Bu odada kullanılan şifreleme desteklenmiyor.",
"Encryption not enabled": "Şifreleme etkin değil",
"Ignored attempt to disable encryption": "Şifrelemeyi devre dışı bırakma denemesi yok sayıldı",
"Encryption enabled": "Şifreleme etkin",
"Messages in this room are end-to-end encrypted. When people join, you can verify them in their profile, just tap on their avatar.": "Bu odadaki mesajlar uçtan uca şifrelenmiştir. İnsanlar katıldığında, onları profillerinden doğrulayabilirsiniz, avatarlarına dokunmanız yeterlidir.",
"Messages here are end-to-end encrypted. Verify %(displayName)s in their profile - tap on their avatar.": "Buradaki mesajlar uçtan uca şifrelenmiştir. %(displayName)s kullanıcısını profilinden onaylayın -avatarına dokunun.",
"Compare emoji": "Emoji karşılaştır",
"Verification cancelled": "Doğrulama iptal edildi",
"You cancelled verification.": "Doğrulamayı iptal ettiniz.",
"%(displayName)s cancelled verification.": "%(displayName)s doğrulamayı iptal etti.",
"You cancelled verification on your other session.": "Diğer oturumunuzda doğrulamayı iptal ettiniz.",
"Verification timed out.": "Doğrulama zaman aşımına uğradı.",
"Delete sessions|one": "Oturumu sil",
"Delete sessions|other": "Oturumları sil",
"Click the button below to confirm deleting these sessions.|one": "Bu oturumları silmeyi onaylamak için aşağıdaki butona tıklayın.",
"See when the name changes in your active room": "Aktif odanızın isim değişikliklerini görün",
"See when the name changes in this room": "Bu odanın isim değişikliklerini görün",
"See when the topic changes in this room": "Bu odada konu değişikliğini görün",
"See when the topic changes in your active room": "Aktif odanızda konu değiştiğinde görün",
"Remain on your screen when viewing another room, when running": "a",
"Incoming call": "Gelen arama",
"Incoming video call": "Gelen görüntülü arama",
"Incoming voice call": "Gelen sesli arama",
"Unknown caller": "Bilinmeyen arayan",
"%(name)s on hold": "%(name)s beklemede",
"Return to call": "Aramaya dön",
"Fill Screen": "Ekrana sığdır",
"Voice Call": "Sesi arama",
"%(peerName)s held the call": "%(peerName)s aramayı duraklattı",
"Video Call": "Görüntülü arama",
"sends snowfall": "Kartopu gönderir",
"Sends the given message with snowfall": "Mesajı kartopu ile gönderir",
"sends fireworks": "Havai fişek gönderir",
"Sends the given message with fireworks": "Mesajı havai fişeklerle gönderir",
"sends confetti": "Konfeti gönderir",
"Send stickers to this room as you": "Widget bu odaya sizin adınıza çıkartma göndersin",
"Send stickers to your active room as you": "Widget aktif odanıza sizin adınıza çıkartma göndersin",
"Send messages as you in this room": "Widget sizin adınıza mesaj göndersin",
"Answered Elsewhere": "Arama başka bir yerde yanıtlandı",
"Effects": "Efektler",
"Sends the given message with confetti": "Mesajı konfeti ile gönderir",
"Downloading logs": "Günlükler indiriliyor",
"Uploading logs": "Günlükler yükleniyor",
"Show chat effects": "Sohbet efektlerini gösterin",
"Enable experimental, compact IRC style layout": "Deneysel, kompakt IRC tarzı düzeni etkinleştirin",
"IRC display name width": "IRC görünen ad genişliği",
"Manually verify all remote sessions": "Bütün uzaktan oturumları el ile onayla",
"How fast should messages be downloaded.": "Mesajlar ne kadar hızlı indirilmeli.",
"Show previews/thumbnails for images": "Fotoğraflar için ön izleme/küçük resim göster",
"System font name": "Sistem yazı tipi ismi",
"Use a system font": "Bir sistem yazı tipi kullanın",
"Use Ctrl + Enter to send a message": "Mesaj göndermek için Ctrl + Enter tuşlarını kullanın",
"Use Command + Enter to send a message": "Mesaj göndermek için Command + Enter tuşlarını kullanın",
"Use a more compact Modern layout": "Daha kompakt \"Modern\" düzen",
"Use custom size": "Özel büyüklük kullan",
"Font size": "Yazı boyutu",
"Enable advanced debugging for the room list": "Oda listesi için gelişmiş hata ayıklamayı etkinleştirin",
"Show message previews for reactions in DMs": "DM'lerdeki tepkiler için mesaj ön izlemelerini göster",
"Show message previews for reactions in all rooms": "Tüm odalardaki tepkiler için mesaj ön izlemelerini göster",
"Communities v2 prototypes. Requires compatible homeserver. Highly experimental - use with caution.": "Topluluklar v2 prototipleri. Uygun ana sunucu gerektirir. Deneysel - dikkatli kullanın.",
"End": "End",
"Space": "Boşluk",
"Enter": "Enter",
"Esc": "Esc",
"%(senderName)s: %(stickerName)s": "%(senderName)s%(stickerName)s",
"%(senderName)s: %(reaction)s": "%(senderName)s%(reaction)s",
"%(senderName)s: %(message)s": "%(senderName)s%(message)s",
"* %(senderName)s %(emote)s": "%(senderName)s%(emote)s",
"%(senderName)s ended the call": "%(senderName)s aramayı sonlandırdı",
"You ended the call": "Aramayı sonlandırdınız",
"Click the button below to confirm deleting these sessions.|other": "Bu oturumları silmeyi onaylamak için aşağıdaki butona tıklayın.",
"Confirm deleting these sessions": "Bu oturumları silmeyi onayla",
"Confirm deleting these sessions by using Single Sign On to prove your identity.|one": "Kimliğinizi kanıtlamak için Tek Seferliğine Oturum Açma özelliğini kullanarak bu oturumu silmeyi onaylayın.",
"Confirm deleting these sessions by using Single Sign On to prove your identity.|other": "Kimliğinizi kanıtlamak için Tek Seferlik Oturum Açma kullanarak bu oturumları silmeyi onaylayın.",
"New published address (e.g. #alias:server)": "Yeni yayınlanmış adresler (e.g. #alias:server)",
"Published Addresses": "Yayınlanmış adresler",
"No other published addresses yet, add one below": "Henüz yayınlanmış başka adres yok, aşağıdan bir tane ekle",
"Other published addresses:": "Diğer yayınlanmış adresler:",
"Published addresses can be used by anyone on any server to join your room. To publish an address, it needs to be set as a local address first.": "Yayınlanmış adresler, odanıza katılmak için herhangi bir sunucudaki herkes tarafından kullanılabilir. Bir adresi yayınlamak için önce yerel adres olarak ayarlanması gerekir.",
"Error removing address": "Adres kaldırılırken hata",
"There was an error removing that address. It may no longer exist or a temporary error occurred.": "Adres kaldırılırken bir hata ile karşılaşıldı. Artık mevcut olmayabilir yada geçici bir oluştu.",
"You don't have permission to delete the address.": "Bu adresi silmeye yetkiniz yok.",
"There was an error creating that address. It may not be allowed by the server or a temporary failure occurred.": "Adres oluşturulurken hata ile karşılaşıldı. Sunucu tarafından izin verilmemiş yada geçici bir hata olabilir.",
"Error creating address": "Adres oluşturulurken hata",
"You can still join it because this is a public room.": "Herkese açık oda olduğu için yine de katılabilirsiniz.",
"An error (%(errcode)s) was returned while trying to validate your invite. You could try to pass this information on to a room admin.": "Davetinizi doğrularken %(errcode)s kodlu hata ile karşılaşıldı. Bu bilgiyi oda yöneticisine iletebilirsiniz.",
"%(count)s results|one": "%(count)s adet sonuç",
"%(count)s results|other": "%(count)s adet sonuç",
"Explore all public rooms": "Tüm herkese açık odaları keşfet",
"Start a new chat": "Yeni bir sohbet başlat",
"Can't see what youre looking for?": "Aradığınızı bulamıyor musunuz ?",
"Custom Tag": "Özel Etiket",
"Explore public rooms": "Herkese açık odaları keşfet",
"Explore community rooms": "Topluluk odalarını keşfet",
"People": "İnsanlar",
"Show Widgets": "Widgetları Göster",
"Hide Widgets": "Widgetları gizle",
"No recently visited rooms": "Yakında ziyaret edilen oda yok",
"Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "%(displayName)s %(userName)s tarafından %(dateTime)s tarihinde görüldü",
"Unpin Message": "Mesajın sabitlemesini kaldır",
"This is the start of <roomName/>.": "Bu <roomName/> odasının başlangıcıdır.",
"Add a photo, so people can easily spot your room.": "İnsanların odanı kolayca tanıması için bir fotoğraf ekle.",
"%(displayName)s created this room.": "%(displayName)s bu odayı oluşturdu.",
"You created this room.": "Bu odayı oluşturdunuz.",
"<a>Add a topic</a> to help people know what it is about.": "İnsanların ne hakkında olduğunu bilmelerine yardımcı olmak için <a>Konu ekle</a>.",
"Topic: %(topic)s ": "Konu: %(topic)s ",
"This is the beginning of your direct message history with <displayName/>.": "Bu <displayName/> ile olan direkt mesaj geçmişinizin başlangıcıdır.",
"Only the two of you are in this conversation, unless either of you invites anyone to join.": "Biriniz bir başkasını davet etmediğiniz sürece bu görüşmede sadece ikiniz varsınız.",
"Emoji picker": "Emoji seçici",
"Scroll to most recent messages": "En son mesajlara git",
"The authenticity of this encrypted message can't be guaranteed on this device.": "Bu şifrelenmiş mesajın güvenilirliği bu cihazda garanti edilemez.",
"Australia": "Avustralya",
"Aruba": "Aruba",
"Armenia": "Ermenistan",
"Argentina": "Arjantin",
"Antigua & Barbuda": "Antigua ve Barbuda",
"Antarctica": "Antarktika",
"Anguilla": "Anguilla",
"Angola": "Angola",
"Andorra": "Andorra",
"American Samoa": "Amerikan Samoası",
"Algeria": "Cezayir",
"Albania": "Arnavutluk",
"Åland Islands": "Aland adaları",
"Afghanistan": "Afganistan",
"United States": "Amerika Birleşik Devletleri",
"United Kingdom": "Birleşik Krallık",
"This will end the conference for everyone. Continue?": "Bu görüşmeyi herkes için bitirecektir. Onaylıyor musunuz ?",
"End conference": "Görüşmeyi bitir",
"You've reached the maximum number of simultaneous calls.": "Maksimum eşzamanlı arama sayısına ulaştınız.",
"Too Many Calls": "Çok fazla arama",
"No other application is using the webcam": "Kamerayı başka bir uygulama kullanmıyor",
"Permission is granted to use the webcam": "Kamerayı kullanmak için izin gerekiyor",
"A microphone and webcam are plugged in and set up correctly": "Mikrofon ve kamera takılımı ve doğru şekilde ayarlanmış mı",
"Call failed because webcam or microphone could not be accessed. Check that:": "Kameraya yada mikrofona erişilemediği için arama yapılamadı. Şunu kontrol edin:",
"Unable to access webcam / microphone": "Kameraya / mikrofona erişilemedi",
"Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "Mikrofona erişilemediği için arama yapılamadı. Mikrofonun takılı ve doğru şekilde ayarlandığından emin olun.",
"Unable to access microphone": "Mikrofona erişilemiyor",
"The call was answered on another device.": "Arama başka bir cihazda cevaplandı.",
"The call could not be established": "Arama yapılamadı",
"The other party declined the call.": "Diğer taraf aramayı reddetti.",
"Call Declined": "Arama Reddedildi",
"Confirm adding this phone number by using Single Sign On to prove your identity.": "Kimliğinizi doğrulamak için Tek Seferlik Oturum Açma özelliğini kullanarak bu telefon numarasını eklemeyi onaylayın.",
"Single Sign On": "Tek seferlik oturum aç",
"Confirm adding this email address by using Single Sign On to prove your identity.": "Kimliğinizi doğrulamak için Tek Seferlik Oturum Açma özelliğini kullanarak bu e-posta adresini eklemeyi onaylayın.",
"Use Single Sign On to continue": "Devam etmek için tek seferlik oturum açın",
"Change notification settings": "Bildirim ayarlarını değiştir",
"See <b>%(msgtype)s</b> messages posted to your active room": "Aktif odanıza gönderilen <b>%(msgtype)s</b> mesajları görün",
"Send <b>%(msgtype)s</b> messages as you in your active room": "Widget sizin adınıza <b>%(msgtype)s</b> mesajlar göndersin",
"See general files posted to your active room": "Aktif odanıza gönderilen genel dosyaları görün",
"See general files posted to this room": "Bu odaya gönderilen genel dosyaları gör",
"Your server isn't responding to some <a>requests</a>.": "Sunucunuz bası <a>istekler'e</a> onay vermiyor.",
"Compare a unique set of emoji if you don't have a camera on either device": "Her iki cihazda da kamera yoksa benzersiz bir emoji setini karşılaştırın",
"The other party cancelled the verification.": "Diğer taraf onaylamayı reddetti.",
"User signing private key:": "Kullanıcı imzalı özel anahtar",
"Homeserver feature support:": "Ana sunucu özellik desteği:",
"Self signing private key:": "Kendinden imzalı özel anahtar:",
"not found locally": "yerel olarak bulunamadı",
"cached locally": "yerel olarak önbelleğe alındı",
"Send general files as you in your active room": "Widget aktif odanıza sizin adınıza genel dosyalar göndersin",
"Send general files as you in this room": "Widget sizin adınıza bu odaya genel dosyalar göndersin",
"Send videos as you in your active room": "Widget aktif odanıza sizin adınıza video göndersin",
"Send videos as you in this room": "Widget sizin adınıza bu odaya video göndersin",
"See <b>%(eventType)s</b> events posted to your active room": "Aktif odanıza gönderilen <b>%(eventType)s</b> etkinlikleri gör",
"Decline (%(counter)s)": "",
"From %(deviceName)s (%(deviceId)s)": "%(deviceName)s%(deviceId)s tarafından",
"Thumbs up": "Başparmak havaya",
"Santa": "Noel Baba",
"Spanner": "Anahtar",
"Smiley": "Gülen yüz",
"To be secure, do this in person or use a trusted way to communicate.": "Güvende olmak için, bunu şahsen yapın veya güvenilir bir iletişim yöntemi kullanın.",
"Waiting for your other session to verify…": "Diğer oturumunuzun doğrulanması bekleniyor…",
"Waiting for your other session, %(deviceName)s (%(deviceId)s), to verify…": "Doğrulamak için diğer oturumunuz bekleniyor, %(deviceName)s %(deviceId)s",
"Verify this user by confirming the following number appears on their screen.": "Aşağıdaki numaranın ekranlarında göründüğünü onaylayarak bu kullanıcıyı doğrulayın.",
"Verify this session by confirming the following number appears on its screen.": "Aşağıdaki numaraların ekranında göründüğünü onaylayarak bu kullanıcıyı doğrulayın.",
"Verify this user by confirming the following emoji appear on their screen.": "Aşağıdaki emojinin ekranlarında göründüğünü onaylayarak bu kullanıcıyı doğrulayın.",
"Confirm the emoji below are displayed on both sessions, in the same order:": "Aşağıdaki emojinin her iki oturumda da aynı sırayla görüntülendiğini onaylayın:",
"Compare unique emoji": "Benzersiz emoji karşılaştır",
"Verify this session by completing one of the following:": "Şunlardan birini yaparak bu oturumu tamamlayın:",
"Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "Bu kullanıcıyla olan güvenli mesajlar uçtan uca şifrelidir ve 3 taraflar tarafından okunamaz.",
"Dial pad": "Arama tuşları",
"See videos posted to your active room": "Aktif odana gönderilen videoları gör",
"See videos posted to this room": "Bu odaya gönderilen videoları gör",
"See images posted to this room": "Bu odaya gönderilen resimleri gör",
"You held the call <a>Resume</a>": "Aramayı beklettiniz <a>Devam Ettir</a>",
"You held the call <a>Switch</a>": "Aramayı beklettiniz <a>Değiştir</a>",
"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.": "Parolayı değiştirmek, şu anda tüm oturumlardaki tüm uçtan-uca şifreleme anahtarlarını sıfırlayacak ve oda anahtarlarınız önce dışarı aktarıp sonrasında içeri aktarmadığınız sürece şifrelenmiş sohbet geçmişini okunamaz yapacaktır. Gelecekte bu geliştirilecektir.",
"Send images as you in this room": "Widget bu odaya sizin adınıza resim göndersin",
"Send emotes as you in your active room": "Widget aktif odanıza sizin adınıza ifade göndersin",
"Send emotes as you in this room": "Widget bu odaya sizin adınıza ifade göndersin",
"Send text messages as you in your active room": "Widget aktif odanıza sizin adınıza metin mesajı göndersin",
"Send text messages as you in this room": "Widget bu odaya sizin adınıza metin mesajı göndersin",
"Send messages as you in your active room": "Widget aktif odanıza sizin adınıza mesaj göndersin",
"Send <b>%(eventType)s</b> events as you in your active room": "Widget aktif odanıza sizin adınıza <b>%(eventType)s</b> türü etkinlik göndersin",
"Send <b>%(eventType)s</b> events as you in this room": "Widget bu odaya sizin adınıza <b>%(eventType)s</b> türü etkinlik göndersin",
"Send images as you in your active room": "Widget aktif odanıza sizin adınıza resim göndersin",
"with an empty state key": "boş durum anahtarı ile",
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Emin misiniz? Eğer anahtarlarınız doğru bir şekilde yedeklemediyse, şifrelenmiş iletilerinizi kaybedeceksiniz.",
"The operation could not be completed": "Eylem tamamlanamadı",
"Failed to save your profile": "Profiliniz kaydedilemedi",
"You might have configured them in a client other than %(brand)s. You cannot tune them in %(brand)s but they still apply.": "Onları %(brand)s dışında bir sunucuda yapılandırmış olabilirsin. Onları %(brand)s içinde ayarlayamazsın ama yine de geçerlidir.",
"Securely cache encrypted messages locally for them to appear in search results.": "Arama sonuçlarında gozükmeleri için iletileri güvenli bir şekilde yerel olarak önbelleğe al.",
"Individually verify each session used by a user to mark it as trusted, not trusting cross-signed devices.": "Çapraz imzalı cihazlara güvenmeden, güvenilir olarak işaretlemek için, bir kullanıcı tarafından kullanılan her bir oturumu ayrı ayrı doğrulayın.",
"There are advanced notifications which are not shown here.": "Burada gösterilmeyen gelişmiş bildirimler var.",
"Securely cache encrypted messages locally for them to appear in search results, using %(size)s to store messages from %(rooms)s rooms.|one": "İletilerin arama sonuçlarında gözükmeleri için %(rooms)s odasından %(size)s yardımıyla depolayarak, şifrelenmiş iletileri güvenli bir şekilde yerel olarak önbelleğe al.",
"Securely cache encrypted messages locally for them to appear in search results, using %(size)s to store messages from %(rooms)s rooms.|other": "İletilerin arama sonuçlarında gözükmeleri için %(rooms)s odalardan %(size)s yardımıyla depolayarak, şifrelenmiş iletileri güvenli bir şekilde yerel olarak önbelleğe al.",
"not found in storage": "Cihazda bulunamadı",
"This bridge was provisioned by <user />.": "Bu köprü <user /> tarafından sağlandı.",
"Render LaTeX maths in messages": "Mesajlarda LaTex maths işleyin",
"See <b>%(eventType)s</b> events posted to this room": "Bu odaya gönderilen <b>%(eventType)s</b> türü etkinlikleri gör",
"with state key %(stateKey)s": "%(stateKey)s durum anahtarı ile"
} }

View file

@ -329,13 +329,13 @@
"%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s змінює своє видиме ім'я на %(displayName)s.", "%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s змінює своє видиме ім'я на %(displayName)s.",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s зазначив(-ла) своє видиме ім'я: %(displayName)s.", "%(senderName)s set their display name to %(displayName)s.": "%(senderName)s зазначив(-ла) своє видиме ім'я: %(displayName)s.",
"%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s видалив(-ла) своє видиме ім'я (%(oldDisplayName)s).", "%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s видалив(-ла) своє видиме ім'я (%(oldDisplayName)s).",
"%(senderName)s removed their profile picture.": "%(senderName)s вилучав/ла свою світлину профілю.", "%(senderName)s removed their profile picture.": "%(senderName)s вилучає зображення свого профілю.",
"%(senderName)s set a profile picture.": "%(senderName)s встановлює світлину профілю.", "%(senderName)s set a profile picture.": "%(senderName)s встановлює зображення профілю.",
"VoIP conference started.": "Розпочато дзвінок-конференцію.", "VoIP conference started.": "Розпочато дзвінок-конференцію.",
"%(targetName)s joined the room.": "%(targetName)s приєднується до кімнати.", "%(targetName)s joined the room.": "%(targetName)s приєднується до кімнати.",
"VoIP conference finished.": "Дзвінок-конференцію завершено.", "VoIP conference finished.": "Дзвінок-конференцію завершено.",
"%(targetName)s rejected the invitation.": "%(targetName)s відкинув/ла запрошення.", "%(targetName)s rejected the invitation.": "%(targetName)s відкинув/ла запрошення.",
"%(targetName)s left the room.": "%(targetName)s залишив/ла кімнату.", "%(targetName)s left the room.": "%(targetName)s залишає кімнату.",
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s розблокував/ла %(targetName)s.", "%(senderName)s unbanned %(targetName)s.": "%(senderName)s розблокував/ла %(targetName)s.",
"%(senderName)s kicked %(targetName)s.": "%(senderName)s викинув/ла %(targetName)s.", "%(senderName)s kicked %(targetName)s.": "%(senderName)s викинув/ла %(targetName)s.",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s відкликав/ла запрошення %(targetName)s.", "%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s відкликав/ла запрошення %(targetName)s.",
@ -352,7 +352,7 @@
"Show developer tools": "Показувати розробницькі засоби", "Show developer tools": "Показувати розробницькі засоби",
"Default": "Типово", "Default": "Типово",
"%(senderName)s made future room history visible to all room members, from the point they are invited.": "%(senderName)s зробив(-ла) майбутню історію кімнати видимою для всіх учасників з моменту, коли вони приєдналися.", "%(senderName)s made future room history visible to all room members, from the point they are invited.": "%(senderName)s зробив(-ла) майбутню історію кімнати видимою для всіх учасників з моменту, коли вони приєдналися.",
"%(senderName)s made future room history visible to all room members, from the point they joined.": "%(senderName)s зробив(-ла) майбутню історію кімнати видимою для всіх учасників з моменту, коли вони приєдналися.", "%(senderName)s made future room history visible to all room members, from the point they joined.": "%(senderName)s робить майбутню історію кімнати видимою для всіх учасників від часу їхнього приєднання.",
"%(senderName)s made future room history visible to all room members.": "%(senderName)s зробив(-ла) майбутню історію видимою для всіх учасників кімнати.", "%(senderName)s made future room history visible to all room members.": "%(senderName)s зробив(-ла) майбутню історію видимою для всіх учасників кімнати.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s зробив(-ла) майбутню історію кімнати видимою для всіх.", "%(senderName)s made future room history visible to anyone.": "%(senderName)s зробив(-ла) майбутню історію кімнати видимою для всіх.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s зробив(-ла) майбутню історію видимою для невідомого значення (%(visibility)s).", "%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s зробив(-ла) майбутню історію видимою для невідомого значення (%(visibility)s).",
@ -392,7 +392,7 @@
"Incorrect verification code": "Неправильний код перевірки", "Incorrect verification code": "Неправильний код перевірки",
"Submit": "Надіслати", "Submit": "Надіслати",
"Phone": "Телефон", "Phone": "Телефон",
"Failed to upload profile picture!": "Не вдалося відвантажити світлину профілю!", "Failed to upload profile picture!": "Не вдалося відвантажити зображення профілю!",
"Upload new:": "Відвантажити нову:", "Upload new:": "Відвантажити нову:",
"No display name": "Немає видимого імені", "No display name": "Немає видимого імені",
"New passwords don't match": "Нові паролі не збігаються", "New passwords don't match": "Нові паролі не збігаються",
@ -712,7 +712,7 @@
"Unexpected error resolving homeserver configuration": "Неочікувана помилка в налаштуваннях домашнього серверу", "Unexpected error resolving homeserver configuration": "Неочікувана помилка в налаштуваннях домашнього серверу",
"Unexpected error resolving identity server configuration": "Незрозуміла помилка при розборі параметру сервера ідентифікації", "Unexpected error resolving identity server configuration": "Незрозуміла помилка при розборі параметру сервера ідентифікації",
"The message you are trying to send is too large.": "Ваше повідомлення було занадто велике.", "The message you are trying to send is too large.": "Ваше повідомлення було занадто велике.",
"%(items)s and %(count)s others|other": "%(items)s та ще %(count)s учасника(ів)", "%(items)s and %(count)s others|other": "%(items)s та ще %(count)s учасників",
"%(items)s and %(count)s others|one": "%(items)s і ще хтось", "%(items)s and %(count)s others|one": "%(items)s і ще хтось",
"a few seconds ago": "Декілька секунд тому", "a few seconds ago": "Декілька секунд тому",
"about a minute ago": "близько хвилини тому", "about a minute ago": "близько хвилини тому",
@ -779,8 +779,8 @@
"A new version of %(brand)s is available!": "Нова версія %(brand)s вже доступна!", "A new version of %(brand)s is available!": "Нова версія %(brand)s вже доступна!",
"Guest": "Гість", "Guest": "Гість",
"There was an error joining the room": "Помилка при вході в кімнату", "There was an error joining the room": "Помилка при вході в кімнату",
"You joined the call": "Ви приєднались до дзвінку", "You joined the call": "Ви приєднались до виклику",
"%(senderName)s joined the call": "%(senderName)s приєднується до розмови", "%(senderName)s joined the call": "%(senderName)s приєднується до виклику",
"Call in progress": "Дзвінок у процесі", "Call in progress": "Дзвінок у процесі",
"You left the call": "Ви припинили розмову", "You left the call": "Ви припинили розмову",
"%(senderName)s left the call": "%(senderName)s покинув(ла) дзвінок", "%(senderName)s left the call": "%(senderName)s покинув(ла) дзвінок",
@ -875,7 +875,7 @@
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Ви не зможете скасувати цю зміну через те, що ви підвищуєте рівень повноважень користувача до свого рівня.", "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Ви не зможете скасувати цю зміну через те, що ви підвищуєте рівень повноважень користувача до свого рівня.",
"React": "Відреагувати", "React": "Відреагувати",
"Message deleted": "Повідомлення видалено", "Message deleted": "Повідомлення видалено",
"Message deleted by %(name)s": "Повідомлення видалено від %(name)s", "Message deleted by %(name)s": "Повідомлення видалено %(name)s",
"Message deleted on %(date)s": "Повідомлення видалено %(date)s", "Message deleted on %(date)s": "Повідомлення видалено %(date)s",
"Power level": "Рівень повноважень", "Power level": "Рівень повноважень",
"Use an identity server to invite by email. Manage in <settings>Settings</settings>.": "Використовуйте сервер ідентифікації щоб запрошувати через е-пошту. Керується у <settings>налаштуваннях</settings>.", "Use an identity server to invite by email. Manage in <settings>Settings</settings>.": "Використовуйте сервер ідентифікації щоб запрошувати через е-пошту. Керується у <settings>налаштуваннях</settings>.",
@ -1222,7 +1222,7 @@
"Clear filter": "Очистити фільтр", "Clear filter": "Очистити фільтр",
"Syncing...": "Синхронізування…", "Syncing...": "Синхронізування…",
"Signing In...": "Входження…", "Signing In...": "Входження…",
"If you've joined lots of rooms, this might take a while": "Якщо ви приєднались до багатьох кімнат, це може зайняти деякий час", "If you've joined lots of rooms, this might take a while": "Якщо ви приєднались до багатьох кімнат, це може тривати деякий час",
"Create account": "Створити обліковий запис", "Create account": "Створити обліковий запис",
"Failed to fetch avatar URL": "Не вдалось вибрати URL личини", "Failed to fetch avatar URL": "Не вдалось вибрати URL личини",
"Clear room list filter field": "Очистити поле фільтра списку кімнат", "Clear room list filter field": "Очистити поле фільтра списку кімнат",
@ -1536,5 +1536,44 @@
"Capitalization doesn't help very much": "Великі букви не дуже допомагають", "Capitalization doesn't help very much": "Великі букви не дуже допомагають",
"You're all caught up.": "Все готово.", "You're all caught up.": "Все готово.",
"Hey you. You're the best!": "Гей, ти, так, ти. Ти найкращий!", "Hey you. You're the best!": "Гей, ти, так, ти. Ти найкращий!",
"Youre all caught up": "Все готово" "Youre all caught up": "Все готово",
"%(senderName)s declined the call.": "%(senderName)s відхиляє виклик.",
"(an error occurred)": "(сталася помилка)",
"(their device couldn't start the camera / microphone)": "(їхній пристрій не зміг запустити камеру / мікрофон)",
"(connection failed)": "(не вдалося з'єднатися)",
"🎉 All servers are banned from participating! This room can no longer be used.": "🎉 Всім серверам заборонено доступ до кімнати! Нею більше не можна користуватися.",
"Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "Збій виклику, оскільки не вдалося отримати доступ до мікрофона. Переконайтеся, що мікрофон під'єднано та налаштовано правильно.",
"Effects": "Ефекти",
"You've reached the maximum number of simultaneous calls.": "Ви досягли максимальної кількості одночасних викликів.",
"Too Many Calls": "Забагато викликів",
"No other application is using the webcam": "Жодна інша програма не використовує вебкамеру",
"Permission is granted to use the webcam": "Використання вебкамери дозволено",
"A microphone and webcam are plugged in and set up correctly": "Мікрофон і вебкамера під'єднані та налаштовані правильно",
"Call failed because webcam or microphone could not be accessed. Check that:": "Збій виклику, оскільки не вдалося отримати доступ до вебкамери або мікрофона. Перевірте, що:",
"Unable to access webcam / microphone": "Не вдається отримати доступ до вебкамери / мікрофона",
"%(severalUsers)sjoined and left %(count)s times|other": "%(severalUsers)sприєдналися й вийшли %(count)s разів",
"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.": "Ви можете вимкнути це, якщо кімната буде використовуватися для співпраці із зовнішніми командами, які мають власний домашній сервер. Це неможливо змінити пізніше.",
"%(oneUser)schanged their avatar %(count)s times|one": "%(oneUser)sзмінює свій аватар",
"%(oneUser)schanged their avatar %(count)s times|other": "%(oneUser)sзмінюють свої аватари %(count)s разів",
"%(severalUsers)schanged their avatar %(count)s times|one": "%(severalUsers)sзмінюють свої аватари",
"%(severalUsers)schanged their avatar %(count)s times|other": "%(severalUsers)sзмінюють свої аватари %(count)s разів",
"%(oneUser)schanged their name %(count)s times|one": "%(oneUser)sзмінює своє ім'я",
"%(oneUser)schanged their name %(count)s times|other": "%(oneUser)sзмінює своє ім'я %(count)s разів",
"%(severalUsers)schanged their name %(count)s times|one": "%(severalUsers)sзмінили свої імена",
"%(severalUsers)schanged their name %(count)s times|other": "%(severalUsers)sзмінили свої імена %(count)s разів",
"Error whilst fetching joined communities": "Помилка під час отримання спільнот до яких ви приєдналися",
"Private rooms can be found and joined by invitation only. Public rooms can be found and joined by anyone in this community.": "Закриті кімнати можна знайти та приєднатися до них лише за запрошенням. Загальнодоступні кімнати може знайти і приєднатись кожен з цієї спільноти.",
"Private rooms can be found and joined by invitation only. Public rooms can be found and joined by anyone.": "Закриті кімнати можна знайти та приєднатися до них лише за запрошенням. Загальнодоступні кімнати може знайти і приєднатись кожен.",
"%(oneUser)sleft and rejoined %(count)s times|one": "%(oneUser)sвиходить і повертається",
"%(oneUser)sleft and rejoined %(count)s times|other": "%(oneUser)sвиходить і повертається %(count)s разів",
"%(severalUsers)sleft and rejoined %(count)s times|one": "%(severalUsers)sвиходять і повертаються",
"%(severalUsers)sleft and rejoined %(count)s times|other": "%(severalUsers)sвиходять і повертаються %(count)s разів",
"%(oneUser)sjoined and left %(count)s times|one": "%(oneUser)sприєднується й виходить",
"%(oneUser)sjoined and left %(count)s times|other": "%(oneUser)sприєднується й виходить %(count)s разів",
"%(severalUsers)sjoined and left %(count)s times|one": "%(severalUsers)sприєдналися й вийшли",
"%(oneUser)sjoined %(count)s times|one": "%(oneUser)sприєднується",
"%(oneUser)sjoined %(count)s times|other": "%(oneUser)sприєднується %(count)s разів",
"%(severalUsers)sjoined %(count)s times|one": "%(severalUsers)sприєдналися",
"%(severalUsers)sjoined %(count)s times|other": "%(severalUsers)sприєдналися %(count)s разів",
"Members only (since they joined)": "Лише учасники (від часу приєднання)"
} }

View file

@ -1960,7 +1960,7 @@
"Close dialog": "关闭对话框", "Close dialog": "关闭对话框",
"Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "请告诉我们哪里出错了,或最好创建一个 GitHub issue 来描述该问题。", "Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "请告诉我们哪里出错了,或最好创建一个 GitHub issue 来描述该问题。",
"Reminder: Your browser is unsupported, so your experience may be unpredictable.": "提醒:您的浏览器不被支持,所以您的体验可能不可预料。", "Reminder: Your browser is unsupported, so your experience may be unpredictable.": "提醒:您的浏览器不被支持,所以您的体验可能不可预料。",
"GitHub issue": "GitHub issue", "GitHub issue": "GitHub 上的 issue",
"Notes": "提示", "Notes": "提示",
"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.": "如果有额外的上下文可以帮助我们分析问题,比如您当时在做什么、房间 ID、用户 ID 等等,请将其列于此处。", "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.": "如果有额外的上下文可以帮助我们分析问题,比如您当时在做什么、房间 ID、用户 ID 等等,请将其列于此处。",
"Removing…": "正在删除…", "Removing…": "正在删除…",

View file

@ -2974,5 +2974,24 @@
"You held the call <a>Resume</a>": "您已保留通話 <a>繼續</a>", "You held the call <a>Resume</a>": "您已保留通話 <a>繼續</a>",
"%(name)s paused": "%(name)s 已暫停", "%(name)s paused": "%(name)s 已暫停",
"You've reached the maximum number of simultaneous calls.": "您已達到同時通話的最大數量。", "You've reached the maximum number of simultaneous calls.": "您已達到同時通話的最大數量。",
"Too Many Calls": "太多通話" "Too Many Calls": "太多通話",
"Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message": "在純文字訊息前加入 ┬──┬ ( ゜-゜ノ)",
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "在純文字訊息前加入 (╯°□°)╯︵ ┻━┻",
"sends fireworks": "傳送煙火",
"Sends the given message with fireworks": "與煙火一同傳送指定訊息",
"%(name)s on hold": "保留 %(name)s",
"You held the call <a>Switch</a>": "您已保留通話 <a>切換</a>",
"sends snowfall": "傳送雪球",
"Sends the given message with snowfall": "與雪球一同傳送指定訊息",
"You have no visible notifications.": "您沒有可見的通知。",
"Transfer": "傳輸",
"Failed to transfer call": "傳輸通話失敗",
"A call can only be transferred to a single user.": "一個通話只能傳輸給ㄧ個使用者。",
"There was an error finding this widget.": "尋找此小工具時發生錯誤。",
"Active Widgets": "作用中的小工具",
"Open dial pad": "開啟撥號鍵盤",
"Start a Conversation": "開始對話",
"Dial pad": "撥號鍵盤",
"There was an error looking up the phone number": "尋找電話號碼時發生錯誤",
"Unable to look up phone number": "無法查詢電話號碼"
} }

View file

@ -421,7 +421,8 @@ export const SETTINGS: {[setting: string]: ISetting} = {
default: true, default: true,
}, },
"allowedWidgets": { "allowedWidgets": {
supportedLevels: [SettingLevel.ROOM_ACCOUNT], supportedLevels: [SettingLevel.ROOM_ACCOUNT, SettingLevel.ROOM_DEVICE],
supportedLevelsAreOrdered: true,
default: {}, // none allowed default: {}, // none allowed
}, },
"analyticsOptIn": { "analyticsOptIn": {

View file

@ -467,6 +467,32 @@ export default class SettingsStore {
return LEVEL_HANDLERS[level].isSupported(); return LEVEL_HANDLERS[level].isSupported();
} }
/**
* Determines the first supported level out of all the levels that can be used for a
* specific setting.
* @param {string} settingName The setting name.
* @return {SettingLevel}
*/
public static firstSupportedLevel(settingName: string): SettingLevel {
// Verify that the setting is actually a setting
const setting = SETTINGS[settingName];
if (!setting) {
throw new Error("Setting '" + settingName + "' does not appear to be a setting.");
}
const levelOrder = (setting.supportedLevelsAreOrdered ? setting.supportedLevels : LEVEL_ORDER);
if (!levelOrder.includes(SettingLevel.DEFAULT)) levelOrder.push(SettingLevel.DEFAULT); // always include default
const handlers = SettingsStore.getHandlers(settingName);
for (const level of levelOrder) {
const handler = handlers[level];
if (!handler) continue;
return level;
}
return null;
}
/** /**
* Debugging function for reading explicit setting values without going through the * Debugging function for reading explicit setting values without going through the
* complicated/biased functions in the SettingsStore. This will print information to * complicated/biased functions in the SettingsStore. This will print information to

View file

@ -169,7 +169,7 @@ export default class AccountSettingsHandler extends MatrixClientBackedSettingsHa
public isSupported(): boolean { public isSupported(): boolean {
const cli = MatrixClientPeg.get(); const cli = MatrixClientPeg.get();
return cli !== undefined && cli !== null; return cli !== undefined && cli !== null && !cli.isGuest();
} }
private getSettings(eventType = "im.vector.web.settings"): any { // TODO: [TS] Types on return private getSettings(eventType = "im.vector.web.settings"): any { // TODO: [TS] Types on return

View file

@ -129,7 +129,7 @@ export default class RoomAccountSettingsHandler extends MatrixClientBackedSettin
public isSupported(): boolean { public isSupported(): boolean {
const cli = MatrixClientPeg.get(); const cli = MatrixClientPeg.get();
return cli !== undefined && cli !== null; return cli !== undefined && cli !== null && !cli.isGuest();
} }
private getSettings(roomId: string, eventType = "im.vector.web.settings"): any { // TODO: [TS] Type return private getSettings(roomId: string, eventType = "im.vector.web.settings"): any { // TODO: [TS] Type return

View file

@ -48,6 +48,10 @@ export class CommunityPrototypeStore extends AsyncStoreWithClient<IState> {
return CommunityPrototypeStore.internalInstance; return CommunityPrototypeStore.internalInstance;
} }
public static getUpdateEventName(roomId: string): string {
return `${UPDATE_EVENT}:${roomId}`;
}
public getSelectedCommunityId(): string { public getSelectedCommunityId(): string {
if (SettingsStore.getValue("feature_communities_v2_prototypes")) { if (SettingsStore.getValue("feature_communities_v2_prototypes")) {
return GroupFilterOrderStore.getSelectedTags()[0]; return GroupFilterOrderStore.getSelectedTags()[0];
@ -134,7 +138,8 @@ export class CommunityPrototypeStore extends AsyncStoreWithClient<IState> {
} }
} else if (payload.action === "MatrixActions.accountData") { } else if (payload.action === "MatrixActions.accountData") {
if (payload.event_type.startsWith("im.vector.group_info.")) { if (payload.event_type.startsWith("im.vector.group_info.")) {
this.emit(UPDATE_EVENT, payload.event_type.substring("im.vector.group_info.".length)); const roomId = payload.event_type.substring("im.vector.group_info.".length);
this.emit(CommunityPrototypeStore.getUpdateEventName(roomId), roomId);
} }
} else if (payload.action === "select_tag") { } else if (payload.action === "select_tag") {
// Automatically select the general chat when switching communities // Automatically select the general chat when switching communities
@ -167,7 +172,7 @@ export class CommunityPrototypeStore extends AsyncStoreWithClient<IState> {
if (getEffectiveMembership(myMember.membership) === EffectiveMembership.Invite) { if (getEffectiveMembership(myMember.membership) === EffectiveMembership.Invite) {
// Fake an update for anything that might have started listening before the invite // Fake an update for anything that might have started listening before the invite
// data was available (eg: RoomPreviewBar after a refresh) // data was available (eg: RoomPreviewBar after a refresh)
this.emit(UPDATE_EVENT, room.roomId); this.emit(CommunityPrototypeStore.getUpdateEventName(room.roomId), room.roomId);
} }
} }
} }

View file

@ -30,7 +30,7 @@ import { UPDATE_EVENT } from "../AsyncStore";
// Emitted event for when a room's preview has changed. First argument will the room for which // Emitted event for when a room's preview has changed. First argument will the room for which
// the change happened. // the change happened.
export const ROOM_PREVIEW_CHANGED = "room_preview_changed"; const ROOM_PREVIEW_CHANGED = "room_preview_changed";
const PREVIEWS = { const PREVIEWS = {
'm.room.message': { 'm.room.message': {
@ -84,6 +84,10 @@ export class MessagePreviewStore extends AsyncStoreWithClient<IState> {
return MessagePreviewStore.internalInstance; return MessagePreviewStore.internalInstance;
} }
public static getPreviewChangedEventName(room: Room): string {
return `${ROOM_PREVIEW_CHANGED}:${room?.roomId}`;
}
/** /**
* Gets the pre-translated preview for a given room * Gets the pre-translated preview for a given room
* @param room The room to get the preview for. * @param room The room to get the preview for.
@ -150,7 +154,7 @@ export class MessagePreviewStore extends AsyncStoreWithClient<IState> {
// We've muted the underlying Map, so just emit that we've changed. // We've muted the underlying Map, so just emit that we've changed.
this.previews.set(room.roomId, map); this.previews.set(room.roomId, map);
this.emit(UPDATE_EVENT, this); this.emit(UPDATE_EVENT, this);
this.emit(ROOM_PREVIEW_CHANGED, room); this.emit(MessagePreviewStore.getPreviewChangedEventName(room), room);
} }
return; // we're done return; // we're done
} }
@ -158,7 +162,7 @@ export class MessagePreviewStore extends AsyncStoreWithClient<IState> {
// At this point, we didn't generate a preview so clear it // At this point, we didn't generate a preview so clear it
this.previews.set(room.roomId, new Map<TagID|TAG_ANY, string|null>()); this.previews.set(room.roomId, new Map<TagID|TAG_ANY, string|null>());
this.emit(UPDATE_EVENT, this); this.emit(UPDATE_EVENT, this);
this.emit(ROOM_PREVIEW_CHANGED, room); this.emit(MessagePreviewStore.getPreviewChangedEventName(room), room);
} }
protected async onAction(payload: ActionPayload) { protected async onAction(payload: ActionPayload) {

View file

@ -1,6 +1,5 @@
/* /*
Copyright 2016 OpenMarket Ltd Copyright 2016, 2019, 2021 The Matrix.org Foundation C.I.C.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
@ -17,7 +16,9 @@ limitations under the License.
import {MatrixClientPeg} from '../MatrixClientPeg'; import {MatrixClientPeg} from '../MatrixClientPeg';
import {uniq} from "lodash"; import {uniq} from "lodash";
import {Room} from "matrix-js-sdk/src/matrix"; import {Room} from "matrix-js-sdk/src/models/room";
import {Event} from "matrix-js-sdk/src/models/event";
import {MatrixClient} from "matrix-js-sdk/src/client";
/** /**
* Class that takes a Matrix Client and flips the m.direct map * Class that takes a Matrix Client and flips the m.direct map
@ -27,29 +28,31 @@ import {Room} from "matrix-js-sdk/src/matrix";
* With 'start', this can also keep itself up to date over time. * With 'start', this can also keep itself up to date over time.
*/ */
export default class DMRoomMap { export default class DMRoomMap {
private static sharedInstance: DMRoomMap;
private matrixClient: MatrixClient;
// TODO: convert these to maps
private roomToUser: {[key: string]: string} = null;
private userToRooms: {[key: string]: string[]} = null;
private hasSentOutPatchDirectAccountDataPatch: boolean;
private mDirectEvent: Event;
constructor(matrixClient) { constructor(matrixClient) {
this.matrixClient = matrixClient; this.matrixClient = matrixClient;
this.roomToUser = null; // see onAccountData
// see _onAccountData this.hasSentOutPatchDirectAccountDataPatch = false;
this._hasSentOutPatchDirectAccountDataPatch = false;
// XXX: Force-bind the event handler method because it
// doesn't call it with our object as the 'this'
// (use a static property arrow function for this when we can)
this._onAccountData = this._onAccountData.bind(this);
const mDirectEvent = matrixClient.getAccountData('m.direct'); const mDirectEvent = matrixClient.getAccountData('m.direct');
this.mDirectEvent = mDirectEvent ? mDirectEvent.getContent() : {}; this.mDirectEvent = mDirectEvent ? mDirectEvent.getContent() : {};
this.userToRooms = null;
} }
/** /**
* Makes and returns a new shared instance that can then be accessed * Makes and returns a new shared instance that can then be accessed
* with shared(). This returned instance is not automatically started. * with shared(). This returned instance is not automatically started.
*/ */
static makeShared() { public static makeShared(): DMRoomMap {
DMRoomMap._sharedInstance = new DMRoomMap(MatrixClientPeg.get()); DMRoomMap.sharedInstance = new DMRoomMap(MatrixClientPeg.get());
return DMRoomMap._sharedInstance; return DMRoomMap.sharedInstance;
} }
/** /**
@ -57,32 +60,33 @@ export default class DMRoomMap {
* that uses the singleton matrix client * that uses the singleton matrix client
* The shared instance must be started before use. * The shared instance must be started before use.
*/ */
static shared() { public static shared(): DMRoomMap {
return DMRoomMap._sharedInstance; return DMRoomMap.sharedInstance;
} }
start() { public start() {
this._populateRoomToUser(); this.populateRoomToUser();
this.matrixClient.on("accountData", this._onAccountData); this.matrixClient.on("accountData", this.onAccountData);
} }
stop() { public stop() {
this.matrixClient.removeListener("accountData", this._onAccountData); this.matrixClient.removeListener("accountData", this.onAccountData);
} }
_onAccountData(ev) { private onAccountData = (ev) => {
if (ev.getType() == 'm.direct') { if (ev.getType() == 'm.direct') {
this.mDirectEvent = this.matrixClient.getAccountData('m.direct').getContent() || {}; this.mDirectEvent = this.matrixClient.getAccountData('m.direct').getContent() || {};
this.userToRooms = null; this.userToRooms = null;
this.roomToUser = null; this.roomToUser = null;
} }
} }
/** /**
* some client bug somewhere is causing some DMs to be marked * some client bug somewhere is causing some DMs to be marked
* with ourself, not the other user. Fix it by guessing the other user and * with ourself, not the other user. Fix it by guessing the other user and
* modifying userToRooms * modifying userToRooms
*/ */
_patchUpSelfDMs(userToRooms) { private patchUpSelfDMs(userToRooms) {
const myUserId = this.matrixClient.getUserId(); const myUserId = this.matrixClient.getUserId();
const selfRoomIds = userToRooms[myUserId]; const selfRoomIds = userToRooms[myUserId];
if (selfRoomIds) { if (selfRoomIds) {
@ -118,10 +122,10 @@ export default class DMRoomMap {
} }
} }
getDMRoomsForUserId(userId) { public getDMRoomsForUserId(userId): string[] {
// Here, we return the empty list if there are no rooms, // Here, we return the empty list if there are no rooms,
// since the number of conversations you have with this user is zero. // since the number of conversations you have with this user is zero.
return this._getUserToRooms()[userId] || []; return this.getUserToRooms()[userId] || [];
} }
/** /**
@ -129,7 +133,7 @@ export default class DMRoomMap {
* @param {string[]} ids The identifiers (user IDs and email addresses) to look for. * @param {string[]} ids The identifiers (user IDs and email addresses) to look for.
* @returns {Room} The DM room which all IDs given share, or falsey if no common room. * @returns {Room} The DM room which all IDs given share, or falsey if no common room.
*/ */
getDMRoomForIdentifiers(ids) { public getDMRoomForIdentifiers(ids: string[]): Room {
// TODO: [Canonical DMs] Handle lookups for email addresses. // TODO: [Canonical DMs] Handle lookups for email addresses.
// For now we'll pretend we only get user IDs and end up returning nothing for email addresses // For now we'll pretend we only get user IDs and end up returning nothing for email addresses
@ -145,7 +149,7 @@ export default class DMRoomMap {
return joinedRooms[0]; return joinedRooms[0];
} }
getUserIdForRoomId(roomId) { public getUserIdForRoomId(roomId: string) {
if (this.roomToUser == null) { if (this.roomToUser == null) {
// we lazily populate roomToUser so you can use // we lazily populate roomToUser so you can use
// this class just to call getDMRoomsForUserId // this class just to call getDMRoomsForUserId
@ -153,7 +157,7 @@ export default class DMRoomMap {
// convenient wrapper and there's no point // convenient wrapper and there's no point
// iterating through the map if getUserIdForRoomId() // iterating through the map if getUserIdForRoomId()
// is never called. // is never called.
this._populateRoomToUser(); this.populateRoomToUser();
} }
// Here, we return undefined if the room is not in the map: // Here, we return undefined if the room is not in the map:
// the room ID you gave is not a DM room for any user. // the room ID you gave is not a DM room for any user.
@ -167,7 +171,7 @@ export default class DMRoomMap {
return this.roomToUser[roomId]; return this.roomToUser[roomId];
} }
getUniqueRoomsWithIndividuals(): {[userId: string]: Room} { public getUniqueRoomsWithIndividuals(): {[userId: string]: Room} {
if (!this.roomToUser) return {}; // No rooms means no map. if (!this.roomToUser) return {}; // No rooms means no map.
return Object.keys(this.roomToUser) return Object.keys(this.roomToUser)
.map(r => ({userId: this.getUserIdForRoomId(r), room: this.matrixClient.getRoom(r)})) .map(r => ({userId: this.getUserIdForRoomId(r), room: this.matrixClient.getRoom(r)}))
@ -175,20 +179,20 @@ export default class DMRoomMap {
.reduce((obj, r) => (obj[r.userId] = r.room) && obj, {}); .reduce((obj, r) => (obj[r.userId] = r.room) && obj, {});
} }
_getUserToRooms() { private getUserToRooms(): {[key: string]: string[]} {
if (!this.userToRooms) { if (!this.userToRooms) {
const userToRooms = this.mDirectEvent; const userToRooms = this.mDirectEvent as {[key: string]: string[]};
const myUserId = this.matrixClient.getUserId(); const myUserId = this.matrixClient.getUserId();
const selfDMs = userToRooms[myUserId]; const selfDMs = userToRooms[myUserId];
if (selfDMs && selfDMs.length) { if (selfDMs && selfDMs.length) {
const neededPatching = this._patchUpSelfDMs(userToRooms); const neededPatching = this.patchUpSelfDMs(userToRooms);
// to avoid multiple devices fighting to correct // to avoid multiple devices fighting to correct
// the account data, only try to send the corrected // the account data, only try to send the corrected
// version once. // version once.
console.warn(`Invalid m.direct account data detected ` + console.warn(`Invalid m.direct account data detected ` +
`(self-chats that shouldn't be), patching it up.`); `(self-chats that shouldn't be), patching it up.`);
if (neededPatching && !this._hasSentOutPatchDirectAccountDataPatch) { if (neededPatching && !this.hasSentOutPatchDirectAccountDataPatch) {
this._hasSentOutPatchDirectAccountDataPatch = true; this.hasSentOutPatchDirectAccountDataPatch = true;
this.matrixClient.setAccountData('m.direct', userToRooms); this.matrixClient.setAccountData('m.direct', userToRooms);
} }
} }
@ -197,9 +201,9 @@ export default class DMRoomMap {
return this.userToRooms; return this.userToRooms;
} }
_populateRoomToUser() { private populateRoomToUser() {
this.roomToUser = {}; this.roomToUser = {};
for (const user of Object.keys(this._getUserToRooms())) { for (const user of Object.keys(this.getUserToRooms())) {
for (const roomId of this.userToRooms[user]) { for (const roomId of this.userToRooms[user]) {
this.roomToUser[roomId] = user; this.roomToUser[roomId] = user;
} }

View file

@ -222,6 +222,7 @@ describe("<TextualBody />", () => {
getRoom: () => mkStubRoom("room_id"), getRoom: () => mkStubRoom("room_id"),
getAccountData: () => undefined, getAccountData: () => undefined,
getUrlPreview: (url) => new Promise(() => {}), getUrlPreview: (url) => new Promise(() => {}),
isGuest: () => false,
}; };
const ev = mkEvent({ const ev = mkEvent({

View file

@ -9,8 +9,8 @@ import sdk from '../../../skinned-sdk';
import { DragDropContext } from 'react-beautiful-dnd'; import { DragDropContext } from 'react-beautiful-dnd';
import dis from '../../../../src/dispatcher/dispatcher'; import dis from '../../../../src/dispatcher/dispatcher';
import DMRoomMap from '../../../../src/utils/DMRoomMap.js'; import DMRoomMap from '../../../../src/utils/DMRoomMap';
import GroupStore from '../../../../src/stores/GroupStore.js'; import GroupStore from '../../../../src/stores/GroupStore';
import { MatrixClient, Room, RoomMember } from 'matrix-js-sdk'; import { MatrixClient, Room, RoomMember } from 'matrix-js-sdk';
import {DefaultTagID} from "../../../../src/stores/room-list/models"; import {DefaultTagID} from "../../../../src/stores/room-list/models";

View file

@ -42,7 +42,7 @@ describe("mkClient self-test", function() {
describe("shieldStatusForMembership self-trust behaviour", function() { describe("shieldStatusForMembership self-trust behaviour", function() {
beforeAll(() => { beforeAll(() => {
DMRoomMap._sharedInstance = { DMRoomMap.sharedInstance = {
getUserIdForRoomId: (roomId) => roomId === "DM" ? "@any:h" : null, getUserIdForRoomId: (roomId) => roomId === "DM" ? "@any:h" : null,
}; };
}); });

View file

@ -1665,6 +1665,17 @@
"@types/yargs" "^15.0.0" "@types/yargs" "^15.0.0"
chalk "^4.0.0" chalk "^4.0.0"
"@jest/types@^26.6.2":
version "26.6.2"
resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e"
integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==
dependencies:
"@types/istanbul-lib-coverage" "^2.0.0"
"@types/istanbul-reports" "^3.0.0"
"@types/node" "*"
"@types/yargs" "^15.0.0"
chalk "^4.0.0"
"@mrmlnc/readdir-enhanced@^2.2.1": "@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1" version "2.2.1"
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
@ -1858,6 +1869,14 @@
dependencies: dependencies:
"@types/istanbul-lib-report" "*" "@types/istanbul-lib-report" "*"
"@types/jest@^26.0.20":
version "26.0.20"
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.20.tgz#cd2f2702ecf69e86b586e1f5223a60e454056307"
integrity sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA==
dependencies:
jest-diff "^26.0.0"
pretty-format "^26.0.0"
"@types/json-schema@^7.0.3": "@types/json-schema@^7.0.3":
version "7.0.4" version "7.0.4"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339"
@ -3465,6 +3484,11 @@ diff-sequences@^26.5.0:
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.5.0.tgz#ef766cf09d43ed40406611f11c6d8d9dd8b2fefd" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.5.0.tgz#ef766cf09d43ed40406611f11c6d8d9dd8b2fefd"
integrity sha512-ZXx86srb/iYy6jG71k++wBN9P9J05UNQ5hQHQd9MtMPvcqXPx/vKU69jfHV637D00Q2gSgPk2D+jSx3l1lDW/Q== integrity sha512-ZXx86srb/iYy6jG71k++wBN9P9J05UNQ5hQHQd9MtMPvcqXPx/vKU69jfHV637D00Q2gSgPk2D+jSx3l1lDW/Q==
diff-sequences@^26.6.2:
version "26.6.2"
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1"
integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==
dijkstrajs@^1.0.1: dijkstrajs@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.1.tgz#d3cd81221e3ea40742cfcde556d4e99e98ddc71b" resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.1.tgz#d3cd81221e3ea40742cfcde556d4e99e98ddc71b"
@ -5647,6 +5671,16 @@ jest-config@^26.5.2:
micromatch "^4.0.2" micromatch "^4.0.2"
pretty-format "^26.5.2" pretty-format "^26.5.2"
jest-diff@^26.0.0:
version "26.6.2"
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394"
integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==
dependencies:
chalk "^4.0.0"
diff-sequences "^26.6.2"
jest-get-type "^26.3.0"
pretty-format "^26.6.2"
jest-diff@^26.5.2: jest-diff@^26.5.2:
version "26.5.2" version "26.5.2"
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.5.2.tgz#8e26cb32dc598e8b8a1b9deff55316f8313c8053" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.5.2.tgz#8e26cb32dc598e8b8a1b9deff55316f8313c8053"
@ -7466,6 +7500,16 @@ prelude-ls@~1.1.2:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
pretty-format@^26.0.0, pretty-format@^26.6.2:
version "26.6.2"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93"
integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==
dependencies:
"@jest/types" "^26.6.2"
ansi-regex "^5.0.0"
ansi-styles "^4.0.0"
react-is "^17.0.1"
pretty-format@^26.5.2: pretty-format@^26.5.2:
version "26.5.2" version "26.5.2"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.5.2.tgz#5d896acfdaa09210683d34b6dc0e6e21423cd3e1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.5.2.tgz#5d896acfdaa09210683d34b6dc0e6e21423cd3e1"
@ -7722,6 +7766,11 @@ react-is@^16.12.0, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-i
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
react-is@^17.0.1:
version "17.0.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339"
integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==
react-lifecycles-compat@^3.0.0: react-lifecycles-compat@^3.0.0:
version "3.0.4" version "3.0.4"
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"